How to debug a misbehaving usb device (DYMO LabelManager PC)?

Hans Petter Selasky hselasky at c2i.net
Mon Jul 4 05:25:17 UTC 2011


On Sunday 03 July 2011 21:08:39 Torfinn Ingolfsen wrote:
> On Sun, 03 Jul 2011 19:33:52 +0200
> 
> Hans Petter Selasky <hselasky at c2i.net> wrote:
> > You could try running usbdump on the bus the device is connected to and
> > see what happens.
> 
> Done. I don't know how to interpret the output, but here it is:
> (I started usbdump, plugged in the devce, waited a few seconds, and
> terminted usbdump) 21:02:29.495611 usbus0.3
> SUBM-CTRL-EP=00000000,SPD=LOW,NFR=1,SLEN=8,IVAL=0 frame[0] WRITE 8 bytes
>  0000  00 05 03 00 00 00 00 00  -- -- -- -- -- -- -- --  |........        |
> 21:02:29.495863 usbus0.3
> DONE-CTRL-EP=00000000,SPD=LOW,NFR=1,SLEN=0,IVAL=0,ERR=0 frame[0] WRITE 8
> bytes
> 21:02:29.495874 usbus0.3 SUBM-CTRL-EP=00000000,SPD=LOW,NFR=1,SLEN=0,IVAL=0
>  frame[0] WRITE 0 bytes
> 21:02:29.496114 usbus0.3
> DONE-CTRL-EP=00000000,SPD=LOW,NFR=1,SLEN=0,IVAL=0,ERR=0 frame[0] WRITE 0
> bytes
> 21:02:29.508426 usbus0.3 SUBM-CTRL-EP=00000080,SPD=LOW,NFR=2,SLEN=8,IVAL=0
>  frame[0] WRITE 8 bytes
>  0000  80 06 00 01 00 00 08 00  -- -- -- -- -- -- -- --  |........        |
>  frame[1] READ 8 bytes
> 21:02:29.509114 usbus0.3
> DONE-CTRL-EP=00000080,SPD=LOW,NFR=2,SLEN=8,IVAL=0,ERR=0 frame[0] WRITE 8
> bytes
>  frame[1] READ 8 bytes
>  0000  12 01 10 01 00 00 00 08  -- -- -- -- -- -- -- --  |........        |
> 21:02:29.509123 usbus0.3 SUBM-CTRL-EP=00000080,SPD=LOW,NFR=2,SLEN=8,IVAL=0
>  frame[0] WRITE 8 bytes
>  0000  80 06 00 01 00 00 12 00  -- -- -- -- -- -- -- --  |........        |
>  frame[1] READ 18 bytes
> 21:02:29.510615 usbus0.3
> DONE-CTRL-EP=00000080,SPD=LOW,NFR=2,SLEN=20,IVAL=0,ERR=0 frame[0] WRITE 8
> bytes
>  frame[1] READ 18 bytes
>  0000  03 01 09 02 21 00 01 01  00 C0 01 09 04 00 00 08  |....!...........|
>  0010  03 01 -- -- -- -- -- --  -- -- -- -- -- -- -- --  |..              |
> 21:02:29.512403 usbus0.3 SUBM-CTRL-EP=00000080,SPD=LOW,NFR=2,SLEN=8,IVAL=0
>  frame[0] WRITE 8 bytes
>  0000  80 06 00 03 00 00 02 00  -- -- -- -- -- -- -- --  |........        |
>  frame[1] READ 2 bytes
> 21:02:29.512990 usbus0.3
> DONE-CTRL-EP=00000080,SPD=LOW,NFR=2,SLEN=0,IVAL=0,ERR=STALLED frame[0]
> WRITE 8 bytes
>  frame[1] READ 0 bytes
> 21:02:29.513005 usbus0.3 SUBM-CTRL-EP=00000080,SPD=LOW,NFR=2,SLEN=8,IVAL=0
>  frame[0] WRITE 8 bytes
>  0000  80 06 00 02 00 00 09 00  -- -- -- -- -- -- -- --  |........        |
>  frame[1] READ 9 bytes
> 21:02:29.513738 usbus0.3
> DONE-CTRL-EP=00000080,SPD=LOW,NFR=2,SLEN=8,IVAL=0,ERR=STALLED frame[0]
> WRITE 8 bytes
>  frame[1] READ 8 bytes
>  0000  00 08 05 02 03 08 00 04  -- -- -- -- -- -- -- --  |........        |
> 21:02:29.811468 usbus0.3 SUBM-CTRL-EP=00000000,SPD=LOW,NFR=1,SLEN=8,IVAL=0
>  frame[0] WRITE 8 bytes
>  0000  00 05 03 00 00 00 00 00  -- -- -- -- -- -- -- --  |........        |
> 21:02:29.811627 usbus0.3
> DONE-CTRL-EP=00000000,SPD=LOW,NFR=1,SLEN=0,IVAL=0,ERR=0 frame[0] WRITE 8
> bytes
> 21:02:29.811632 usbus0.3 SUBM-CTRL-EP=00000000,SPD=LOW,NFR=1,SLEN=0,IVAL=0
>  frame[0] WRITE 0 bytes
> 21:02:29.811993 usbus0.3
> DONE-CTRL-EP=00000000,SPD=LOW,NFR=1,SLEN=0,IVAL=0,ERR=0 frame[0] WRITE 0
> bytes
> 21:02:29.824448 usbus0.3 SUBM-CTRL-EP=00000080,SPD=LOW,NFR=2,SLEN=8,IVAL=0
>  frame[0] WRITE 8 bytes
>  0000  80 06 00 01 00 00 08 00  -- -- -- -- -- -- -- --  |........        |
>  frame[1] READ 8 bytes
> 21:02:29.825120 usbus0.3
> DONE-CTRL-EP=00000080,SPD=LOW,NFR=2,SLEN=8,IVAL=0,ERR=0 frame[0] WRITE 8
> bytes
>  frame[1] READ 8 bytes
>  0000  12 01 10 01 00 00 00 08  -- -- -- -- -- -- -- --  |........        |
> 21:02:29.825132 usbus0.3 SUBM-CTRL-EP=00000080,SPD=LOW,NFR=2,SLEN=8,IVAL=0
>  frame[0] WRITE 8 bytes
>  0000  80 06 00 01 00 00 12 00  -- -- -- -- -- -- -- --  |........        |
>  frame[1] READ 18 bytes
> 21:02:29.826496 usbus0.3
> DONE-CTRL-EP=00000080,SPD=LOW,NFR=2,SLEN=20,IVAL=0,ERR=0 frame[0] WRITE 8
> bytes
>  frame[1] READ 18 bytes
>  0000  03 01 10 01 00 00 00 08  22 09 11 00 00 01 01 02  |........".......|
>  0010  03 01 -- -- -- -- -- --  -- -- -- -- -- -- -- --  |..              |
> 21:02:29.826507 usbus0.3 SUBM-CTRL-EP=00000080,SPD=LOW,NFR=2,SLEN=8,IVAL=0
>  frame[0] WRITE 8 bytes
>  0000  80 06 00 02 00 00 09 00  -- -- -- -- -- -- -- --  |........        |
>  frame[1] READ 9 bytes
> 21:02:29.827368 usbus0.3
> DONE-CTRL-EP=00000080,SPD=LOW,NFR=2,SLEN=12,IVAL=0,ERR=0 frame[0] WRITE 8
> bytes
>  frame[1] READ 9 bytes
>  0000  09 02 21 00 01 01 00 C0  01 -- -- -- -- -- -- --  |..!......       |
> 21:02:29.827377 usbus0.3 SUBM-CTRL-EP=00000080,SPD=LOW,NFR=2,SLEN=8,IVAL=0
>  frame[0] WRITE 8 bytes
>  0000  80 06 00 02 00 00 21 00  -- -- -- -- -- -- -- --  |......!.        |
>  frame[1] READ 33 bytes
> 21:02:29.829120 usbus0.3
> DONE-CTRL-EP=00000080,SPD=LOW,NFR=2,SLEN=36,IVAL=0,ERR=0 frame[0] WRITE 8
> bytes
>  frame[1] READ 33 bytes
>  0000  09 02 21 00 01 01 00 C0  01 09 04 00 00 02 07 01  |..!.............|
>  0010  02 00 07 05 81 02 08 00  00 08 05 02 03 08 00 04  |................|
>  0020  FF -- -- -- -- -- -- --  -- -- -- -- -- -- -- --  |.               |
> 21:02:29.829127 usbus0.3 SUBM-CTRL-EP=00000080,SPD=LOW,NFR=2,SLEN=8,IVAL=0
>  frame[0] WRITE 8 bytes
>  0000  80 00 00 00 00 00 02 00  -- -- -- -- -- -- -- --  |........        |
>  frame[1] READ 2 bytes
> 21:02:29.829618 usbus0.3
> DONE-CTRL-EP=00000080,SPD=LOW,NFR=2,SLEN=4,IVAL=0,ERR=0 frame[0] WRITE 8
> bytes
>  frame[1] READ 2 bytes
>  0000  01 00 -- -- -- -- -- --  -- -- -- -- -- -- -- --  |..              |
> 21:02:29.829624 usbus0.3 SUBM-CTRL-EP=00000000,SPD=LOW,NFR=1,SLEN=8,IVAL=0
>  frame[0] WRITE 8 bytes
>  0000  00 09 01 00 00 00 00 00  -- -- -- -- -- -- -- --  |........        |
> 21:02:29.829994 usbus0.3
> DONE-CTRL-EP=00000000,SPD=LOW,NFR=1,SLEN=0,IVAL=0,ERR=0 frame[0] WRITE 8
> bytes
> Note: this is just messages marked with "usbus0.3" in the usbdump output.
> root at kg-v7# usbconfig -u 0 -a 3
> ugen0.3: <product 0x0901 vendor 0xc000> at usbus0, cfg=0 md=HOST spd=LOW
> (1.5Mbps) pwr=ON
> 
> Is this helpful?

Hi,

If you add -vvvv and -s 16384 it will dump all the data in binary. STALLED 
means some error occurred.

--HPS


More information about the freebsd-usb mailing list