@property
def deviceclass(self):
return self._uevent['PCI_CLASS']
-
-
+
+ @property
+ def sub_vendor(self):
+ return self._uevent["PCI_SUBSYS_ID"].split(":")[0]
+
+ @property
+ def sub_model(self):
+ return self._uevent["PCI_SUBSYS_ID"].split(":")[1]
+
+
class USBDevice(Device):
subsystem = "usb"
p["devices"] = []
for device in self.devices:
- p["devices"].append({
+ d = {
"subsystem" : device.subsystem.lower(),
"vendor" : device.vendor.lower(),
"model" : device.model.lower(),
"deviceclass" : device.deviceclass
- })
-
+ }
+
+ # PCI devices provide subsystem information, USB don't.
+ if d["subsystem"] == "pci":
+ d["sub_model"] = device.sub_model
+ d["sub_vendor"] = device.sub_vendor
+
+ p["devices"].append(d)
+
p["cpu"] = {
"arch" : self.arch,
"vendor" : self.cpu.vendor,