Letux Kernel

Issue 478: modem reenumeration

Reported by Radek Polak, Aug 28, 2013

Modem sometimes disconnect and reconnects back on USB. This makes 
the modem handling code unreliable and results e.g. in missed calls.

How to reproduce:

install QtMoko v55 from here:

http://sourceforge.net/projects/qtmoko/files/GTA04/

From second phone start a call, let GTA04 ring a few times, then 
hangup. Repeat a few times until it happens (QtMoko restarts to 
recover, creates files /modem_reenumerate.txt).

Btw QtMoko kernel sources are here:

https://github.com/radekp/linux-2.6/tree/v3.7-gta04-qtmoko-v55

but i guess every kernel will do it.

Comment 1 by Radek Polak, Aug 28, 2013

For more details it was described e.g. here:

http://lists.goldelico.com/pipermail/gta04-owner/2012-February/001563
.html

If you want to easily reproduce you can e.g. use N900 as your second 
phone and write shell script for the dialing.

Comment 2 by Radek Polak, Aug 28, 2013

script for n900

Comment 3 by Radek Polak, Aug 28, 2013

Small workaround is to put modem in 2G only, then the reenumeration 
should not occur that much. The AT command is:

AT_OPSYS=0,2

Comment 4 by Nikolaus Schaller, Aug 28, 2013

There are several hypotheses what the reasons are:
1. modem firmware bug
2. linux kernel (general USB) / driver (HSO)
3. hardware
4. user space triggered (which I think is the least probable)

We finally have to find out what the real reason is - and/or develop 
better work-arounds.

Comment 5 by Radek Polak, Aug 30, 2013

Attached is log from my phone. You can seach for string 
"Globetrotter" for reenumerates. The line "Hiding 
non-modal dialog: PhoneMessageBox" is for each call.

At the end of log modem disconnects from USB and never connects 
back. Even after reboot there are no /dev/ttyHS ports and lsusb does 
not show the modem. After removing battery and booting again the 
modem is working again

Comment 6 by Radek Polak, Aug 30, 2013

Btw the log is taken with these modem settings:

AT_OPSYS?
_OPSYS: 3,2

Comment 7 by Radek Polak, Sep 4, 2013

Just for the record here are some interesting mails about the 
problem:

http://lists.goldelico.com/pipermail/gta04-owner/2013-September/00493
3.html

http://lists.goldelico.com/pipermail/gta04-owner/2013-September/00493
9.html

Comment 8 by Nikolaus Schaller, Sep 7, 2013

And another trick for testing the test code (which is important to 
know):

./femtocom /dev/ttyHS_Control
AT_ORESET

This will reset the modem and it will loose the USB connection and
re-enumerate like this dmesg shows:

[ 6940.011840] usb 1-2: USB disconnect, device number 5
[ 6945.105041] usb 1-2: new high-speed USB device number 6 using 
ehci-omap
[ 6945.286895] usb 1-2: New USB device found, idVendor=0af0, 
idProduct=8800
[ 6945.300415] usb 1-2: New USB device strings: Mfr=3, Product=2, 
SerialNumber=0
[ 6945.323791] usb 1-2: Product: Globetrotter HSUPA Modem
[ 6945.329132] usb 1-2: Manufacturer: Option N.V.

As a side note: the modem accepts more at commands after AT_ORESET 
for
ca. 1-2 seconds like this sequence shows:

root@gta04:~# ./femtocom /dev/ttyHS_Control 
at_oreset
OK
ati
Manufacturer: Option N.V.
Model: GTM601
Revision: 1.7.4.0 (Date: Jan  5 2011, Time: 11:14:34)

OK
ati
Manufacturer: Option N.V.
Model: GTM601
Revision: 1.7.4.0 (Date: Jan  5 2011, Time: 11:14:34)

OK
ati
ati	<--- tty port hangs (w/o error message!)
ati
ati
ati
ati
^C
root@gta04:~# 

So in general the re-enumeration shares the symptoms of an AT_ORESET.

Comment 9 by Nikolaus Schaller, Oct 1, 2013

Status: Accepted
Owner: hns

Created: 11 years 5 months ago by Radek Polak

Updated: 11 years 4 months ago

Status: Accepted

Owner: Nikolaus Schaller

Followed by: 1 person

Labels:
Type:Defect
Priority:Medium

This issue is related to
477 - EHC...broken on 3.10ff kernels