NetBSD Problem Report #35486

From www@NetBSD.org  Fri Jan 26 16:59:30 2007
Return-Path: <www@NetBSD.org>
Received: by narn.NetBSD.org (Postfix, from userid 31301)
	id 6D94763B8AD; Fri, 26 Jan 2007 16:59:30 +0000 (UTC)
Message-Id: <20070126165930.6D94763B8AD@narn.NetBSD.org>
Date: Fri, 26 Jan 2007 16:59:30 +0000 (UTC)
From: e66@citromail.hu
Reply-To: e66@citromail.hu
To: gnats-bugs@NetBSD.org
Subject: Synaptics wheel doesn't work
X-Send-Pr-Version: www-1.0

>Number:         35486
>Notify-List:    uwe@NetBSD.org
>Category:       port-i386
>Synopsis:       Synaptics wheel doesn't work
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    port-i386-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Jan 26 17:00:00 +0000 2007
>Closed-Date:    
>Last-Modified:  Mon Jul 16 17:57:59 +0000 2007
>Originator:     Gábris Gábor
>Release:        3.1
>Organization:
>Environment:
>Description:
I cannot use my (Synaptics) touchpad's wheel function.

Relevant part of dmesg:

 pckbc0 at isa0 port 0x60-0x64
 pckbd0 at pckbc0 (kbd slot)
 pckbc0: using irq 1 for kbd slot
 wskbd0 at pckbd0: console keyboard, using wsdisplay0
 pms0 at pckbc0 (aux slot)
 pms0: Synaptics touchpad version 6.3
 pms0: Up/down buttons, Palm detect, Multi-finger
 pckbc0: using irq 12 for aux slot
 wsmouse0 at pms0 mux 0

In the kernel config I have:

 options         PMS_SYNAPTICS_TOUCHPAD (nothing else changed in GENERIC kernel)

XF86Config, InputDevice section:

 Section "InputDevice"

 # Identifier and driver

    Identifier  "Mouse1"
    Driver      "mouse"
    Option "Protocol"    "wsmouse"
    Option "Device"      "/dev/wsmouse"
    Option      "ZAxisMapping"  "4 5"

I tried to tweak sysctl settings of pms driver:

 hw.synaptics.up_down_emulation={0|1|2} - none of the three values 
worked
 hw.synaptics.up_down_motion_delta - tried to set it from 1->10 then 10->100 no change
 hw.synaptics.edge_left
 hw.synaptics.edge_right
 hw.synaptics.edge_top
 hw.synaptics.edge_bottom - tried to set them according to the values from a working xorg.conf from linux.


Full dmesg:

NetBSD 3.1 (TPKERNEL) #0: Tue Jan 23 23:32:41 CET 2007
       root@.E-tech:/usr/src/sys/arch/i386/compile/TPKERNEL
total memory = 446 MB
avail memory = 428 MB
BIOS32 rev. 0 found at 0xfd6f0
mainbus0 (root)
cpu0 at mainbus0: (uniprocessor)
cpu0: Intel Pentium Pro, II or III (686-class), 1596.18 MHz, id 0x6e8
cpu0: features afe9fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
cpu0: features afe9fbff<PGE,MCA,CMOV,PAT,CFLUSH,DS,ACPI,MMX>
cpu0: features afe9fbff<FXSR,SSE,SSE2,SS,TM,SBF>
cpu0: features2 c109<SSE3,MONITOR,TM2,xTPR>
cpu0: "Intel(R) Celeron(R) M CPU        420  @ 1.60GHz"
cpu0: I-cache 32 KB 64B/line 8-way, D-cache 32 KB 64B/line 8-way
cpu0: running without thermal monitor!
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0
pchb0: VIA Technologies product 0x0314 (rev. 0x00)
agp0 at pchb0: aperture at 0xe0000000, size 0xf500000
pchb1 at pci0 dev 0 function 1
pchb1: VIA Technologies product 0x1314 (rev. 0x00)
pchb2 at pci0 dev 0 function 2
pchb2: VIA Technologies product 0x2314 (rev. 0x00)
pchb3 at pci0 dev 0 function 3
pchb3: VIA Technologies product 0x3208 (rev. 0x00)
pchb4 at pci0 dev 0 function 4
pchb4: VIA Technologies product 0x4314 (rev. 0x00)
pchb5 at pci0 dev 0 function 7
pchb5: VIA Technologies product 0x7314 (rev. 0x00)
ppb0 at pci0 dev 1 function 0: VIA Technologies VT8377CE CPU-AGP
Bridge (rev. 0x00)
pci1 at ppb0 bus 1
pci1: i/o space, memory space enabled
vga1 at pci1 dev 0 function 0: VIA Technologies product 0x3344 (rev. 0x01)
wsdisplay0 at vga1 kbdmux 1: console (80x25, vt100 emulation)
wsmux1: connecting to wsdisplay0
cbb0 at pci0 dev 14 function 0: ENE Technology product 0x1412 (rev. 0x10)
cbb0: NOT USED because of unconfigured interrupt
ENE Technology product 0x0530 (flash memory, revision 0x01) at pci0
dev 14 function 1 not configured
ENE Technology product 0x0550 (system subclass 0x05, interface 0x01,
revision 0x01) at pci0 dev 14 function 2 not configured
ENE Technology product 0x0551 (flash memory, revision 0x01) at pci0
dev 14 function 4 not configured
viaide0 at pci0 dev 15 function 0
viaide0: VIA Technologies VT8237 SATA Controller (rev. 0x80)
viaide0: bus-master DMA support present
viaide0: primary channel configured to native-PCI mode
viaide0: using irq 10 for native-PCI interrupt
atabus0 at viaide0 channel 0
viaide0: secondary channel configured to native-PCI mode
atabus1 at viaide0 channel 1
viaide1 at pci0 dev 15 function 1
viaide1: VIA Technologies VT8237 ATA133 controller
viaide1: bus-master DMA support present
viaide1: primary channel configured to compatibility mode
viaide1: primary channel interrupting at irq 14
atabus2 at viaide1 channel 0
viaide1: secondary channel configured to compatibility mode
viaide1: secondary channel interrupting at irq 15
atabus3 at viaide1 channel 1
uhci0 at pci0 dev 16 function 0: VIA Technologies VT83C572 USB
Controller (rev. 0x81)
uhci0: interrupting at irq 9
usb0 at uhci0: USB revision 1.0
uhub0 at usb0
uhub0: VIA Technologies UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1 at pci0 dev 16 function 1: VIA Technologies VT83C572 USB
Controller (rev. 0x81)
uhci1: interrupting at irq 9
usb1 at uhci1: USB revision 1.0
uhub1 at usb1
uhub1: VIA Technologies UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2 at pci0 dev 16 function 2: VIA Technologies VT83C572 USB
Controller (rev. 0x81)
uhci2: interrupting at irq 10
usb2 at uhci2: USB revision 1.0
uhub2 at usb2
uhub2: VIA Technologies UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
uhci3 at pci0 dev 16 function 3: VIA Technologies VT83C572 USB
Controller (rev. 0x81)
uhci3: interrupting at irq 10
usb3 at uhci3: USB revision 1.0
uhub3 at usb3
uhub3: VIA Technologies UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub3: 2 ports with 2 removable, self powered
ehci0 at pci0 dev 16 function 4: VIA Technologies VT8237 EHCI USB
Controller (rev. 0x86)
ehci0: interrupting at irq 7
ehci0: BIOS refuses to give up ownership, using force
ehci0: EHCI version 1.0
ehci0: companion controllers, 2 ports each: uhci0 uhci1 uhci2 uhci3
usb4 at ehci0: USB revision 2.0
uhub4 at usb4
uhub4: VIA Technologie EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub4: single transaction translator
uhub4: 8 ports with 8 removable, self powered
pcib0 at pci0 dev 17 function 0
pcib0: VIA Technologies VT8237 (Apollo KT600) PCI-ISA Bridge (rev. 0x00)
auvia0 at pci0 dev 17 function 5: VIA Technologies VT8237 AC'97 Audio (rev 0x60)
auvia0: interrupting at irq 7
auvia0: ac97: VIA Technologies unknown (0x56494123) codec; 18 bit DAC,
18 bit ADC, no 3D stereo
auvia0: ac97: ext id 807<AC97_23,SPDIF,DRA,VRA>
audio0 at auvia0: full duplex, mmap, independent
VIA Technologies VT82C686A MC-97 Modem Controller (miscellaneous
communications, revision 0x80) at pci0 dev 17 function 6 not
configured
vr0 at pci0 dev 18 function 0: VIA VT6102 (Rhine II) 10/100 Ethernet
vr0: interrupting at irq 9
vr0: Ethernet address: 00:90:f5:55:49:7d
ukphy0 at vr0 phy 1: Generic IEEE 802.3u media interface
ukphy0: OUI 0x0002c6, model 0x0032, rev. 10
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
isa0 at pcib0
pckbc0 at isa0 port 0x60-0x64
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pms0 at pckbc0 (aux slot)
pms0: Synaptics touchpad version 6.3
pms0: Up/down buttons, Palm detect, Multi-finger
pckbc0: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: PC speaker
sysbeep0 at pcppi0
isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
npx0 at isa0 port 0xf0-0xff: using exception 16
isapnp0: no ISA Plug 'n Play devices found
Kernelized RAIDframe activated
atapibus0 at atabus2: 2 targets
cd0 at atapibus0 drive 0: <PHILIPS DVD+/-RW SDVD8820, , AX04> cdrom removable
cd0: 32-bit data port
cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2 (Ultra/33)
cd0(viaide1:0:0): using PIO mode 4, Ultra-DMA mode 2 (Ultra/33) (using DMA)
wd0 at atabus3 drive 0: <SAMSUNG HM060HC>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 57241 MB, 116301 cyl, 16 head, 63 sec, 512 bytes/sect x 117231408 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
wd0(viaide1:1:0): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using DMA)
boot device: wd0
root on wd0a dumps on wd0b
root file system type: ffs
wsdisplay0: screen 1 added (80x25, vt100 emulation)
wsdisplay0: screen 2 added (80x25, vt100 emulation)
wsdisplay0: screen 3 added (80x25, vt100 emulation)
wsdisplay0: screen 4 added (80x25, vt100 emulation)
>How-To-Repeat:

>Fix:

>Release-Note:

>Audit-Trail:
From: "Valeriy E. Ushakov" <uwe@NetBSD.org>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: port-i386/35486
Date: Fri, 26 Jan 2007 20:43:30 +0300

 Can you try synapticsreg.h rev 1.5?  The relevant change is:

 @@ -49,7 +51,7 @@

  /* Capability bits. */
  #define SYNAPTICS_CAP_EXTENDED		(1 << 15)
 -#define SYNAPTICS_CAP_EXTNUM		(1 << 14 | 1 << 13)
 +#define SYNAPTICS_CAP_EXTNUM		(1 << 14 | 1 << 13 | 1 << 12)
  #define SYNAPTICS_CAP_MBUTTON		(1 << 10)
  #define SYNAPTICS_CAP_PASSTHROUGH	(1 << 7)
  #define SYNAPTICS_CAP_SLEEP		(1 << 4)


 Because of this bug the code in synaptics.c that checks 

     /* Ask about extra buttons to detect up/down. */
     if (sc->caps & SYNAPTICS_CAP_EXTNUM) ...

 would always miss presense of extra buttons.

 I've found this recently just by inspection.  If that fixes the
 problem for you I'll request pull-ups.

 Thanks.

 -uwe

State-Changed-From-To: open->feedback
State-Changed-By: uwe@netbsd.org
State-Changed-When: Sat, 27 Jan 2007 22:51:22 +0000
State-Changed-Why:
There was a bug in register definitions.  Fixed in current.
I think this should fix extra button detection.


From: "=?ISO-8859-2?Q?G=E1bris_G=E1bor?=" <e66@citromail.hu>
To: <gnats-bugs@netbsd.org>
Cc: 
Subject: Re: port-i386/35486 (Synaptics wheel doesn't work)
Date: Sun, 28 Jan 2007 00:50:44 +0100

 _________________________________________
 H=EDrkeres=F5 TOP50 h=EDr - Bulv=E1rh=EDrek, szt=E1rpletyk=E1k =E9s a nap t=
 =F6rt=E9n=E9sei itt: KLIKK IDE! - http://www.hirkereso.hu/top50

From: "=?ISO-8859-1?Q?G=E1bor_G=E1bris?=" <gabrisgabor@gmail.com>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: port-i386/35486 (Synaptics wheel doesn't work)
Date: Sun, 28 Jan 2007 11:40:16 +0100

 Sorry for the previous post, my e-mail system is not the best..

 I tried to replace my synapticsreg.h (rev. 1.3) to revision 1.5,
 recompiled the kernel (GENERIC only uncommented options
 PMS_SYNAPTICS_TOUCHPAD), installed the new kernel, but no change. xev
 reports only MotionNotify events when I try to use the wheel part of
 the touchpad, not ButtonPress and ButtonRelease events.

 As I am relatively new NetBSD user, maybe my other configuration
 settings are improper. Should I use use wsmoused or that is only for
 console? Or should I tweak X config, like options "Emulate3Buttns" or
 "ZAxisMapping"?

 thanks

 Gabris Gabor

From: "=?ISO-8859-1?Q?G=E1bor_G=E1bris?=" <gabrisgabor@gmail.com>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: port-i386/35486 (Synaptics wheel doesn't work)
Date: Sun, 28 Jan 2007 21:47:00 +0100

 I examined the output of xev on FreeBSD and it said that vertical scrolling
 is mapped on buttons 4 and 5, while horizontal scrolling is on buttons 6 and
 7. But that was with the /dev/psm0 and X.org+synaptics driver for X, what is
 (if I understand it properly) a bit different approach to the problem than
 NetBSD's..

State-Changed-From-To: feedback->open
State-Changed-By: uwe@netbsd.org
State-Changed-When: Mon, 29 Jan 2007 13:56:19 +0000
State-Changed-Why:
My theory was wrong.


From: "Valeriy E. Ushakov" <uwe@stderr.spb.ru>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: port-i386/35486
Date: Mon, 29 Jan 2007 16:55:49 +0300

 On Fri, Jan 26, 2007 at 20:43:30 +0300, Valeriy E. Ushakov wrote:

 > -#define SYNAPTICS_CAP_EXTNUM		(1 << 14 | 1 << 13)
 > +#define SYNAPTICS_CAP_EXTNUM		(1 << 14 | 1 << 13 | 1 << 12)


 Ok, I that would have been too simple.  The dmesg with debug enabled
 shows:

 pms0 at pckbc0 (aux slot)
 pms0: Synaptics touchpad version 6.3
 pms0: synaptics_probe: Capabilities 0xa013.
 pms0: synaptics_probe: Extended Capabilities 0x40.
 pms0: Up/down buttons, Palm detect, Multi-finger


 So as this newer touchpad reports nExtendeQueries = 2, it was not
 affected by the incorrect bitmask.  This is likely a genuine bug in
 protocol decoding.

 -uwe

From: "Valeriy E. Ushakov" <uwe@NetBSD.org>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: port-i386/35486
Date: Mon, 29 Jan 2007 19:20:32 +0300

 > pms0 at pckbc0 (aux slot)
 > pms0: Synaptics touchpad version 6.3
 > pms0: synaptics_probe: Capabilities 0xa013.
 > pms0: synaptics_probe: Extended Capabilities 0x40.
 > pms0: Up/down buttons, Palm detect, Multi-finger

 Device reports 4 extra buttons (upper nibble of "Extended Capabilities
 0x40", and yes the debugging printf is misnamed), but the driver only
 knows how to handle two extra buttons: see "New up/down button" case
 that only checks the least significant bit in psc->packet[] bytes 4
 and 5.

 New touchpads encode up to 8 extra buttons in low order nibbles of
 those bytes.  Driver should remember the number of extra buttons
 reported by the device to know how many low order bits of
 psc->packet[] bytes 4 and 5 to look at.

 -uwe

>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2014 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.