USB HID driver fails to recognize input devices

Sebastian Sumpf Sebastian.Sumpf at ...1...
Thu Jul 12 13:58:08 CEST 2012


Hi Markus,

On 07/12/2012 01:17 PM, Markus Partheymueller wrote:
> Hi,
>
> I'm trying to get the latest Genode running (using the base platform
> NOVA on a real machine, not qemu). As a simple kick-off I tried to use
> the demo scenario with nitpicker and launchpad. However, with the USB
> Legacy support enabled, only the keyboard was working, the mouse could
> not be configured properly. Now that this machine doesn't have any
> real PS/2 connectors and the Legacy mode tends to be a bit quirky
> sometimes, I decided to go for the USB HID driver. But now the driver
> seems to only find several hubs and ports, but no devices attached to
> them. Plus, during the boot process, the mouse's LED gets switched off
> and is never turned on again. Is there some limitation regarding
> scanned USB ports and/or suitable devices? Or am I missing something
> else?
>
> I attached the log file of this boot process, but be warned that there
> seems to be some problem with serial output, as mainly in the
> beginning there are several weird broken lines in the log.

I assume you are using the driver from the 'dde_linux' directory, right?
There is another USB driver in the 'linux_drivers' repository on github
which can also handle HID devices. To tell you the truth, the
'dde_linux' version has not been tested on x86-hardware so far, since we
mostly concentrated on PandaBoard support lately. So I have to admit
that you're a sort of an alpha tester here. Anyway, I can test the thing
on some box tomorrow, since it actually does not look that bad. The UHCI
controller (where HID devices usually reside) has been detected. My
first uneducated guess here would be that the driver does not get any
interrupt from the controller. Could you enable 'DEBUG_IRQ' in
'dde_linux/src/drivers/usb/lx_emul.h'  and check if the
'dde_linux/src/drivers/usb/signal/irq.cc:handle()'  function gets
actually called? If not please start the 'acpi_drv' beforehand, since it
might find a different (to the one in the PCI config space) interrupt
number for the controller within the ACPI-tables. That's usually the fun
on kernels that use APICs.

Thx for reporting and please keep me informed about your insights,

Sebastian

P.S. If nothing works please also send your Genode configuration file.




More information about the users mailing list