Date: Mon, 19 Nov 2007 20:26:19 +0200 (EET) From: hsu@bbnetworks.net To: FreeBSD-gnats-submit@FreeBSD.org Subject: kern/118141: usb serial and nokia phones ucomreadcb ucomreadcb: IOERROR Message-ID: <200711191826.lAJIQJe0004963@ranta.suonsivu.net> Resent-Message-ID: <200711200010.lAK0A169078684@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 118141
>Category: kern
>Synopsis: usb serial and nokia phones ucomreadcb ucomreadcb: IOERROR
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Tue Nov 20 00:10:01 UTC 2007
>Closed-Date:
>Last-Modified:
>Originator: Heikki Suonsivu <hsu@bbnetworks.net>
>Release: FreeBSD 7.0-BETA3 i386
>Organization:
bbnetworks.net
>Environment:
System: FreeBSD ranta.suonsivu.net 7.0-BETA3 FreeBSD 7.0-BETA3 #2: Mon Nov 19 12:35:21 EET 2007 hsu@joutseno.wlansystems.com:/usr/obj/usr/src/sys/EBOX2300 i386
Various Nokia phones connected to USB port, RELENG_7.
>Description:
Nokia modem connection generates this:
Nov 19 20:10:38 ranta kernel: ucom1: ucomreadcb: IOERROR
and the serial port gets hung here. Restarting pppd works, but the
problem repeats itself.
When pppd restarts, chat gets a bufferfull of ppp data, so apparently
the data was received, it just was never passed to pppd reading the tty.
ucom seems to have a missing bit here, like it was not finished:
if (status != USBD_NORMAL_COMPLETION) {
if (!(sc->sc_state & UCS_RXSTOP))
printf("%s: ucomreadcb: %s\n",
device_get_nameunit(sc->sc_dev), usbd_errstr(status));
sc->sc_state |= UCS_RXSTOP;
if (status == USBD_STALLED)
usbd_clear_endpoint_stall_async(sc->sc_bulkin_pipe);
/* XXX we should restart after some delay. */
return;
}
Could this abnormal completion somehow be ignored?
I have also seen writecb errors, but they do not seem to break the
connection.
>How-To-Repeat:
Nokia 6680 seems a good candidate, but I have seen the problem on 9300
as well. 9300 is worse as it will not restart after one successful
connection without taking it off the usb for a moment.
>Fix:
Could the code do resubmit instead of error?
>Release-Note:
>Audit-Trail:
>Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200711191826.lAJIQJe0004963>
