Bug 465677

Summary: bcm5974: bad trackpad package, length: 8
Product: [Fedora] Fedora Reporter: Naresh <cyan_00391>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED INSUFFICIENT_DATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: medium    
Version: 18CC: brendan.weir, cyan_00391, dwmw2, kernel-maint, sagarun, thaytan, twic
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-11-27 16:15:16 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
message and Xorg.0.log from suspend/resume cycle + rmmod and modprobe none

Description Naresh 2008-10-05 12:55:55 UTC
Description of problem:

Touchpad is useless after suspend/resume.

Version-Release number of selected component (if applicable):

[nareshv ~]$ /sbin/modinfo bcm5974
filename:       /lib/modules/2.6.27-0.391.rc8.git7.fc10.x86_64/kernel/drivers/input/mouse/bcm5974.ko
license:        GPL
description:    Apple USB BCM5974 multitouch driver
author:         Henrik Rydberg
srcversion:     B97A6EA0304A5970714E942
alias:          usb:v05ACp0232d*dc*dsc*dp*ic03isc*ip02*
alias:          usb:v05ACp0231d*dc*dsc*dp*ic03isc*ip02*
alias:          usb:v05ACp0230d*dc*dsc*dp*ic03isc*ip02*
alias:          usb:v05ACp0225d*dc*dsc*dp*ic03isc*ip02*
alias:          usb:v05ACp0224d*dc*dsc*dp*ic03isc*ip02*
alias:          usb:v05ACp0223d*dc*dsc*dp*ic03isc*ip02*
depends:        
vermagic:       2.6.27-0.391.rc8.git7.fc10.x86_64 SMP mod_unload 
parm:           debug:Activate debugging output (int)

How reproducible:

Always

Steps to Reproduce:
1. Boot into Fedora 10 Beta, any desktop GNOME/KDE
2. Use suspend to Ram
3. Resume the notebook
  
Actual results:

Touchpad does not work at all.

Expected results:

Touchpad should work.

Additional info:

Since keyboard is working after resume, i tried to unload the module and load it again, then the touchpad seems functional. But not all the tapping features are working because the driver is loaded after synaptics by xorg.

Errors are like these

[nareshv ~]$ dmesg | tail
bcm5974: bad trackpad package, length: 8
bcm5974: bad trackpad package, length: 8
bcm5974: bad trackpad package, length: 8
bcm5974: bad trackpad package, length: 8
bcm5974: bad trackpad package, length: 8
bcm5974: bad trackpad package, length: 8
bcm5974: bad trackpad package, length: 8
bcm5974: bad trackpad package, length: 8
bcm5974: bad trackpad package, length: 8

Comment 1 Naresh 2008-10-05 16:10:54 UTC
Added a quirk in 'step-7' of my blog http://nareshv.blogspot.com/2008/10/fedora-10-beta-64-bit-on-macbook-pro-41.html

Comment 2 Chuck Ebbert 2008-10-10 07:11:00 UTC
$ cat /etc/pm/sleep.d/22touchpad 
#!/bin/bash

if [ -e '/usr/lib/pm-utils/functions' ];then
. /usr/lib/pm-utils/functions
fi

suspend_bcm5974() { /sbin/rmmod bcm5974; }
resume_bcm5974() { /sbin/modprobe bcm5974; }

case "$1" in
    suspend|hibernate)
        suspend_bcm5974;
        ;;
    thaw|resume)
        resume_bcm5974;
        ;;
    *)
        ;;
esac

exit $?

Comment 3 Naresh 2008-11-16 03:14:01 UTC
Even with my quirk above, there is still one issue. X is coming up before the kernel module itself is loaded, thus X is not able to find the touchpad, and is failing back to  version which doesn't support any kinda tapping, etc. I tried playing with /etc/pm* but no luck. Any other way to make sure that the module is loaded before X itself starts up ?

from xorg.log

(WW) bcm5974 can't grab event device, errno=16
(EE) xf86OpenSerial: Cannot open device /dev/input/event8
(WW) Synaptics Touchpad: cannot open input device
(EE) xf86OpenSerial: Cannot open device /dev/input/event8
(WW) Synaptics Touchpad: cannot open input device

Comment 4 Naresh 2008-11-16 15:17:50 UTC
I seem to figure out the solution. Instead of putting the script to load/unload the modules in /etc/ put them in /usr/lib64 like this.

[nareshv@nareshv ~]$ ls -l /usr/lib64/pm-utils/sleep.d/
total 80
-rwxr-xr-x 1 root root 2425 2008-11-04 18:03 00auto-quirk
-rwxr-xr-x 1 root root  274 2008-11-04 18:03 00logging
-rwxr-xr-x 1 root root  203 2008-11-04 18:03 00powersave
-rwxr-xr-x 1 root root  809 2008-11-04 18:03 01grub
-rwxr-xr-x 1 root root  341 2008-11-15 18:52 02touchpad
-rwxr-xr-x 1 root root  664 2008-11-04 18:03 49bluetooth
-rwxr-xr-x 1 root root  447 2008-11-04 18:03 50ntpd
-rwxr-xr-x 1 root root  429 2008-11-04 18:03 55battery
-rwxr-xr-x 1 root root 1029 2008-11-04 18:03 55NetworkManager
-rwxr-xr-x 1 root root  409 2008-11-04 18:03 65alsa
-rwxr-xr-x 1 root root  335 2008-11-04 18:03 75modules
-rwxr-xr-x 1 root root  391 2008-11-04 18:03 90chvt
-rwxr-xr-x 1 root root  419 2008-11-04 18:03 90clock
-rwxr-xr-x 1 root root 1098 2008-11-04 18:03 94cpufreq
-rwxr-xr-x 1 root root  297 2008-11-04 18:03 95led
-rwxr-xr-x 1 root root  707 2008-11-05 15:31 95packagekit
-rwxr-xr-x 1 root root 2920 2008-11-04 18:03 98smart-kernel-video
-rwxr-xr-x 1 root root 2068 2008-11-04 18:03 99hd-apm-restore.hook
-rwxr-xr-x 1 root root 5492 2008-11-04 18:03 99video

[nareshv@nareshv ~]$ cat /usr/lib64/pm-utils/sleep.d/02touchpad
#!/bin/bash

if [ -e '/usr/lib64/pm-utils/functions' ];then
. /usr/lib64/pm-utils/functions
fi

suspend_bcm5974() { /sbin/rmmod bcm5974; }
resume_bcm5974() { /sbin/modprobe bcm5974; }

case "$1" in
    suspend|hibernate)
        suspend_bcm5974;
        ;;
    thaw|resume)
        resume_bcm5974;
        ;;
    *)
        ;;
esac

exit $?

Comment 5 Bug Zapper 2008-11-26 03:34:48 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 10 development cycle.
Changing version to '10'.

More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 6 Naresh 2008-11-26 07:25:24 UTC
Whenever i lock my screen, X is loosing the touchpad and reverting to the older version of the driver without bcm* where i am loosing all the tapping features. This happened with latest F10 release.

[nareshv>>nareshv /home/nareshv $ rpm -qa xorg\*
xorg-x11-drv-diamondtouch-0.2.0-0.1.fc9.x86_64
xorg-x11-drv-dummy-0.3.0-1.fc9.x86_64
xorg-x11-drv-magellan-1.2.0-1.fc9.x86_64
xorg-x11-font-utils-7.2-6.fc10.x86_64
xorg-x11-drv-apm-1.2.0-1.fc9.x86_64
xorg-x11-drv-nouveau-0.0.11-1.20080902git6dd8ad4.fc10.x86_64
xorg-x11-drv-i740-1.2.0-1.fc9.x86_64
xorg-x11-drv-vmmouse-12.6.1-1.fc10.x86_64
xorg-x11-xkb-utils-7.2-7.fc10.x86_64
xorg-x11-xdm-1.1.6-4.fc10.x86_64
xorg-x11-drv-tdfx-1.4.0-1.fc9.x86_64
xorg-x11-drv-hyperpen-1.2.0-1.fc9.x86_64
xorg-x11-drv-v4l-0.2.0-1.fc9.x86_64
xorg-x11-drv-savage-2.2.0-2.fc9.x86_64
xorg-x11-drv-elographics-1.2.3-1.fc10.x86_64
xorg-x11-drv-evdev-2.0.7-3.fc10.x86_64
xorg-x11-drv-void-1.1.1-9.fc9.x86_64
xorg-x11-drv-spaceorb-1.1.0-6.fc9.x86_64
xorg-x11-drv-dynapro-1.1.2-1.fc9.x86_64
xorg-x11-drv-digitaledge-1.1.1-1.fc9.x86_64
xorg-x11-drv-fbdev-0.3.1-7.fc9.x86_64
xorg-x11-drivers-7.3-9.fc10.x86_64
xorg-x11-filesystem-7.3-2.fc10.noarch
xorg-x11-drv-ur98-1.1.0-5.fc9.x86_64
xorg-x11-drv-sisusb-0.9.0-1.fc9.x86_64
xorg-x11-drv-s3virge-1.10.0-1.fc9.x86_64
xorg-x11-drv-dmc-1.1.2-1.fc9.x86_64
xorg-x11-drv-fpit-1.2.0-1.fc9.x86_64
xorg-x11-drv-synaptics-0.15.2-1.fc10.x86_64
xorg-x11-fonts-ISO8859-1-100dpi-7.2-6.fc9.noarch
xorg-x11-server-utils-7.4-3.fc10.x86_64
xorg-x11-drv-voodoo-1.2.0-1.fc9.x86_64
xorg-x11-drv-sis-0.10.0-1.fc9.x86_64
xorg-x11-drv-penmount-1.3.0-1.fc9.x86_64
xorg-x11-drv-rendition-4.2.0-1.fc9.x86_64
xorg-x11-drv-i128-1.3.0-1.fc9.x86_64
xorg-x11-drv-calcomp-1.1.2-1.fc9.x86_64
xorg-x11-resutils-7.1-6.fc10.x86_64
xorg-x11-xauth-1.0.2-5.fc10.x86_64
xorg-x11-drv-acecad-1.2.2-1.fc9.x86_64
xorg-x11-drv-openchrome-0.2.903-1.fc10.x86_64
xorg-x11-drv-summa-1.2.0-2.fc10.x86_64
xorg-x11-drv-palmax-1.2.0-1.fc9.x86_64
xorg-x11-drv-mach64-6.8.0-1.fc10.x86_64
xorg-x11-drv-i810-2.5.0-3.fc10.x86_64
xorg-x11-server-Xorg-1.5.3-5.fc10.x86_64
xorg-x11-drv-ati-6.9.0-54.fc10.x86_64
xorg-x11-utils-7.4-3.fc10.x86_64
xorg-x11-drv-vesa-2.0.0-1.fc10.x86_64
xorg-x11-xinit-1.0.9-4.fc10.x86_64
xorg-x11-drv-mga-1.4.9-1.fc9.x86_64
xorg-x11-drv-siliconmotion-1.6.0-1.fc9.x86_64
xorg-x11-drv-microtouch-1.2.0-1.fc9.x86_64
xorg-x11-drv-wiimote-0.0.1-1.fc9.x86_64
xorg-x11-drv-aiptek-1.1.1-1.fc9.x86_64
xorg-x11-drv-mutouch-1.2.1-1.fc10.x86_64
xorg-x11-drv-keyboard-1.3.0-3.fc9.x86_64
xorg-x11-drv-cirrus-1.2.0-1.fc9.x86_64
xorg-x11-drv-vmware-10.16.0-1.fc9.x86_64
xorg-x11-drv-jamstudio-1.2.0-1.fc9.x86_64
xorg-x11-drv-nv-2.1.12-6.fc10.x86_64
xorg-x11-apps-7.3-5.fc10.x86_64
xorg-x11-drv-citron-2.2.1-1.fc9.x86_64
xorg-x11-drv-glint-1.2.1-1.fc9.x86_64
xorg-x11-drv-tek4957-1.2.0-1.fc9.x86_64
xorg-x11-server-common-1.5.3-5.fc10.x86_64
xorg-x11-drv-mouse-1.3.0-2.fc9.x86_64
xorg-x11-drv-r128-6.8.0-1.fc10.x86_64
xorg-x11-drv-trident-1.3.0-1.fc9.x86_64
xorg-x11-drv-ast-0.85.0-1.fc9.x86_64

Comment 7 Jan Schmidt 2009-03-13 22:29:51 UTC
This is still an issue in rawhide with 2.6.29-0.237.rc7.git4.fc11.i686.PAE

Comment 8 Jan Schmidt 2009-03-13 22:40:13 UTC
Created attachment 335175 [details]
message and Xorg.0.log from suspend/resume cycle + rmmod and modprobe

In the log, it looks like the device still exists and is visible to X after resume, but isn't usable until the module is removed and reinserted.

Comment 9 Bug Zapper 2009-11-18 07:56:04 UTC
This message is a reminder that Fedora 10 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 10.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '10'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 10's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 10 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 10 Bug Zapper 2009-12-18 06:30:44 UTC
Fedora 10 changed to end-of-life (EOL) status on 2009-12-17. Fedora 10 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.

Comment 11 David Woodhouse 2013-01-04 01:10:44 UTC
I'm seeing this in Fedora 18 at random times; not suspend/resume. I've patched it to call bcm5974_wellspring_mode() to attempt to reset the device into the correct mode, after receiving bad packets. Will see if that works next time it happens....

Comment 12 Arun S A G 2013-06-19 12:08:32 UTC
I see the same on fedora 18. 

bcm5974: bad trackpad package, length: 6

filename:       /lib/modules/3.9.5-201.fc18.x86_64/kernel/drivers/input/mouse/bcm5974.ko
license:        GPL
description:    Apple USB BCM5974 multitouch driver
author:         Henrik Rydberg
alias:          usb:v05ACp025Bd*dc*dsc*dp*ic03isc*ip02in*
alias:          usb:v05ACp025Ad*dc*dsc*dp*ic03isc*ip02in*
alias:          usb:v05ACp0259d*dc*dsc*dp*ic03isc*ip02in*
alias:          usb:v05ACp0264d*dc*dsc*dp*ic03isc*ip02in*
alias:          usb:v05ACp0263d*dc*dsc*dp*ic03isc*ip02in*
alias:          usb:v05ACp0262d*dc*dsc*dp*ic03isc*ip02in*
alias:          usb:v05ACp0254d*dc*dsc*dp*ic03isc*ip02in*
alias:          usb:v05ACp0253d*dc*dsc*dp*ic03isc*ip02in*
alias:          usb:v05ACp0252d*dc*dsc*dp*ic03isc*ip02in*
alias:          usb:v05ACp024Ed*dc*dsc*dp*ic03isc*ip02in*
alias:          usb:v05ACp024Dd*dc*dsc*dp*ic03isc*ip02in*
alias:          usb:v05ACp024Cd*dc*dsc*dp*ic03isc*ip02in*
alias:          usb:v05ACp024Bd*dc*dsc*dp*ic03isc*ip02in*
alias:          usb:v05ACp024Ad*dc*dsc*dp*ic03isc*ip02in*
alias:          usb:v05ACp0249d*dc*dsc*dp*ic03isc*ip02in*
alias:          usb:v05ACp0247d*dc*dsc*dp*ic03isc*ip02in*
alias:          usb:v05ACp0246d*dc*dsc*dp*ic03isc*ip02in*
alias:          usb:v05ACp0245d*dc*dsc*dp*ic03isc*ip02in*
alias:          usb:v05ACp0244d*dc*dsc*dp*ic03isc*ip02in*
alias:          usb:v05ACp0243d*dc*dsc*dp*ic03isc*ip02in*
alias:          usb:v05ACp0242d*dc*dsc*dp*ic03isc*ip02in*
alias:          usb:v05ACp0241d*dc*dsc*dp*ic03isc*ip02in*
alias:          usb:v05ACp0240d*dc*dsc*dp*ic03isc*ip02in*
alias:          usb:v05ACp023Fd*dc*dsc*dp*ic03isc*ip02in*
alias:          usb:v05ACp0238d*dc*dsc*dp*ic03isc*ip02in*
alias:          usb:v05ACp0237d*dc*dsc*dp*ic03isc*ip02in*
alias:          usb:v05ACp0236d*dc*dsc*dp*ic03isc*ip02in*
alias:          usb:v05ACp0232d*dc*dsc*dp*ic03isc*ip02in*
alias:          usb:v05ACp0231d*dc*dsc*dp*ic03isc*ip02in*
alias:          usb:v05ACp0230d*dc*dsc*dp*ic03isc*ip02in*
alias:          usb:v05ACp0225d*dc*dsc*dp*ic03isc*ip02in*
alias:          usb:v05ACp0224d*dc*dsc*dp*ic03isc*ip02in*
alias:          usb:v05ACp0223d*dc*dsc*dp*ic03isc*ip02in*
depends:        
intree:         Y
vermagic:       3.9.5-201.fc18.x86_64 SMP mod_unload 
parm:           debug:Activate debugging output (int)


I don't need to suspend/resume! Touchpad is totally unusable (registers random clicks, and movements) 

Not sure whether it is a hardware issue though!

Comment 13 Arun S A G 2013-06-19 12:13:08 UTC
(In reply to David Woodhouse from comment #11)
> I'm seeing this in Fedora 18 at random times; not suspend/resume. I've
> patched it to call bcm5974_wellspring_mode() to attempt to reset the device
> into the correct mode, after receiving bad packets. Will see if that works
> next time it happens....


David, 

Does it work for you after patching module?

Comment 14 Justin M. Forbes 2013-10-18 21:07:27 UTC
*********** MASS BUG UPDATE **************

We apologize for the inconvenience.  There is a large number of bugs to go through and several of them have gone stale.  Due to this, we are doing a mass bug update across all of the Fedora 18 kernel bugs.

Fedora 18 has now been rebased to 3.11.4-101.fc18.  Please test this kernel update (or newer) and let us know if you issue has been resolved or if it is still present with the newer kernel.

If you have moved on to Fedora 19, and are still experiencing this issue, please change the version to Fedora 19.

If you experience different issues, please open a new bug report for those.

Comment 15 Justin M. Forbes 2013-11-27 16:15:16 UTC
*********** MASS BUG UPDATE **************

We apologize for the inconvenience.  There is a large number of bugs to go through and several of them have gone stale.  

It has been over a month since we asked you to test the 3.11 kernel updates and let us know if your issue has been resolved or is still a problem. When this happened, the bug was set to needinfo.  Because the needinfo is still set, we assume either this is no longer a problem, or you cannot provide additional information to help us resolve the issue.  As a result we are closing with insufficient data. If this is still a problem, we apologize, feel free to reopen the bug and provide more information so that we can work towards a resolution

If you experience different issues, please open a new bug report for those.

Comment 16 Brendan Weir 2015-01-02 21:59:54 UTC
I also get this error in Fedora 21

Steps to reproduce:
Boot macbook air into Fedora 21 (Gnome 3 or LXDE)
Close macbook lid
Open macbook lid

Actual Result:
Touchpad fails to work

dmesg contains
bcm5974: bad trackpad package, length: 8

Expected Result:
Touchpad works

Mitigation:
If I switch between virtual terminals, the trackpad starts to work when I return to the X terminal

journalctl contains

gdm-Xorg-:0[11287]: (II) AIGLX: Suspending AIGLX clients for VT switch
gdm-Xorg-:0[11287]: (II) AIGLX: Resuming AIGLX clients after VT switch
gdm-Xorg-:0[11287]: (II) intel(0): switch to mode 1280x800 on LVDS1 using pipe 0, position (0, 0), rotation normal, reflection none
gdm-Xorg-:0[11287]: (--) synaptics: bcm5974: touchpad found

uname -srio
Linux 3.17.7-300.fc21.x86_64 x86_64 GNU/Linux

Comment 17 Tom Anderson 2018-04-07 11:39:20 UTC
I also get this error on Fedora 27, on a MacBook Pro A1286/MacBookPro8,2.

Steps to reproduce:
Boot macbook air into Fedora 27 (Cinnamon)
Close macbook lid
Open macbook lid

Actual Result:
Touchpad fails to work (cannot move cursor or click)

dmesg contains
[1793559.824727] bcm5974: bad trackpad package, length: 8

Expected Result:
Touchpad works

Mitigation:
Switching to anoher virtual console using ctrl-alt-F1, and then back using ctrl-alt-F2 has no effect. The virtual console switched to also presents a graphical login box, and the trackpad doesn't work there either.

Running sudo rmmod bcm5974; sudo modprobe bcm5974 fixes the problem. Those commands print no output, but dmesg says:

[1793662.065883] usbcore: deregistering interface driver bcm5974
[1793662.135187] input: bcm5974 as /devices/pci0000:00/0000:00:1a.7/usb1/1-1/1-1.2/1-1.2:1.2/input/input17
[1793662.135773] usbcore: registered new interface driver bcm5974

uname -srio:
Linux 4.15.6-300.fc27.x86_64 x86_64 GNU/Linux