Модемы Telit в более новых ядрах Linux не распознаются

2293
aikipooh

У меня есть модемы Telit HE910 и HE910-v2. После переключения с 3.13-rc4 (ветка sunxi) на магистральную 3.17.2 у меня проблемы с 910. До того, как модем был настроен правильно:

1 января 03:22:11 localhost kernel: [1331.868867] usb 1-1.1.7: новое высокоскоростное USB-устройство № 7 с использованием sunxi-ehci 1 января 03:22:11 ядро ​​localhost: [1331.980255] usb 1-1.1.7: интерфейс config 1 0 altsetting 0 конечная точка 0x81 имеет недопустимый bInterval 255, изменяющийся на 11 1 января 03:22:11 localhost kernel: [1331.981915] usb 1-1.1.7: no of_node; не разбирается pinctrl DT 1 января 03:22:14 localhost kernel: [1334.448000] usb 1-1.1.7: отключение USB, устройство № 7 1 января 03:22:15 localhost kernel: [1335.448864] usb 1-1.1.7: новое высокоскоростное USB-устройство № 8 с использованием sunxi-ehci 1 января 03:22:15 localhost kernel: [1335.585512] usb 1-1.1.7: no of_node; не разбирается pinctrl DT 1 января 03:22:15 localhost kernel: [1335.597579] option 1-1.1.7: 1.0: no of_node; не разбирается pinctrl DT 1 января 03:22:15 localhost kernel: [1335.597711] опция 1-1.1.7: 1.0: обнаружен конвертер модема GSM (1-портовый) 1 января 03:22:15 localhost kernel: [1335.598044] option1 ttyUSB0: no of_node; не разбирается pinctrl DT 1 января 03:22:15 localhost kernel: [1335.601305] usb 1-1.1.7: GSM-модем (1-портовый) конвертер теперь подключен к ttyUSB0 1 января 03:22:15 localhost kernel: [1335.602329] option 1-1.1.7: 1.1: no of_node; не разбирается pinctrl DT 1 января 03:22:15 localhost kernel: [1335.602451] опция 1-1.1.7: 1.1: обнаружен конвертер модема GSM (1 порт) 1 января 03:22:15 localhost kernel: [1335.602564] option1 ttyUSB1: no of_node; не разбирается pinctrl DT 1 января 03:22:15 localhost kernel: [1335.603246] usb 1-1.1.7: GSM-модем (1-портовый) конвертер теперь подключен к ttyUSB1 

Теперь распознается только каждая вторая конечная точка (класса 0a - данные):

1 января 03:03:26 localhost kernel: [206.979757] usb 1-1.1.7: новое высокоскоростное USB-устройство № 7 с использованием платформы ehci 1 января 03:03:27 localhost kernel: [207.091275] usb 1-1.1.7: интерфейс config 1 0 altsetting 0 конечная точка 0x81 имеет недопустимый bInterval 255, изменяющийся на 11 1 января 03:03:29 localhost kernel: [209.557516] usb 1-1.1.7: отключение USB, устройство № 7 1 января 03:03:30 localhost kernel: [210.559763] usb 1-1.1.7: новое высокоскоростное USB-устройство № 8 с использованием платформы ehci 1 января 03:03:30 localhost kernel: [210.697613] опция 1-1.1.7: 1.0: обнаружен конвертер модема GSM (1 порт) 1 января 03:03:30 localhost kernel: [210.699571] опция 1-1.1.7: 1.1: обнаружен конвертер модема GSM (1-портовый) 1 января 03:03:30 localhost kernel: [210.703193] usb 1-1.1.7: модем GSM (1-портовый) теперь подключен к ttyUSB1 

Для обоих ядер я добавил соответствующую пару vendor / devid в option.c.

910v2 работает нормально на обоих ядрах, но организовано по-разному (для краткости я предоставляю вывод usb-устройств):

T: Bus = 01 Lev = 03 Prnt = 03 Port = 04 Cnt = 03 Dev # = 9 Spd = 480 MxCh = 0 D: Ver = 2,00 Cls = 00 (> ifc) Sub = 00 Prot = 00 MxPS = 64 # Cfgs = 1 P: Vendor = 1bc7 ProdID = 1010 Rev = 00.00 S: Производитель = Telit Wireless Solutions S: продукт = Telit HS-USB модем C: # Ifs = 4 Cfg # = 1 Atr = e0 MxPwr = 500 мА I: Если # = 0 Alt = 0 # EPs = 2 Cls = ff (vend.) Sub = ff Prot = ff Driver = option I: Если # = 1 Alt = 0 # EPs = 2 Cls = ff (vend.) Sub = ff Prot = ff Driver = option I: Если # = 2 Alt = 0 # EPs = 3 Cls = ff (vend.) Sub = ff Prot = ff Driver = option I: Если # = 3 Alt = 0 # EPs = 3 Cls = ff (vend.) Sub = ff Prot = ff Driver = option 

Пока HE910 выглядит так:

T: Bus = 01 Lev = 03 Prnt = 03 Port = 06 Cnt = 04 Dev # = 11 Spd = 480 MxCh = 0 D: Ver = 2,00 Cls = 02 (commc) Sub = 00 Prot = 00 MxPS = 64 # Cfgs = 1 P: Vendor = 1bc7 ProdID = 0021 Rev = 16,70 S: Производитель = Telit беспроводные решения S: Продукт = Telit Беспроводной модуль S: SerialNumber = 357164040583455 C: # Ifs = 14 Cfg # = 1 Atr = e0 MxPwr = 100 мА I: Если # = 0 Alt = 0 # EPs = 1 Cls = 02 (commc) Sub = 02 Prot = 01 Driver = option I: Если # = 1 Alt = 0 # EPs = 2 Cls = 0a (данные) Sub = 00 Prot = 00 Driver = опция / usr / bin / usb-devices: строка 79: printf: a: неверный номер I: Если # = 0 Alt = 0 # EPs = 1 Cls = 02 (commc) Sub = 02 Prot = 01 Driver = option / usr / bin / usb-devices: строка 79: printf: b: неверный номер I: Если # = 0 Alt = 0 # EPs = 2 Cls = 0a (данные) Sub = 00 Prot = 00 Driver = опция / usr / bin / usb-devices: строка 79: printf: c: неверный номер I: Если # = 0 Alt = 0 # EPs = 1 Cls = 02 (commc) Sub = 02 Prot = 01 Driver = option / usr / bin / usb-devices: строка 79: printf: d: неверный номер I: Если # = 0 Alt = 0 # EPs = 2 Cls = 0a (данные) Sub = 00 Prot = 00 Driver = опция I: Если # = 2 Alt = 0 # EPs = 1 Cls = 02 (commc) Sub = 02 Prot = 01 Driver = option I: Если # = 3 Alt = 0 # EPs = 2 Cls = 0a (данные) Sub = 00 Prot = 00 Driver = опция I: Если # = 4 Alt = 0 # EPs = 1 Cls = 02 (commc) Sub = 02 Prot = 01 Driver = option I: Если # = 5 Alt = 0 # EPs = 2 Cls = 0a (данные) Sub = 00 Prot = 00 Driver = опция I: Если # = 6 Alt = 0 # EPs = 1 Cls = 02 (commc) Sub = 02 Prot = 01 Driver = option I: Если # = 7 Alt = 0 # EPs = 2 Cls = 0a (данные) Sub = 00 Prot = 00 Driver = опция I: Если # = 8 Alt = 0 # EPs = 1 Cls = 02 (commc) Sub = 02 Prot = 01 Driver = option I: Если # = 9 Alt = 0 # EPs = 2 Cls = 0a (данные) Sub = 00 Prot = 00 Driver = опция 

Поэтому я считаю, что это может зависеть от класса как-то.

Кто может подсказать мне, куда мне обратиться, чтобы решить эту проблему?

0

1 ответ на вопрос

0
Robert Calhoun

Try loading the "option" driver (/drivers/usb/serial/option.ko) with modprobe. I haven't gotten cdc-acm to recognize the DR910-DUAL under linux 3.14 but option presents /dev/ttyUSB0:/dev/ttyUSB3 and they seem to work.

Похожие вопросы