Skip to contentSkip to conversation

USB - HID - Seems to be a stall on some of the messages.

DISCUSSION Steve Poulsen 1 participant 1 message Sep 26, 2007

lore
Share & tools
lore
#0 lore raw

I am creating a USB audio gadget device with HID support. The device is recognized as an audio device without issue, but the HID portion seems to get a stall when the report descriptor is requested (see the log below). I rebuilt omap_udc with DEBUG and VERBOSE and am certain that this request is not making it to the irq. Any ideas what may be wrong? I apologize is this is a USB issue and not a Linux issue, but I want to rule that out.

The log below has two packets expanded. The first one is received in the omap_udc irq. The next one (and the two retries) is not.

<7>udc: SETUP 00.09 v0001 i0000 l0000
<7>udc: SETUP 01.0b v0000 i0001 l0000
<7>udc: SETUP 01.0b v0000 i0002 l0000
<7>udc: SETUP 80.06 v0305 i0409 l00ff
<7>udc: SETUP 80.06 v0308 i0409 l00ff
<7>udc: SETUP 80.06 v0300 i0000 l00ff
<7>udc: SETUP 80.06 v0305 i0409 l00ff
<7>udc: SETUP 01.0b v0000 i0001 l0000
<7>udc: SETUP 01.0b v0000 i0002 l0000
<7>udc: SETUP 21.0a v0000 i0003 l0000

1    in down    n/a    0.001    GET_DESCRIPTOR_FROM_DEVICE        1    in up    n/a    0.007    CONTROL_TRANSFER    12 01 01 01 00 00 00 40    0x00000000
2    in down    n/a    0.007    GET_DESCRIPTOR_FROM_DEVICE        2    in up    n/a    0.012    CONTROL_TRANSFER    09 02 c7 00 04 01 04 e0    0x00000000
3    in down    n/a    0.012    GET_DESCRIPTOR_FROM_DEVICE        3    in up    n/a    0.020    CONTROL_TRANSFER    09 02 c7 00 04 01 04 e0    0x00000000
4    ??? down    n/a    0.020    SELECT_CONFIGURATION        4    ??? up    n/a    0.062    SELECT_CONFIGURATION        0x00000000
6    in down    n/a    0.062    GET_DESCRIPTOR_FROM_DEVICE        6    in up    n/a    0.069    CONTROL_TRANSFER    24 03 31 00 30 00 30 00    0x00000000
7    in down    n/a    0.070    GET_DESCRIPTOR_FROM_DEVICE        7    in up    n/a    0.077    CONTROL_TRANSFER    1c 03 31 00 30 00 30 00    0x00000000
8    in down    n/a    0.079    GET_DESCRIPTOR_FROM_DEVICE        8    in up    n/a    0.085    CONTROL_TRANSFER    04 03 09 04    0x00000000
9    in down    n/a    0.085    GET_DESCRIPTOR_FROM_DEVICE        9    in up    n/a    0.092    CONTROL_TRANSFER    24 03 31 00 30 00 30 00    0x00000000
10    inout down    n/a    0.092    SELECT_INTERFACE        10    inout up    n/a    0.100    SELECT_INTERFACE        0x00000000
11    inout down    n/a    0.100    SELECT_INTERFACE        11    inout up    n/a    0.108    SELECT_INTERFACE        0x00000000

12 out down n/a 0.109 CLASS_INTERFACE - 12 out up n/a 0.115 CONTROL_TRANSFER - 0x00000000
URB Header (length: 80)
SequenceNumber: 12
Function: 0008 (CONTROL_TRANSFER)
PipeHandle: 8895ca20

SetupPacket:
0000: 21 0a 00 00 03 00 00 00
bmRequestType: 21
DIR: Host-To-Device
TYPE: Class
RECIPIENT: Interface
bRequest: 0a

No TransferBuffer

13 in down n/a 0.115 GET_DESCRIPTOR_FROM_INTERFACE 13 in up n/a 0.116 CONTROL_TRANSFER 0xc0000004
URB Header (length: 80)
SequenceNumber: 13
Function: 0008 (CONTROL_TRANSFER)
PipeHandle: 8895ca20

SetupPacket:
0000: 81 06 00 22 03 00 60 00
bmRequestType: 81
DIR: Device-To-Host
TYPE: Standard
RECIPIENT: Interface
bRequest: 06
GET_DESCRIPTOR
Descriptor Type: 0x0022
unknown

TransferBuffer: 0x00000000 (0) length

14    in down    n/a    0.116    GET_DESCRIPTOR_FROM_INTERFACE        14    in up    n/a    0.117    CONTROL_TRANSFER        0xc0000004
15    in down    n/a    0.117    GET_DESCRIPTOR_FROM_INTERFACE        15    in up    n/a    0.118    CONTROL_TRANSFER        0xc0000004
4398    out down    n/a    0.226    CLASS_INTERFACE    -    4398    in up    n/a    0.227    CONTROL_TRANSFER    01    0x00000000
4399    out down    n/a    0.227    CLASS_INTERFACE    -    4399    in up    n/a    0.229    CONTROL_TRANSFER    01    0x00000000
4400    out down    n/a    0.229    CLASS_INTERFACE    -    4400    in up    n/a    0.230    CONTROL_TRANSFER        0xc0000004