function usb () { $results = array(); $devnum = -1; $bufr = execute_program('lsusb', '', false); if( $bufr == "ERROR" ) { $bufr = rfts( '/proc/bus/usb/devices', 0, 4096, false ); if ( $bufr != "ERROR" ) { $bufe = explode("\n", $bufr); foreach( $bufe as $buf ) { if (preg_match('/^T/', $buf)) { $devnum += 1; $results[$devnum] = ""; } elseif (preg_match('/^S:/', $buf)) { list($key, $value) = split(': ', $buf, 2); list($key, $value2) = split('=', $value, 2); if (trim($key) != "SerialNumber") { $results[$devnum] .= " " . trim($value2); $devstring = 0; } } } } } else { $bufe = explode( "\n", $bufr ); foreach( $bufe as $buf ) { $device = preg_split("/ /", $buf, 7); if( isset( $device[6] ) && trim( $device[6] ) != "" ) { $results[$devnum++] = trim( $device[6] ); } } } return $results; }