private function _scsi()
{
$get_type = false;
$device = null;
if (CommonFunctions::executeProgram('lsscsi', '-c', $bufr, PSI_DEBUG) || CommonFunctions::rfts('/proc/scsi/scsi', $bufr, 0, 4096, PSI_DEBUG)) {
$bufe = preg_split("/\n/", $bufr, -1, PREG_SPLIT_NO_EMPTY);
foreach ($bufe as $buf) {
if (preg_match('/Vendor: (.*) Model: (.*) Rev: (.*)/i', $buf, $devices)) {
$get_type = true;
$device = $devices;
continue;
}
if ($get_type) {
preg_match('/Type:\\s+(\\S+)/i', $buf, $dev_type);
$dev = new HWDevice();
$dev->setName($device[1] . ' ' . $device[2] . ' (' . $dev_type[1] . ')');
$this->sys->setScsiDevices($dev);
$get_type = false;
}
}
}
}