[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