From 563dae29cd97e8ab1428a4827bdef557ee6fd235 Mon Sep 17 00:00:00 2001 From: Henrik Rydberg Date: Wed, 8 Oct 2008 23:13:06 +0200 Subject: Initial import of bcm5974-0.42. Changelog from the absolute beginning: bcm5974 (0.42) unstable; urgency=low * First button click registered. * Hooks pre/post-reset added. -- Henrik Rydberg Tue, 01 Jul 2008 20:59:39 +0200 bcm5974 (0.41) unstable; urgency=low * The reset_resume kernel function added. -- Henrik Rydberg Sun, 29 Jun 2008 20:59:39 +0200 bcm5974 (0.4) unstable; urgency=low * Both finger pressure and width reported. -- Henrik Rydberg Sun, 29 Jun 2008 18:59:39 +0200 bcm5974 (0.31) unstable; urgency=low * Administrative changes for kernel.org. -- Henrik Rydberg Fri, 27 Jun 2008 20:59:39 +0200 bcm5974 (0.3) unstable; urgency=low * Explicit device structure, use all packages. -- Henrik Rydberg Fri, 27 Jun 2008 18:59:39 +0200 bcm5974 (0.23) unstable; urgency=low * Finger release not reported properly. -- Henrik Rydberg Fri, 27 Jun 2008 17:59:39 +0200 bcm5974 (0.22) unstable; urgency=low * ABS coordinates more stable with synaptics. -- Henrik Rydberg Thu, 26 Jun 2008 20:59:39 +0200 bcm5974 (0.21) unstable; urgency=low * Fixed the relative coordinate scaling. -- Henrik Rydberg Wed, 25 Jun 2008 20:59:39 +0200 bcm5974 (0.2) unstable; urgency=low * Misinterpreted pressure input, noise reduction. -- Henrik Rydberg Wed, 25 Jun 2008 20:59:39 +0200 bcm5974 (0.1) unstable; urgency=low * First version. -- Henrik Rydberg Tue, 24 Jun 2008 20:59:39 +0200 --- bcm5974-diagnostics | 203 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 203 insertions(+) create mode 100755 bcm5974-diagnostics (limited to 'bcm5974-diagnostics') diff --git a/bcm5974-diagnostics b/bcm5974-diagnostics new file mode 100755 index 0000000..fa6a4ef --- /dev/null +++ b/bcm5974-diagnostics @@ -0,0 +1,203 @@ +#!/bin/bash +# +# bcm5943-diagnostics - troubleshooting the BCM5974 setup +# +# Copyright (C) 2008 Henrik Rydberg (rydberg@euromail.se) +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# + +DRIVER=bcm5974 + +echo ----------------------------------------------------------------------- + +# What kernel version am I running? +KERNEL=`uname -r` +echo \* Kernel version: $KERNEL + +# What synaptics version is installed (debian)? +if [ -x /usr/bin/dpkg-query ]; then + SYNAPTICS=`/usr/bin/dpkg-query -W -f='${Version}\n' xserver-xorg-input-synaptics` + echo \* Synaptics version: $SYNAPTICS +else + echo \* Synaptics version: UNKNOWN - dpkg not found +fi + +# What USB devices of interest can we find? +if [ -x /usr/sbin/lsusb ]; then + LSUSB=`lsusb|grep -c 05ac:022` + echo \* USB device: $LSUSB +else + echo \* USB device: UNKNOWN - lsusb not found +fi + +# Do we have the module intalled? +MODLIB=/lib/modules/$KERNEL/kernel/drivers/input/mouse/$DRIVER.ko +if [ -f $MODLIB ]; then + echo \* $MODLIB: exists +else + echo \* $MODLIB: does NOT exist + echo Copy the file $DRIVER.ko to $MODLIB + exit 1 +fi + +# Do we have the module configured? +MODULES=/etc/modules +if [ -f $MODULES ]; then + if (grep -q $DRIVER $MODULES); then + echo \* $MODULES: has $DRIVER + else + echo \* $MODULES: does NOT have $DRIVER + echo Add this line to $MODULES: + echo $DRIVER + exit 1 + fi +else + echo \* $MODULES: file not found + exit 1 +fi + +# Do we have the right quirks? +MODPROBE=/etc/modprobe.d/options +if [ -f $MODPROBE ]; then + MODPROBEOPTS=`grep quirks= $MODPROBE|grep -v ^#|grep 0x05ac:0x02` + if [ "$MODPROBEOPTS" != "" ]; then + echo \* $MODPROBE: has quirks + else + echo \* $MODPROBE: does NOT have quirks + echo Add this line to $MODPROBE: + echo -n options usbhid quirks= + (lsusb|grep -q 05ac:022) && echo 0x05ac:0x0223:0x00020800,0x05ac:0x0224:0x00024800,0x05ac:0x0225:0x00020800 + (lsusb|grep -q 05ac:023) && echo 0x05ac:0x0230:0x00020800,0x05ac:0x0231:0x00024800,0x05ac:0x0232:0x00020800 + exit 1 + fi +else + echo \* $MODPROBE: file not found + exit 1 +fi + +# Was the $DRIVER module loaded? +DMESG=`lsmod|grep $DRIVER` +if [ "$DMESG" != "" ]; then + echo \* $DRIVER: module is loaded +else + echo \* $DRIVER: module is NOT loaded + echo Add this line to /etc/modules: + echo "$DRIVER" + exit 1 +fi + +# Was the $DRIVER properly initialized? +WELLSPRING=`dmesg|grep $DRIVER|grep Wellspring` +if [ "$WELLSPRING" != "" ]; then + echo \* $DRIVER: Wellspring was initialized +else + echo \* $DRIVER: Wellspring was NOT initialized + exit 1 +fi + +# Do we have synaptics working properly? +typeset -i SYNLINES=`synclient -l|wc -l` +if [ $SYNLINES -gt 10 ]; then + echo \* synaptics: configuration readable +else + echo \* synaptics: configuration NOT readable + exit 1 +fi + +# Do we have a working synaptics configuration? +DIFF=/tmp/synclient-output.diff.$$ +TMP=/tmp/synclient-output.txt.$$ +synclient -l | sort > $TMP +diff -u - $TMP > $DIFF <