Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Jan 2016 08:55:29 +0100
From:      Hans Petter Selasky <hps@selasky.org>
To:        Mark Johnston <markjdb@gmail.com>
Cc:        freebsd-usb@freebsd.org
Subject:   Re: CP2102 UART adapter not attaching
Message-ID:  <569602F1.70401@selasky.org>
In-Reply-To: <20160113061722.GB2434@raichu>
References:  <20160110040732.GA2606@raichu> <56936A9D.2060209@selasky.org> <20160113060434.GA2434@raichu> <5695EBE0.8020501@selasky.org> <20160113061722.GB2434@raichu>

next in thread | previous in thread | raw e-mail | index | archive | help

On 01/13/16 07:17, Mark Johnston wrote:
> On Wed, Jan 13, 2016 at 07:17:04AM +0100, Hans Petter Selasky wrote:
>> On 01/13/16 07:04, Mark Johnston wrote:
>>> On Mon, Jan 11, 2016 at 09:41:01AM +0100, Hans Petter Selasky wrote:
>>>> On 01/10/16 05:07, Mark Johnston wrote:
>>>>> Hi,
>>>>>
>>>>> I have the module listed here:
>>>>> http://www.amazon.com/KEDSUM%C2%AE-CP2102-Module-Download-Converter/dp/B009T2ZR6W
>>>>>
>>>>> Under Windows 8 it works perfectly, but on FreeBSD-CURRENT I get:
>>>>>
>>>>> usb_alloc_device: set address 3 failed (USB_ERR_STALLED, ignored)
>>>>> usbd_setup_device_desc: getting device descriptor at addr 3 failed, USB_ERR_STALLED
>>>>> usbd_req_re_enumerate: addr=3, set address failed! (USB_ERR_STALLED, ignored)
>>>>> usbd_setup_device_desc: getting device descriptor at addr 3 failed, USB_ERR_STALLED
>>>>> usbd_req_re_enumerate: addr=3, set address failed! (USB_ERR_STALLED, ignored)
>>>>> usbd_setup_device_desc: getting device descriptor at addr 3 failed, USB_ERR_STALLED
>>>>> usbd_req_re_enumerate: addr=3, set address failed! (USB_ERR_STALLED, ignored)
>>>>> usbd_setup_device_desc: getting device descriptor at addr 3 failed, USB_ERR_STALLED
>>>>> usbd_req_re_enumerate: addr=3, set address failed! (USB_ERR_STALLED, ignored)
>>>>> usbd_setup_device_desc: getting device descriptor at addr 3 failed, USB_ERR_STALLED
>>>>> ugen1.3: <Unknown> at usbus1 (disconnected)
>>>>> uhub_reattach_port: could not allocate new device
>>>>>
>>>>> It looks like this device should be handled by uslcom(4), but it looks
>>>>> like we can't even get the device descriptor. How can I go about
>>>>> debugging this?
>>>>
>>>> Hi,
>>>>
>>>> What does "usbconfig" say about your USB controllers?
>>>>
>>>> Did you try to connect through an external USB HUB?
>>>
>>> No, I don't have one handy. usbconfig shows:
>>>
>>> ugen0.1: <XHCI root HUB 0x8086> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
>>> ugen1.1: <EHCI root HUB Intel> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
>>> ugen2.1: <EHCI root HUB Intel> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
>>>
>>
>> Could you show what "pciconf -lv" says about xhci0. Sometimes you need
>> to set a special routing register before some XHCI controllers work!
>
> xhci0@pci0:0:20:0:      class=0x0c0330 card=0x84ca1043 chip=0x1e318086 rev=0x04 hdr=0x00
>      vendor     = 'Intel Corporation'
>      device     = '7 Series/C210 Series Chipset Family USB xHCI Host Controller'
>      class      = serial bus
>      subclass   = USB
>
> I'm plugging the module into the first EHCI controller though - it's a
> USB 2.0 device.
>

In src/sys/dev/usb/controller/xhci_pci.c you can try adding the PCI chip 
ID to the following list:

         case 0x0f358086:        /* BayTrail */
         case 0x9c318086:        /* Panther Point */
         case 0x1e318086:        /* Panther Point */
         case 0x8c318086:        /* Lynx Point */
         case 0x8cb18086:        /* Wildcat Point */
         case 0x9cb18086:        /* Broadwell Mobile Integrated */
                 /*
                  * On Intel chipsets, reroute ports from EHCI to XHCI
                  * controller and use a different IMOD value.
                  */


--HPS



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?569602F1.70401>