> Did you update your rc.conf lately? It should contain the startup of > the usbd daemon.
I know start usbd upon startup 8) > > A side note, someone fixed syscons so it no longer panics if > > the atkbd device is not configured . In my case, I have > > a USB keyboard and a USB mouse connected to the > > system with no atkbdc nor atbkd device . It works like > > a charm now 8) > > Cool! > Not quite a fix however the following patches fixes disconnect /reconnect problems with my USB mouse and the 3com USB modem . This is a bandage please don't commit is just that right if I diconnect my usb modem or usb mouse my system panics hence the following simple patch. Disconnected and reconnected my mouse several times and got no panic plus every time someone calls here the USB modem does not crash my system 8) One thing though someone ought to fix moused so that if it is talking to a usb mouse which gets disconnected and then reconnected to enable again the mouse. I managed to get back my mouse operational by sending a "HUP" signal to moused. Enjoy
diff -r -c usb/ugen.c usb.new/ugen.c *** usb/ugen.c Fri Apr 16 16:13:36 1999 --- usb.new/ugen.c Wed Apr 21 19:16:54 1999 *************** *** 947,953 **** struct ugen_endpoint *sce; int revents = 0; int s; ! if (sc->sc_disconnected) return (EIO); --- 947,953 ---- struct ugen_endpoint *sce; int revents = 0; int s; ! if (sc == NULL ) return (EIO); if (sc->sc_disconnected) return (EIO); diff -r -c usb/ukbd.c usb.new/ukbd.c *** usb/ukbd.c Sun Apr 11 15:28:38 1999 --- usb.new/ukbd.c Wed Apr 21 19:15:29 1999 *************** *** 306,311 **** --- 306,312 ---- ukbdpoll(dev_t dev, int event, struct proc *p) { USB_GET_SC(ukbd, UKBDUNIT(dev),sc); + if (sc == NULL ) return 0; return genkbdpoll(&sc->sc_gensc, sc->sc_kbd, event, p); } diff -r -c usb/ums.c usb.new/ums.c *** usb/ums.c Fri Apr 16 16:13:47 1999 --- usb.new/ums.c Wed Apr 21 18:59:09 1999 *************** *** 664,669 **** --- 664,670 ---- USB_GET_SC(ums, UMSUNIT(dev), sc); int revents = 0; int s; + if (sc == NULL ) return revents; s = splusb(); if (events & (POLLIN | POLLRDNORM)) { diff -r -c usb/usb_port.h usb.new/usb_port.h *** usb/usb_port.h Wed Apr 21 15:33:44 1999 --- usb.new/usb_port.h Wed Apr 21 18:29:20 1999 *************** *** 202,208 **** ((dev)->softc = device_get_softc(bdev)) : 0) /* conversion from one type of queue to the other */ ! #define SIMPLEQ_REMOVE_HEAD STAILQ_REMOVE_HEAD #define SIMPLEQ_INSERT_HEAD STAILQ_INSERT_HEAD #define SIMPLEQ_INSERT_TAIL STAILQ_INSERT_TAIL #define SIMPLEQ_NEXT STAILQ_NEXT --- 202,216 ---- ((dev)->softc = device_get_softc(bdev)) : 0) /* conversion from one type of queue to the other */ ! /* #define SIMPLEQ_REMOVE_HEAD STAILQ_REMOVE_HEAD */ ! #define SIMPLEQ_REMOVE_HEAD(head, field) do { \ ! if ((head)->stqh_first != NULL ) { \ ! if (((head)->stqh_first = \ ! (head)->stqh_first->field.stqe_next) == NULL) \ ! (head)->stqh_last = &(head)->stqh_first; \ ! } \ ! } while (0) ! #define SIMPLEQ_INSERT_HEAD STAILQ_INSERT_HEAD #define SIMPLEQ_INSERT_TAIL STAILQ_INSERT_TAIL #define SIMPLEQ_NEXT STAILQ_NEXT
Amancio Hasty ha...@star-gate.com