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