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

Jan  1 03:22:11 localhost kernel: [ 1331.868867] usb 1-1.1.7: new high-speed USB device number 7 using sunxi-ehci
Jan  1 03:22:11 localhost kernel: [ 1331.980255] usb 1-1.1.7: config 1 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 255, changing to 11
Jan  1 03:22:11 localhost kernel: [ 1331.981915] usb 1-1.1.7: no of_node; not parsing pinctrl DT
Jan  1 03:22:14 localhost kernel: [ 1334.448000] usb 1-1.1.7: USB disconnect, device number 7
Jan  1 03:22:15 localhost kernel: [ 1335.448864] usb 1-1.1.7: new high-speed USB device number 8 using sunxi-ehci
Jan  1 03:22:15 localhost kernel: [ 1335.585512] usb 1-1.1.7: no of_node; not parsing pinctrl DT
Jan  1 03:22:15 localhost kernel: [ 1335.597579] option 1-1.1.7:1.0: no of_node; not parsing pinctrl DT
Jan  1 03:22:15 localhost kernel: [ 1335.597711] option 1-1.1.7:1.0: GSM modem (1-port) converter detected
Jan  1 03:22:15 localhost kernel: [ 1335.598044] option1 ttyUSB0: no of_node; not parsing pinctrl DT
Jan  1 03:22:15 localhost kernel: [ 1335.601305] usb 1-1.1.7: GSM modem (1-port) converter now attached to ttyUSB0
Jan  1 03:22:15 localhost kernel: [ 1335.602329] option 1-1.1.7:1.1: no of_node; not parsing pinctrl DT
Jan  1 03:22:15 localhost kernel: [ 1335.602451] option 1-1.1.7:1.1: GSM modem (1-port) converter detected
Jan  1 03:22:15 localhost kernel: [ 1335.602564] option1 ttyUSB1: no of_node; not parsing pinctrl DT
Jan  1 03:22:15 localhost kernel: [ 1335.603246] usb 1-1.1.7: GSM modem (1-port) converter now attached to ttyUSB1

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

Jan  1 03:03:26 localhost kernel: [  206.979757] usb 1-1.1.7: new high-speed USB device number 7 using ehci-platform
Jan  1 03:03:27 localhost kernel: [  207.091275] usb 1-1.1.7: config 1 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 255, changing to 11
Jan  1 03:03:29 localhost kernel: [  209.557516] usb 1-1.1.7: USB disconnect, device number 7
Jan  1 03:03:30 localhost kernel: [  210.559763] usb 1-1.1.7: new high-speed USB device number 8 using ehci-platform
Jan  1 03:03:30 localhost kernel: [  210.697613] option 1-1.1.7:1.0: GSM modem (1-port) converter detected
Jan  1 03:03:30 localhost kernel: [  210.699571] option 1-1.1.7:1.1: GSM modem (1-port) converter detected
Jan  1 03:03:30 localhost kernel: [  210.703193] usb 1-1.1.7: GSM modem (1-port) converter now attached to 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:  Manufacturer=Telit Wireless Solutions
S:  Product=Telit HS-USB Modem
C:  #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=500mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
I:  If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
I:  If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
I:  If#= 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:  Manufacturer=Telit wireless solutions
S:  Product=Telit Wireless Module
S:  SerialNumber=357164040583455
C:  #Ifs=14 Cfg#= 1 Atr=e0 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=02 Prot=01 Driver=option
I:  If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=option
/usr/bin/usb-devices: line 79: printf: a: invalid number
I:  If#= 0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=02 Prot=01 Driver=option
/usr/bin/usb-devices: line 79: printf: b: invalid number
I:  If#= 0 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=option
/usr/bin/usb-devices: line 79: printf: c: invalid number
I:  If#= 0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=02 Prot=01 Driver=option
/usr/bin/usb-devices: line 79: printf: d: invalid number
I:  If#= 0 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=option
I:  If#= 2 Alt= 0 #EPs= 1 Cls=02(commc) Sub=02 Prot=01 Driver=option
I:  If#= 3 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=option
I:  If#= 4 Alt= 0 #EPs= 1 Cls=02(commc) Sub=02 Prot=01 Driver=option
I:  If#= 5 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=option
I:  If#= 6 Alt= 0 #EPs= 1 Cls=02(commc) Sub=02 Prot=01 Driver=option
I:  If#= 7 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=option
I:  If#= 8 Alt= 0 #EPs= 1 Cls=02(commc) Sub=02 Prot=01 Driver=option
I:  If#= 9 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=option

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

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

1 ответ1

0

Попробуйте загрузить драйвер "option" (/drivers/usb/serial/option.ko) с помощью modprobe . Я не получил cdc-acm для распознавания DR910-DUAL в Linux 3.14, но опция представляет /dev/ttyUSB0:/dev/ttyUSB3 и они, кажется, работают.

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