Intereting Posts
kvm_open: невозможно открыть / proc Нельзя отступать heredoc, чтобы соответствовать отступу вложенности Загрузка с USB-устройств в безопасную систему загрузки UEFI Задайте название динамического окна на основе ввода команды Как получить адаптер Realtek RTL8811AU wifi, работающий на XUbuntu Сон до следующего появления определенного времени Debian: umount / media / usb0: «Операция не разрешена» Как удалить устаревшие журналы с помощью logrotate? Заполните предлагаемое действие автоматически в Bash Сортировка и организация огромной кучи фотографий Freeradius PAM создает пользователя и дома при входе в систему Как модули ядра и ядра SCSI обрабатываются иначе, чем другие модули ядра? Монетный двор Linux: я заражен руткитом Ошибка обновления Fedora 26 Почему это, когда я загружаю двоичный файл из Интернета, у него нет установленных разрешений, но когда я использую gcc для создания двоичного файла, он это делает?

GSM-модем не создает файл / dev / ttyUSB

Я установил Kannel на сервере, и я хочу использовать GSM 3G USB-модем для отправки / получения SMS-сообщений, как описано в разделе SMS-центры> GSM-модем руководства пользователя Kannel.

Я уже успешно установил, настроил и протестировал Kannel на своем ноутбуке.

Когда я подключаю модем к ноутбуку, появляется устройство с именем /dev/ttyUSB0 . Он действует как последовательный порт для отправки команд модему.

Я должен поместить это устройство в файл конфигурации Kannel.

После некоторого тестирования я решил установить Kannel на производственном сервере. Сервер работает под управлением Linux-VServer , и моя задача – установить Kannel на хосте и PlaySMS у одного из гостей , который запускает Apache.

Проблема в том, что я не могу найти какое-либо устройство, аналогичное ttyUSB0 , которое создано на моей машине (и AFAIK, во всех нормальных Linux-боксах).

Вот несколько диагностических команд. Используемые модемы – это не та же модель, но я уже тестировал Sierra 308 на своем ноутбуке, и она тоже работает.

Мой ноутбук – Arch Linux

uname -a :

 Linux twoflower 3.4.9-1-ARCH #1 SMP PREEMPT Wed Aug 15 18:11:01 UTC 2012 i686 GNU/Linux 

dmesg когда я подключаю модем в (Huawei 156B):

 [35328.849886] usb 1-2: new high-speed USB device number 12 using ehci_hcd [35329.007281] scsi9 : usb-storage 1-2:1.2 [35329.010054] scsi10 : usb-storage 1-2:1.3 [35329.301153] usbcore: registered new interface driver usbserial [35329.302155] usbcore: registered new interface driver usbserial_generic [35329.303064] USB Serial support registered for generic [35329.303221] usbserial: USB Serial Driver core [35329.368043] usbcore: registered new interface driver option [35329.368960] USB Serial support registered for GSM modem (1-port) [35329.369332] option 1-2:1.0: GSM modem (1-port) converter detected [35329.377484] usb 1-2: GSM modem (1-port) converter now attached to ttyUSB0 [35329.377567] option 1-2:1.1: GSM modem (1-port) converter detected [35329.378930] usb 1-2: GSM modem (1-port) converter now attached to ttyUSB1 [35330.013635] scsi 9:0:0:0: CD-ROM HUAWEI Mass Storage 2.31 PQ: 0 ANSI: 2 [35330.019275] scsi 10:0:0:0: Direct-Access HUAWEI MMC Storage 2.31 PQ: 0 ANSI: 2 [35330.028997] sd 10:0:0:0: [sdb] Attached SCSI removable disk [35330.214473] sr0: scsi-1 drive [35330.214484] cdrom: Uniform CD-ROM driver Revision: 3.20 [35330.216603] sr 9:0:0:0: Attached scsi CD-ROM sr0 

Сервер – Debian Lenny

uname -a :

 Linux macunaima 2.6.26-1-vserver-amd64 #1 SMP Fri Mar 13 20:19:13 UTC 2009 x86_64 GNU/Linux 

dmesg когда я подключаю модем в (Sierra 308):

  [ 3.246112] usb 8-4: new high speed USB device using ehci_hcd and address 2 [ 3.381966] usb 8-4: config 1 has an invalid interface number: 9 but max is 5 [ 3.382076] usb 8-4: config 1 has an invalid interface number: 7 but max is 5 [ 3.382184] usb 8-4: config 1 has no interface number 2 [ 3.382285] usb 8-4: config 1 has no interface number 5 [ 3.384576] usb 8-4: configuration #1 chosen from 1 choice [ 3.389070] usb 8-4: New USB device found, idVendor=0f3d, idProduct=68a3 [ 3.389070] usb 8-4: New USB device strings: Mfr=3, Product=2, SerialNumber=4 [ 3.389070] usb 8-4: Product: USB 308 [ 3.389070] usb 8-4: Manufacturer: Sierra Wireless, Incorporated [ 3.389070] usb 8-4: SerialNumber: 353354045586405 

lsusb :

 Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 008 Device 002: ID 0f3d:68a3 Airprime, Incorporated Bus 008 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub 

Предыдущие вопросы

Единственный предыдущий вопрос с аналогичной проблемой, которую я нашел здесь, – это как получить доступ к последовательному порту USB без записи в / dev? ,

В своем случае dmesg сказал, что ttyUSB0 был создан, чего не происходит в моем случае.

Во всяком случае, я пробовал решение, размещенное там, используя mknod для создания устройств вручную:

 for i in 0 1 2 3 4 5 6 7 8 9; do sudo mknod /dev/ttyUSB$ic 188 $i done 

Я создал все эти устройства, потому что lsusb говорит, что устройство подключено к Bus 008 Device 002 .

Это не работает. Я тестировал его с помощью picocom , и это говорит (для всех этих устройств, а не только ttyUSB0 ):

 $ picocom - FATAL: cannot open /dev/ttyUSB0: No such device or address 

Пока в моей записной книжке, picocom отлично работает:

 $ picocom -b 9600 /dev/ttyUSB0 Terminal ready AT # my input OK 

Я с @Renan: похоже, эта проблема была исправлена ​​в новых ядрах. ( Один такой поток на LKML. )

Ключевой ошибкой является invalid interface number один. Это означает, что драйвер USB видит устройство, но его номера (интерфейсы) нумеруют таким образом, что драйвер не ожидает, и он не может справиться. Вы можете найти несколько случаев, когда люди исправляют недостатки в ядре, чтобы справиться с этими новыми устройствами, и их поведение с нечетным интерфейсом.

Я не на 100% уверен в этом, так как я не могу найти окончательный документ, в котором говорится, что неправильные номера номера не по порядку или что все это исправлено для всех USB-устройств в ядре xyz. Кажется, это больше усилий для развития Whac-a-Mole .

Обновление ядра на сервере не является простым решением. Я бы попробовал промежуточный шаг, чтобы сначала проверить гипотезу: поместите версию своего сервера Debian в виртуальную машину, сделайте снимок, обновите ядро ​​и посмотрите, не увидит ли устройство USB после обновления. (Очевидно, вам нужно использовать программное обеспечение VM, которое будет вставлять USB-устройство в виртуальную машину. Большинство из них в наши дни.)

Если это не сработает, вы можете легко вернуться к снимку, так как эта виртуальная машина должна быть полезна для будущего тестирования, прежде чем вы откажетесь на сервер prodouction.

Я столкнулся с той же проблемой, что и вы. Попробуйте установить пакет gsm-utils .

 apt-get install gsm-utils 

Надеюсь, поможет. Год спустя, но это может помочь другим.

Из предоставленной вами информации я думаю, что у системы нет файла конфигурации этого USB-устройства. Получите правильный conf , добавьте его в /etc/usb_modeswitch.d и активируйте его. Затем он будет обнаружен как USB-устройство.

См. Эту статью .