uhidev(4) update - USB HID driver level for devices with multiple report ids

Mark Hobden markhobden at gmail.com
Sun Jul 22 19:11:01 UTC 2007


On 21/07/07, Vladimir Grebenschikov <vova at fbsd.ru> wrote:
> >
> > I have uploaded a new patch over the old one. People only need
> > this update though if they do not have 'device usb' in their kernel
> > config file.
> >
> > http://www.terinea.co.uk/~mark/patches/uhidev-7-current-p2.diff
>
> Hm, a bit better, but ...
>
> If I boot with connect mice and disconnected keyboard - everything goes
> right.
> I can connect keyboard after boot and it works, mice works also.
>
> But If I've boot with connected USB keyboard - system panics:
>
> Fatal trap 12: page fault while in kernel mode
>
> Stopped ar  usbd_clear_endpoint_stall_async+0xb: movl 0x3(%ebx), %esi
>
> db> tr
> ehci_waitintr
> ehci_device_intr_start
> ehci_device_intr_transfer
> usbd_start_transfer
> bus_dmap_load
> usbd_transfer
> usbd_open_pipe_intr
> uhidev_open
> ukbd_enable_intr
> ukbd_init
> ukbd_attach
> device_attach
> uhidev_attach
> device_attach
> usb_new_device
> uhub_explore
> uhub_explore
> usb_attach
> ehci_pci_attach
> device_attach
> bus_generic_attach
> ...
>
> Sorry, manually retyped back-trace
>
> db> panic
> just refuses to write dump.
>
> Side question - what is "right" way to setup dump device for kernel
> boot ?
> http://freebsd-man.page2go2.com/man8/loader_8.html
> loader's dumpdev - looks not working.

Hi Vladimir,

Thanks for all the info.

I am having trouble reproducing a panic like this here or finding out
how it gets down a path like this. I am wondering if this only occurs
on EHCI devices. Hopefully later in the week I will be able to borrow
some equipment from work to test with here. But do you have  a different
keyboard that you could try out booting on the UHCI controller? If that
works OK it should show me where to look.

I'm afraid I don't know about setting dump devices before booting as
in the past I have always triggered them by attaching hardware after
the system is booted. <:-|

The other problem for you would be that because all the usb modules
are loaded as modules you need to load them individually into kgdb
with their start address as described in the link below:

http://www.freebsd.org/doc/en/books/developers-handbook/kerneldebug-kld.html

Which wouldn't be  fun as each time you want to load kgdb you have
to do this for usb, uhid and ukbd. I find it easier to just compile them
into the kernel.

Kind Regards,

Mark


More information about the freebsd-usb mailing list