nevermind, I found it there: http://ppa.launchpad.net/mactel-supp...ver-synaptics/
a quick grep on the diff revealed me that it effectively adds the relevant option. built it and it works like a charm. thanks for the assistance!
nevermind, I found it there: http://ppa.launchpad.net/mactel-supp...ver-synaptics/
a quick grep on the diff revealed me that it effectively adds the relevant option. built it and it works like a charm. thanks for the assistance!
Yes, the MultiFingerButton option has not made it all the way yet. That makes you the second documented penryn user. Great! Are you experiencing any flavor of the problem __alex__ is describing?
up till now, nothing like that.
all in all, it works like a charm. this module is really a much better solution than touchd, as I don't think this should belong to userspace, and it has no funky dependencies (openusb comes to mind). I like this KISS spirit, the ArchLinux way
Lovely, lovely. Then this is for alex: are you by any chance running touchd in the background? It would interfere with the device, in particular any device reset would confuse synaptics.
I looked into the device initialization a bit, trying to get rid of the need to blacklist usbhid. The current kernel seems to miss out on the mouse-ignore quirk for the MBA and Penryn (aka wellspring devices). These should be the right quirks to use in /etc/modprobe.d/options:
UPDATE: the quirk table above has been corrected according to succeeding posts.Code:# for MBA options usbhid quirks=0x05ac:0x0223:0x00020800,0x05ac:0x0224:0x00024800,0x05ac:0x0225:0x00020800 # for Penryn options usbhid quirks=0x05ac:0x0230:0x00020800,0x05ac:0x0231:0x00024800,0x05ac:0x0232:0x00020800
For those who compile their own kernel, here are the correct lines to use in drivers/hid/usbhid/hid-quirks.c:
With one of the two options above in effect, one can drop the usbhid from the /etc/modprobe.d/blacklist, and just add bcm5974 to /etc/modules.Code:{ USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_ANSI, HID_QUIRK_APPLE_HAS_FN | HID_QUIRK_IGNORE_MOUSE }, { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_ISO, HID_QUIRK_APPLE_HAS_FN | HID_QUIRK_APPLE_ISO_KEYBOARD | HID_QUIRK_IGNORE_MOUSE}, { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_JIS, HID_QUIRK_APPLE_HAS_FN | HID_QUIRK_IGNORE_MOUSE}, { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING2_ANSI, HID_QUIRK_APPLE_HAS_FN | HID_QUIRK_IGNORE_MOUSE}, { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING2_ISO, HID_QUIRK_APPLE_HAS_FN | HID_QUIRK_APPLE_ISO_KEYBOARD | HID_QUIRK_IGNORE_MOUSE }, { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING2_JIS, HID_QUIRK_APPLE_HAS_FN | HID_QUIRK_IGNORE_MOUSE },
Last edited by kosumi68; June 30th, 2008 at 10:43 AM.
Version 0.4 of the driver is out, adding the finger width reading to the synaptics interface: http://web.comhem.se/rydberg/Bits/.
The idea here is that given the finger size, one can determine if its a clean index finger, a bulky thumb, or the whole palm touching the trackpad. Based on this, one can determine what action should be taken. We all know how annoying it is to accidentally touch the trackpad while writing a mail, for instance.
Unfortunately, the palm detection feature of synaptics seems to be completely broken, so the palm feature will have to be turned off awaiting a fix to synaptics. These are the relevant settings in /etc/X11/xorg.conf:
Anyone feel like giving synaptics a treat, please go aheadCode:Option "PalmDetect" "0" Option "PalmMinWidth" "180" Option "PalmMinZ" "10"
PS: one can see the finger size reading running "sudo synclient -m 100". Pretty cool. DS.
Hello Henrik,
I messed around with xorg.conf, and the touchpad has not frozen on me in a couple of days. I think it had to do with an external mouse that I always had attached. I mapped the external mouse to "/dev/input/mice", and the touchpad to "/dev/psaux/" in xorg.conf, and that seems to have done it...
As for the dynamic quirks, it will work with the following modification:
Edit: see kosumi68's post above.
(HID_QUIRK_IGNORE_MOUSE is defined as 0x00020000 in hid.h)
Good work!
Edit: And it just locked up again This is running v0.41, but this time dmesg did capture something useful. The lockup happened right after I tried a two-finger right click, and the following messages appeared in dmesg:
After this, the touchpad button works, but the trackpad does not.Code:[ 885.095826] usb 5-2: USB disconnect, address 5 [ 885.152487] input: bcm5974 disconnected [ 885.218634] usb 5-2: new full speed USB device using uhci_hcd and address 6 [ 885.269833] usb 5-2: configuration #1 chosen from 1 choice [ 885.278812] input: Apple, Inc. Apple Internal Keyboard / Trackpad as /devices/pci0000:00/0000:00:1d.2/usb5/5-2/5-2:1.0/input/input16 [ 885.333494] input,hidraw1: USB HID v1.11 Keyboard [Apple, Inc. Apple Internal Keyboard / Trackpad] on usb-0000:00:1d.2-2 [ 885.615309] hidraw2: USB HID v1.11 Device [Apple, Inc. Apple Internal Keyboard / Trackpad] on usb-0000:00:1d.2-2 [ 885.621106] bcm5974: Wellspring mode initialized. [ 885.621217] input: bcm5974 as /devices/pci0000:00/0000:00:1d.2/usb5/5-2/5-2:1.2/input/input17
Last edited by _alex_; June 30th, 2008 at 02:07 AM.
Okay, I'm pretty sure I know what it is now. My macbook pro seems to suffer from this problem: http://discussions.apple.com/thread....5569&tstart=75
The flaky keyboard/trackpad connection causes the device to disconnect shortly (this explains the correlated keyboard and trackpad messages in dmesg), which causes the bcm5974 driver issues . I guess I'll have to bring my macbook in for repairs.
Ooops - your quirk table is exactly what I thought I tested, thanks for finding the problem
So your device reinitiates spontaneously? After the initialization, the synaptics driver most likely loses track of what device to read from - do you have the output of /var/log/Xorg* from the same time?
Last edited by kosumi68; June 30th, 2008 at 10:43 AM.
currently I'm using these quirks to make fn key work:
is the last part wrong? do you suggest I add 0x0225:0x00020800 at the end? do you suggest I add +0x00020000 to each value? could you give a short explanation of what it all means?Code:options usbhid quirks=0x05ac:0x0230:0x00000800,0x05ac:0x0231:0x00004800,0x05ac:0x0232:0x00000800
Sometimes the simplest things are the hardest - apparently alex' correction needs a correction, too Check my edited post for the (hopefully!) correct lines.
The quirks look very mysterious and woodoo-like, until one reads the kernel code. It is all about performing special tasks for particular devices, things that have not yet made it to the driver code. For instance "0x05ac:0x0232:0x00020800" means: "apple device penryn has the FN key and the mouse device should be ignored" (to be initialized by bcm5974). The difference between 0x0230, 0x0231 and 0x0232 is where the computer is manufactured (dont know much about the details). In principle, you should only need to use the code for your own device (found with the lsusb command).
Last edited by kosumi68; June 29th, 2008 at 09:54 PM. Reason: typo
Bookmarks