Вопрос или проблема
Я пытаюсь использовать адаптер ftdi rs232/usb через Ethernet. Он подключен к моему Raspberry Pi.
pi@raspberrypi ~ $ usbip list -l
Local USB devices
=================
- busid 1-1 (0424:9512)
1-1:1.0 -> hub
- busid 1-1.1 (0424:ec00)
1-1.1:1.0 -> smsc95xx
- busid 1-1.2 (0403:6001)
1-1.2:1.0 -> unknown
- busid 1-1.3 (7392:7811)
1-1.3:1.0 -> rtl8192cu
pi@raspberrypi ~ $ sudo usbip -d bind -b 1-1.2:1.0
usbip: debug: /build/linux-tools-TqR1ks/linux-tools-3.2.17/drivers/staging/usbip/userspace/src/usbip.c:134:[run_command] running command: `bind'
usbip: debug: /build/linux-tools-TqR1ks/linux-tools-3.2.17/drivers/staging/usbip/userspace/src/usbip_bind.c:143:[unbind_other] problem getting device attributes: No such file or directory
usbip: error: could not unbind driver from device on busid 1-1.2:1.0
pi@raspberrypi ~ $
Состояние выше после rmmod ftdi_sio
, та же проблема до этого.
Обратите внимание, что идентификатор шины для параметра bind в вашем случае 1-1.2
.
Ошибка, которую вы получаете, обычно означает, что вы не запустили usbipd
:
sudo usbipd -D
Если вы не можете запустить демон usbip, вам, вероятно, нужны модули ядра usb-core.ko
и usb-host
.
Полные инструкции по настройке usbip
вы можете найти в моем блоге. Вторая ссылка указывает на обновленную версию поста:
Ответ или решение
Ошибка «usbip: problem getting device attributes: No such file or directory», с которой вы столкнулись, при попытке использовать адаптер ftdi rs232/usb по сети, может быть вызвана несколькими причинами. Давайте рассмотрим возможные источники проблемы, примеры и решения.
Теория
1. USBIP и его работа:
USB over IP (USBIP) — это технология, позволяющая разделять USB-устройства по сети. Она требует запуска демона usbipd
, чтобы управлять соединениями USB через IP-сеть.
2. Состояние драйверов:
Ошибка может возникать в случае отсутствия соответствующих драйверов или их некорректной конфигурации. Для работы USBIP требуются модули ядра, такие как usbip-core.ko
и usb-host.ko
.
3. Проблемы с устройством и его состоянием:
Состояние устройства может влиять на его доступность. Важно, чтобы устройство было правильно распознано и имело соответствующие атрибуты для корректной работы.
Пример
Ваша команда, использованная для проверки устройств:
pi@raspberrypi ~ $ usbip list -l
Вывела список доступных устройств, однако при выполнении:
sudo usbip -d bind -b 1-1.2:1.0
Вы столкнулись с упомянутой ошибкой. Ошибка указывает на невозможность получения атрибутов устройства. Это часто свидетельствует о проблемах с драйвером, инициированным вашей попыткой выгрузки ftdi_sio
.
Применение
Шаг 1: Запуск демона usbipd
Убедитесь, что демон usbipd запущен. Выполните:
sudo usbipd -D
Шаг 2: Проверка модулей ядра
Убедитесь, что модули usbip-core.ko
и usb-host.ko
загружены. Для этого выполните:
sudo modprobe usbip-core
sudo modprobe usbip-host
Шаг 3: Переподключение устройства
Попробуйте отключить и подключить устройство снова к Raspberry Pi. Убедитесь, что оно правильно определяется в системе.
Шаг 4: Изучите дополнительные ресурсы
Если проблема сохраняется, рекомендуется ознакомиться со статьями по теме, например, с постами из вашего вопроса:
Эти шаги должны помочь в диагностике и устранении проблемы. Если она не устраняется, возможно, есть необходимость в обновлении системы или ядра для поддержки вашего устройства.