summaryrefslogtreecommitdiff
path: root/serial/tools/list_ports_linux.py
diff options
context:
space:
mode:
Diffstat (limited to 'serial/tools/list_ports_linux.py')
-rw-r--r--serial/tools/list_ports_linux.py17
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