2

У меня есть модем Huawei E353, который я использую с Raspberry Pi.

Когда я подключаю его, я получаю три TTY - ttyUSB0, ttyUSB1 и ttyUSB2.

Но иногда интерфейс модема (где вы можете выдавать AT-команды типа Хейса) находится на ttyUSB0, а иногда на ttyUSB1.

Я не могу определить какой-либо общий фактор, который имеет значение. И я не уверен, но кажется, что он всегда делает одно и то же на одном и том же Пи (или, может быть, на одном и том же ключе - у меня их по несколько, и у меня не было возможности слишком много попробовать разные комбинации),

Кто-нибудь может подсказать, что влияет на нумерацию tty?

2 ответа2

1

Проблема, с которой вы столкнулись, не является уникальной для устройств Huawei (так что вы можете получить лучший ответ, если уберете ее из названия).

Проблема связана с обнаружением устройства и тем, что система считает уже установленным. Решение состоит в том, чтобы создать соответствующие правила UDEV, чтобы гарантировать, что устройство всегда распознается как определенная часть оборудования и ему назначается один и тот же интерфейс.

Специфика будет немного отличаться в зависимости от дистрибутива, но это обычно означает использование lsusb для поиска уникальных атрибутов для устройства, а затем кодирование строки для соответствия этим атрибутам в файлах конфигурации udev. Google - ваш друг здесь: поиск в google udev try rules [distribution] должен дать вам конкретную информацию, которая вам нужна.

1

Нумерация всех устройств (harddisk, tty и т.д.) Должна считаться ненадежной и непоследовательной, так как это может происходить в случайном порядке.

Посмотрите на lsusb и dmesg чтобы узнать подробности создания tty, затем напишите соответствующие правила udev для создания символических ссылок с постоянными именами, на которые можно положиться.

Редактировать:

Да, я прекрасно понимал, что это одно устройство, управляемое одним драйвером, которое выдает три tty. Вы не можете различить их в выводе lsusb (но вы можете увидеть идентификатор производителя / устройства, который вам понадобится, чтобы определить, что происходит в dmesg), но я почти уверен, что вы можете найти отличительные атрибуты udev.

Если в dmesg нет ничего (маловероятно), используйте

udevadm info -a -p  $(udevadm info -q path -n /dev/ttyUSB0)

пройтись по пути устройства и увидеть атрибуты, и

udevadm monitor --udev --property

чтобы понять, что думает udev , когда вы подключаете устройство.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .