@Override public String getBiosVersion() { String override = this.m_kuraProperties.getProperty(KEY_BIOS_VERSION); if (override != null) { return override; } String biosVersion = UNSUPPORTED; if (OS_LINUX.equals(this.getOsName())) { if ("2.6.34.9-WR4.2.0.0_standard".equals(getOsVersion()) || "2.6.34.12-WR4.3.0.0_standard".equals(getOsVersion())) { biosVersion = runSystemInfoCommand("eth_vers_bios"); } else { String biosTmp = runSystemInfoCommand("dmidecode -s bios-version"); if (biosTmp.length() > 0 && !biosTmp.contains("Permission denied")) { biosVersion = biosTmp; } } } else if (OS_MAC_OSX.equals(this.getOsName())) { String[] cmds = {"/bin/sh", "-c", "system_profiler SPHardwareDataType | grep 'Boot ROM'"}; String biosTmp = runSystemInfoCommand(cmds); if (biosTmp.contains(": ")) { biosVersion = biosTmp.split(":\\s+")[1]; } } return biosVersion; }
@Override public String getSerialNumber() { String override = this.m_kuraProperties.getProperty(KEY_SERIAL_NUM); if (override != null) { return override; } String serialNum = UNKNOWN; if (OS_MAC_OSX.equals(this.getOsName())) { String[] cmds = { "/bin/sh", "-c", "system_profiler SPHardwareDataType | grep 'Serial Number'" }; String serialTmp = runSystemInfoCommand(cmds); if (serialTmp.contains(": ")) { serialNum = serialTmp.split(":\\s+")[1]; } } else if (OS_LINUX.equals(this.getOsName())) { String serialTmp = runSystemInfoCommand("dmidecode -t system"); if (serialTmp.contains("Serial Number: ")) { serialNum = serialTmp.split("Serial Number:\\s+")[1].split("\n")[0]; } } return serialNum; }
@Override public String getPrimaryNetworkInterfaceName() { if (m_kuraProperties.getProperty(KEY_PRIMARY_NET_IFACE) != null) { return this.m_kuraProperties.getProperty(KEY_PRIMARY_NET_IFACE); } else { if (OS_MAC_OSX.equals(getOsName())) { return "en0"; } else if (OS_LINUX.equals(getOsName())) { return "eth0"; } else { s_logger.error("Unsupported platform"); return null; } } }
@Override public String getOsVersion() { String override = this.m_kuraProperties.getProperty(KEY_OS_VER); if (override != null) { return override; } StringBuilder sbOsVersion = new StringBuilder(); sbOsVersion.append(System.getProperty(KEY_OS_VER)); if (OS_LINUX.equals(getOsName())) { BufferedReader in = null; File linuxKernelVersion = null; FileReader fr = null; try { linuxKernelVersion = new File("/proc/sys/kernel/version"); if (linuxKernelVersion.exists()) { StringBuilder kernelVersionData = new StringBuilder(); fr = new FileReader(linuxKernelVersion); in = new BufferedReader(fr); String tempLine = null; while ((tempLine = in.readLine()) != null) { kernelVersionData.append(" "); kernelVersionData.append(tempLine); } sbOsVersion.append(kernelVersionData.toString()); } } catch (FileNotFoundException e) { } catch (IOException e) { } finally { try { if (fr != null) { fr.close(); } if (in != null) { in.close(); } } catch (IOException e) { s_logger.error("Exception while closing resources!", e); } } } return sbOsVersion.toString(); }
@Override public String getPartNumber() { String override = this.m_kuraProperties.getProperty(KEY_PART_NUMBER); if (override != null) { return override; } String partNumber = UNSUPPORTED; if (OS_LINUX.equals(this.getOsName())) { if ("2.6.34.9-WR4.2.0.0_standard".equals(getOsVersion()) || "2.6.34.12-WR4.3.0.0_standard".equals(getOsVersion())) { partNumber = runSystemInfoCommand("eth_partno_bsp") + " " + runSystemInfoCommand("eth_partno_epr"); } } return partNumber; }
@Override public String getFirmwareVersion() { String override = this.m_kuraProperties.getProperty(KEY_FIRMWARE_VERSION); if (override != null) { return override; } String fwVersion = UNSUPPORTED; if (OS_LINUX.equals(getOsName()) && (getOsVersion() != null)) { if (getOsVersion().startsWith("2.6.34.9-WR4.2.0.0_standard") || getOsVersion().startsWith("2.6.34.12-WR4.3.0.0_standard")) { fwVersion = runSystemInfoCommand("eth_vers_cpld") + " " + runSystemInfoCommand("eth_vers_uctl"); } else if (getOsVersion().startsWith("3.0.35-12.09.01+yocto")) { fwVersion = runSystemInfoCommand("eth_vers_avr"); } } return fwVersion; }
@Override public String getDeviceName() { String override = this.m_kuraProperties.getProperty(KEY_DEVICE_NAME); if (override != null) { return override; } String deviceName = UNKNOWN; if (OS_MAC_OSX.equals(this.getOsName())) { String displayTmp = runSystemInfoCommand("scutil --get ComputerName"); if (displayTmp.length() > 0) { deviceName = displayTmp; } } else if (OS_LINUX.equals(this.getOsName()) || OS_CLOUDBEES.equals(this.getOsName())) { String displayTmp = runSystemInfoCommand("hostname"); if (displayTmp.length() > 0) { deviceName = displayTmp; } } return deviceName; }
@Override public String getModelId() { String override = this.m_kuraProperties.getProperty(KEY_MODEL_ID); if (override != null) { return override; } String modelId = UNKNOWN; if (OS_MAC_OSX.equals(this.getOsName())) { String modelTmp = runSystemInfoCommand("sysctl -b hw.model"); if (modelTmp.length() > 0) { modelId = modelTmp; } } else if (OS_LINUX.equals(this.getOsName())) { String modelTmp = runSystemInfoCommand("dmidecode -t system"); if (modelTmp.contains("Version: ")) { modelId = modelTmp.split("Version:\\s+")[1].split("\n")[0]; } } return modelId; }
@Override public String getModelName() { String override = this.m_kuraProperties.getProperty(KEY_MODEL_NAME); if (override != null) { return override; } String modelName = UNKNOWN; if (OS_MAC_OSX.equals(this.getOsName())) { String[] cmds = {"/bin/sh", "-c", "system_profiler SPHardwareDataType | grep 'Model Name'"}; String modelTmp = runSystemInfoCommand(cmds); if (modelTmp.contains(": ")) { modelName = modelTmp.split(":\\s+")[1]; } } else if (OS_LINUX.equals(this.getOsName())) { String modelTmp = runSystemInfoCommand("dmidecode -t system"); if (modelTmp.contains("Product Name: ")) { modelName = modelTmp.split("Product Name:\\s+")[1].split("\n")[0]; } } return modelName; }