Timeouts on Marvell EHCI (FreeBSD-arm)

Hans Petter Selasky hselasky at c2i.net
Mon May 2 12:00:03 UTC 2011


On Monday 02 May 2011 13:51:18 Damjan Marion wrote:
> On May 2, 2011, at 1:33 PM, Hans Petter Selasky wrote:
> > On Monday 02 May 2011 12:58:02 Damjan Marion wrote:
> >> Hi,
> >> 
> >> I'm trying to bring up FreeBSD on Marvell 88F5181L based ARM board and I
> >> have problem with EHCI driver. EHCI controller is detected but it fails
> >> to activate connected device.
> >> 
> >> I will appreciate any hints how to fix this. Output follows....
> >> 
> >> Thanks,
> >> 
> >> Damjan
> > 
> > Can you set:
> > 
> > hw.usb.uhub.debug=15
> > 
> > and
> > 
> > hw.usb.debug=15
> > 
> > --HPS
> 
> Here it is, thanks....
> 
> 
> ehci0: <Marvell Integrated USB 2.0 controller> mem 0xf1050000-0xf1050fff
> irq 17,16 on simplebus0 usbus0: EHCI version 1.0
> usbus0: set host controller mode
> usbus0: <Marvell Integrated USB 2.0 controller> on ehci0
> usb_needs_explore:
> usb_needs_explore: No root HUB
> pcib0: <Marvell Integrated PCI/PCI-E Controller> mem 0xf1030000-0xf1031fff
> irq 11 on fdtbus0 pci0: <PCI bus> on pcib0
> Timecounters tick every 1.000 msec
> usbus0: 480Mbps High Speed USB v2.0
> usb_alloc_device: parent_dev=0xc13b1300, bus=0xc1393c78, parent_hub=0,
> depth=0, port_index=0, port_no=1, speed=3, usb_mode=0
> usb_set_device_state: udev 0xc13ba800 state DETACHED -> POWERED
> usbd_req_set_address: setting device address=1
> usbd_do_request_flags: udev=0xc13ba800 bmRequestType=0x00 bRequest=0x05
> wValue=0x0001 wIndex=0x0000 wLength=0x0000 usbd_do_request_flags: Handle
> Request function is set
> Root mount waiting for: usbus0
> usb_set_device_state: udev 0xc13ba800 state POWERED -> ADDRESSED
> usbd_setup_device_desc: Minimum MaxPacketSize is large enough to hold the
> complete device descriptor usbd_req_get_device_desc:
> usbd_req_get_desc: id=0, type=1, index=0, max_len=18
> usbd_do_request_flags: udev=0xc13ba800 bmRequestType=0x80 bRequest=0x06
> wValue=0x0100 wIndex=0x0000 wLength=0x0012 usbd_do_request_flags: Handle
> Request function is set
> usbd_setup_device_desc: adding unit addr=1, rev=200, class=9, subclass=0,
> protocol=1, maxpacket=64, len=18, speed=3 usbd_req_get_desc: id=0, type=3,
> index=0, max_len=4
> usbd_do_request_flags: udev=0xc13ba800 bmRequestType=0x80 bRequest=0x06
> wValue=0x0300 wIndex=0x0000 wLength=0x0002 usbd_do_request_flags: Handle

Hi,

I looks like no EHCI interrupts are generated. Try calling the EHCI interrupt 
every 100ms and see what happens.

--HPS


More information about the freebsd-usb mailing list