[U-Boot] Enumerate Buetooth Dongle via xHCI fails set configuration command
Mohammed Mohisin
mohammedmohisin at gmail.com
Tue May 17 19:30:23 CEST 2016
Trying to enumerate a bluetooth dongle.
The connected bluetooth dongle has 2 interfaces. Pls see the bottom of the
mail for device and config descriptors.
We are using interface 0 having 3 end points - Interrupt IN, Bulk OUT and
Bulk In.
For enumeration we are still using uboot's "usb_new_device()" function.
As part of "usb_new_device" function, we call "usb_set_configuration()" -->
"xhci_set_configuration()" --> xhci_configure_endpoints(udev, false);
and fails here returning error code 17"
Here are the steps to reproduce:
1) Program the latest uboot image on any board having usb 3.0
We are using Marvell's A38X.
2) Connect the bluetooth 4.0 dongle for example: "Air console"
3) set usbType 3
4) usb start
u will see the below error:
-------------------------------
set configuration 1
usb_control_msg: request: 0x9, requesttype: 0x0, value 0x1 index 0x0 length
0x0
EP STATE RUNNING.
ERROR: Configure Endpoint command returned completion code 17.
Failed to configure xHC endpoint
failed to set default configuration len 177, status 80000000
Freeing device node: 1
hub: disabling port 2
Any help is highly appreciated.
Regards
---------------------------------------------------
----------------------------------------------------
Manufacturer:
Version: 136.9.1
Serial Number:
Device Handle: 0x1020000
USB Version Compliance: 2.9
Class Code: 0xE0
Subclass Code: 0x1
Protocol: 0x1
Vendor ID: 0xA12
Product ID: 0x1
Max. Packet Size of Endpoint Zero: 64
Number of Configurations: 1
Speed: Full
Selected Configuration: 1
Selected Interface: 0
Configuration:
Number: 1
Number of Interfaces: 2
Description:
Attributes: Self-powered
Max Power: 100 mA
Interface:
Number: 0
Description:
Class Code: 224
Subclass: 1
Protocol: 1
Number of Endpoints: 3
Endpoint:
Number: 1
Transfer Type: INTERRUPT
Transfer Direction: Device to Host
Max Packet: 16
Interval: 1
Endpoint:
Number: 2
Transfer Type: BULK
Transfer Direction: Host to Device
Max Packet: 64
Interval: 1
Endpoint:
Number: 2
Transfer Type: BULK
Transfer Direction: Device to Host
Max Packet: 64
Interval: 1
Interface:
Number: 1
Description:
Class Code: 224
Subclass: 1
Protocol: 1
Number of Endpoints: 2
Endpoint:
Number: 3
Transfer Type: ISOCHRONOUS
Transfer Direction: Host to Device
Max Packet: 0
Interval: 1
Endpoint:
Number: 3
Transfer Type: ISOCHRONOUS
Transfer Direction: Device to Host
Max Packet: 0
Interval: 1
>
More information about the U-Boot
mailing list