What is wrong with FreeBSD and USB Support

Hans Petter Selasky hps at selasky.org
Mon Mar 6 11:05:09 UTC 2017


Hi,

Issue 2:

Looking at the log you sent I observe the following:

> 11:39:43.395110 usbus1.2 SUBM-BULK-EP=00000081,SPD=HIGH,NFR=10,SLEN=0,IVAL=0
>  frame[0] READ 0 bytes
>  frame[1] READ 0 bytes
>  frame[2] READ 0 bytes
>  frame[3] READ 0 bytes
>  frame[4] READ 0 bytes
>  frame[5] READ 0 bytes
>  frame[6] READ 0 bytes
>  frame[7] READ 0 bytes
>  frame[8] READ 0 bytes
>  frame[9] READ 0 bytes
>  flags 0x10 <PROXY_BUFFER|0>
>  status 0x6a023 <OPEN|TRANSFERRING|STARTED|BDMA_ENABLE|BDMA_SETUP|CURR_DMA_SET|CAN_CANCEL_IMMED|0>
> 11:39:43.395115 usbus1.2 DONE-BULK-EP=00000081,SPD=HIGH,NFR=1,SLEN=0,IVAL=0,ERR=STALLED
>  frame[0] READ 0 bytes
>  flags 0x10 <PROXY_BUFFER|0>
>  status 0x8a025 <OPEN|DID_DMA_DELAY|STARTED|BDMA_ENABLE|BDMA_SETUP|DOING_CALLBACK|0>

The first multi-BULK transfer that STALLs is programmed to only receive 
zero-length USB packets. Is that intentional?

In the case above there is a missing code fragment like this, I suspect:

for (x = 0; x != 10; x++)
      libusb20_tr_set_length(xfer, buffer_size, x);

--HPS




More information about the freebsd-multimedia mailing list