On Thu, Jan 10, 2013 at 08:56:15AM -0800, Kent Fritz wrote: > On Wed, Jan 9, 2013 at 5:34 PM, Stefan Sperling <s...@openbsd.org> wrote: > > Shot in the dark: Does it not hang if you disable the pms driver > > via boot -c? See the boot_config(8) man page. > > > > The RAMDISK_CD kernel doesn't have pms compiled in, and it might be > > the next thing pckbd0 is trying to initialise in the GENERIC kernel. > > You must have night-vision goggles -- that did the trick. If there's > anything I can do to help debug this further, let me know. Otherwise, > I'm happy with the workaround.
Can you please try to find out which protocol probe routine is responsible for hanging the machine? There is a table of protocols in /usr/src/sys/dev/pckbc/pms.c. In -current, it looks like this: const struct pms_protocol pms_protocols[] = { /* Generic PS/2 mouse */ { PMS_STANDARD, 3, NULL, pms_ioctl_mouse, pms_sync_mouse, pms_proc_mouse, NULL }, /* Microsoft IntelliMouse */ { PMS_INTELLI, 4, pms_enable_intelli, pms_ioctl_mouse, pms_sync_mouse, pms_proc_mouse, NULL }, /* Synaptics touchpad */ { PMS_SYNAPTICS, 6, pms_enable_synaptics, pms_ioctl_synaptics, pms_sync_synaptics, pms_proc_synaptics, pms_disable_synaptics }, /* ALPS touchpad */ { PMS_ALPS, 6, pms_enable_alps, pms_ioctl_alps, pms_sync_alps, pms_proc_alps, NULL }, #ifdef notyet /* Elantech touchpad (hardware version 1) */ { PMS_ELANTECH_V1, 4, pms_enable_elantech_v1, pms_ioctl_elantech, pms_sync_elantech_v1, pms_proc_elantech_v1, NULL }, /* Elantech touchpad (hardware version 2) */ { PMS_ELANTECH_V2, 6, pms_enable_elantech_v2, pms_ioctl_elantech, pms_sync_elantech_v2, pms_proc_elantech_v2, NULL }, #endif /* Elantech touchpad (hardware version 3) */ { PMS_ELANTECH_V3, 6, pms_enable_elantech_v3, pms_ioctl_elantech, pms_sync_elantech_v3, pms_proc_elantech_v3, NULL }, }; Perhaps start by removing the touchpad protocols first, since they're most likely to be the cause of this problem. You could comment out all the touchpad protocols like this: const struct pms_protocol pms_protocols[] = { /* Generic PS/2 mouse */ { PMS_STANDARD, 3, NULL, pms_ioctl_mouse, pms_sync_mouse, pms_proc_mouse, NULL }, /* Microsoft IntelliMouse */ { PMS_INTELLI, 4, pms_enable_intelli, pms_ioctl_mouse, pms_sync_mouse, pms_proc_mouse, NULL }, #if 0 <-- add this here /* Synaptics touchpad */ { ...skipping all the lines in-between... pms_sync_elantech_v3, pms_proc_elantech_v3, NULL }, #endif <-- add this here }; If that doesn't hang it, move the #if 0 further down to the next protocol, and try again. Note that elantech v1 and elantech v2 are currently disabled anyway (via #ifdef notyet) because the code hasn't yet been tested on real hardware. (BTW, in case an eeepc owner is reading this, you might have such a touchpad, so please try enabling the v1 and v2 protocols to see if that makes the synaptics driver attach in X and if the touchpad then works properly). Once we know which protocol probe routine is causing the problem we can dig further.