Re: usb ACM device doesn't work

From: Ian FREISLICH <ianf_at_clue.co.za>
Date: Sun, 23 Jun 2013 10:33:22 +0200
Hans Petter Selasky wrote:
> On 06/22/13 20:54, Ian FREISLICH wrote:
> > "Daniel O'Connor" wrote:
> >>
> >> On 22/06/2013, at 4:10, Ian FREISLICH <ianf_at_clue.co.za> wrote:
> >>> I bought a relay control board that has a USB interface.  It presents
> >>> a serial port to Linux on /dev/ttyACMx.  However when I plug it
> >>> into my FreeBSD host, it detects as follows:
> >>>
> >>> ugen0.2: <KMT> at usbus0
> >>> umodem0: <KMT USB CDC COM, class 2/0, rev 1.10/1.00, addr 1> on usbus0
> >>> umodem0: data interface 1, has no CM over data, has no break
> >>>
> >>> and I cannot communicate with it.  Any ideas how to communicate with it?
> >>
> >> Have you tried anything?
> >> It should create /dev/cuaUx and /dev/ttyUx (where x is 0 in your case)
> >
> > I'w sorry, I should have been more specific.
> >
> > I have a device that controls a bunch of relays with commands issued
> > to it over a serial port.  This serial port is CDC-ACM on a USB
> > interface.  The device uses a PIC microcontroller and PICKIT2 from
> > Microchip Technology Inc (vendorID 0x04d8).  Linux correctly detects
> > the device with "CM over data" and I'm able to communicate with it
> > on /dev/ttyACM0 and the TX/RX LEDs on the device blink when
> > transferring data.
> >
> > FreeBSD on the other hand detects it as having no "CM over data"
> > and while I can open /dev/cuaU0 and write data to it, the RX/TX
> > lights on the device don't blink and reads time out.  As previously
> > stated "I cannot communicate with it".  I tried adding the quirk
> > UQ_ASSUME_CM_OVER_DATA, but then the terminal program locks up and
> > won't exit until I pull the USB cable.  The same happens when I
> > force the CM over Data capability in the umodem driverwhen attaching
> > the device, so there's some issue with our CDC/ACM support or Linux
> > is working harder to make non-compliant usb hardware work.
> >
> > Also, our usbdevs is incorrect in listing vedor 0x04d8 as I-Tuner
> > Networks.  It is in fact licensed to Microchip Tochnology Inc. which
> > then sub-licenses productIDs royalty free to third parties providing
> > certain conditions are met. See:
> >
> > http://ww1.microchip.com/downloads/en/DeviceDoc/APPLICATION%20FOR%20SUBLICE
NSE%20TO%20USB%20VID%20revised%2012110.pdf
> >
> > I don't have the knowledge to fix the FreeBSD USD driver and for
> > the $45 it cost me it's not worth the effort to reinstall the host
> > I'm using with linux.  If there's no fix forthcoming I'll just get
> > the EIA-485 version of the device with no hard feelings.
> >
> > Ian
> >
> 
> Hi Ian,
> 
> Have you tried using usbdump to capture the USB traffic? It might be 
> something like clear-stall which fails, and make the device broken:
> 
> usbdump -i usbusX -f Y -vvv -s 65536

I can't see anything obvious.

As I plug the device in:

10:23:59.519700 usbus0.2 SUBM-CTRL-EP=00000080,SPD=FULL,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
 flags 0x10 <PROXY_BUFFER|0>
 status 0xca1a3 <OPEN|TRANSFERRING|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:23:59.521660 usbus0.2 DONE-CTRL-EP=00000080,SPD=FULL,NFR=2,SLEN=8,IVAL=0,ERR=0
 frame[0] WRITE 8 bytes
 frame[1] READ 8 bytes
 0000  12 01 10 01 02 00 00 08  -- -- -- -- -- -- -- --  |........        |
 flags 0x10 <PROXY_BUFFER|0>
 status 0xca1a1 <OPEN|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:23:59.521694 usbus0.2 SUBM-CTRL-EP=00000080,SPD=FULL,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
 flags 0x10 <PROXY_BUFFER|0>
 status 0xea1a3 <OPEN|TRANSFERRING|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CURR_DMA_SET|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:23:59.522736 usbus0.2 DONE-CTRL-EP=00000080,SPD=FULL,NFR=2,SLEN=20,IVAL=0,ERR=0
 frame[0] WRITE 8 bytes
 frame[1] READ 18 bytes
 0000  12 01 10 01 02 00 00 08  D8 04 F9 FE 00 01 01 02  |................|
 0010  00 01 -- -- -- -- -- --  -- -- -- -- -- -- -- --  |..              |
 flags 0x10 <PROXY_BUFFER|0>
 status 0xea1a1 <OPEN|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CURR_DMA_SET|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:23:59.522769 usbus0.2 SUBM-CTRL-EP=00000080,SPD=FULL,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
 flags 0x10 <PROXY_BUFFER|0>
 status 0xca1a3 <OPEN|TRANSFERRING|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:23:59.523344 usbus0.2 DONE-CTRL-EP=00000080,SPD=FULL,NFR=2,SLEN=4,IVAL=0,ERR=0
 frame[0] WRITE 8 bytes
 frame[1] READ 2 bytes
 0000  04 03 -- -- -- -- -- --  -- -- -- -- -- -- -- --  |..              |
 flags 0x10 <PROXY_BUFFER|0>
 status 0xca1a1 <OPEN|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:23:59.523371 usbus0.2 SUBM-CTRL-EP=00000080,SPD=FULL,NFR=2,SLEN=8,IVAL=0
 frame[0] WRITE 8 bytes
 0000  80 06 00 03 00 00 04 00  -- -- -- -- -- -- -- --  |........        |
 frame[1] READ 4 bytes
 flags 0x10 <PROXY_BUFFER|0>
 status 0xea1a3 <OPEN|TRANSFERRING|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CURR_DMA_SET|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:23:59.524106 usbus0.2 DONE-CTRL-EP=00000080,SPD=FULL,NFR=2,SLEN=4,IVAL=0,ERR=0
 frame[0] WRITE 8 bytes
 frame[1] READ 4 bytes
 0000  04 03 09 04 -- -- -- --  -- -- -- -- -- -- -- --  |....            |
 flags 0x10 <PROXY_BUFFER|0>
 status 0xea1a1 <OPEN|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CURR_DMA_SET|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:23:59.524128 usbus0.2 SUBM-CTRL-EP=00000080,SPD=FULL,NFR=2,SLEN=8,IVAL=0
 frame[0] WRITE 8 bytes
 0000  80 06 01 03 09 04 02 00  -- -- -- -- -- -- -- --  |........        |
 frame[1] READ 2 bytes
 flags 0x10 <PROXY_BUFFER|0>
 status 0xca1a3 <OPEN|TRANSFERRING|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:23:59.524620 usbus0.2 DONE-CTRL-EP=00000080,SPD=FULL,NFR=2,SLEN=4,IVAL=0,ERR=0
 frame[0] WRITE 8 bytes
 frame[1] READ 2 bytes
 0000  08 03 -- -- -- -- -- --  -- -- -- -- -- -- -- --  |..              |
 flags 0x10 <PROXY_BUFFER|0>
 status 0xca1a1 <OPEN|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:23:59.524640 usbus0.2 SUBM-CTRL-EP=00000080,SPD=FULL,NFR=2,SLEN=8,IVAL=0
 frame[0] WRITE 8 bytes
 0000  80 06 01 03 09 04 08 00  -- -- -- -- -- -- -- --  |........        |
 frame[1] READ 8 bytes
 flags 0x10 <PROXY_BUFFER|0>
 status 0xea1a3 <OPEN|TRANSFERRING|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CURR_DMA_SET|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:23:59.525396 usbus0.2 DONE-CTRL-EP=00000080,SPD=FULL,NFR=2,SLEN=8,IVAL=0,ERR=0
 frame[0] WRITE 8 bytes
 frame[1] READ 8 bytes
 0000  08 03 4B 00 4D 00 54 00  -- -- -- -- -- -- -- --  |..K.M.T.        |
 flags 0x10 <PROXY_BUFFER|0>
 status 0xea1a1 <OPEN|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CURR_DMA_SET|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:23:59.525415 usbus0.2 SUBM-CTRL-EP=00000080,SPD=FULL,NFR=2,SLEN=8,IVAL=0
 frame[0] WRITE 8 bytes
 0000  80 06 02 03 09 04 02 00  -- -- -- -- -- -- -- --  |........        |
 frame[1] READ 2 bytes
 flags 0x10 <PROXY_BUFFER|0>
 status 0xca1a3 <OPEN|TRANSFERRING|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:23:59.525914 usbus0.2 DONE-CTRL-EP=00000080,SPD=FULL,NFR=2,SLEN=4,IVAL=0,ERR=0
 frame[0] WRITE 8 bytes
 frame[1] READ 2 bytes
 0000  18 03 -- -- -- -- -- --  -- -- -- -- -- -- -- --  |..              |
 flags 0x10 <PROXY_BUFFER|0>
 status 0xca1a1 <OPEN|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:23:59.525927 usbus0.2 SUBM-CTRL-EP=00000080,SPD=FULL,NFR=2,SLEN=8,IVAL=0
 frame[0] WRITE 8 bytes
 0000  80 06 02 03 09 04 18 00  -- -- -- -- -- -- -- --  |........        |
 frame[1] READ 24 bytes
 flags 0x10 <PROXY_BUFFER|0>
 status 0xea1a3 <OPEN|TRANSFERRING|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CURR_DMA_SET|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:23:59.526951 usbus0.2 DONE-CTRL-EP=00000080,SPD=FULL,NFR=2,SLEN=24,IVAL=0,ERR=0
 frame[0] WRITE 8 bytes
 frame[1] READ 24 bytes
 0000  18 03 55 00 53 00 42 00  20 00 43 00 44 00 43 00  |..U.S.B. .C.D.C.|
 0010  20 00 43 00 4F 00 4D 00  -- -- -- -- -- -- -- --  | .C.O.M.        |
 flags 0x10 <PROXY_BUFFER|0>
 status 0xea1a1 <OPEN|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CURR_DMA_SET|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:23:59.526975 usbus0.2 SUBM-CTRL-EP=00000080,SPD=FULL,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
 flags 0x10 <PROXY_BUFFER|0>
 status 0xca1a3 <OPEN|TRANSFERRING|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:23:59.527718 usbus0.2 DONE-CTRL-EP=00000080,SPD=FULL,NFR=2,SLEN=12,IVAL=0,ERR=0
 frame[0] WRITE 8 bytes
 frame[1] READ 9 bytes
 0000  09 02 43 00 02 01 00 C0  00 -- -- -- -- -- -- --  |..C......       |
 flags 0x10 <PROXY_BUFFER|0>
 status 0xca1a1 <OPEN|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:23:59.527735 usbus0.2 SUBM-CTRL-EP=00000080,SPD=FULL,NFR=2,SLEN=8,IVAL=0
 frame[0] WRITE 8 bytes
 0000  80 06 00 02 00 00 43 00  -- -- -- -- -- -- -- --  |......C.        |
 frame[1] READ 67 bytes
 flags 0x10 <PROXY_BUFFER|0>
 status 0xea1a3 <OPEN|TRANSFERRING|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CURR_DMA_SET|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:23:59.530048 usbus0.2 DONE-CTRL-EP=00000080,SPD=FULL,NFR=2,SLEN=68,IVAL=0,ERR=0
 frame[0] WRITE 8 bytes
 frame[1] READ 67 bytes
 0000  09 02 43 00 02 01 00 C0  00 09 04 00 00 01 02 02  |..C.............|
 0010  01 00 05 24 00 10 01 04  24 02 02 05 24 06 00 01  |...$....$...$...|
 0020  05 24 01 00 01 07 05 81  03 08 00 FA 09 04 01 00  |.$..............|
 0030  02 0A 00 00 00 07 05 02  02 40 00 01 07 05 82 02  |........._at_......|
 0040  40 00 01 -- -- -- -- --  -- -- -- -- -- -- -- --  |_at_..             |
 flags 0x10 <PROXY_BUFFER|0>
 status 0xea1a1 <OPEN|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CURR_DMA_SET|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:23:59.530084 usbus0.2 SUBM-CTRL-EP=00000080,SPD=FULL,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
 flags 0x10 <PROXY_BUFFER|0>
 status 0xca1a3 <OPEN|TRANSFERRING|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:23:59.530568 usbus0.2 DONE-CTRL-EP=00000080,SPD=FULL,NFR=2,SLEN=4,IVAL=0,ERR=0
 frame[0] WRITE 8 bytes
 frame[1] READ 2 bytes
 0000  01 00 -- -- -- -- -- --  -- -- -- -- -- -- -- --  |..              |
 flags 0x10 <PROXY_BUFFER|0>
 status 0xca1a1 <OPEN|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:23:59.530830 usbus0.2 SUBM-CTRL-EP=00000000,SPD=FULL,NFR=1,SLEN=8,IVAL=0
 frame[0] WRITE 8 bytes
 0000  00 09 01 00 00 00 00 00  -- -- -- -- -- -- -- --  |........        |
 flags 0x10 <PROXY_BUFFER|0>
 status 0xea1a3 <OPEN|TRANSFERRING|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CURR_DMA_SET|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:23:59.531395 usbus0.2 DONE-CTRL-EP=00000000,SPD=FULL,NFR=1,SLEN=0,IVAL=0,ERR=0
 frame[0] WRITE 8 bytes
 flags 0x10 <PROXY_BUFFER|0>
 status 0xea1a1 <OPEN|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CURR_DMA_SET|CAN_CANCEL_IMMED|DOING_CALLBACK|0>


=================
On onening /dev/cuaU0:

10:27:11.183141 usbus0.2 SUBM-INTR-EP=00000081,SPD=FULL,NFR=1,SLEN=0,IVAL=250
 frame[0] READ 8 bytes
 flags 0x8a <SHORT_XFER_OK|PIPE_BOF|NO_PIPE_OK|0>
 status 0xcb023 <OPEN|TRANSFERRING|STARTED|SHORT_XFER_OK|BDMA_ENABLE|BDMA_SETUP|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:27:11.183145 usbus0.2 SUBM-BULK-EP=00000082,SPD=FULL,NFR=1,SLEN=0,IVAL=0
 frame[0] READ 1024 bytes
 flags 0xa <SHORT_XFER_OK|PIPE_BOF|0>
 status 0xeb023 <OPEN|TRANSFERRING|STARTED|SHORT_XFER_OK|BDMA_ENABLE|BDMA_SETUP|CURR_DMA_SET|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:27:11.183152 usbus0.2 SUBM-CTRL-EP=00000000,SPD=FULL,NFR=1,SLEN=8,IVAL=0
 frame[0] WRITE 8 bytes
 0000  21 22 03 00 00 00 00 00  -- -- -- -- -- -- -- --  |!"......        |
 flags 0x10 <PROXY_BUFFER|0>
 status 0xca1a3 <OPEN|TRANSFERRING|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:27:11.183481 usbus0.2 DONE-CTRL-EP=00000000,SPD=FULL,NFR=1,SLEN=0,IVAL=0,ERR=0
 frame[0] WRITE 8 bytes
 flags 0x10 <PROXY_BUFFER|0>
 status 0xca1a1 <OPEN|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:27:11.183494 usbus0.2 SUBM-CTRL-EP=00000000,SPD=FULL,NFR=1,SLEN=8,IVAL=0
 frame[0] WRITE 8 bytes
 0000  21 22 03 00 00 00 00 00  -- -- -- -- -- -- -- --  |!"......        |
 flags 0x10 <PROXY_BUFFER|0>
 status 0xea1a3 <OPEN|TRANSFERRING|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CURR_DMA_SET|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:27:11.183989 usbus0.2 DONE-CTRL-EP=00000000,SPD=FULL,NFR=1,SLEN=0,IVAL=0,ERR=0
 frame[0] WRITE 8 bytes
 flags 0x10 <PROXY_BUFFER|0>
 status 0xea1a1 <OPEN|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CURR_DMA_SET|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:27:11.183996 usbus0.2 SUBM-CTRL-EP=00000000,SPD=FULL,NFR=2,SLEN=16,IVAL=0
 frame[0] WRITE 8 bytes
 0000  21 20 00 00 00 00 07 00  -- -- -- -- -- -- -- --  |! ......        |
 frame[1] WRITE 7 bytes
 0000  80 25 00 00 00 00 08 --  -- -- -- -- -- -- -- --  |.%.....         |
 flags 0x10 <PROXY_BUFFER|0>
 status 0xca1a3 <OPEN|TRANSFERRING|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:27:11.184507 usbus0.2 DONE-CTRL-EP=00000000,SPD=FULL,NFR=2,SLEN=0,IVAL=0,ERR=0
 frame[0] WRITE 8 bytes
 frame[1] WRITE 7 bytes
 flags 0x10 <PROXY_BUFFER|0>
 status 0xca1a1 <OPEN|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CAN_CANCEL_IMMED|DOING_CALLBACK|0>


=================
On writing data to /dev/cuaU0:

10:29:03.220028 usbus0.2 SUBM-CTRL-EP=00000000,SPD=FULL,NFR=2,SLEN=16,IVAL=0
 frame[0] WRITE 8 bytes
 0000  21 20 00 00 00 00 07 00  -- -- -- -- -- -- -- --  |! ......        |
 frame[1] WRITE 7 bytes
 0000  80 25 00 00 00 00 08 --  -- -- -- -- -- -- -- --  |.%.....         |
 flags 0x10 <PROXY_BUFFER|0>
 status 0xea1a3 <OPEN|TRANSFERRING|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CURR_DMA_SET|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:29:03.220622 usbus0.2 DONE-CTRL-EP=00000000,SPD=FULL,NFR=2,SLEN=0,IVAL=0,ERR=0
 frame[0] WRITE 8 bytes
 frame[1] WRITE 7 bytes
 flags 0x10 <PROXY_BUFFER|0>
 status 0xea1a1 <OPEN|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CURR_DMA_SET|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:29:19.903977 usbus0.2 SUBM-CTRL-EP=00000000,SPD=FULL,NFR=1,SLEN=8,IVAL=50
 frame[0] WRITE 8 bytes
 0000  02 01 00 00 02 00 00 00  -- -- -- -- -- -- -- --  |........        |
 flags 0 <0>
 status 0x6a1a3 <OPEN|TRANSFERRING|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CURR_DMA_SET|CAN_CANCEL_IMMED|0>
10:29:19.904422 usbus0.2 DONE-CTRL-EP=00000000,SPD=FULL,NFR=1,SLEN=0,IVAL=50,ERR=0
 frame[0] WRITE 8 bytes
 flags 0 <0>
 status 0xea1a1 <OPEN|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CURR_DMA_SET|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:29:19.904434 usbus0.2 SUBM-BULK-EP=00000002,SPD=FULL,NFR=1,SLEN=4,IVAL=0
 frame[0] WRITE 1 bytes
 0000  6F -- -- -- -- -- -- --  -- -- -- -- -- -- -- --  |o               |
 flags 0x9 <FORCE_SHORT_XFER|PIPE_BOF|0>
 status 0x4a023 <OPEN|TRANSFERRING|STARTED|BDMA_ENABLE|BDMA_SETUP|CAN_CANCEL_IMMED|0>


-- 
Ian Freislich
Received on Sun Jun 23 2013 - 06:33:37 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:38 UTC