Bluetooth Mighty Mouse: hid APPLE_INVERT_HWHEEL actually inverts wheel wrong way!

Bug #291408 reported by John Dong
40
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Linux
Fix Released
Medium
linux (Ubuntu)
Fix Released
Medium
Unassigned
Declined for Jaunty by Leann Ogasawara
Nominated for Karmic by BorisKocherov
Intrepid
Invalid
Medium
Jim Lieb

Bug Description

in net/bluetooth/hidp/core.c, I see that the kernel applies quirk:
HID_QUIRK_INVERT_HWHEEL to the mighty mouse. I have a mighty mouse with this exact device/vendor ID and when using it with Intrepid, it actually causes the horizontal scrolling to be inverted the wrong way (i.e. scrolling left scrolls right, and vice versa).

Based on this I think we should remove the quirk for the Apple Mighty Mouse in hidp/core.c.

Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

Hi John,

Just to clarify, you're vendor and device id are [0x05ac:0x030c]. Care to test and verify the following patch does indeed resolve the issue you are seeing? I can point you to some instructions how to patch and build a test kernel if you need it. Let me know. Thanks.

Revision history for this message
John Dong (jdong) wrote :

Yeah, Leann, I have done that locally to my kernel for two weeks now and it does make the scrollwheel work in the correct direction. I wonder why they put that quirk in upstream though; I'm concerned there might actually be inverted scrollwheels somewhere out there in the Mighty Mouse population but with the same Vendor ID? I find that hard to believe that Apple can even work around that on their own OS!

IMO this quirk should be removed.

Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

Thanks John.

Just for future reference, I glanced at the upstream kernel really quick and it looks like they've moved these quirks around a bit.

ogasawara@emiko:~/linux-2.6$ git log 8c19a51591d06f5226499972567f528cf6066bb7
commit 8c19a51591d06f5226499972567f528cf6066bb7
Author: Jiri Slaby <email address hidden>
Date: Wed Jun 18 23:36:49 2008 +0200

    HID: move apple quirks

    Move them from the core code to a separate driver.

    Signed-off-by: Jiri Slaby <email address hidden>
    Signed-off-by: Jiri Kosina <email address hidden>

Changed in linux:
assignee: nobody → ubuntu-kernel-team
importance: Undecided → Medium
status: New → Triaged
Changed in linux:
assignee: nobody → ubuntu-kernel-team
importance: Undecided → Medium
status: New → Triaged
Revision history for this message
bitinerant (bitinerant) wrote :

This problem has frustrated me ever since I upgraded to Intrepid. I have the same model of Mighty Mouse; here is the applicable line from `cat /proc/bus/input/devices`:

I: Bus=0005 Vendor=05ac Product=030c Version=0200

I don't think I'm up to compiling a new kernel. I have tried many variations in my "/etc/hal/fdi/policy/mightymouse.fdi" file, but none seem to change the way my mouse operates (vertical wheel scrolling is fine; horizontal wheel scrolling is reverse).

Is there a work-around via an fdi file, or is the kernel patch the only work-around at this time?

Jim Lieb (lieb)
Changed in linux:
assignee: ubuntu-kernel-team → lieb
status: Triaged → In Progress
Revision history for this message
Jim Lieb (lieb) wrote :

I have placed a test package in my public directory for this bug. Please report back your results so we can include this fix in the next update.

For 32bit:

http://people.ubuntu.com/~lieb/i386/ linux-image-2.6.27-11-generic_2.6.27-11.21~lp291408lieb1_i386.deb

For 64 bit:

http://people.ubuntu.com/~lieb/amd64/ linux-image-2.6.27-11-generic_2.6.27-11.21~lp291408lieb1_amd64.deb

Please also report back which package you tested.

Note: these packages are solely for testing purposes. We recommend that you un-install this package once your testing is complete and wait for a supported update.

Revision history for this message
Launchpad Janitor (janitor) wrote : Kernel team bugs

Per a decision made by the Ubuntu Kernel Team, bugs will longer be assigned to the ubuntu-kernel-team in Launchpad as part of the bug triage process. The ubuntu-kernel-team is being unassigned from this bug report. Refer to https://wiki.ubuntu.com/KernelTeamBugPolicies for more information. Thanks.

Revision history for this message
Jim Lieb (lieb) wrote : Re: Bluetooth Mighty Mouse: hidp HID_QUIRK_INVERT_HWHEEL actually inverts wheel wrong way!

Reports from upstream still indicate that this quirk is still required. If newer updates, esp with Jaunty
kernels indicate otherwise, please file a new report.

Changed in linux:
status: In Progress → Invalid
Revision history for this message
Jim Lieb (lieb) wrote :

Upstream still reports that this quirk is required for this device.

Changed in linux:
status: Triaged → Won't Fix
Revision history for this message
Martey Dodoo (martey) wrote :

I am also experiencing inverted horizontal scrolling (moving the scroll wheel right scrolls left, and vice versa) with my wireless Mighty Mouse in Jaunty. I have the same vendor/product IDs as bitinerant [05ac:030c].

I compiled a new kernel that keeps the APPLE_MIGHTYMOUSE quirk, but removes the APPLE_INVERT_HWHEEL quirk. Scrolling seems to work normally now.

Revision history for this message
Martey Dodoo (martey) wrote :

Changing status back to New since this seems to be affecting Jaunty.

Changed in linux:
status: Won't Fix → New
Revision history for this message
Ciso (cisoprogressivo) wrote :

Same problem here, with Jaunty.
The device is:
I: Bus=0005 Vendor=05ac Product=030c Version=0200

Revision history for this message
Leon Alvarez (locoxella) wrote :

I confirm the problem in jaunty

Bus=0005 Vendor=05ac Product=030c Version=0200

I ve also found this:

Jiri Slaby to christof kaelin10 Nov 2008 10:53:19 GMTOn 11/10/2008 10:04 AM, Christof Kälin wrote:
> Hi
>
> As a newbie, I just saw your email in the source-file when I was looking
> into the sources of hid-apple.c to find my mighty mouse somewhere:
>
> /* Apple wireless Mighty Mouse */
> { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, 0x030c),
> .driver_data = APPLE_MIGHTYMOUSE | APPLE_INVERT_HWHEEL },
>
> According to hid-ids.h, the ID 0x030c is a TDK mighty mouse. On my
> Alu-iMac (last year edition), it's a Apple's owned mighty mouse (vendor
> 0x05ac, ID 0x1000), which is not currently listed in hid-ids.h. My
> mighty mouse anyway runs o.k. with the "wrong" ID, but since the start
> withouth the mouse-wheel.
> It did not help when I changed the ID's accordingly. So my question is:
> Is there anything to be done in bluetooth driver area too to get this
> mighty mouse fully supported (some quirks needed)?
>
> Sorry for my annoying questions.
>
> Thanks in advance for any suggestions and best regards

I guess, they map Z axis to be a wheel instead a wheel be a wheel like in the
0x030c case.

Could you add
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, 0x030c),
.driver_data = APPLE_MIGHTYMOUSE }
there and
HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, 0x030c)
to hid_blacklist in drivers/hid/hid-core.c and try? If the wheel is inverted
with your device, then you need also APPLE_INVERT_HWHEEL aswell.

<me goes to implement new_id like in the PCI case to not bother users with
recompiling the kernel for testing such things>
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to <email address hidden>

Could it be that the quirks and the invertion where added to the wrong device in order to quick-fix and make work the new devices?

Revision history for this message
Ciso (cisoprogressivo) wrote :

The problem is still here in the Ubuntu Jaunty Final Release

Changed in linux:
status: Unknown → Confirmed
Revision history for this message
bitinerant (bitinerant) wrote :

> The problem is still here in the Ubuntu Jaunty Final Release

Ditto!

Revision history for this message
Leon Alvarez (locoxella) wrote :

Please, note that the quirk might be required for the product 0x1000, not the 0x030c. New model of mighty mouse (0x1000) seems to be functioning with the parameters for 0x030c, but requiring a quirk. And therefore, instead off adding 0x1000, the other model model of mighty mouse was inverted.

Changed in linux (Ubuntu):
status: New → Triaged
Changed in linux:
status: Confirmed → Fix Released
Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

Marty, thanks for opening the usptream bug. Examining the upstream bug report, it looks like this is resolved with the following commit that is already available for testing in the latest Karmic Alpha kernel. Based on this information I'm marking this Fix Released for Karmic. Images are available for testing at http://cdimage.ubuntu.com/daily-live/current/ . Thanks.

ogasawara@emiko:~/ubuntu-karmic$ git log -p fa047e4f6fa63a6e9d0ae4d7749538830d14a343
commit fa047e4f6fa63a6e9d0ae4d7749538830d14a343
Author: Jiri Kosina <email address hidden>
Date: Wed Jun 10 10:25:56 2009 +0200

    HID: fix inverted wheel for bluetooth version of apple mighty mouse

    Bluetooth version of Apple Mighty mouse (0x05ac/0x030c) doesn't, according t
    multiple reports on linux-input@, need the same quirk as the USB version of
    this mouse (0x05ac/0x0304) does.

    Signed-off-by: Jiri Kosina <email address hidden>

Changed in linux (Ubuntu):
status: Triaged → Fix Released
Revision history for this message
Bertl (robert-v-haefen) wrote :

Hi, i have a provisional patch for my bluetooth mighty mouse on ubuntu 8.10:

- open file /var/lib/bluetooth/xx:xx:xx:xx:xx:xx/did

- change yy:yy:yy:yy::yy:yy 0002 05AC 030C 0200
       into yy:yy:yy:yy::yy:yy FFFF 0000 0000 0000

- reboot

xx:xx:xx:xx:xx:xx is the physical id of the might mouse (see cat /proc/bus/input/devices, P: Phys=..)
yy:yy:yy:yy::yy:yy is the unique bluetooth address of the might mouse (see cat /proc/bus/input/devices,U: Uniq=..)

Revision history for this message
bitinerant (bitinerant) wrote :

Bertl, thank you! This bug has been bothering me for about nine months. Your provisional patch worked well for me (Ubuntu 9.04). My Mighty Mouse vendor and device IDs are listed in earlier comments from me.

Changed in linux:
status: Fix Released → Confirmed
Revision history for this message
Martey Dodoo (martey) wrote :

Commit fa047e4f6fa63a6e9d0ae4d7749538830d14a343 actually *broke* support for Apple wireless mighty mouse in 2.6.31 (the kernel currently used in Karmic). See http://www.spinics.net/lists/linux-input/msg04037.html

Revision history for this message
Mike Sunderland (mike-cornerstone) wrote :

This has not been fixed in 2.6.31 final.

The fix is not present in linux-source-2.6.31_2.6.31-10.32.

My mighty mouse does not work on karmic with linux-image_2.6.31.10.21

Revision history for this message
Ciso (cisoprogressivo) wrote :

In Karmic I didn't have this problem anymore.

Revision history for this message
Martey Dodoo (martey) wrote :

This issue has been fixed upstream and in Karmic - see https://bugs.launchpad.net/ubuntu/karmic/+source/linux/+bug/428111 as well.

Changed in linux:
status: Confirmed → Fix Released
Revision history for this message
Leon Alvarez (locoxella) wrote :

Seems to be working now. Karmic Release Candidate.

Changed in linux:
importance: Unknown → Medium
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.