Short Story: I have an Acer Aspire One D250-1838 whose trackpad mouse stops working after a couple of seconds on OpenBSD 4.3 and later, including all current snapshots. The mouse works fine on OpenBSD 4.0 to 4.2. The mouse behaves correctly when running 'od /dev/wsmouse' for a couple of seconds of use, and then it stops responding. It also doesn't respond if I leave the mouse alone for the couple of seconds and then try to use it. Running 'wsmoused -f' also shows the same behavior.
Long Story: I've been trying to find the differences in code between OpenBSD 4.2 and 4.3 regarding the mouse device. I've been using the CVS web interface to find the differences in those files. I haven't seen anything that seems relevant. I inserted several printf's into the kernel source using cscope to try and trace the flow of data from the device to kernel to user. So far, I haven't been able to really figure out the path. I'm guessing the flow somewhat follows bus_space_read_1 -> pckbcintr_internal -> pmsinput -> wsmouse_input. I've briefly scanned http://www.openbsd.org/papers/opencon06-drivers/index.html. I'd appreciate if someone could give me some pointers to try to solve the problem. Thanks. The files I've looked at are the following: /usr/src/sys/dev/wscons wsconsio.h wsevent.c wseventvar.h wsmouse.c wsmoused.h wsmousevar.h wsmux.c wsmuxvar.h /usr/src/sys/dev/pckbc pms.c pms_intelli.c pmsreg.h /usr/src/sys/dev/ic io8042reg.h pckbc.c pckbcvar.h /usr/src/sys/dev/isa pckbc_isa.c /usr/src/usr.sbin/wsmoused/ mouse_protocols.c mouse_protocols.h wsmoused.c wsmoused.h Here is my dmesg using snapshot 2/25/2010: OpenBSD 4.7-beta (GENERIC.MP) #424: Thu Feb 25 16:12:49 MST 2010 dera...@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC.MP RTC BIOS diagnostic error 80<clock_battery> cpu0: Intel(R) Atom(TM) CPU N280 @ 1.66GHz ("GenuineIntel" 686-class) 1.67 GHz cpu0: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,MWAIT,DS-CPL,EST,TM2,xTPR real mem = 1062260736 (1013MB) avail mem = 1020530688 (973MB) RTC BIOS diagnostic error 80<clock_battery> mainbus0 at root bios0 at mainbus0: AT/286+ BIOS, date 09/28/09, SMBIOS rev. 2.4 @ 0xe8240 (31 entries) bios0: vendor Acer version "V1.21" date 09/28/2009 bios0: Acer Aspire one acpi0 at bios0: rev 2 acpi0: tables DSDT FACP SSDT HPET APIC MCFG ASF! SLIC BOOT acpi0: wakeup devices UHC1(S3) UHC2(S3) UHC3(S3) UHC4(S3) ECHI(S3) ECH2(S3) EXP1(S4) EXP2(S4) EXP3(S4) EXP4(S4) AZAL(S0) MODM(S0) acpitimer0 at acpi0: 3579545 Hz, 24 bits acpihpet0 at acpi0: 14318179 Hz acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat cpu0 at mainbus0: apid 0 (boot processor) cpu0: apic clock running at 166MHz cpu1 at mainbus0: apid 1 (application processor) cpu1: Intel(R) Atom(TM) CPU N280 @ 1.66GHz ("GenuineIntel" 686-class) 1.67 GHz cpu1: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,MWAIT,DS-CPL,EST,TM2,xTPR ioapic0 at mainbus0: apid 4 pa 0xfec00000, version 20, 24 pins ioapic0: misconfigured as apic 0, remapped to apid 4 acpiprt0 at acpi0: bus 0 (PCI0) acpiprt1 at acpi0: bus 1 (EXP1) acpiprt2 at acpi0: bus 2 (EXP2) acpiprt3 at acpi0: bus 3 (EXP3) acpiprt4 at acpi0: bus 4 (EXP4) acpiec0 at acpi0 acpicpu0 at acpi0: C3, C2, C1, PSS acpicpu1 at acpi0: C3, C2, C1, PSS acpipwrres0 at acpi0: FN00 acpitz0 at acpi0: critical temperature 100 degC acpibtn0 at acpi0: PWRB acpibtn1 at acpi0: LID0 acpibtn2 at acpi0: SLPB acpibat0 at acpi0: BAT0 model "14132307362336085" type Lion oem "PANASONIC " acpiac0 at acpi0: AC unit offline acpivideo0 at acpi0: OVGA acpivout0 at acpivideo0: CRT1 acpivout1 at acpivideo0: DTV1 acpivout2 at acpivideo0: DFP1 acpivout3 at acpivideo0: LCD_ acpivout4 at acpivideo0: DTV2 acpivout5 at acpivideo0: DFP2 bios0: ROM list: 0xc0000/0xec00! cpu0: Enhanced SpeedStep 1663 MHz: speeds: 1333, 1066, 800 MHz pci0 at mainbus0 bus 0: configuration mode 1 (bios) pchb0 at pci0 dev 0 function 0 "Intel 82945GME Host" rev 0x03 vga1 at pci0 dev 2 function 0 "Intel 82945GME Video" rev 0x03 wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation) wsdisplay0: screen 1-5 added (80x25, vt100 emulation) intagp0 at vga1 agp0 at intagp0: aperture at 0x40000000, size 0x10000000 inteldrm0 at vga1: apic 4 int 16 (irq 11) drm0 at inteldrm0 "Intel 82945GM Video" rev 0x03 at pci0 dev 2 function 1 not configured azalia0 at pci0 dev 27 function 0 "Intel 82801GB HD Audio" rev 0x02: apic 4 int 16 (irq 11) azalia0: codecs: Realtek ALC272 audio0 at azalia0 ppb0 at pci0 dev 28 function 0 "Intel 82801GB PCIE" rev 0x02: apic 4 int 16 (irq 255) pci1 at ppb0 bus 1 athn0 at pci1 dev 0 function 0 "Atheros AR9281" rev 0x01: apic 4 int 16 (irq 11), address 0c:ee:e6:99:57:b5 athn0: AR9280 rev 2 (2T2R), ROM rev 22 ppb1 at pci0 dev 28 function 1 "Intel 82801GB PCIE" rev 0x02: apic 4 int 17 (irq 255) pci2 at ppb1 bus 2 ppb2 at pci0 dev 28 function 2 "Intel 82801GB PCIE" rev 0x02: apic 4 int 18 (irq 255) pci3 at ppb2 bus 3 alc0 at pci3 dev 0 function 0 "Attansic Technology L2C" rev 0xc0: apic 4 int 18 (irq 11), address 00:26:22:67:57:d0 atphy0 at alc0 phy 0: F1 10/100/1000 PHY, rev. 11 ppb3 at pci0 dev 28 function 3 "Intel 82801GB PCIE" rev 0x02: apic 4 int 19 (irq 255) pci4 at ppb3 bus 4 uhci0 at pci0 dev 29 function 0 "Intel 82801GB USB" rev 0x02: apic 4 int 16 (irq 11) uhci1 at pci0 dev 29 function 1 "Intel 82801GB USB" rev 0x02: apic 4 int 17 (irq 11) uhci2 at pci0 dev 29 function 2 "Intel 82801GB USB" rev 0x02: apic 4 int 18 (irq 11) uhci3 at pci0 dev 29 function 3 "Intel 82801GB USB" rev 0x02: apic 4 int 19 (irq 11) ehci0 at pci0 dev 29 function 7 "Intel 82801GB USB" rev 0x02: apic 4 int 16 (irq 11) usb0 at ehci0: USB revision 2.0 uhub0 at usb0 "Intel EHCI root hub" rev 2.00/1.00 addr 1 ppb4 at pci0 dev 30 function 0 "Intel 82801BAM Hub-to-PCI" rev 0xe2 pci5 at ppb4 bus 5 ichpcib0 at pci0 dev 31 function 0 "Intel 82801GBM LPC" rev 0x02: PM disabled ahci0 at pci0 dev 31 function 2 "Intel 82801GBM AHCI" rev 0x02: apic 4 int 17 (irq 11), AHCI 1.1 ahci0: PHY offline on port 2 scsibus0 at ahci0: 32 targets sd0 at scsibus0 targ 0 lun 0: <ATA, Hitachi HTS54502, PB2O> SCSI3 0/direct fixed sd0: 238475MB, 512 bytes/sec, 488397168 sec total ichiic0 at pci0 dev 31 function 3 "Intel 82801GB SMBus" rev 0x02: apic 4 int 17 (irq 11) iic0 at ichiic0 spdmem0 at iic0 addr 0x50: 1GB DDR2 SDRAM non-parity PC2-6400CL5 SO-DIMM usb1 at uhci0: USB revision 1.0 uhub1 at usb1 "Intel UHCI root hub" rev 1.00/1.00 addr 1 usb2 at uhci1: USB revision 1.0 uhub2 at usb2 "Intel UHCI root hub" rev 1.00/1.00 addr 1 usb3 at uhci2: USB revision 1.0 uhub3 at usb3 "Intel UHCI root hub" rev 1.00/1.00 addr 1 usb4 at uhci3: USB revision 1.0 uhub4 at usb4 "Intel UHCI root hub" rev 1.00/1.00 addr 1 isa0 at ichpcib0 isadma0 at isa0 pckbc0 at isa0 port 0x60/5 pckbd0 at pckbc0 (kbd slot) pckbc0: using irq 1 for kbd slot wskbd0 at pckbd0: console keyboard, using wsdisplay0 pms0 at pckbc0 (aux slot) pckbc0: using irq 12 for aux slot wsmouse0 at pms0 mux 0 pcppi0 at isa0 port 0x61 midi0 at pcppi0: <PC speaker> spkr0 at pcppi0 npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16 mtrr: Pentium Pro MTRR support uvideo0 at uhub0 port 2 configuration 1 interface 0 "Sonix Technology Co., Ltd. WebCam" rev 2.00/1.00 addr 2 video0 at uvideo0 vscsi0 at root scsibus1 at vscsi0: 256 targets softraid0 at root root on sd0a swap on sd0b dump on sd0b