usb QR reader

Daniel Braniss danny at cs.huji.ac.il
Sun Jan 5 14:32:42 UTC 2020



> On 3 Jan 2020, at 13:05, Hans Petter Selasky <hps at selasky.org> wrote:
> 
> 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 at cs.huji.ac.il> wrote:
>>> 
>>> Hi,
>>> after connecting this QR reader I see a new /dev/ttyU but as soon as I try tip,
>>> the device disconnects. (BTW, it’s configured as a ‘Virtual Serial Port’)
>>> 
>>> dmsg:
>>>>>> 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
>>>>>> 
>>> and usbconfig:
>>> pampero# usbconfig
>>> ugen0.1: <0x8086 XHCI root HUB> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
>>> ugen0.2: <GenesysLogic USB2.0 Hub> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (500mA)
>>> ugen0.4: <Logitech USB Receiver> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (98mA)
>>> ugen0.5: <Prolific Technology Inc. USB-Serial Controller> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA)
>>> ugen0.6: <GenesysLogic USB3.0 Hub> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
>>> ugen0.3: <Silicon Labs CP2102 USB to UART Bridge Controller> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA)
>>> ugen0.7: <SM SM-2D PRODUCT USB UART> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA) <— this is the QR
>>> 
>>> any ideas?
> 
> Can you run:
> 
> usbdump -i usbus0 -f 7 -s 65536 -vvv
> 
> Before attaching the device. Make sure numbers after ugen are 0 and 7. Look for non ERR=0 .
> 
> —HPS


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=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
ugen1.1: <Generic OHCI root HUB> at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (0mA)
ugen2.1: <Generic EHCI root HUB> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
ugen3.1: <Generic OHCI root HUB> at usbus3, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (0mA)
ugen4.1: <Generic EHCI root HUB> at usbus4, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
ugen5.1: <Generic OHCI root HUB> at usbus5, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (0mA)
ugen5.2: <SM SM-2D PRODUCT USB UART> at usbus5, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA)


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

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

16:25:16.753606 usbus5.2 SUBM-INTR-EP=00000082,SPD=FULL,NFR=1,SLEN=0,IVAL=5
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_SET|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
16:25:16.753645 usbus5.2 SUBM-CTRL-EP=00000000,SPD=FULL,NFR=1,SLEN=8,IVAL=0
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=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>
16:25:16.808281 usbus5.2 SUBM-CTRL-EP=00000000,SPD=FULL,NFR=1,SLEN=8,IVAL=50
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=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 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=00000000,SPD=FULL,NFR=0,SLEN=0,IVAL=50,ERR=TIMEOUT
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=00000000,SPD=FULL,NFR=0,SLEN=0,IVAL=0,ERR=TIMEOUT
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=00000000,SPD=FULL,NFR=1,SLEN=8,IVAL=50
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=00000081,SPD=FULL,NFR=0,SLEN=0,IVAL=0,ERR=CANCELLED
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=00000082,SPD=FULL,NFR=0,SLEN=0,IVAL=5,ERR=CANCELLED
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|DOING_CALLBACK|0>
16:25:19.854309 usbus5.2 SUBM-CTRL-EP=00000000,SPD=FULL,NFR=1,SLEN=8,IVAL=0
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=00000000,SPD=FULL,NFR=0,SLEN=0,IVAL=50,ERR=TIMEOUT
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=00000000,SPD=FULL,NFR=0,SLEN=0,IVAL=0,ERR=TIMEOUT
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=00000000,SPD=FULL,NFR=1,SLEN=8,IVAL=0
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=00000000,SPD=FULL,NFR=1,SLEN=0,IVAL=0,ERR=0
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|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
16:25:25.383895 usbus5.2 SUBM-CTRL-EP=00000000,SPD=FULL,NFR=1,SLEN=0,IVAL=0
frame[0] WRITE 0 bytes
flags 0x10 <PROXY_BUFFER|0>
status 0xca0a3 <OPEN|TRANSFERRING|STARTED|CONTROL_XFR|BDMA_ENABLE|BDMA_SETUP|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
16:25:25.385856 usbus5.2 DONE-CTRL-EP=00000000,SPD=FULL,NFR=1,SLEN=0,IVAL=0,ERR=0
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_IMMED|DOING_CALLBACK|0>
16:25:25.399468 usbus5.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 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=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 40  -- -- -- -- -- -- -- --  |.......@        |
flags 0x10 <PROXY_BUFFER|0>
status 0xca1a1 <OPEN|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
16:25:25.403456 usbus5.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>
16:25:25.404858 usbus5.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 40  90 AC 03 30 00 01 01 02  |....... at ...0....|
0010  03 01 -- -- -- -- -- --  -- -- -- -- -- -- -- --  |..              |
flags 0x10 <PROXY_BUFFER|0>
status 0xca1a1 <OPEN|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
16:25:25.404899 usbus5.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>
16:25:25.406879 usbus5.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 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=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>
16:25:25.408865 usbus5.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 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  |.$....... at ......|
0030  02 0A 00 00 00 07 05 81  02 40 00 00 07 05 01 02  |......... at ......|
0040  40 00 00 -- -- -- -- --  -- -- -- -- -- -- -- --  |@..             |
flags 0x10 <PROXY_BUFFER|0>
status 0xca1a1 <OPEN|STARTED|CONTROL_XFR|CONTROL_HDR|BDMA_ENABLE|BDMA_SETUP|CAN_CANCEL_IMMED|DOING_CALLBACK|0>
16:25:25.408897 usbus5.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 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=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>
^C
27 packets captured
27 packets received by filter
0 packets dropped by kernel


More information about the freebsd-stable mailing list