Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 Dec 2017 09:30:52 -0800
From:      bob prohaska <fbsd@www.zefox.net>
To:        Hans Petter Selasky <hps@selasky.org>
Cc:        freebsd-arm@freebsd.org, bob prohaska <fbsd@www.zefox.net>
Subject:   Re: Disapearing pl2303 usb serial adapter on rpi2
Message-ID:  <20171222173052.GA23984@www.zefox.net>
In-Reply-To: <20171222041657.GA21799@www.zefox.net>
References:  <20171220170244.GA16029@www.zefox.net> <a312e6db-20ac-e12e-207e-1f0017cf8cad@gmail.com> <20171221161120.GA20324@www.zefox.net> <dfc17d98-a839-0ab9-2d1b-c47fe26be21e@selasky.org> <20171222041657.GA21799@www.zefox.net>

next in thread | previous in thread | raw e-mail | index | archive | help
> 
> On Thu, Dec 21, 2017 at 05:29:05PM +0100, Hans Petter Selasky wrote:
> > Further, you might want to only enable USB HUB debug messages to figure 
> > out why the USB stack thinks the device is going away:
> > 
> > sysctl hw.usb.uhub.debug=17
> > 
> 

Tried it here, using usbconfig to power cycle the adapter. Console output
follows. The pl2303 is at unit 0 address 5. Console output follows:
[initial state is pl2303 stuck, no /dev/cuaU0 present, command is
usbconfig -u 0 -a 5 power_off]
 
uhub_read_port_status: port 3, wPortStatus=0x0100, wPortChange=0x0000, err=USB_ERR_NORMAL_COMPLETION
uhub_read_port_status: port 5, wPortStatus=0x0101, wPortChange=0x0000, err=USB_ERR_NORMAL_COMPLETION
usb_needs_explore: 
usb_bus_powerd: bus=0xd7e65000
uhub_explore: udev=0xd7daf000 addr=1
uhub_read_port_status: port 1, wPortStatus=0x0503, wPortChange=0x0000, err=USB_ERR_NORMAL_COMPLETION
uhub_explore: udev=0xd7db0000 addr=2
uhub_read_port_status: port 1, wPortStatus=0x0503, wPortChange=0x0000, err=USB_ERR_NORMAL_COMPLETION
uhub_read_port_status: port 2, wPortStatus=0x0503, wPortChange=0x0000, err=USB_ERR_NORMAL_COMPLETION
uhub_read_port_status: port 3, wPortStatus=0x0100, wPortChange=0x0000, err=USB_ERR_NORMAL_COMPLETION
uhub_read_port_status: port 4, wPortStatus=0x0103, wPortChange=0x0000, err=USB_ERR_NORMAL_COMPLETION
uhub_explore: udev=0xd8cdb000 addr=6
uhub_read_port_status: port 1, wPortStatus=0x0103, wPortChange=0x0000, err=USB_ERR_NORMAL_COMPLETION
uhub_read_port_status: port 2, wPortStatus=0x0303, wPortChange=0x0000, err=USB_ERR_NORMAL_COMPLETION
uhub_read_port_status: port 3, wPortStatus=0x0100, wPortChange=0x0000, err=USB_ERR_NORMAL_COMPLETION
uhub_read_port_status: port 5, wPortStatus=0x0101, wPortChange=0x0000, err=USB_ERR_NORMAL_COMPLETION
uhub_explore_handle_re_enumerate: Unconfigure failed: USB_ERR_STALLED: Ignored.
uhub_reset_tt_callback: TT buffer reset
uhub_reset_tt_callback: TT buffer reset
usbd_req_re_enumerate: addr=5, set address failed! (USB_ERR_IOERROR, ignored)
uhub_reset_tt_callback: TT buffer reset
uhub_reset_tt_callback: TT buffer reset
usbd_setup_device_desc: getting device descriptor at addr 5 failed, USB_ERR_IOERROR
uhub_reset_tt_callback: TT buffer reset
uhub_reset_tt_callback: TT buffer reset
usbd_req_re_enumerate: addr=5, set address failed! (USB_ERR_IOERROR, ignored)
uhub_reset_tt_callback: TT buffer reset
uhub_reset_tt_callback: TT buffer reset
usbd_setup_device_desc: getting device descriptor at addr 5 failed, USB_ERR_IOERROR
usb_needs_explore: 
usb_bus_powerd: bus=0xd7e65000
uhub_explore: udev=0xd7daf000 addr=1
uhub_read_port_status: port 1, wPortStatus=0x0503, wPortChange=0x0000, err=USB_ERR_NORMAL_COMPLETION
uhub_explore: udev=0xd7db0000 addr=2
uhub_read_port_status: port 1, wPortStatus=0x0503, wPortChange=0x0000, err=USB_ERR_NORMAL_COMPLETION
uhub_read_port_status: port 2, wPortStatus=0x0503, wPortChange=0x0000, err=USB_ERR_NORMAL_COMPLETION
uhub_read_port_status: port 3, wPortStatus=0x0100, wPortChange=0x0000, err=USB_ERR_NORMAL_COMPLETION
uhub_read_port_status: port 4, wPortStatus=0x0103, wPortChange=0x0000, err=USB_ERR_NORMAL_COMPLETION
uhub_explore: udev=0xd8cdb000 addr=6
uhub_read_port_status: port 1, wPortStatus=0x0103, wPortChange=0x0000, err=USB_ERR_NORMAL_COMPLETION
uhub_read_port_status: port 2, wPortStatus=0x0303, wPortChange=0x0000, err=USB_ERR_NORMAL_COMPLETION
uhub_read_port_status: port 3, wPortStatu

Couldn't establish the timing exactly, but the resets correspond to about the
time of the power cycling. After power cycling there was no /dev/cuaU0 created.
Curiously, the power cycling _didn't_ trigger the error messages I saw earlier
on the controlling terminal; it appeared that the power cycling was successful,
even though /dev/cuaU0 wasn't created.

Again, unplugging and replugging the USB connector had no effect. Disconnecting
the TX, RX and ground and _then_ unplugging/replugging the USB end produced a
successful resest of the adapter. Singly disconnecting TX, RX _or_ ground did
nothing. Disconnecting both ends completely caused USB recognition and restored
normal operation.


Thanks for reading, and any ideas!

bob prohaska





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20171222173052.GA23984>