0

I've Telit HE910 and HE910-v2 modems. After switching from 3.13-rc4 (sunxi branch) to mainline 3.17.2 I've got problems with 910. Before modem was set up properly:

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

Now only every second endpoint (of class 0a - data) is recognised:

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

For both kernels I've added the respective vendor/devid pair to the option.c.

910v2 works ok on both kernels, but it's differently organised (I provide the usb-devices output for brevity's sake):

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

While HE910 looks like it:

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

So I believe it might depend on the Class somehow.

Who can guide me where should I look to resolve this?

0

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.