Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 5 Jan 2020 16:32:35 +0200
From:      Daniel Braniss <danny@cs.huji.ac.il>
To:        Hans Petter Selasky <hps@selasky.org>
Cc:        freeBSD-STABLE Mailing List <freebsd-stable@freebsd.org>
Subject:   Re: usb QR reader
Message-ID:  <114886FC-0A9E-4E82-BA90-D26934D8512E@cs.huji.ac.il>
In-Reply-To: <56cba05f-d475-55bc-88fe-c1fdd7e292a8@selasky.org>
References:  <7DC305EC-7B3F-4859-ABAC-3FF1B2F84B30@cs.huji.ac.il> <ED5B34EE-413D-4291-9968-8FF937F0E87F@cs.huji.ac.il> <56cba05f-d475-55bc-88fe-c1fdd7e292a8@selasky.org>

next in thread | previous in thread | raw e-mail | index | archive | help


> On 3 Jan 2020, at 13:05, Hans Petter Selasky <hps@selasky.org> wrote:
>=20
> On 2020-01-03 11:56, Daniel Braniss wrote:
>> Hi Hans,
>> can you shed some light/help?
>> thanks,
>> 	danny
>>> On 2 Jan 2020, at 11:11, Daniel Braniss <danny@cs.huji.ac.il> wrote:
>>>=20
>>> Hi,
>>> after connecting this QR reader I see a new /dev/ttyU but as soon as =
I try tip,
>>> the device disconnects. (BTW, it=E2=80=99s configured as a =
=E2=80=98Virtual Serial Port=E2=80=99)
>>>=20
>>> dmsg:
>>> =E2=80=A6
>>> Jan  2 10:54:57 pampero kernel: umodem0 on uhub1
>>> Jan  2 10:54:57 pampero kernel: umodem0: <SM SM-2D PRODUCT USB UART, =
class 2/0, rev 1.10/1.00, addr 38> on usbus0
>>> Jan  2 10:54:57 pampero kernel: umodem0: data interface 1, has no CM =
over data, has no break
>>> Jan  2 10:56:01 pampero kernel: umodem0: at uhub1, port 2, addr 38 =
(disconnected)
>>> Jan  2 10:56:02 pampero kernel: umodem0:
>>> Jan  2 10:56:02 pampero kernel: detached
>>> Jan  2 10:56:03 pampero kernel: umodem0 on uhub1
>>> Jan  2 10:56:03 pampero kernel: umodem0: <SM SM-2D PRODUCT USB UART, =
class 2/0, rev 1.10/1.00, addr 38> on usbus0
>>> Jan  2 10:56:03 pampero kernel: umodem0: data interface 1, has no CM =
over data, has no break
>>> =E2=80=A6
>>>=20
>>> and usbconfig:
>>> pampero# usbconfig
>>> ugen0.1: <0x8086 XHCI root HUB> at usbus0, cfg=3D0 md=3DHOST =
spd=3DSUPER (5.0Gbps) pwr=3DSAVE (0mA)
>>> ugen0.2: <GenesysLogic USB2.0 Hub> at usbus0, cfg=3D0 md=3DHOST =
spd=3DHIGH (480Mbps) pwr=3DSAVE (500mA)
>>> ugen0.4: <Logitech USB Receiver> at usbus0, cfg=3D0 md=3DHOST =
spd=3DFULL (12Mbps) pwr=3DON (98mA)
>>> ugen0.5: <Prolific Technology Inc. USB-Serial Controller> at usbus0, =
cfg=3D0 md=3DHOST spd=3DFULL (12Mbps) pwr=3DON (100mA)
>>> ugen0.6: <GenesysLogic USB3.0 Hub> at usbus0, cfg=3D0 md=3DHOST =
spd=3DSUPER (5.0Gbps) pwr=3DSAVE (0mA)
>>> ugen0.3: <Silicon Labs CP2102 USB to UART Bridge Controller> at =
usbus0, cfg=3D0 md=3DHOST spd=3DFULL (12Mbps) pwr=3DON (100mA)
>>> ugen0.7: <SM SM-2D PRODUCT USB UART> at usbus0, cfg=3D0 md=3DHOST =
spd=3DFULL (12Mbps) pwr=3DON (100mA) <=E2=80=94 this is the QR
>>>=20
>>> any ideas?
>=20
> Can you run:
>=20
> usbdump -i usbus0 -f 7 -s 65536 -vvv
>=20
> Before attaching the device. Make sure numbers after ugen are 0 and 7. =
Look for non ERR=3D0 .
>=20
> =E2=80=94HPS


so I connected the QR reader to another host, running 12.1 stable.

neo-black-2# usbconfig
ugen0.1: <Generic EHCI root HUB> at usbus0, cfg=3D0 md=3DHOST spd=3DHIGH =
(480Mbps) pwr=3DSAVE (0mA)
ugen1.1: <Generic OHCI root HUB> at usbus1, cfg=3D0 md=3DHOST spd=3DFULL =
(12Mbps) pwr=3DSAVE (0mA)
ugen2.1: <Generic EHCI root HUB> at usbus2, cfg=3D0 md=3DHOST spd=3DHIGH =
(480Mbps) pwr=3DSAVE (0mA)
ugen3.1: <Generic OHCI root HUB> at usbus3, cfg=3D0 md=3DHOST spd=3DFULL =
(12Mbps) pwr=3DSAVE (0mA)
ugen4.1: <Generic EHCI root HUB> at usbus4, cfg=3D0 md=3DHOST spd=3DHIGH =
(480Mbps) pwr=3DSAVE (0mA)
ugen5.1: <Generic OHCI root HUB> at usbus5, cfg=3D0 md=3DHOST spd=3DFULL =
(12Mbps) pwr=3DSAVE (0mA)
ugen5.2: <SM SM-2D PRODUCT USB UART> at usbus5, cfg=3D0 md=3DHOST =
spd=3DFULL (12Mbps) pwr=3DON (100mA)


and so i did=20
neo-black-2# usbdump -i usbus5 -f2 -s 65536 -vvv

nothing happens, so this is what I get after typing =E2=80=99tip usb=E2=80=
=99 and nothing else - i don=E2=80=99t know who is doing the chitchat =
and after a very short while it disconnects.

16:25:16.753606 usbus5.2 =
SUBM-INTR-EP=3D00000082,SPD=3DFULL,NFR=3D1,SLEN=3D0,IVAL=3D5
frame[0] READ 64 bytes
flags 0x8a <SHORT_XFER_OK|PIPE_BOF|NO_PIPE_OK|0>
status 0xeb023 =
<OPEN|TRANSFERRING|STARTED|SHORT_XFER_OK|BDMA_ENABLE|BDMA_SETUP|CURR_DMA_S=
ET|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
16:25:16.753645 usbus5.2 =
SUBM-CTRL-EP=3D00000000,SPD=3DFULL,NFR=3D1,SLEN=3D8,IVAL=3D0
frame[0] WRITE 8 bytes
0000  21 22 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>
16:25:16.755271 usbus5.2 =
DONE-CTRL-EP=3D00000000,SPD=3DFULL,NFR=3D1,SLEN=3D0,IVAL=3D0,ERR=3D0
frame[0] WRITE 8 bytes
flags 0x10 <PROXY_BUFFER|0>
status 0xca1a1 =
<OPEN|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CAN_CANCEL_IM=
MED|DOING_CALLBACK|0>
16:25:16.808281 usbus5.2 =
SUBM-CTRL-EP=3D00000000,SPD=3DFULL,NFR=3D1,SLEN=3D8,IVAL=3D50
frame[0] WRITE 8 bytes
0000  02 01 00 00 81 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>
16:25:17.790304 usbus5.2 =
SUBM-CTRL-EP=3D00000000,SPD=3DFULL,NFR=3D1,SLEN=3D8,IVAL=3D0
frame[0] WRITE 8 bytes
0000  21 22 03 00 00 00 00 00  -- -- -- -- -- -- -- --  |!"......        =
|
flags 0x10 <PROXY_BUFFER|0>
status 0x4a1a3 =
<OPEN|TRANSFERRING|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|=
CAN_CANCEL_IMMED|0>
16:25:17.790346 usbus5.2 =
DONE-CTRL-EP=3D00000000,SPD=3DFULL,NFR=3D0,SLEN=3D0,IVAL=3D50,ERR=3DTIMEOU=
T
flags 0 <0>
status 0x8a1a5 =
<OPEN|DID_DMA_DELAY|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP=
|DOING_CALLBACK|0>
16:25:18.797312 usbus5.2 =
DONE-CTRL-EP=3D00000000,SPD=3DFULL,NFR=3D0,SLEN=3D0,IVAL=3D0,ERR=3DTIMEOUT=

flags 0x10 <PROXY_BUFFER|0>
status 0xaa1a5 =
<OPEN|DID_DMA_DELAY|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP=
|CURR_DMA_SET|DOING_CALLBACK|0>
16:25:18.850220 usbus5.2 =
SUBM-CTRL-EP=3D00000000,SPD=3DFULL,NFR=3D1,SLEN=3D8,IVAL=3D50
frame[0] WRITE 8 bytes
0000  02 01 00 00 81 00 00 00  -- -- -- -- -- -- -- --  |........        =
|
flags 0 <0>
status 0x4a1a3 =
<OPEN|TRANSFERRING|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|=
CAN_CANCEL_IMMED|0>
16:25:18.867314 usbus5.2 =
DONE-BULK-EP=3D00000081,SPD=3DFULL,NFR=3D0,SLEN=3D0,IVAL=3D0,ERR=3DCANCELL=
ED
flags 0xa <SHORT_XFER_OK|PIPE_BOF|0>
status 0xab00c =
<DID_DMA_DELAY|DID_CLOSE|SHORT_XFER_OK|BDMA_ENABLE|BDMA_SETUP|CURR_DMA_SET=
|DOING_CALLBACK|0>
16:25:18.867332 usbus5.2 =
DONE-INTR-EP=3D00000082,SPD=3DFULL,NFR=3D0,SLEN=3D0,IVAL=3D5,ERR=3DCANCELL=
ED
flags 0x8a <SHORT_XFER_OK|PIPE_BOF|NO_PIPE_OK|0>
status 0x8b01c =
<DID_DMA_DELAY|DID_CLOSE|DRAINING|SHORT_XFER_OK|BDMA_ENABLE|BDMA_SETUP|DOI=
NG_CALLBACK|0>
16:25:19.854309 usbus5.2 =
SUBM-CTRL-EP=3D00000000,SPD=3DFULL,NFR=3D1,SLEN=3D8,IVAL=3D0
frame[0] WRITE 8 bytes
0000  00 09 00 00 00 00 00 00  -- -- -- -- -- -- -- --  |........        =
|
flags 0x10 <PROXY_BUFFER|0>
status 0x6a1a3 =
<OPEN|TRANSFERRING|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|=
CURR_DMA_SET|CAN_CANCEL_IMMED|0>
16:25:19.854355 usbus5.2 =
DONE-CTRL-EP=3D00000000,SPD=3DFULL,NFR=3D0,SLEN=3D0,IVAL=3D50,ERR=3DTIMEOU=
T
flags 0 <0>
status 0xaa1a5 =
<OPEN|DID_DMA_DELAY|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP=
|CURR_DMA_SET|DOING_CALLBACK|0>
16:25:24.793325 usbus5.2 =
DONE-CTRL-EP=3D00000000,SPD=3DFULL,NFR=3D0,SLEN=3D0,IVAL=3D0,ERR=3DTIMEOUT=

flags 0x10 <PROXY_BUFFER|0>
status 0x8a1a5 =
<OPEN|DID_DMA_DELAY|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP=
|DOING_CALLBACK|0>
16:25:25.382614 usbus5.2 =
SUBM-CTRL-EP=3D00000000,SPD=3DFULL,NFR=3D1,SLEN=3D8,IVAL=3D0
frame[0] WRITE 8 bytes
0000  00 05 02 00 00 00 00 00  -- -- -- -- -- -- -- --  |........        =
|
flags 0x50 <PROXY_BUFFER|MANUAL_STATUS|0>
status 0xea3a3 =
<OPEN|TRANSFERRING|STARTED|CONTROL_XFR|CONTROL_HDR|CONTROL_ACT|BDMA_ENABLE=
|BDMA_SETUP|CURR_DMA_SET|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
16:25:25.383872 usbus5.2 =
DONE-CTRL-EP=3D00000000,SPD=3DFULL,NFR=3D1,SLEN=3D0,IVAL=3D0,ERR=3D0
frame[0] WRITE 8 bytes
flags 0x50 <PROXY_BUFFER|MANUAL_STATUS|0>
status 0xca3a1 =
<OPEN|STARTED|CONTROL_XFR|CONTROL_HDR|CONTROL_ACT|BDMA_ENABLE|BDMA_SETUP|C=
AN_CANCEL_IMMED|DOING_CALLBACK|0>
16:25:25.383895 usbus5.2 =
SUBM-CTRL-EP=3D00000000,SPD=3DFULL,NFR=3D1,SLEN=3D0,IVAL=3D0
frame[0] WRITE 0 bytes
flags 0x10 <PROXY_BUFFER|0>
status 0xca0a3 =
<OPEN|TRANSFERRING|STARTED|CONTROL_XFR|BDMA_ENABLE|BDMA_SETUP|CAN_CANCEL_I=
MMED|DOING_CALLBACK|0>
16:25:25.385856 usbus5.2 =
DONE-CTRL-EP=3D00000000,SPD=3DFULL,NFR=3D1,SLEN=3D0,IVAL=3D0,ERR=3D0
frame[0] WRITE 0 bytes
flags 0x10 <PROXY_BUFFER|0>
status 0xea0a1 =
<OPEN|STARTED|CONTROL_XFR|BDMA_ENABLE|BDMA_SETUP|CURR_DMA_SET|CAN_CANCEL_I=
MMED|DOING_CALLBACK|0>
16:25:25.399468 usbus5.2 =
SUBM-CTRL-EP=3D00000080,SPD=3DFULL,NFR=3D2,SLEN=3D8,IVAL=3D0
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 0xea1a3 =
<OPEN|TRANSFERRING|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|=
CURR_DMA_SET|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
16:25:25.400863 usbus5.2 =
DONE-CTRL-EP=3D00000080,SPD=3DFULL,NFR=3D2,SLEN=3D8,IVAL=3D0,ERR=3D0
frame[0] WRITE 8 bytes
frame[1] READ 8 bytes
0000  12 01 10 01 02 00 00 40  -- -- -- -- -- -- -- --  |.......@        =
|
flags 0x10 <PROXY_BUFFER|0>
status 0xca1a1 =
<OPEN|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CAN_CANCEL_IM=
MED|DOING_CALLBACK|0>
16:25:25.403456 usbus5.2 =
SUBM-CTRL-EP=3D00000080,SPD=3DFULL,NFR=3D2,SLEN=3D8,IVAL=3D0
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>
16:25:25.404858 usbus5.2 =
DONE-CTRL-EP=3D00000080,SPD=3DFULL,NFR=3D2,SLEN=3D20,IVAL=3D0,ERR=3D0
frame[0] WRITE 8 bytes
frame[1] READ 18 bytes
0000  12 01 10 01 02 00 00 40  90 AC 03 30 00 01 01 02  =
|.......@...0....|
0010  03 01 -- -- -- -- -- --  -- -- -- -- -- -- -- --  |..              =
|
flags 0x10 <PROXY_BUFFER|0>
status 0xca1a1 =
<OPEN|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CAN_CANCEL_IM=
MED|DOING_CALLBACK|0>
16:25:25.404899 usbus5.2 =
SUBM-CTRL-EP=3D00000080,SPD=3DFULL,NFR=3D2,SLEN=3D8,IVAL=3D0
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>
16:25:25.406879 usbus5.2 =
DONE-CTRL-EP=3D00000080,SPD=3DFULL,NFR=3D2,SLEN=3D12,IVAL=3D0,ERR=3D0
frame[0] WRITE 8 bytes
frame[1] READ 9 bytes
0000  09 02 43 00 02 01 00 80  32 -- -- -- -- -- -- --  |..C.....2       =
|
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>
16:25:25.406919 usbus5.2 =
SUBM-CTRL-EP=3D00000080,SPD=3DFULL,NFR=3D2,SLEN=3D8,IVAL=3D0
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>
16:25:25.408865 usbus5.2 =
DONE-CTRL-EP=3D00000080,SPD=3DFULL,NFR=3D2,SLEN=3D68,IVAL=3D0,ERR=3D0
frame[0] WRITE 8 bytes
frame[1] READ 67 bytes
0000  09 02 43 00 02 01 00 80  32 09 04 00 00 01 02 02  =
|..C.....2.......|
0010  01 00 05 24 00 10 01 05  24 01 00 01 04 24 02 02  =
|...$....$....$..|
0020  05 24 06 00 01 07 05 82  03 40 00 05 09 04 01 00  =
|.$.......@......|
0030  02 0A 00 00 00 07 05 81  02 40 00 00 07 05 01 02  =
|.........@......|
0040  40 00 00 -- -- -- -- --  -- -- -- -- -- -- -- --  |@..             =
|
flags 0x10 <PROXY_BUFFER|0>
status 0xca1a1 =
<OPEN|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CAN_CANCEL_IM=
MED|DOING_CALLBACK|0>
16:25:25.408897 usbus5.2 =
SUBM-CTRL-EP=3D00000000,SPD=3DFULL,NFR=3D1,SLEN=3D8,IVAL=3D0
frame[0] WRITE 8 bytes
0000  00 09 01 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>
16:25:25.410856 usbus5.2 =
DONE-CTRL-EP=3D00000000,SPD=3DFULL,NFR=3D1,SLEN=3D0,IVAL=3D0,ERR=3D0
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>
^C
27 packets captured
27 packets received by filter
0 packets dropped by kernel=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?114886FC-0A9E-4E82-BA90-D26934D8512E>