Telit modems are not recongnised on mainline kernel (ok on sunxi branch)

237 views
Skip to first unread message

Юрий Пухальский

unread,
Nov 29, 2014, 1:12:24 PM11/29/14
to linux...@googlegroups.com
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. Is there anybody who has a clue about this? Probably some easy general USB thing…

Julian Calaby

unread,
Dec 2, 2014, 5:44:21 PM12/2/14
to linux-sunxi
Hi,
So the device is completely unusable on the newer kernel? I.e. the
option driver hasn't changed how it sets up the device.

I also note that you have to add the device id to the driver. Have you
discussed this with the maintainers of that driver? (and the linux-usb
list)

Beyond that, are you sure this is a USB hardware issue?

Have you tried:
1. Putting a hub between the device and the host?
2. Using it on another computer with the same kernel version?

Thanks,

--
Julian Calaby

Email: julian...@gmail.com
Profile: http://www.google.com/profiles/julian.calaby/

Юрий Пухальский

unread,
Dec 2, 2014, 6:11:29 PM12/2/14
to linux...@googlegroups.com


On Wed, Dec 3, 2014 at 1:43 AM, Julian Calaby <julian...@gmail.com> wrote:
Hi,
Hi, Julian! And thank you for responding!


So the device is completely unusable on the newer kernel? I.e. the
Yes… It doesn't stick out the comms endpoints.
 
option driver hasn't changed how it sets up the device.
Well, for some reason yes. I'm not very good in kernel entrails, but it appears that code hasn't changed much. Probably some other part of usb code has changed. Or maybe on sunxi branch was some interesting USB code that worked for this?
 

I also note that you have to add the device id to the driver. Have you
discussed this with the maintainers of that driver? (and the linux-usb
list)
No, not yet. Probably we'll have other chips for the production, so it's not settled for me yet. And before writing to linux-usb I thought maybe it pertains to the board so wrote here.
 

Beyond that, are you sure this is a USB hardware issue? 

Have you tried:
1. Putting a hub between the device and the host?
The thing is that it's a custom board with several modems and wifis installed on it. Cannot do much about it:( The other thing that interests me that it shows me 14 endpoints, while from the documentation it must be only 7. Maybe there's something unfair going on in there.
You mean the hub between that custom board and OLinuXino I use?

2. Using it on another computer with the same kernel version?
 I'll try to see it with my usual computer, AMD64. I'll try to 3.16 that's running there now, probably it'll shed some light.


Thanks,
--
You received this message because you are subscribed to a topic in the Google Groups "linux-sunxi" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/linux-sunxi/D-LZAVG7VKI/unsubscribe.
To unsubscribe from this group and all its topics, send an email to linux-sunxi...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Point of presence: http://vk.com/aikipooh

Юрий Пухальский

unread,
Dec 2, 2014, 6:38:15 PM12/2/14
to linux...@googlegroups.com
Well, on 3.16 normal computer it's the same:

Dec  3 02:36:18 localhost kernel: usb 1-7: new high-speed USB device number 10 using ehci-pci
Dec  3 02:36:18 localhost kernel: hub 1-7:1.0: USB hub found
Dec  3 02:36:18 localhost kernel: hub 1-7:1.0: 7 ports detected
Dec  3 02:36:18 localhost kernel: usb 1-7.3: new high-speed USB device number 11 using ehci-pci
Dec  3 02:36:19 localhost kernel: usb 1-7.4: new high-speed USB device number 12 using ehci-pci
Dec  3 02:36:19 localhost kernel: usb 1-7.7: new high-speed USB device number 13 using ehci-pci
Dec  3 02:36:19 localhost kernel: option 1-7.7:1.0: GSM modem (1-port) converter detected
Dec  3 02:36:19 localhost kernel: option 1-7.7:1.1: GSM modem (1-port) converter detected
Dec  3 02:36:19 localhost kernel: usb 1-7.7: GSM modem (1-port) converter now attached to ttyUSB1
Dec  3 02:36:19 localhost kernel: option 1-7.7:1.2: GSM modem (1-port) converter detected
Dec  3 02:36:19 localhost kernel: option 1-7.7:1.3: GSM modem (1-port) converter detected
Dec  3 02:36:19 localhost kernel: usb 1-7.7: GSM modem (1-port) converter now attached to ttyUSB3
Dec  3 02:36:19 localhost kernel: option 1-7.7:1.4: GSM modem (1-port) converter detected
Dec  3 02:36:19 localhost kernel: option 1-7.7:1.5: GSM modem (1-port) converter detected
Dec  3 02:36:19 localhost kernel: usb 1-7.7: GSM modem (1-port) converter now attached to ttyUSB5
Dec  3 02:36:19 localhost kernel: option 1-7.7:1.6: GSM modem (1-port) converter detected
Dec  3 02:36:19 localhost kernel: option 1-7.7:1.7: GSM modem (1-port) converter detected
Dec  3 02:36:19 localhost kernel: usb 1-7.7: GSM modem (1-port) converter now attached to ttyUSB7
Dec  3 02:36:19 localhost kernel: option 1-7.7:1.8: GSM modem (1-port) converter detected
Dec  3 02:36:19 localhost kernel: option 1-7.7:1.9: GSM modem (1-port) converter detected
Dec  3 02:36:19 localhost kernel: usb 1-7.7: GSM modem (1-port) converter now attached to ttyUSB9
Dec  3 02:36:19 localhost kernel: option 1-7.7:1.10: GSM modem (1-port) converter detected
Dec  3 02:36:19 localhost kernel: option 1-7.7:1.11: GSM modem (1-port) converter detected
Dec  3 02:36:19 localhost kernel: usb 1-7.7: GSM modem (1-port) converter now attached to ttyUSB11
Dec  3 02:36:19 localhost kernel: option 1-7.7:1.12: GSM modem (1-port) converter detected
Dec  3 02:36:19 localhost kernel: option 1-7.7:1.13: GSM modem (1-port) converter detected
Dec  3 02:36:19 localhost kernel: usb 1-7.7: GSM modem (1-port) converter now attached to ttyUSB13


Julian Calaby

unread,
Dec 2, 2014, 6:50:14 PM12/2/14
to linux-sunxi
Hi,
This is different again, here we're only getting messages about
attaching "GSM modem (1-port) converters" to every second ttyUSB*
device.

I must also note that in your original email it appears that the USB
host's driver changed from sunxi-usb to usb-platform between 3.13 and
3.17

I think this is something that needs to be asked on the linux-usb
list. It _might_ be a sunxi thing, but given that we've now got three
different sets of output, this looks like it's a core USB thing.

Oh, and you _really_ need to talk to the Option driver maintainer
about whether your particular GSM modems are fully supported.

Finally, you _really_ need to give more data:
1. You _must_ specify the exact board you're using. Some have odd
quirks and without knowing that, we can't give you more than general
help.
2. How does your custom board work, is it just a hub with a whole lot
of devices hanging off it? Does it expect to get all it's power from
the host? What's the topology? What hub chip? Does it do anything
"special"?

Юрий Пухальский

unread,
Dec 2, 2014, 7:06:46 PM12/2/14
to linux...@googlegroups.com
In the initial message I've omitted the output for the other devices, only left first two to consider (maybe it's not the good idea, but I didn't want to spam people:). The full output is exactly the same as far as I can see. 

I must also note that in your original email it appears that the USB
host's driver changed from sunxi-usb to usb-platform between 3.13 and
3.17
Yes, that's another reason I posted it here first, might there be something in the ehci code on the branch that may influence the behaviour?

I think this is something that needs to be asked on the linux-usb
list. It _might_ be a sunxi thing, but given that we've now got three
different sets of output, this looks like it's a core USB thing.

Oh, and you _really_ need to talk to the Option driver maintainer
about whether your particular GSM modems are fully supported.
Well, it worked without problem on sunxi branch (I saw comms endpoints and used the modem without problem), so I think I might consider it supported enough for my needs.
 

Finally, you _really_ need to give more data:
1. You _must_ specify the exact board you're using. Some have odd
quirks and without knowing that, we can't give you more than general
help.
The computer is A13-OLinuXino, but the custom board I still cannot get the blueprints for… I'm suspicious of it too. On the other hand, with different kernel on the same hardware it works, so hardware-wise it's functional, but we might step on some toes here…

2. How does your custom board work, is it just a hub with a whole lot
of devices hanging off it? Does it expect to get all it's power from
the host? What's the topology? What hub chip? Does it do anything
"special"?
Yes, it appears exactly this. The chip is  (SMSCUSB2517-JZX. Also there's a processor that can start and stop things, but once started it's hub with connected devices. The board is powered externally so devices should thrive, not starve.
 

Thanks,

--
Julian Calaby

Email: julian...@gmail.com
Profile: http://www.google.com/profiles/julian.calaby/

--
You received this message because you are subscribed to a topic in the Google Groups "linux-sunxi" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/linux-sunxi/D-LZAVG7VKI/unsubscribe.
To unsubscribe from this group and all its topics, send an email to linux-sunxi...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Юрий Пухальский

unread,
Jan 21, 2015, 5:09:35 PM1/21/15
to linux...@googlegroups.com
Well, I used cdc_acm and saw those modem points. Apparently it's
something with option driver, maybe the description clause should be
more cunning, but I've no time to investigate:)

Jan 22 01:07:38 localhost kernel: [108080.155101] usb 1-1.1.7: new
high-speed USB device number 16 using ehci-platform
Jan 22 01:07:38 localhost kernel: [108080.266361] usb 1-1.1.7: config
1 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 255,
changing to 11
Jan 22 01:07:38 localhost kernel: [108080.268541] cdc_acm 1-1.1.7:1.0:
This device cannot do calls on its own. It is not a modem.
Jan 22 01:07:38 localhost kernel: [108080.268966] cdc_acm 1-1.1.7:1.0:
ttyACM0: USB ACM device
Jan 22 01:07:41 localhost kernel: [108082.514851] usb 1-1.1.7: USB
disconnect, device number 16
Jan 22 01:07:42 localhost kernel: [108083.734849] usb 1-1.1.7: new
high-speed USB device number 17 using ehci-platform
Jan 22 01:07:42 localhost kernel: [108083.867270] cdc_acm 1-1.1.7:1.0:
This device cannot do calls on its own. It is not a modem.
Jan 22 01:07:42 localhost kernel: [108083.867708] cdc_acm 1-1.1.7:1.0:
ttyACM0: USB ACM device
Jan 22 01:07:42 localhost kernel: [108083.869974] cdc_acm 1-1.1.7:1.2:
This device cannot do calls on its own. It is not a modem.
Jan 22 01:07:42 localhost kernel: [108083.870518] cdc_acm 1-1.1.7:1.2:
ttyACM1: USB ACM device
Jan 22 01:07:42 localhost kernel: [108083.872474] cdc_acm 1-1.1.7:1.4:
This device cannot do calls on its own. It is not a modem.
Jan 22 01:07:42 localhost kernel: [108083.873011] cdc_acm 1-1.1.7:1.4:
ttyACM2: USB ACM device
Jan 22 01:07:42 localhost kernel: [108083.876967] cdc_acm 1-1.1.7:1.6:
This device cannot do calls on its own. It is not a modem.
Jan 22 01:07:42 localhost kernel: [108083.877538] cdc_acm 1-1.1.7:1.6:
ttyACM3: USB ACM device
Jan 22 01:07:42 localhost kernel: [108083.880249] cdc_acm 1-1.1.7:1.8:
This device cannot do calls on its own. It is not a modem.
Jan 22 01:07:42 localhost kernel: [108083.880841] cdc_acm 1-1.1.7:1.8:
ttyACM4: USB ACM device
Jan 22 01:07:42 localhost kernel: [108083.883364] cdc_acm
1-1.1.7:1.10: This device cannot do calls on its own. It is not a
modem.
Jan 22 01:07:42 localhost kernel: [108083.883917] cdc_acm
1-1.1.7:1.10: ttyACM5: USB ACM device
Jan 22 01:07:42 localhost kernel: [108083.888067] cdc_acm
1-1.1.7:1.12: This device cannot do calls on its own. It is not a
modem.
Jan 22 01:07:42 localhost kernel: [108083.888671] cdc_acm
1-1.1.7:1.12: ttyACM6: USB ACM device
Reply all
Reply to author
Forward
0 new messages