Page 1 of 2 12 LastLast
Results 1 to 10 of 287

Thread: [SOLVED] New kernel driver for the BCM5974 touchpad (Macbook Air, Penryn)

Hybrid View

  1. #1
    Join Date
    May 2008
    Beans
    745

    [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 16th, 2008 at 12:10 AM. Reason: Summary and PPA pointers

  2. #2
    Join Date
    May 2008
    Beans
    745

    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?

  3. #3
    Join Date
    May 2008
    Beans
    745

    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.

  4. #4
    Join Date
    May 2008
    Location
    Texas
    Beans
    13
    Distro
    Ubuntu 9.04 Jaunty Jackalope

    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!!!!

  5. #5
    Join Date
    May 2008
    Beans
    745

    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

  6. #6
    Join Date
    May 2008
    Location
    Texas
    Beans
    13
    Distro
    Ubuntu 9.04 Jaunty Jackalope

    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

  7. #7
    Join Date
    Dec 2007
    Beans
    61

    Re: New kernel driver for the BCM5974 touchpad (Macbook Air, Penryn)

    Quote Originally Posted by kosumi68 View Post
    I am curious to hear if anyone managed to make it work on the Macbook Pro Penryn?
    Hello Henrik,

    I'm currently using BCM5974 version 0.3 on a Macbook Pro 4,1 (penryn, touchpad device id is 0x230). It seems to work quite well now. I can scroll with two fingers, and right click with two-finger+mouse click. Tap to click doesn't seem to work; also unless I use the tip of my finger to move the mouse, it begins to scroll instead (probably need to adjust the sensitivity...)

    It also stops working after a while, and I'm not sure why... The last thing I see in dmesg is:
    Code:
    [ 1404.650701] hidraw2: USB HID v1.11 Device [Apple, Inc. Apple Internal Keyboard / Trackpad] on usb-0000:00:1d.2-2
    [ 1404.656488] bcm5974: Wellspring mode initialized.
    [ 1404.656596] input: bcm5974 as /devices/pci0000:00/0000:00:1d.2/usb5/5-2/5-2:1.2/input/input19
    Great work though, I think once the kinks are ironed out it's probably going to be the best short term solution (at least until touchd becomes more mature, or the synaptics driver is extended with more advanced multitouch stuff).

    Alex

  8. #8
    Join Date
    May 2008
    Beans
    745

    Re: New kernel driver for the BCM5974 touchpad (Macbook Air, Penryn)

    Great, thanks for trying it out! The finger-starts-to-scroll is the FingerPress option of synaptics; the 0.3 version reported a bit too sensitive pressure information. Version 0.31 remedies that. These are my pressure settings in synaptics:

    Code:
            Option          "FingerLow"             "16"
            Option          "FingerHigh"            "23"
            Option          "FingerPress"           "256"
    The tap click works: I normally run without it, but these are my settings for tapping:

    Code:
            Option          "MaxTapMove"            "100"
            Option          "MaxTapTime"            "223"
            Option          "MaxDoubleTapTime"      "200"
            Option          "TapButton2"            "3"
            Option          "TapButton3"            "2"
            #Option          "TapButton1"            "0"
    
            # not using corner buttons
            Option          "RTCornerButton"         "0"
            Option          "RBCornerButton"         "0"
            Option          "LTCornerButton"         "0"
            Option          "LBCornerButton"         "0"
    Also, it is important to set the dimensions of the device as in a previous post in this thread.

    In what way does it stop working?
    Last edited by kosumi68; June 28th, 2008 at 03:18 AM. Reason: typos

  9. #9
    Join Date
    Dec 2007
    Beans
    61

    Re: New kernel driver for the BCM5974 touchpad (Macbook Air, Penryn)

    I can confirm that 0.31 fixes single finger scrolling. Tap click also works with the changes you described (I use your xorg settings on http://web.comhem.se/rydberg/Bits/xorg-settings.html, save for the midifications for tap clicking).

    The mouse stops moving. The mouse button still works, and bcm5974 is still listed in "lsmod". Restarting X fixes the issue. Let me know if there's any other info I should get for you to help you debug this.

  10. #10
    Join Date
    May 2008
    Location
    Texas
    Beans
    13
    Distro
    Ubuntu 9.04 Jaunty Jackalope

    Talking Re: New kernel driver for the BCM5974 touchpad (Macbook Air, Penryn)

    I think the issue with my touchpad device has been fixed. Once I blacklisted that one driver correctly my touchpad began to work, but when I also used the xorg.conf setting as seen online my touchpad: lost all secondary functionality, and it seemed as if the standard mouse driver was running. Going to dry disabling some options to see if that remedies my situation! Thanks for your help this is what helps the ubuntu family grow!

    Ed

Page 1 of 2 12 LastLast

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •