Ubuntu Forums ubuntu.com - launchpad.net - ubuntu help  

Go Back   Ubuntu Forums > The Ubuntu Forum Community > Main Support Categories > Apple Users
Register Reset Password Forum Help Forum Council Search Today's Posts Mark Forums Read

Apple Users
Discussions for users who are using Apple Intel or PPC based systems with Ubuntu.

 
Thread Tools Display Modes
Old June 25th, 2008   #1
kosumi68
Dipped in Ubuntu
 
Join Date: May 2008
Beans: 532
[SOLVED] New kernel driver for the BCM5974 touchpad (Macbook Air, Penryn)

UPDATED 25OCT2008

Apple USB BCM5974 (Macbook Air and Penryn Macbook Pro) multitouch driver

This driver adds support for the multitouch trackpad on the new
Apple Macbook Air and Macbook Pro Penryn laptops. It replaces the
appletouch driver on those computers, and integrates well with the
synaptics driver of the Xorg system.

Known to work on Macbook Air, Macbook Pro Penryn and the new Unibody
Macbook 5 and Macbook Pro 5.

Support for the latest Macbooks is not upstream yet, but available in the mactel PPA.
Make sure you have these lines in /etc/apt/sources.list:
Code:
deb http://ppa.launchpad.net/mactel-support/ubuntu intrepid main
deb-src http://ppa.launchpad.net/mactel-support/ubuntu intrepid main
When changing /etc/apt/sources.list, one needs to update:
Code:
sudo apt-get update
With the mactel PPA in place, install the bcm5974-dkms package
Code:
sudo apt-get install bcm5974-dkms
Enjoy!

For more information or troubleshooting, see http://bitmath.org/code/bcm5974-dkms/

Credit for finding out how to initialize the trackpad goes to Scott Shawcroft and the touchd user-space driver.

Last edited by kosumi68; November 15th, 2008 at 07:10 PM.. Reason: Summary and PPA pointers
kosumi68 is offline   Reply With Quote
Old June 25th, 2008   #2
kosumi68
Dipped in Ubuntu
 
Join Date: May 2008
Beans: 532
Re: New kernel driver for the BCM5974 touchpad (Macbook Air, Penryn)

A new version of the bcm5974 driver is out, yielding a somewhat more stable trackpad motion. Some of the secondary motions like hand resting on the trackpad and accidental swiping of the trackpad are mostly ignored, even though it could be improved further.

I am curious to hear if anyone managed to make it work on the Macbook Pro Penryn?
kosumi68 is offline   Reply With Quote
Old June 26th, 2008   #3
kosumi68
Dipped in Ubuntu
 
Join Date: May 2008
Beans: 532
Re: New kernel driver for the BCM5974 touchpad (Macbook Air, Penryn)

Edge scrolling does not mix very well with two-finger scrolling, I think. In either case, here are the exact trackpad dimensions of the bcm5974 driver:

Code:
        Option          "LeftEdge"              "0"
        Option          "RightEdge"             "1280"
        Option          "TopEdge"               "0"
        Option          "BottomEdge"            "800"
Setting the above lines in the /etc/X11/xorg.conf will in it self turn edge scrolling off, by leaving zero room around the edges. With my old settings, I experienced oddities like occasional corner taps; the new settings made that problem go away.
kosumi68 is offline   Reply With Quote
Old June 26th, 2008   #4
eddielgarcia
First Cup of Ubuntu
 
Join Date: May 2008
Location: Texas
Beans: 11
Ubuntu 9.04 Jaunty Jackalope
Send a message via Skype™ to eddielgarcia
Thumbs up Re: New kernel driver for the BCM5974 touchpad (Macbook Air, Penryn)

Not to sound ignorant but i am kinda new. Once this module has been appended to the kernel how does one go about and configure the touchpad device? Is there a .conf file somewhere or does a GUI app take care of that for you. I just appended it and I don't know how to determine its inner working. Thanks for any new info on this module.


Ed


MB Air 1.6 Ghz 2GB RAM and the works!!!!
eddielgarcia is offline   Reply With Quote
Old June 26th, 2008   #5
kosumi68
Dipped in Ubuntu
 
Join Date: May 2008
Beans: 532
Re: New kernel driver for the BCM5974 touchpad (Macbook Air, Penryn)

There is a nice introduction to synaptics configuration in the sticky thread on top of the page: http://ubuntuforums.org/showthread.php?t=493393

Did you get the driver working? What is the output of this command:

Code:
synclient -l
kosumi68 is offline   Reply With Quote
Old June 26th, 2008   #6
eddielgarcia
First Cup of Ubuntu
 
Join Date: May 2008
Location: Texas
Beans: 11
Ubuntu 9.04 Jaunty Jackalope
Send a message via Skype™ to eddielgarcia
Re: New kernel driver for the BCM5974 touchpad (Macbook Air, Penryn)

Hmmm maybe i did something wrong during the setup when i run the command given this is my output:


xxxx@xxxx-air:~$ synclient -l
Can't access shared memory area. SHMConfig disabled?


When I followed the above link I did not compile I went with the first option. Any ideas?

Ed
eddielgarcia is offline   Reply With Quote
Old June 27th, 2008   #7
kosumi68
Dipped in Ubuntu
 
Join Date: May 2008
Beans: 532
Re: New kernel driver for the BCM5974 touchpad (Macbook Air, Penryn)

It might be several different things:

1. The mouseemu module interfers with the touchpad motion, please stop it.

2. The bcm5974 might not be loaded properly (most likely case).

3. The usbhid and bcm5974 seems to compete to claim the device (hence the module ordering in the download instructions).

4. Something else, there are tips in this thread: http://ubuntuforums.org/showthread.php?t=795830

To test 2), unload the bcm5974 driver, load it again, and check the dmesg output. You should see these lines:

Code:
 usbcore: deregistering interface driver bcm5974
 input: bcm5974 disconnected
 bcm5974: Wellspring mode initialized.
 input: bcm5974 as /devices/[somepath]
 usbcore: registered new interface driver bcm5974
If the input: line does not appear, the device could not be claimed, suggesting some other module got to it first. If the wellspring mode is not initialized, the device could not be found, meaning the device detection failed. It would be very helpful if you can provide the usb details of your machine:

Code:
sudo lsusb -v | grep -B1 idProduct

Last edited by kosumi68; June 27th, 2008 at 04:41 AM.. Reason: typo
kosumi68 is offline   Reply With Quote
Old June 27th, 2008   #8
eddielgarcia
First Cup of Ubuntu
 
Join Date: May 2008
Location: Texas
Beans: 11
Ubuntu 9.04 Jaunty Jackalope
Send a message via Skype™ to eddielgarcia
Talking Re: New kernel driver for the BCM5974 touchpad (Macbook Air, Penryn)

Here is the output of sudo lsusb -v | grep -B1 idProduct

idVendor 0x05ac Apple Computer, Inc.
idProduct 0x8505
--
idVendor 0x0000
idProduct 0x0000
--
idVendor 0x0000
idProduct 0x0000
--
idVendor 0x05ac Apple Computer, Inc.
idProduct 0x0223
--
idVendor 0x05ac Apple Computer, Inc.
idProduct 0x8242
--
idVendor 0x0000
idProduct 0x0000
--
idVendor 0x0000
idProduct 0x0000
--
idVendor 0x05ac Apple Computer, Inc.
idProduct 0x820b
--
idVendor 0x05ac Apple Computer, Inc.
idProduct 0x820a
--
idVendor 0x05ac Apple Computer, Inc.
idProduct 0x8210
--
idVendor 0x0a5c Broadcom Corp.
idProduct 0x4500
--
idVendor 0x0000
idProduct 0x0000
--
idVendor 0x0000
idProduct 0x0000
--
idVendor 0x0000
idProduct 0x0000


Here you go I will attempt to unload and redo steps let me know if you see anything.

More Info:
I places this entry in my blacklist:
# put in place to support touchpad driver macbook air
usbhid


This in my entry in modules:

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.

fuse
lp
ndiswrapper
usbnet
patasix
bcm5974
usbhid
eddielgarcia is offline   Reply With Quote
Old June 27th, 2008   #9
kosumi68
Dipped in Ubuntu
 
Join Date: May 2008
Beans: 532
Re: New kernel driver for the BCM5974 touchpad (Macbook Air, Penryn)

From the looks of it, you have a macbook air, and the same module loading order as in my setup. I am very curious as to what your dmesg says as you unload and reload the bcm5974 driver.

UPDATE: the post above should read "blacklist usbhid", as explained in succeeding posts.

Last edited by kosumi68; June 30th, 2008 at 05:36 PM..
kosumi68 is offline   Reply With Quote
Old June 27th, 2008   #10
eddielgarcia
First Cup of Ubuntu
 
Join Date: May 2008
Location: Texas
Beans: 11
Ubuntu 9.04 Jaunty Jackalope
Send a message via Skype™ to eddielgarcia
Re: New kernel driver for the BCM5974 touchpad (Macbook Air, Penryn)

To "unload the module" do I just remove the file that I added into the kernel directory and depmod again? What exactly is the procedure for "removal". I will try both and output the dmesg when I do that.
eddielgarcia is offline   Reply With Quote

Bookmarks

Tags
driver, macbook air, macbook pro 4.1, multitouch, penryn, synaptics, touchpad

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 10:11 PM.


vBulletin ©2000 - 2010, Jelsoft Enterprises Ltd. Ubuntu Logo, Ubuntu and Canonical © Canonical Ltd. Tango Icons © Tango Desktop Project. bilberry