Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 18 May 2016 10:32:17 -0500
From:      Karl Denninger <karl@denninger.net>
To:        freebsd-usb@freebsd.org
Subject:   Re: Oddity with ugen
Message-ID:  <af57a994-2e7a-c0d0-1d84-a333c2b2096b@denninger.net>
In-Reply-To: <46bd6efe-5335-f659-0b07-5107b0e9a326@selasky.org>
References:  <b24c5a9a-cb18-c014-75ab-9b923853a70c@denninger.net> <46bd6efe-5335-f659-0b07-5107b0e9a326@selasky.org>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a cryptographically signed message in MIME format.

--------------ms040907010105080409020709
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On 5/18/2016 02:51, Hans Petter Selasky wrote:
> On 05/17/16 18:53, Karl Denninger wrote:
>> If this is a condition of some sort in the device or driver I've not
>> been able to figure out what it is, or how to force it to clear -- or =
to
>> prove whether it's in the device or the ugen driver.
>>
>> Any ideas?
>
> Hi,
>
> The most easy way to know this for sure, is to check the real data
> traffic using usbdump:
>
> usbdump -i usbusX -f Y -s 65536 -vvv
>
> My guess is there is some data toggle issue, and that the USB stack
> tries to clear some error using a clear-stall command, which possibly
> your device does not handle properly.
>
> --HPS

Well that doesn't help me... from what I can determine the device thinks
its sending it, well, at least usbdump thinks the device is sending it.

(bunch of ordinary stuff elided)

10:20:15.826093 usbus0.5 SUBM-INTR-EP=3D00000002,SPD=3DLOW,NFR=3D1,SLEN=3D=
4,IVAL=3D10
 frame[0] WRITE 2 bytes
 0000  06 43 -- -- -- -- -- --  -- -- -- -- -- -- -- --  |.C             =
 |
 flags 0x11 <FORCE_SHORT_XFER|PROXY_BUFFER|0>
 status 0xc0023
<OPEN|TRANSFERRING|STARTED|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:20:15.833049 usbus0.5
DONE-INTR-EP=3D00000002,SPD=3DLOW,NFR=3D1,SLEN=3D0,IVAL=3D10,ERR=3D0
 frame[0] WRITE 2 bytes
 flags 0x11 <FORCE_SHORT_XFER|PROXY_BUFFER|0>
 status 0xc0021 <OPEN|STARTED|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:20:17.183085 usbus0.5
DONE-INTR-EP=3D00000081,SPD=3DLOW,NFR=3D1,SLEN=3D4,IVAL=3D0,ERR=3D0
 frame[0] READ 1 bytes
 0000  55 -- -- -- -- -- -- --  -- -- -- -- -- -- -- --  |U              =
 |
 flags 0x12 <SHORT_XFER_OK|PROXY_BUFFER|0>
 status 0xc1021
<OPEN|STARTED|SHORT_XFER_OK|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:20:17.183127 usbus0.5 SUBM-INTR-EP=3D00000081,SPD=3DLOW,NFR=3D1,SLEN=3D=
0,IVAL=3D0
 frame[0] READ 8 bytes
 flags 0x12 <SHORT_XFER_OK|PROXY_BUFFER|0>
 status 0xc1023
<OPEN|TRANSFERRING|STARTED|SHORT_XFER_OK|CAN_CANCEL_IMMED|DOING_CALLBACK|=
0>

Up to here all is ok.

10:20:17.342824 usbus0.5 SUBM-INTR-EP=3D00000002,SPD=3DLOW,NFR=3D1,SLEN=3D=
4,IVAL=3D10
 frame[0] WRITE 2 bytes
 0000  04 4A -- -- -- -- -- --  -- -- -- -- -- -- -- --  |.J             =
 |
 flags 0x11 <FORCE_SHORT_XFER|PROXY_BUFFER|0>
 status 0xc0023
<OPEN|TRANSFERRING|STARTED|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:20:17.353046 usbus0.5
DONE-INTR-EP=3D00000002,SPD=3DLOW,NFR=3D1,SLEN=3D0,IVAL=3D10,ERR=3D0
 frame[0] WRITE 2 bytes
 flags 0x11 <FORCE_SHORT_XFER|PROXY_BUFFER|0>
 status 0xc0021 <OPEN|STARTED|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:20:20.183068 usbus0.5
DONE-INTR-EP=3D00000081,SPD=3DLOW,NFR=3D1,SLEN=3D4,IVAL=3D0,ERR=3D0
 frame[0] READ 4 bytes
 0000  5A 02 00 4A -- -- -- --  -- -- -- -- -- -- -- --  |Z..J           =
 |
 flags 0x12 <SHORT_XFER_OK|PROXY_BUFFER|0>
 status 0xc1021
<OPEN|STARTED|SHORT_XFER_OK|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:20:20.183113 usbus0.5 SUBM-INTR-EP=3D00000081,SPD=3DLOW,NFR=3D1,SLEN=3D=
0,IVAL=3D0
 frame[0] READ 8 bytes
 flags 0x12 <SHORT_XFER_OK|PROXY_BUFFER|0>
 status 0xc1023
<OPEN|TRANSFERRING|STARTED|SHORT_XFER_OK|CAN_CANCEL_IMMED|DOING_CALLBACK|=
0>

This is ok; we got the "echo" back (which we usually don't, but we did,
and it's all right that we did.)

10:20:20.367909 usbus0.5 SUBM-INTR-EP=3D00000002,SPD=3DLOW,NFR=3D1,SLEN=3D=
4,IVAL=3D10
 frame[0] WRITE 2 bytes
 0000  06 43 -- -- -- -- -- --  -- -- -- -- -- -- -- --  |.C             =
 |
 flags 0x11 <FORCE_SHORT_XFER|PROXY_BUFFER|0>
 status 0xc0023
<OPEN|TRANSFERRING|STARTED|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:20:20.373052 usbus0.5
DONE-INTR-EP=3D00000002,SPD=3DLOW,NFR=3D1,SLEN=3D0,IVAL=3D10,ERR=3D0
 frame[0] WRITE 2 bytes
 flags 0x11 <FORCE_SHORT_XFER|PROXY_BUFFER|0>
 status 0xc0021 <OPEN|STARTED|CAN_CANCEL_IMMED|DOING_CALLBACK|0>

Sent the next command..... and....

10:20:21.733059 usbus0.5
DONE-INTR-EP=3D00000081,SPD=3DLOW,NFR=3D1,SLEN=3D4,IVAL=3D0,ERR=3D0
 frame[0] READ 4 bytes
 0000  5A 02 00 4A -- -- -- --  -- -- -- -- -- -- -- --  |Z..J           =
 |
 flags 0x12 <SHORT_XFER_OK|PROXY_BUFFER|0>
 status 0xc1021
<OPEN|STARTED|SHORT_XFER_OK|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:20:21.733103 usbus0.5 SUBM-INTR-EP=3D00000081,SPD=3DLOW,NFR=3D1,SLEN=3D=
0,IVAL=3D0
 frame[0] READ 8 bytes
 flags 0x12 <SHORT_XFER_OK|PROXY_BUFFER|0>
 status 0xc1023
<OPEN|TRANSFERRING|STARTED|SHORT_XFER_OK|CAN_CANCEL_IMMED|DOING_CALLBACK|=
0>

I got the old one back (instead of either a "55", which is an "ack; you
may proceed with the next request" or the echo of what I sent which also
implies a clear interface once I've processed it.)

10:20:22.353058 usbus0.5
DONE-INTR-EP=3D00000081,SPD=3DLOW,NFR=3D1,SLEN=3D4,IVAL=3D0,ERR=3D0
 frame[0] READ 4 bytes
 0000  5A 02 00 4A -- -- -- --  -- -- -- -- -- -- -- --  |Z..J           =
 |
 flags 0x12 <SHORT_XFER_OK|PROXY_BUFFER|0>
 status 0xc1021
<OPEN|STARTED|SHORT_XFER_OK|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:20:22.353102 usbus0.5 SUBM-INTR-EP=3D00000081,SPD=3DLOW,NFR=3D1,SLEN=3D=
0,IVAL=3D0
 frame[0] READ 8 bytes
 flags 0x12 <SHORT_XFER_OK|PROXY_BUFFER|0>
 status 0xc1023
<OPEN|TRANSFERRING|STARTED|SHORT_XFER_OK|CAN_CANCEL_IMMED|DOING_CALLBACK|=
0>
10:20:24.063055 usbus0.5
DONE-INTR-EP=3D00000081,SPD=3DLOW,NFR=3D1,SLEN=3D4,IVAL=3D0,ERR=3D0
 frame[0] READ 4 bytes
 0000  5A 02 00 4A -- -- -- --  -- -- -- -- -- -- -- --  |Z..J           =
 |
 flags 0x12 <SHORT_XFER_OK|PROXY_BUFFER|0>
 status 0xc1021
<OPEN|STARTED|SHORT_XFER_OK|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
10:20:24.063085 usbus0.5 SUBM-INTR-EP=3D00000081,SPD=3DLOW,NFR=3D1,SLEN=3D=
0,IVAL=3D0
 frame[0] READ 8 bytes
 flags 0x12 <SHORT_XFER_OK|PROXY_BUFFER|0>
 status 0xc1023
<OPEN|TRANSFERRING|STARTED|SHORT_XFER_OK|CAN_CANCEL_IMMED|DOING_CALLBACK|=
0>

And then I get a bunch of repeats on ~2 second intervals even though I
haven't sent anything else...

If I'm reading this correctly usbdump is showing me exactly what the
device is sending; that is, there is no "driver" involved here (just bus
traffic) -- correct?

If so that looks like a device bug (and a nasty one that I may have all
sorts of fun trying to work around.)

--=20
Karl Denninger
karl@denninger.net <mailto:karl@denninger.net>
/The Market Ticker/
/[S/MIME encrypted email preferred]/

--------------ms040907010105080409020709
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

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
wY2Sj77MA1z9qy9116767mZmRMEAAAAAAAA=
--------------ms040907010105080409020709--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?af57a994-2e7a-c0d0-1d84-a333c2b2096b>