diff options
Diffstat (limited to 'serial/tools/list_ports_linux.py')
-rw-r--r-- | serial/tools/list_ports_linux.py | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/serial/tools/list_ports_linux.py b/serial/tools/list_ports_linux.py index c8c1cfc..ec2e0ca 100644 --- a/serial/tools/list_ports_linux.py +++ b/serial/tools/list_ports_linux.py @@ -89,15 +89,16 @@ class SysFS(list_ports_common.ListPortInfo): def comports(include_links=False): - devices = glob.glob('/dev/ttyS*') # built-in serial ports - devices.extend(glob.glob('/dev/ttyUSB*')) # usb-serial with own driver - devices.extend(glob.glob('/dev/ttyXRUSB*')) # xr-usb-serial port exar (DELL Edge 3001) - devices.extend(glob.glob('/dev/ttyACM*')) # usb-serial with CDC-ACM profile - devices.extend(glob.glob('/dev/ttyAMA*')) # ARM internal port (raspi) - devices.extend(glob.glob('/dev/rfcomm*')) # BT serial devices - devices.extend(glob.glob('/dev/ttyAP*')) # Advantech multi-port serial controllers + devices = set() + devices.update(glob.glob('/dev/ttyS*')) # built-in serial ports + devices.update(glob.glob('/dev/ttyUSB*')) # usb-serial with own driver + devices.update(glob.glob('/dev/ttyXRUSB*')) # xr-usb-serial port exar (DELL Edge 3001) + devices.update(glob.glob('/dev/ttyACM*')) # usb-serial with CDC-ACM profile + devices.update(glob.glob('/dev/ttyAMA*')) # ARM internal port (raspi) + devices.update(glob.glob('/dev/rfcomm*')) # BT serial devices + devices.update(glob.glob('/dev/ttyAP*')) # Advantech multi-port serial controllers if include_links: - devices.extend(list_ports_common.list_links(devices)) + devices.update(list_ports_common.list_links(devices)) return [info for info in [SysFS(d) for d in devices] if info.subsystem != "platform"] # hide non-present internal serial ports |