diff --git a/serial/tools/list_ports_linux.py b/serial/tools/list_ports_linux.py
index 68e24d7..37dd997 100644
--- a/serial/tools/list_ports_linux.py
+++ b/serial/tools/list_ports_linux.py
@@ -29,9 +29,19 @@
             self.subsystem = os.path.basename(os.path.realpath(os.path.join(self.device_path, 'subsystem')))
         if self.subsystem in 'usb-serial':
             self.usb_device_path = os.path.dirname(os.path.dirname(self.device_path))
-        if self.subsystem in 'usb':
+        elif self.subsystem in 'usb':
             self.usb_device_path = os.path.dirname(self.device_path)
+        else:
+            self.usb_device_path = None
         #~ print repr(self.__dict__)
+        if self.usb_device_path is not None:
+            self.vid = self.read_line(self.usb_device_path, 'idVendor').upper()
+            self.pid = self.read_line(self.usb_device_path, 'idProduct').upper()
+            self.serial = self.read_line(self.usb_device_path, 'serial')
+        else:
+            self.vid = None
+            self.pid = None
+            self.serial = None
 
     def read_line(self, *args):
         """\
@@ -63,11 +73,10 @@
     def hwinfo(self):
         """Get a hardware description string"""
         if self.subsystem in ('usb', 'usb-serial'):
-            snr = self.read_line(self.usb_device_path, 'serial')
             return 'USB VID:PID={}:{}{}'.format(
-                    self.read_line(self.usb_device_path, 'idVendor'),
-                    self.read_line(self.usb_device_path, 'idProduct'),
-                    ' SER={}'.format(snr) if snr is not None else '',
+                    self.vid,
+                    self.pid,
+                    ' SER={}'.format(self.serial) if self.serial is not None else '',
                     )
         elif self.subsystem == 'pnp':  # PCI based devices
             return self.read_line(self.device_path, 'id')
