I added a debugging printf to devctl_queue_data() to figure out why devd doesn't react when I plug in a USB keyboard (turns out it's reported as ukbd0 instead of kbd1, but that's a diffrent issue). I was quite interested to discover just how much junk passes through devctl: # dmesg | grep devctl devctl_queue_data(): +npx0 at on nexus0 devctl_queue_data(): +acpi_timer0 at on acpi0 devctl_queue_data(): +acpi_cpu0 at on acpi0 devctl_queue_data(): +acpi_tz0 at on acpi0 devctl_queue_data(): +acpi_acad0 at on acpi0 devctl_queue_data(): +acpi_cmbat0 at on acpi0 devctl_queue_data(): +acpi_cmbat1 at on acpi0 devctl_queue_data(): +acpi_lid0 at on acpi0 devctl_queue_data(): +acpi_button0 at on acpi0 devctl_queue_data(): +acpi_button1 at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): +agp0 at slot=0 function=0 on pci0 devctl_queue_data(): ?vendor=0x1002 device=0x4c66 subvendor=0x1028 subdevice=0x011d class=0x030000 at slot=0 function=0 on pci1 devctl_queue_data(): +pci1 at on pcib1 devctl_queue_data(): +pcib1 at slot=1 function=0 on pci0 devctl_queue_data(): +uhub0 at on usb0 devctl_queue_data(): ? at on uhub0 devctl_queue_data(): +ugen0 at on uhub0 devctl_queue_data(): +usb0 at on uhci0 devctl_queue_data(): +uhci0 at slot=29 function=0 on pci0 devctl_queue_data(): +uhub1 at on usb1 devctl_queue_data(): +usb1 at on uhci1 devctl_queue_data(): +uhci1 at slot=29 function=1 on pci0 devctl_queue_data(): +uhub2 at on usb2 devctl_queue_data(): +uhub3 at on uhub2 devctl_queue_data(): ? at on uhub3 devctl_queue_data(): +ums0 at on uhub3 devctl_queue_data(): ? at on uhub3 devctl_queue_data(): +ukbd0 at on uhub3 devctl_queue_data(): ? at on uhub3 devctl_queue_data(): +usb2 at on uhci2 devctl_queue_data(): +uhci2 at slot=29 function=2 on pci0 devctl_queue_data(): ?vendor=0x8086 device=0x24cd subvendor=0x1028 subdevice=0x011d class=0x0c0320 at slot=29 function=7 on pci0 devctl_queue_data(): ?vendor=0x14e4 device=0x16a6 subvendor=0x1028 subdevice=0x8126 class=0x020000 at slot=0 function=0 on pci2 devctl_queue_data(): +cardbus0 at on cbb0 devctl_queue_data(): +pccard0 at on cbb0 devctl_queue_data(): +cbb0 at slot=1 function=0 on pci2 devctl_queue_data(): +cardbus1 at on cbb1 devctl_queue_data(): +pccard1 at on cbb1 devctl_queue_data(): +cbb1 at slot=1 function=1 on pci2 devctl_queue_data(): ?vendor=0x14e4 device=0x4324 subvendor=0x1028 subdevice=0x0001 class=0x028000 at slot=3 function=0 on pci2 devctl_queue_data(): +pci2 at on pcib2 devctl_queue_data(): +pcib2 at slot=30 function=0 on pci0 devctl_queue_data(): +isa0 at on isab0 devctl_queue_data(): +isab0 at slot=31 function=0 on pci0 devctl_queue_data(): +ata0 at on atapci0 devctl_queue_data(): +ata1 at on atapci0 devctl_queue_data(): +atapci0 at slot=31 function=1 on pci0 devctl_queue_data(): ?vendor=0x8086 device=0x24c5 subvendor=0x1028 subdevice=0x011d class=0x040100 at slot=31 function=5 on pci0 devctl_queue_data(): ?vendor=0x8086 device=0x24c6 subvendor=0x14f1 subdevice=0x5422 class=0x070300 at slot=31 function=6 on pci0 devctl_queue_data(): +pci0 at on pcib0 devctl_queue_data(): +pcib0 at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): +psmcpnp0 at on acpi0 devctl_queue_data(): +atkbd0 at on atkbdc0 devctl_queue_data(): +psm0 at on atkbdc0 devctl_queue_data(): +atkbdc0 at on acpi0 devctl_queue_data(): +attimer0 at on acpi0 devctl_queue_data(): +attimer1 at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): +atpic0 at on acpi0 devctl_queue_data(): +atdma0 at on acpi0 devctl_queue_data(): +npxisa0 at on acpi0 devctl_queue_data(): +sio0 at on acpi0 devctl_queue_data(): +sio1 at on acpi0 devctl_queue_data(): +ppi0 at on ppbus0 devctl_queue_data(): +lpt0 at on ppbus0 devctl_queue_data(): +ppbus0 at on ppc0 devctl_queue_data(): +ppc0 at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): ? at on acpi0 devctl_queue_data(): +acpi0 at on nexus0 devctl_queue_data(): ? at on nexus0 devctl_queue_data(): +nexus0 at on root0 devctl_queue_data(): +pmtimer0 at on isa0 devctl_queue_data(): +orm0 at on isa0 devctl_queue_data(): +sc0 at on isa0 devctl_queue_data(): +vga0 at on isa0 devctl_queue_data(): ? at on isa0 devctl_queue_data(): ? at on isa0 devctl_queue_data(): !system=ACPI subsystem=ACAD type=\\_SB_.AC__ notify=0x01 devctl_queue_data(): ?manufacturer=0xffff product=0x0001 cisvendor="O2Micro" cisproduct="SmartCardBus Reader" function_type=-1 at function=0 on pccard1 devctl_queue_data(): ? at on bge0 devctl_queue_data(): +bge0 at slot=0 function=0 on pci2 devctl_queue_data(): +brgphy0 at on miibus0 devctl_queue_data(): +miibus0 at on bge0 devctl_queue_data(): +drm0 at slot=0 function=0 on pci1 What exactly is the point with all these "? at on foo0"? They're no use to anyone, so why bother passing them out? DES -- Dag-Erling Smørgrav - des_at_des.noReceived on Tue Jan 27 2004 - 04:46:14 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:40 UTC