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

From: Mark Hobden <markhobden_at_gmail.com>
Date: Sun, 22 Jul 2007 20:11:00 +0100
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
Received on Sun Jul 22 2007 - 17:11:01 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:15 UTC