On 02/19/2012 12:49 AM, Jakub Jermar wrote:
> today I wanted to try to use the rootpc platform driver on the PE 3250
> Itanium server and see what happens. After fixing a couple of bugs and
> addressing the issue with a too big image.boot, I am at a stage where:
> 
> - the Intel PCI driver apparently works as it discovers UHCI; devman
> says it cannot find drivers for some other underlying, but non-USB devices
> 
> - the UHCI HC driver apparently consumes the function created by the PCI
> dirver, because...
> 
> - UHCI says it could not enable interrupts and so it fell back to polling
> 
> - I don't see any further messages for the devices attached under UHCI;
> no hubs, no USB hid
> 
> - of course, I still cannot use the USB keyboard at this stage
> 
> The hw on this machine is as captured on this page:
> 
> http://trac.helenos.org/wiki/DellPowerEdge3250DevTree
> 
> Any ideas what could be preventing the usual USB devices from being
> discovered?

I investigated this a little more. There appears to be a hang in uhci's
hc_init_hw(). Sadly, it never returns from the async_usleep(50000) call:

void hc_init_hw(const hc_t *instance)
{
        assert(instance);
        uhci_regs_t *registers = instance->registers;

        /* Reset everything, who knows what touched it before us */
        pio_write_16(&registers->usbcmd, UHCI_CMD_GLOBAL_RESET);
        async_usleep(50000); /* 50ms according to USB spec(root hub
reset) */
        pio_write_16(&registers->usbcmd, 0);

My guess is that somehow the underlying kernel timeout mechanism is not
working.

Jakub

_______________________________________________
HelenOS-devel mailing list
[email protected]
http://lists.modry.cz/cgi-bin/listinfo/helenos-devel

Reply via email to