usbctl works fine for devices connected to an ehci usb controller. but if it tries to read string descriptors on uhci controllers the connected device get STALLED.
by removing the following define, usbctl reads the string in two steps. first it gets one byte to read the length of the string descriptor and then it reads the descriptor with its real length. --- /dev/null Sun Jul 22 23:17:19 2007 +++ patches/patch-usbctl_c Sun Jul 22 23:02:21 2007 @@ -0,0 +1,12 @@ +$OpenBSD$ +--- usbctl.c.orig Mon Feb 25 01:50:55 2002 ++++ usbctl.c Sun Jul 22 23:02:08 2007 +@@ -61,8 +61,6 @@ + #define UE_DIR_OUT 0x00 + #endif + +-#define NSTRINGS +- + int num = 0; + + static int usbf, usbaddr;