1*4882a593Smuzhiyun.. include:: <isonum.txt> 2*4882a593Smuzhiyun 3*4882a593Smuzhiyun------------------------ 4*4882a593SmuzhiyunBCM5974 Driver (bcm5974) 5*4882a593Smuzhiyun------------------------ 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun:Copyright: |copy| 2008-2009 Henrik Rydberg <rydberg@euromail.se> 8*4882a593Smuzhiyun 9*4882a593SmuzhiyunThe USB initialization and package decoding was made by Scott Shawcroft as 10*4882a593Smuzhiyunpart of the touchd user-space driver project: 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun:Copyright: |copy| 2008 Scott Shawcroft (scott.shawcroft@gmail.com) 13*4882a593Smuzhiyun 14*4882a593SmuzhiyunThe BCM5974 driver is based on the appletouch driver: 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun:Copyright: |copy| 2001-2004 Greg Kroah-Hartman (greg@kroah.com) 17*4882a593Smuzhiyun:Copyright: |copy| 2005 Johannes Berg (johannes@sipsolutions.net) 18*4882a593Smuzhiyun:Copyright: |copy| 2005 Stelian Pop (stelian@popies.net) 19*4882a593Smuzhiyun:Copyright: |copy| 2005 Frank Arnold (frank@scirocco-5v-turbo.de) 20*4882a593Smuzhiyun:Copyright: |copy| 2005 Peter Osterlund (petero2@telia.com) 21*4882a593Smuzhiyun:Copyright: |copy| 2005 Michael Hanselmann (linux-kernel@hansmi.ch) 22*4882a593Smuzhiyun:Copyright: |copy| 2006 Nicolas Boichat (nicolas@boichat.ch) 23*4882a593Smuzhiyun 24*4882a593SmuzhiyunThis driver adds support for the multi-touch trackpad on the new Apple 25*4882a593SmuzhiyunMacbook Air and Macbook Pro laptops. It replaces the appletouch driver on 26*4882a593Smuzhiyunthose computers, and integrates well with the synaptics driver of the Xorg 27*4882a593Smuzhiyunsystem. 28*4882a593Smuzhiyun 29*4882a593SmuzhiyunKnown to work on Macbook Air, Macbook Pro Penryn and the new unibody 30*4882a593SmuzhiyunMacbook 5 and Macbook Pro 5. 31*4882a593Smuzhiyun 32*4882a593SmuzhiyunUsage 33*4882a593Smuzhiyun----- 34*4882a593Smuzhiyun 35*4882a593SmuzhiyunThe driver loads automatically for the supported usb device ids, and 36*4882a593Smuzhiyunbecomes available both as an event device (/dev/input/event*) and as a 37*4882a593Smuzhiyunmouse via the mousedev driver (/dev/input/mice). 38*4882a593Smuzhiyun 39*4882a593SmuzhiyunUSB Race 40*4882a593Smuzhiyun-------- 41*4882a593Smuzhiyun 42*4882a593SmuzhiyunThe Apple multi-touch trackpads report both mouse and keyboard events via 43*4882a593Smuzhiyundifferent interfaces of the same usb device. This creates a race condition 44*4882a593Smuzhiyunwith the HID driver, which, if not told otherwise, will find the standard 45*4882a593SmuzhiyunHID mouse and keyboard, and claim the whole device. To remedy, the usb 46*4882a593Smuzhiyunproduct id must be listed in the mouse_ignore list of the hid driver. 47*4882a593Smuzhiyun 48*4882a593SmuzhiyunDebug output 49*4882a593Smuzhiyun------------ 50*4882a593Smuzhiyun 51*4882a593SmuzhiyunTo ease the development for new hardware version, verbose packet output can 52*4882a593Smuzhiyunbe switched on with the debug kernel module parameter. The range [1-9] 53*4882a593Smuzhiyunyields different levels of verbosity. Example (as root):: 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun echo -n 9 > /sys/module/bcm5974/parameters/debug 56*4882a593Smuzhiyun 57*4882a593Smuzhiyun tail -f /var/log/debug 58*4882a593Smuzhiyun 59*4882a593Smuzhiyun echo -n 0 > /sys/module/bcm5974/parameters/debug 60*4882a593Smuzhiyun 61*4882a593SmuzhiyunTrivia 62*4882a593Smuzhiyun------ 63*4882a593Smuzhiyun 64*4882a593SmuzhiyunThe driver was developed at the ubuntu forums in June 2008 [#f1]_, and now has 65*4882a593Smuzhiyuna more permanent home at bitmath.org [#f2]_. 66*4882a593Smuzhiyun 67*4882a593Smuzhiyun.. Links 68*4882a593Smuzhiyun 69*4882a593Smuzhiyun.. [#f1] http://ubuntuforums.org/showthread.php?t=840040 70*4882a593Smuzhiyun.. [#f2] http://bitmath.org/code/ 71