You are not logged in.

#1 2008-07-01 22:39:50

lloeki
Member
From: France
Registered: 2007-02-20
Posts: 456
Website

macbook air/macbook pro penryn touchpad (bcm5974)

I've made a PKGBUILD for this driver (which replaces touchd). I will make it available, along with a repo with some prebuilt packages.

see the home page for details, here: http://web.comhem.se/rydberg/Bits/
development thread is here: http://ubuntuforums.org/showthread.php?t=840040


To know recursion, you must first know recursion.

Offline

#2 2008-07-21 08:03:20

lloeki
Member
From: France
Registered: 2007-02-20
Posts: 456
Website

Re: macbook air/macbook pro penryn touchpad (bcm5974)

bcm5974 package:

PKGBUILD

# by lloeki

pkgname=bcm5974
pkgver=0.57
_kernver='2.6.25-ARCH'
pkgrel=1
pkgdesc="Touchpad driver for Macbook Air and Pro Penryn"
arch=('i686' 'x86_64')
[ "$CARCH" = "i686"   ] && ARCH=x86
[ "$CARCH" = "x86_64" ] && ARCH=x86_64
url="http://web.comhem.se/rydberg/Bits/"
depends=('kernel26>=2.6.24.19-1' 'kernel26<2.6.27-0')
license=('custom')
install=bcm5974.install
source=(http://web.comhem.se/rydberg/Bits/bcm5974-${pkgver}-src.zip usbhid_macbook08)
backup=(etc/modprobe.d/usbhid_macbook08)
#md5sums=('e7aaca79c846e34cfe8111040bfee2d0')
#[ "$CARCH" = "x86_64" ] && md5sums=('843a1e8bc1923ba2e4b60f6fab31ad3b')

build()
{
  # Extract
  cd $startdir/src/
  cd bcm5974

  rm *.o *.ko  
  make -C /lib/modules/${_kernver}/build M=$PWD modules || return 1
  
  # install kernel module
  mkdir -p $startdir/pkg/lib/modules/${_kernver}/kernel/drivers/input/mouse
  install -m644 bcm5974.ko $startdir/pkg/lib/modules/${_kernver}/kernel/drivers/input/mouse

  mkdir -p $startdir/pkg/etc/modprobe.d
  install -m644 $startdir/src/usbhid_macbook08 $startdir/pkg/etc/modprobe.d
 
}

usbhid_macbook08

# for macbook pro penryn
#options usbhid quirks=0x05ac:0x0230:0x00020800,0x05ac:0x0231:0x00024800,0x05ac:0x0232:0x00020800

# for macbook air
#options usbhid quirks=0x05ac:0x0223:0x00020800,0x05ac:0x0224:0x00024800,0x05ac:0x0225:0x00020800

bc5974.install

# arg 1:  the new package version
post_install() {
  KERNEL_VERSION='2.6.25-ARCH'
  depmod -v $KERNEL_VERSION  > /dev/null 2>&1
  echo "Be sure to uncomment the relevant line for your macbook in /etc/modprobe.d/usbhid_macbook08."
  echo "Also, if you have usbinput in HOOKS, add '/etc/modprobe.d/usbhid_macbook08' to FILES in /etc/mkinitcpio.conf, and regenerate your kernel with mkinitcpio -p kernel26."
  echo "If you forget it, bcm5974 won't be able to claim the device as usbhid will have grabbed it beforehand."
}

# arg 1:  the new package version
# arg 2:  the old package version
post_upgrade() {
  post_install $1
  echo 'Think of reloading the module to complete the upgrade.'
}

# arg 1:  the old package version
post_remove() {
  KERNEL_VERSION='2.6.25-ARCH'
  depmod -v $KERNEL_VERSION     > /dev/null 2>&1     
}

Last edited by lloeki (2008-07-21 08:03:52)


To know recursion, you must first know recursion.

Offline

#3 2008-07-21 08:06:05

lloeki
Member
From: France
Registered: 2007-02-20
Posts: 456
Website

Re: macbook air/macbook pro penryn touchpad (bcm5974)

synaptics-mactel package, required to get multitouch support in X:

PKGBUILD

# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
# Maintainer: Tobias Powalowski  <tpowa@archlinux.org>
# Contributor: Thomas Bächler <thomas@archlinux.org>
# Contributor: Alexander Baldeck <alexander@archlinux.org>
pkgname=synaptics-mactel
pkgver=0.14.7
pkgrel=2
pkgdesc="synaptics driver for notebook touchpads"
arch=(i686 x86_64)
url="http://w1.894.telia.com/~u89404340/touchpad/"
depends=('libxext' 'libx11')
makedepends=('pkgconfig' 'xorg-server')
provides=('synaptics')
replaces=('synaptics')
source=(http://ppa.launchpad.net/mactel-support/ubuntu/pool/main/x/xfree86-driver-synaptics/xfree86-driver-synaptics_0.14.7~git20070706.orig.tar.gz \
http://ppa.launchpad.net/mactel-support/ubuntu/pool/main/x/xfree86-driver-synaptics/xfree86-driver-synaptics_0.14.7~git20070706-mactel1.diff.gz)
install="synaptics.install"

build() {
  cd ${startdir}/src/xfree86-driver-synaptics_0.14.7~git20070706.orig
  patch -Np1 -i ${startdir}/src/xfree86-driver-synaptics_0.14.7~git20070706-mactel1.diff || return 1
  # make synaptics play nice with pixman and it's -1
  sed -i -e 's:ALLINCLUDES = :ALLINCLUDES = -I/usr/include/pixman-1 :g' Makefile

  make BUILD_MODULAR=y || return 1
  make DESTDIR=${startdir}/pkg/ \
       BINDIR=${startdir}/pkg/usr/bin \
       MANDIR=${startdir}/pkg/usr/man/ install
}

To know recursion, you must first know recursion.

Offline

#4 2008-10-23 07:07:15

meqif
Member
From: Portugal
Registered: 2006-12-16
Posts: 60
Website

Re: macbook air/macbook pro penryn touchpad (bcm5974)

The driver (bcm5974) has been merged to the latest kernel (2.6.27).

lloeki, would you mind uploading your synaptics-mactel package to AUR? smile I can do it if you don't want to. Thank you for the package, btw.


Ricardo Martins ><>< ricardomartins.cc ><>< GPG key: 0x1308F1B4

Offline

#5 2009-07-02 22:04:30

Veovis Muad'dib
Member
Registered: 2009-06-12
Posts: 43

Re: macbook air/macbook pro penryn touchpad (bcm5974)

I have no input at all coming from my trackpad, it's a macbook pro 4,1 (penryn).  I have absolutely no idea what to do here, I tried saving the PKGBUILD to a local directory and running makepkg on it, and it gave me an error:

==> ERROR: Install scriptlet (synaptics.install) does not exist.

Any help here?

EDIT: I was trying the second PKGBUILD, since it was mentioned that the first was incorporated into the kernel.

Last edited by Veovis Muad'dib (2009-07-02 22:05:53)

Offline

Board footer

Powered by FluxBB