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:
(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.