[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