Part of why Pine64+ 2GB gets "uhub_attach: getting USB 2.0 HUB descriptor failed,error=USB_ERR_SHORT_XFER" (and so USB fails)

Hans Petter Selasky hps at selasky.org
Sun Sep 17 08:59:06 UTC 2017


On 09/17/17 10:09, Mark Millard wrote:
> . . .
>          uint16_t length;
>          uint16_t temp;
> . . .
>          length = UGETW(req->wLength);
> . . .
>                  USB_BUS_LOCK(udev->bus);
>                  err = (hr_func) (udev, req, &desc, &temp);
>                  USB_BUS_UNLOCK(udev->bus);
> 
>                  if (err)
>                          goto done;
> 
>                  if (length > temp) {
>                          if (!(flags & USB_SHORT_XFER_OK)) {
>                                  err = USB_ERR_SHORT_XFER;
>                                  goto done;
>                          }
>                          length = temp;
>                  }

Can you dump the length arguments. Usually short transfer means that the 
descriptor was shorter than expected.

--HPS


More information about the freebsd-arm mailing list