Page 1 of 29 12311 ... LastLast
Results 1 to 10 of 287

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

  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
    May 2008
    Beans
    745

    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 09:41 AM. Reason: typo

  8. #8
    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)

    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

  9. #9
    Join Date
    May 2008
    Beans
    745

    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 10:36 PM.

  10. #10
    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)

    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.

Page 1 of 29 12311 ... 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
  •