wtf, for some devices {s,g}et_configuration works:
authorBernhard Urban <lewurm@gmx.net>
Wed, 23 Sep 2009 04:04:48 +0000 (06:04 +0200)
committerBernhard Urban <lewurm@gmx.net>
Wed, 23 Sep 2009 04:16:49 +0000 (06:16 +0200)
commit68091cca4f474d6385f0cb3387c8d731b0f308f5
tree137d5d24b72f9de4ef9a25b2ba985c11d82c277f
parent5e7b3fe7025e9b039c5ab8d4cd9b4af088b70303
wtf, for some devices {s,g}et_configuration works:
o internal usb bluetooth dongle
o "Driving Force Pro" from Logitech
o USB RF Remote Receiver

do not work:
o Compaq USB Keyboard
o Gameport to USB adaptor
o Logitech USB mouse
o 2 various USB sticks
o Hercules DJ Control MP3
o Hauppauge Nova-T DVB-T stick

a Microsoft Sidewinder Wheel also don't work, but the Endpoint will
halt and output this:

>>>>>>>>
usb_set_configuration(ret: 0): 1
halted!
n: 0x800D6890
n(after) hexdump (32) @ 0x800D6890:
00000000  00 00 ec 03 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000010  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
**************** dbg_td_flag: 0x03EC0000 ***************
CC: 0 should be 0, see page 32 (ohci spec)
EC: 0 see page 20 (ohci spec)
 T: 3
DI: 7
DP: 1
 R: 1
********************************************************
prev: 0x800D6860
prev(after) hexdump (32) @ 0x800D6860:
00000000  00 00 f4 40 30 6e 01 00 20 68 0d 00 33 6e 01 00  ...@0n.. h..3n..
00000010  80 01 6e 30 00 00 00 04 00 00 00 00 00 00 00 00  ..n0............
prev->bufaddr(after) hexdump (4) @ 0x80016E30:
00000000  80 08 00 00                                      ....
**************** dbg_td_flag: 0x40F40000 ***************
CC: 4 should be 0, see page 32 (ohci spec)
EC: 0 see page 20 (ohci spec)
 T: 0
DI: 7
DP: 2
 R: 1
********************************************************
halted end!
=============
after usb_get_configuration:
00000000  80                                               .
=============
usb_get_configuration: 128
<<<<<<<<

where CC=4 means "DataOverrun". However, I don't think this information
is useful :/
main.c
usb/core/core.c