#20677: libusb is terminally broken in trunk
-------------------------+----------------------------------
Reporter: ncrmnt | Owner: developers
Type: defect | Status: new
Priority: high | Milestone: Chaos Calmer (trunk)
Component: base system | Version: Trunk
Keywords: |
-------------------------+----------------------------------
Platform/board: sunxi/Lamobo-R1
Problem: usb_control_msg/libusb_control_transfer just hang until CTRL+C is
pressed. It looks like the actual data gets to the device (e.g. led turns
on), but libusb never notices this and timeout doesn't ever occur. strace
shows that libusb's just keeps polling a descriptor forever.
I use pl2303gpio tools to toggle pl2303 gpio lines from userspace. This is
done by sending control transfer to the device with vendor-specific data.
The code for the tool can be found here:
https://github.com/nekromant/pl2303gpio
OpenWRT feed containing this package can be found here:
https://github.com/nekromant/openwrt-feed
At first I thought it was the libusb-compat API that was broken, so I
rewrote the tools to use the newer libusb-1.0 API, but the problem
persisted. It also looks like only full-speed devices are affected - I
tried another tool with a low-speed (avr vusb-based) device and it seems
to be working without a problem.
I have this very set of tools working without any problem on ar9344-based
router, but with an older (pre-musl) OpenWRT build. So it's either musl-
related or sunxi-usb related. I will post further details as soon as I
find something more of interest.
--
Ticket URL: <https://dev.openwrt.org/ticket/20677>
OpenWrt <http://openwrt.org>
Opensource Wireless Router Technology
_______________________________________________
openwrt-tickets mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-tickets