18c2ecf20Sopenharmony_ci.. include:: <isonum.txt> 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ci------------------------ 48c2ecf20Sopenharmony_ciBCM5974 Driver (bcm5974) 58c2ecf20Sopenharmony_ci------------------------ 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ci:Copyright: |copy| 2008-2009 Henrik Rydberg <rydberg@euromail.se> 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ciThe USB initialization and package decoding was made by Scott Shawcroft as 108c2ecf20Sopenharmony_cipart of the touchd user-space driver project: 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ci:Copyright: |copy| 2008 Scott Shawcroft (scott.shawcroft@gmail.com) 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_ciThe BCM5974 driver is based on the appletouch driver: 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ci:Copyright: |copy| 2001-2004 Greg Kroah-Hartman (greg@kroah.com) 178c2ecf20Sopenharmony_ci:Copyright: |copy| 2005 Johannes Berg (johannes@sipsolutions.net) 188c2ecf20Sopenharmony_ci:Copyright: |copy| 2005 Stelian Pop (stelian@popies.net) 198c2ecf20Sopenharmony_ci:Copyright: |copy| 2005 Frank Arnold (frank@scirocco-5v-turbo.de) 208c2ecf20Sopenharmony_ci:Copyright: |copy| 2005 Peter Osterlund (petero2@telia.com) 218c2ecf20Sopenharmony_ci:Copyright: |copy| 2005 Michael Hanselmann (linux-kernel@hansmi.ch) 228c2ecf20Sopenharmony_ci:Copyright: |copy| 2006 Nicolas Boichat (nicolas@boichat.ch) 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ciThis driver adds support for the multi-touch trackpad on the new Apple 258c2ecf20Sopenharmony_ciMacbook Air and Macbook Pro laptops. It replaces the appletouch driver on 268c2ecf20Sopenharmony_cithose computers, and integrates well with the synaptics driver of the Xorg 278c2ecf20Sopenharmony_cisystem. 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ciKnown to work on Macbook Air, Macbook Pro Penryn and the new unibody 308c2ecf20Sopenharmony_ciMacbook 5 and Macbook Pro 5. 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ciUsage 338c2ecf20Sopenharmony_ci----- 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ciThe driver loads automatically for the supported usb device ids, and 368c2ecf20Sopenharmony_cibecomes available both as an event device (/dev/input/event*) and as a 378c2ecf20Sopenharmony_cimouse via the mousedev driver (/dev/input/mice). 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ciUSB Race 408c2ecf20Sopenharmony_ci-------- 418c2ecf20Sopenharmony_ci 428c2ecf20Sopenharmony_ciThe Apple multi-touch trackpads report both mouse and keyboard events via 438c2ecf20Sopenharmony_cidifferent interfaces of the same usb device. This creates a race condition 448c2ecf20Sopenharmony_ciwith the HID driver, which, if not told otherwise, will find the standard 458c2ecf20Sopenharmony_ciHID mouse and keyboard, and claim the whole device. To remedy, the usb 468c2ecf20Sopenharmony_ciproduct id must be listed in the mouse_ignore list of the hid driver. 478c2ecf20Sopenharmony_ci 488c2ecf20Sopenharmony_ciDebug output 498c2ecf20Sopenharmony_ci------------ 508c2ecf20Sopenharmony_ci 518c2ecf20Sopenharmony_ciTo ease the development for new hardware version, verbose packet output can 528c2ecf20Sopenharmony_cibe switched on with the debug kernel module parameter. The range [1-9] 538c2ecf20Sopenharmony_ciyields different levels of verbosity. Example (as root):: 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_ci echo -n 9 > /sys/module/bcm5974/parameters/debug 568c2ecf20Sopenharmony_ci 578c2ecf20Sopenharmony_ci tail -f /var/log/debug 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_ci echo -n 0 > /sys/module/bcm5974/parameters/debug 608c2ecf20Sopenharmony_ci 618c2ecf20Sopenharmony_ciTrivia 628c2ecf20Sopenharmony_ci------ 638c2ecf20Sopenharmony_ci 648c2ecf20Sopenharmony_ciThe driver was developed at the ubuntu forums in June 2008 [#f1]_, and now has 658c2ecf20Sopenharmony_cia more permanent home at bitmath.org [#f2]_. 668c2ecf20Sopenharmony_ci 678c2ecf20Sopenharmony_ci.. Links 688c2ecf20Sopenharmony_ci 698c2ecf20Sopenharmony_ci.. [#f1] http://ubuntuforums.org/showthread.php?t=840040 708c2ecf20Sopenharmony_ci.. [#f2] http://bitmath.org/code/ 71