Вопрос или проблема
Я подключаю USB-to-Serial преобразователь FTDI к ноутбуку с установленной версией Ubuntu 16.04, но не вижу записи /dev/ttyUSB*. Если я подключаю то же устройство к Oracle Virtual Box с Ubuntu 14.04 на хосте с Windows, оно отображает /dev/ttyUSB*. Пожалуйста, помогите, в чем может быть проблема с нативной Ubuntu 16.04.
uname -a
Linux Precision-M4800 4.15.0-33-generic #36~16.04.1-Ubuntu SMP Wed Aug 15 17:21:05 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
lsb_release -a
LSB Version: core-9.20160110ubuntu0.2-amd64:core-9.20160110ubuntu0.2-noarch:printing-9.20160110ubuntu0.2-amd64:printing-9.20160110ubuntu0.2-noarch:security-9.20160110ubuntu0.2-amd64:security-9.20160110ubuntu0.2-noarch
Distributor ID: Ubuntu
Description: Ubuntu 16.04.3 LTS
Release: 16.04
Codename: xenial
dmesg | tail output:
*
[4168693.886387] usb 3-2: Найдено новое USB устройство, idVendor=0403, idProduct=6010
[4168693.886389] usb 3-2: Новые строки устройства USB: Mfr=1, Product=2, SerialNumber=0
[4168693.886391] usb 3-2: Продукт: Dual RS232-HS
[4168693.886392] usb 3-2: Производитель: FTDI
[4169130.482430] usb 3-2: USB отключено, номер устройства 35
[4169134.326181] usb 3-2: новое высокоскоростное USB устройство номер 36 с использованием xhci_hcd
[4169134.474575] usb 3-2: Найдено новое USB устройство, idVendor=0403, idProduct=6010
[4169134.474577] usb 3-2: Новые строки устройства USB: Mfr=1, Product=2, SerialNumber=0
[4169134.474603] usb 3-2: Продукт: Dual RS232-HS
[4169134.474605] usb 3-2: Производитель: FTDI*
journalctl –follow output при подключенном USB:
kernel: usb 3-2: новое высокоскоростное USB устройство номер 36 с использованием xhci_hcd
kernel: usb 3-2: Найдено новое USB устройство, idVendor=0403, idProduct=6010
kernel: usb 3-2: Новые строки устройства USB: Mfr=1, Product=2, SerialNumber=0
kernel: usb 3-2: Продукт: Dual RS232-HS
kernel: usb 3-2: Производитель: FTDI
mtp-probe[25796]: проверка шины 3, устройство 36: "/sys/devices/pci0000:00/0000:00:14.0/usb3/3-2"
mtp-probe[25796]: шина: 3, устройство: 36 не было устройством MTP
**lsmod | grep usb output:**
usb_storage 69632 1 uas
btusb 45056 0
btrtl 16384 1 btusb
btbcm 16384 1 btusb
btintel 16384 1 btusb
bluetooth 557056 31 btrtl,btintel,bnep,btbcm,rfcomm,btusb
tree /sys/bus/usb/drivers/
├── btusb
│ ├── 2-1.5:1.0 -> ../../../../devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5:1.0
│ ├── 2-1.5:1.1 -> ../../../../devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5:1.1
│ ├── bind
│ ├── module -> ../../../../module/btusb
│ ├── new_id
│ ├── remove_id
│ ├── uevent
│ └── unbind
├── hub
│ ├── 1-0:1.0 -> ../../../../devices/pci0000:00/0000:00:1a.0/usb1/1-0:1.0
│ ├── 1-1:1.0 -> ../../../../devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1:1.0
│ ├── 2-0:1.0 -> ../../../../devices/pci0000:00/0000:00:1d.0/usb2/2-0:1.0
│ ├── 2-1:1.0 -> ../../../../devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1:1.0
│ ├── 3-0:1.0 -> ../../../../devices/pci0000:00/0000:00:14.0/usb3/3-0:1.0
│ ├── 4-0:1.0 -> ../../../../devices/pci0000:00/0000:00:14.0/usb4/4-0:1.0
│ ├── bind
│ ├── module -> ../../../../module/usbcore
│ ├── new_id
│ ├── remove_id
│ ├── uevent
│ └── unbind
├── uas
│ ├── bind
│ ├── module -> ../../../../module/uas
│ ├── new_id
│ ├── remove_id
│ ├── uevent
│ └── unbind
├── usb
│ ├── 1-1 -> ../../../../devices/pci0000:00/0000:00:1a.0/usb1/1-1
│ ├── 1-1.5 -> ../../../../devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.5
│ ├── 2-1 -> ../../../../devices/pci0000:00/0000:00:1d.0/usb2/2-1
│ ├── 2-1.5 -> ../../../../devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5
│ ├── 2-1.8 -> ../../../../devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.8
│ ├── 3-2 -> ../../../../devices/pci0000:00/0000:00:14.0/usb3/3-2
│ ├── bind
│ ├── uevent
│ ├── unbind
│ ├── usb1 -> ../../../../devices/pci0000:00/0000:00:1a.0/usb1
│ ├── usb2 -> ../../../../devices/pci0000:00/0000:00:1d.0/usb2
│ ├── usb3 -> ../../../../devices/pci0000:00/0000:00:14.0/usb3
│ └── usb4 -> ../../../../devices/pci0000:00/0000:00:14.0/usb4
├── usbfs
│ ├── bind
│ ├── module -> ../../../../module/usbcore
│ ├── new_id
│ ├── remove_id
│ ├── uevent
│ └── unbind
├── usb-storage
│ ├── bind
│ ├── module -> ../../../../module/usb_storage
│ ├── new_id
│ ├── remove_id
│ ├── uevent
│ └── unbind
└── uvcvideo
├── 1-1.5:1.0 -> ../../../../devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.5/1-1.5:1.0
├── 1-1.5:1.1 -> ../../../../devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.5/1-1.5:1.1
├── bind
├── module -> ../../../../module/uvcvideo
├── new_id
├── remove_id
├── uevent
└── unbind
33 директории, 33 файла
Модуль драйвера (*.ko) отсутствовал, я обновил Ubuntu, теперь все работает.
Ответ или решение
Проблема с отсутствием устройства /dev/ttyUSB*
при подключении USB-to-Serial адаптера FTDI на Ubuntu 16.04 может быть связана с отсутствием необходимых драйверов или конфликтами в программном обеспечении. Ниже представлены основные шаги и рекомендации для диагностики и решения данной проблемы.
1. Диагностика устройства
Первым шагом является проверка, распознается ли устройство системой. Выполните команду dmesg | tail
, как было продемонстрировано в вашем запросе. Вывод команды показывает, что устройство было обнаружено:
[4168693.886387] usb 3-2: New USB device found, idVendor=0403, idProduct=6010
[4168693.886389] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[4168693.886391] usb 3-2: Product: Dual RS232-HS
[4168693.886392] usb 3-2: Manufacturer: FTDI
На основании этого можно утверждать, что драйвер USB правильно распознает устройство, но оно не монтируется как последовательный порт.
2. Проверка наличия загруженного модуля
Убедитесь, что модуль ftdi_sio
, отвечающий за работу с FTDI устройствами, загружен в систему. Используйте команду:
lsmod | grep ftdi_sio
Если вывод пуст, возможно, модуль не загружен. Попробуйте загрузить его вручную:
sudo modprobe ftdi_sio
3. Проверка подключенных устройств
После загрузки модуля проверьте, было ли устройство добавлено в /dev
. Выполните команду:
ls /dev/ttyUSB*
Если устройство по-прежнему не отображается, проверьте, присутствует ли оно в системных логах:
sudo journalctl -f
4. Обновление системы и драйверов
Из вашего описания видно, что после обновления системы проблема была решена. Это подтверждает, что недостающие драйверы (например, ftdi_sio.ko
и другие) могли быть установлены во время обновления. Рекомендуется всегда поддерживать систему в актуальном состоянии:
sudo apt update
sudo apt upgrade
5. Проверка прав доступа
Проверьте, имеете ли вы достаточные права для доступа к устройству. Убедитесь, что ваш пользователь входит в группу dialout
:
groups
Если ваша группа не входит в dialout
, добавьте пользователя:
sudo usermod -a -G dialout $USER
После выполнения этой команды вам, возможно, потребуется перезагрузить систему или выйти из сеанса и войти заново.
Заключение
Таким образом, проблема с отсутствием /dev/ttyUSB*
на Ubuntu 16.04 может быть обусловлена отсутствием необходимых драйверов или неверной конфигурацией системы. Ваша проблема была решена обновлением системы, что подчеркивает важность поддержания программного обеспечения в актуальном состоянии. При возникновении подобных ситуаций полезно следовать приведенным выше шагам для диагностики и устранения неисправностей.