Порты не найдены: ошибка при перечислении всех портов в python

#python-3.x #port #pyserial #ubuntu-20.04

#python-3.x #порт #pyserial #ubuntu-20.04

Вопрос:

Я попытался перечислить все com-порты, чтобы я мог подключиться к ним. Я использую Ubuntu 20.04. Я пробовал разные вещи, на которые были даны ответы в stackoverflow. Я попытался из списка из вывода командной строки командной строки

 import serial
import serial.tools.list_ports
ports = serial.tools.list_ports.comports()
print(ports)
for port, desc, hwid in sorted(ports):
        print('hello')
        print("{}: {} [{}]".format(port, desc, hwid))
  

метод serial.tools.list_ports.comports() возвращает пустой список.
Я перепробовал все и много гуглил, но не могу найти решение.
Пожалуйста, помогите кому-нибудь, потому что в противном случае мой проект остановится.

Комментарии:

1. Что вы получите, если запустите dmesg | grep -i serial с терминала?

2. [0.555970] Серийный номер: драйвер 8250/16550, 32 порта, включен общий доступ к IRQ [ 0.562116] usb usb1: строки нового USB-устройства: Mfr = 3, Product = 2, SerialNumber = 1 [ 0.562120] usb usb1: SerialNumber: 0000:00:14.0 [ 0.563893] usb usb2: строки нового USB-устройства: Mfr = 3, Product = 2, SerialNumber = 1 [ 0.563896 ] usb usb2: серийный номер: 0000:00:14.0 [1.078359] usb 1-1: Строки нового USB-устройства: Mfr = 1, Product = 2, SerialNumber = 0 [1.333481] usb 1-4: Строки нового USB-устройства: Mfr = 1, Product = 2, SerialNumber = 3

3. Я не вижу tty нигде, действительно ли у вас есть com-порт на этом компьютере?

Ответ №1:

Для меня serial.tools.port_lists показывает «порт не найден», но dmesg показывает, что ttyS3 порт существует:

 [root@localhost ngt]# dmesg | egrep --color 'serial|ttyS'
[00.751594] serial8250: ttyS3 at I/O 0x2e8 (irq = 3) is a 16550A
[0.866102] usbcore: registered new interface driver usbserial
[0.866117] usbcore: registered new interface driver usbserial_generic
[0.866129] usbserial: USB Serial support registered for generic

[root@localhost ngt]# python3 -m serial.tools.list_ports -v
no ports found
  

Итак, я могу подключиться к этому ttyS3 порту с помощью serial.Serial() .