26 July 2003


Back at the course again. Why is it every Microsoft course I go on seems to want to teach me ASP.NET, a language I will almost certainly never ever ever use?


Catherine’s mother took the boys last night, which means we got some sleep for once. I feel much more human now…


To keep my sanity during the ASP.NET stuff, I hacked usblogdump some more. The setup packet decoding is looking quite nice now. It even dumps the names of the Linux kernel defines which a given field equates to (with the -l command line option).

The output now looks something like:

    URB 0, number 0, offset 7904, sequence 1, time 10, allocs 1
    MD5 hash: a3 3b cf 8f 3f 3e 6e 0c c5 0c ca 59 c2 00 b2 a4
    Function: GET_DESCRIPTOR_FROM_DEVICE (0x000b)
    Endpoint: 0 (default)
    Pipe handle: 0x00000000
    Flags: 4
    Status: 0
    Link: 0
    Length: 96
    Direction: to
    URB header:
    Length: 80
    Status: 0
    Flags: 34
    URB 1, number 1, offset 7994, sequence 1, time 10, allocs 2
    MD5 hash: ae 81 2d ac 27 91 84 d9 8e a5 0e 57 84 4f 38 6e
    Function: CONTROL_TRANSFER (0x0008)
    Endpoint: 0 (default)
    Pipe handle: 0x82af53d8
    Flags: 6
    Status: 0
    Link: 0
    Length: 120
    Direction: from
    URB header:
    Length: 80
    Status: 0
    Flags: 34
    Transfer size: 18
    Data: 0x12 0x01 0x10 0x01 0xff 0xff 0xff 0x08 0x23 0x09 0x0f 0x01 0x01 0x00 0x00
     0x00 0x00 0x01
    URB control transfer:
    Transfer flags: 11
    Transfer buffer length: 18
    Setup packet:
      bmRequestType: 0x80 (device-to-host standard device)
      bRequest: 0x06 GET_DESCRIPTOR [standard]
      Linux kernel: USB_REQ_GET_DESCRIPTOR
      wValue: 0x0100 (256)
      wIndex: 0x0000 (0)
      wLength: 0x0012 (18)

What I don’t understand, is where are the outgoing (i.e. host-to-device) arguements to the GET_DESCRIPTOR request in all of this?