[Gta04-owner] Modem crashing?

Dr. H. Nikolaus Schaller hns at goldelico.com
Thu Nov 15 14:47:49 CET 2012


Sorry for picking up such an old thread, but the issue was somewhere at my to-do list:

Finally I have tried a patch and the annoying "hso received invalid serial state notification" has gone:

	<http://git.goldelico.com/?p=gta04-kernel.git;a=commit;h=f24d0f3a55794c6873cc8bf8079a1a0f1bc45992>

But I don't know if it solves any real world problem and is related to the USB port renumbering problem.


Am 18.02.2012 um 16:24 schrieb Dr. H. Nikolaus Schaller:

> 
> Am 18.02.2012 um 12:20 schrieb Dr. H. Nikolaus Schaller:
> 
>> 
>> Am 18.02.2012 um 12:15 schrieb Dr. H. Nikolaus Schaller:
>> 
>>> 
>>> Am 18.02.2012 um 11:44 schrieb Dr. H. Nikolaus Schaller:
>>> 
>>>> 
>>>> Am 18.02.2012 um 07:08 schrieb NeilBrown:
>>>>> 
>>>>> 
>>>>> If I call my GTA04, answer the call, and then hang up, I do not get 
>>>>> NO CARRIER
>>>>> on the 'Application' port (which is where I get e.g. "RING" indications).
>>>>> However I *do* get "NO CARRIER" on the Modem port.
>>>>> A little surprising but possibly quite usable.  There may be other surprises
>>>>> for those willing to explore.
>>>>> 
>>>>> When I dial out it seems a little different.  I try to hang up with ATH
>>>>> but "AT+CPAS" indicates I am still on a call.  When the other end hangs up,
>>>>> then I get NO CARRIER.
>>>>> I'm not sure if this is always consistent.  More experimentation is needed.
>>>> 
>>>> I have recompiled the hso driver with debug enabled and could no longer see
>>>> the USB re-enumeration issue (which does not prove that one has to do anything
>>>> with the other, i.e. this is a step towards a solution).
>>> 
>>> Here is some strange log entry:
>>> 
>>> [ 7974.712158] [1219:hso_std_serial_read_bulk_callback]: Actual length = 8
>>> [ 7974.712188] 
>>> [ 7974.720672] hso[1220:hso_std_serial_read_bulk_callback]0d 0a 52 49 4e 47 0d 0a                          ..RING..
>>> [ 7974.720703] [2069:put_rxbuf_data]: data to push to tty
>>> [ 7974.726135] usb 2-2: hso received invalid serial state notification
>>> [ 7974.732696] hso[1536:tiocmget_intr_callback]a1 20 00 00 06 00 02 00 0b 00                    . ........
>>> [ 7980.619812] usb 2-2: hso received invalid serial state notification
>>> [ 7980.626403] hso[1536:tiocmget_intr_callback]a1 20 00 00 06 00 02 00 03 00                    . ........
>>> [ 7980.721954] [1219:hso_std_serial_read_bulk_callback]: Actual length = 8
>>> [ 7980.721984] 
>>> [ 7980.730468] hso[1220:hso_std_serial_read_bulk_callback]0d 0a 52 49 4e 47 0d 0a                          ..RING..
>>> [ 7980.730499] [2069:put_rxbuf_data]: data to push to tty
>>> [ 7980.735900] usb 2-2: hso received invalid serial state notification
>>> [ 7980.742462] hso[1536:tiocmget_intr_callback]a1 20 00 00 06 00 02 00 0b 00                    . ........
>>> [ 7981.419860] usb 2-2: hso received invalid serial state notification
>>> [ 7981.426452] hso[1536:tiocmget_intr_callback]a1 20 00 00 06 00 02 00 03 00                    . ........
>>> [ 7987.059143] [1976:hso_std_serial_write_bulk_callback]:  
>>> [ 7987.064910] [1976:hso_std_serial_write_bulk_callback]:  
>>> [ 7988.661804] [1355:hso_serial_close]: Closing serial port
>>> [ 7988.667510] [696:log_usb_status]: hso_std_serial_read_bulk_callback: received USB status - endpoint not enabled (-2)
>>> [ 8054.969085] [1355:hso_serial_close]: Closing serial port
>>> [ 8054.974822] [696:log_usb_status]: hso_std_serial_read_bulk_callback: received USB status - endpoint not enabled (-2)
>>> [ 8054.986053] [696:log_usb_status]: hso_std_serial_read_bulk_callback: received USB status - endpoint not enabled (-2)
>>> [ 8054.997283] [696:log_usb_status]: tiocmget_intr_callback: received USB status - endpoint not enabled (-2)
>>> 
>>> But this time the USB interface did not re-enumerate.
>>> 
>> 
>> After closing and reopening /dev/ttyHS_Application
>> 
>> [ 8446.190643] [696:log_usb_status]: hso_std_serial_read_bulk_callback: received USB status - endpoint not enabled (-2)
>> [ 8446.214050] [696:log_usb_status]: hso_std_serial_write_bulk_callback: received USB status - endpoint not enabled (-2)
>> [ 8447.820648] [1307:hso_serial_open]: Opening 3
>> [ 8452.963134] [1355:hso_serial_close]: Closing serial port
>> [ 8452.980133] [696:log_usb_status]: hso_std_serial_read_bulk_callback: received USB status - endpoint not enabled (-2)
>> [ 8453.003570] [696:log_usb_status]: hso_std_serial_write_bulk_callback: received USB status - endpoint not enabled (-2)
>> [ 8457.893798] [1307:hso_serial_open]: Opening 5
>> [ 8457.902038] ehci-omap ehci-omap.0: force halt; handshake fa064814 00004000 00000000 -> -110
>> [ 8457.910858] usb 2-2: tiocmget_submit_urb usb_submit_urb failed -110
>> [ 8459.955413] usb 2-2: Failed to submit urb - res -108
>> [ 8459.961120] usb 2-2: Failed to submit urb - res -108
>> [ 8459.966491] usb 2-2: Failed to submit urb - res -108
>> [ 8459.971740] usb 2-2: Failed to submit urb - res -108
>> [ 8459.976989] usb 2-2: Failed to submit urb - res -108
>> [ 8460.732055] usb 2-2: Failed to submit urb - res -108
>> [ 8460.741790] usb 2-2: Failed to submit urb - res -108
>> [ 8460.947357] usb 2-2: Failed to submit urb - res -108
>> [ 8460.953002] usb 2-2: Failed to submit urb - res -108
>> [ 8461.579833] [1355:hso_serial_close]: Closing serial port
>> [ 8461.585510] [696:log_usb_status]: hso_std_serial_read_bulk_callback: received USB status - endpoint not enabled (-2)
>> [ 8461.596527] [696:log_usb_status]: hso_std_serial_read_bulk_callback: received USB status - device disabled (-108)
>> [ 8474.674285] [1307:hso_serial_open]: Opening 3
>> [ 8474.679016] usb 2-2: Failed to submit urb - res -108
>> [ 8474.684265] [1355:hso_serial_close]: Closing serial port
>> [ 8479.596313] [1307:hso_serial_open]: Opening 4
>> [ 8479.601043] usb 2-2: Failed to submit urb - res -108
>> [ 8479.606292] [1355:hso_serial_close]: Closing serial port
>> [ 8481.221374] [1307:hso_serial_open]: Opening 5
>> [ 8481.226104] usb 2-2: Failed to submit urb - res -108
>> [ 8481.231323] usb 2-2: tiocmget_submit_urb usb_submit_urb failed -108
>> [ 8481.237945] [1355:hso_serial_close]: Closing serial port
>> 
>> So something is garbling the USB protocol stack and/or the interface.
>> 
>> Nikolaus
> 
> More test results.
> 
> 1. ATA either says
> 	"OK" (if call accepted)
> 	"ERROR" (if already established)
> 	"NO CARRIER" (if no call is pending)
> 	all on the Application port (only)
> 
> sounds to be ok.
> 
> 2. I tried to find a pattern in "usb 2-2: hso received invalid serial state notification"
> 	comes once for each "RING" message
> 	also comes if ringing is terminated by the caller (!)
> 	may come once for successful ATA
> 	does not come for a terminated call
> 	does not appear during normal commands
> 	does not appear on _OSIGQ: unsolicited message
> 	does not appear during a ATD initiated call
> 
> It appears to have something to do with the W_INDEX/wIndex
> of the struct hso_serial_state_notification
> which is dumped to be 0x06 but the code expects 0x02
> in tiocmget_intr_callback(). The UART_state_bitmap
> appears to reflect the RINGing state correctly (the 0x03
> and 0x0b in the bold face lines I had posted before).
> 
> Well, it looks as if the modem tries to forward the RING
> not only as a text message but also as a RI to the
> virtual RS232 and this fails due to a bug/mismatch of the
> Linux driver and the modem's firmware.
> 
> If you can't follow what I am talking about:
> 
> 	http://lxr.free-electrons.com/source/drivers/net/usb/hso.c?v=2.6.32
> 
> line 210 and 1525.
> 
> But that has nothing to do with the usb failing/re-enumeration.
> 
> Nikolaus
> 
> 
> _______________________________________________
> Gta04-owner mailing list
> Gta04-owner at goldelico.com
> http://lists.goldelico.com/mailman/listinfo/gta04-owner

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.goldelico.com/pipermail/gta04-owner/attachments/20121115/f6348f83/attachment.html>


More information about the Gta04-owner mailing list