Fix for Acer Bluetooth Optical Rechargeable Mouse
Subsystems (2)
PATCH 1/1 Fix for Acer Bluetooth Optical Rechargeable Mouse
This patch works around one problem with my Acer Bluetooth Optical
Rechargeable Mouse where the cursor gets stuck at screen's upper-left corner. Even my notebook's touchpad is not able to move cursor when the bluetooth mouse is connected to my Acer Ferrari 4005 notebook. Using input session instead of hid session solves this problem although the cursor still moves a little sluggishly with the bluetooth mouse, cursor moves correctly using the touchpad. My bluetooth mouse used to work well (no sluggish) until kernel 2.6.21, since then the problems are getting worse with each kernel release (it got sluggish in 2.6.22 and this this upper-left corner problem appeared in 2.6.28 or 2.6.27).
---
diff -Nru --show-c-function linux-2.6.30.1-orig/net/bluetooth/hidp/core.c linux-2.6.30.1-lvs/net/bluetooth/hidp/core.c
--- linux-2.6.30.1-orig/net/bluetooth/hidp/core.c 2009-07-16
23:53:04.697925121 -0300
+++ linux-2.6.30.1-lvs/net/bluetooth/hidp/core.c 2009-07-17 02:35:03.969927384
-0300
@@ -73,6 +73,43 @@ static unsigned char hidp_keycode[256] =
static unsigned char hidp_mkeyspat[] = { 0x01, 0x01, 0x01, 0x01, 0x01, 0x01
};
+/* HIDP device quirks */
+enum {
+ HIDP_QUIRK_USE_INPUT_SESSION
+};
+
+struct quirk_id {
+ __u16 vendor;
+ __u16 product;
+ unsigned long quirks;
+};
+
+static const struct quirk_id hidp_quirks[] = {
+ {
+ /* Lamarque: Acer Bluetooth Optical Rechargeable Mouse
+ * does not work properly with hid session since 2.6.27. */
+ .vendor = 0x0458,
+ .product = 0x0058,
+ .quirks = 1 << HIDP_QUIRK_USE_INPUT_SESSION
+ },
+
+ { /* end: all zeroes */ }
+};
+
+static int quirk_test_bit(__u16 vendor, __u16 product, int quirk) +{
+ const struct quirk_id *q = &hidp_quirks[0];
+
+ while (q->vendor != vendor && q->product != product &&
+ q->vendor && q->product)
+ q++;
+
+ if (q->vendor == vendor && q->product == product)
+ return test_bit(quirk, &q->quirks);
+
+ return 0;
+}
+
static struct hidp_session *__hidp_get_session(bdaddr_t *bdaddr) {
struct hidp_session *session;
@@ -832,7 +869,9 @@ int hidp_add_connection(struct hidp_conn
session->flags = req->flags & (1 << HIDP_BLUETOOTH_VENDOR_ID);
session->idle_to = req->idle_to;
- if (req->rd_size > 0) {
+ if (req->rd_size > 0 &&
+ !quirk_test_bit(req->vendor, req->product,
+ HIDP_QUIRK_USE_INPUT_SESSION)) {
err = hidp_setup_hid(session, req); if (err && err != -ENODEV)
goto err_skb;
Quoted 10 lines · On Fri, 17 Jul 2009 03:01:43 -0300 Lamarque Vieira Souza <[email protected]>…
This patch works around one problem with my Acer Bluetooth Optical
Rechargeable Mouse where the cursor gets stuck at screen's upper-left corner. Even my notebook's touchpad is not able to move cursor when the bluetooth mouse is connected to my Acer Ferrari 4005 notebook. Using input session instead of hid session solves this problem although the cursor still moves a little sluggishly with the bluetooth mouse, cursor moves correctly using the touchpad. My bluetooth mouse used to work well (no sluggish) until kernel 2.6.21, since then the problems are getting worse with each kernel release (it got sluggish in 2.6.22 and this this upper-left corner problem appeared in 2.6.28 or 2.6.27).
The patch also adds a new general quirk infrastructure to the hidp core. That's worth noting in the changelog! I added this:
The patch adds a general quirk handling framework to the HIDP core and then uses this framework to implement a quirk for this device.
Quoted 36 lines
linux-2.6.30.1-lvs/net/bluetooth/hidp/core.c
---linux-2.6.30.1-orig/net/bluetooth/hidp/core.c2009-07-16
23:53:04.697925121 -0300
+++linux-2.6.30.1-lvs/net/bluetooth/hidp/core.c2009-07-17 02:35:03.969927384
-0300(quoted diff) +26
-0@@ -73,6 +73,43 @@ static unsigned char hidp_keycode[256] = static unsigned char hidp_mkeyspat[] = { 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 }; +/* HIDP device quirks */ +enum { + HIDP_QUIRK_USE_INPUT_SESSION +}; + +struct quirk_id { + __u16 vendor; + __u16 product; + unsigned long quirks; +}; + +static const struct quirk_id hidp_quirks[] = { + { + /* Lamarque: Acer Bluetooth Optical Rechargeable Mouse + * does not work properly with hid session since 2.6.27. */ + .vendor = 0x0458, + .product = 0x0058, + .quirks = 1 << HIDP_QUIRK_USE_INPUT_SESSION + }, + + { /* end: all zeroes */ } +}; + +static int quirk_test_bit(__u16 vendor, __u16 product, int quirk) +{ + const struct quirk_id *q = &hidp_quirks[0];
Review static unsigned char hidp_keycode[256] = · line 112
Quoted 10 lines
(quoted diff) +10
-0+ + while (q->vendor != vendor && q->product != product && + q->vendor && q->product) + q++; + + if (q->vendor == vendor && q->product == product) + return test_bit(quirk, &q->quirks); + + return 0; +}
Looks OK, but...
It's a bit neater (IMO) and probably more efficient to replace the null-terminated search with a fixed-size one, using ARRAY_SIZE().
How does this look?
static const struct quirk_id hidp_quirks[] = {
{
/* Lamarque: Acer Bluetooth Optical Rechargeable Mouse
* does not work properly with hid session since 2.6.27. */
.vendor = 0x0458,
.product = 0x0058,
.quirks = 1 << HIDP_QUIRK_USE_INPUT_SESSION
},
};static int quirk_test_bit(__u16 vendor, __u16 product, int quirk)
{
int i;
for (i = 0; i < ARRAY_SIZE(hidp_quirks); i++) {
const struct quirk_id *q = hidp_quirks + i;
if (q->vendor == vendor && q->product == product)
return test_bit(quirk, &q->quirks);
}
return 0;
}Incremental patch:
net/bluetooth/hidp/core.c renamed from net/bluetooth/hidp/core.c~bluetooth-fix-for-acer-bluetooth-optical-rechargeable-mouse-fix +6 -8
@@ -92,20 +92,18 @@ static const struct quirk_id hidp_quirks .product = 0x0058, .quirks =1 <<HIDP_QUIRK_USE_INPUT_SESSION }, - - {/* end: all zeroes */ } };static int quirk_test_bit (__u16 vendor,__u16 product,int quirk) { -const struct quirk_id *q = &hidp_quirks[0 ]; +int i; -while (q->vendor != vendor && q->product != product && - q->vendor && q->product) - q++; +for (i =0 ; i <ARRAY_SIZE (hidp_quirks); i++) { +const struct quirk_id *q = hidp_quirks + i; -if (q->vendor == vendor && q->product == product) -return test_bit (quirk, &q->quirks); +if (q->vendor == vendor && q->product == product) +return test_bit (quirk, &q->quirks); + }return 0 ; }
_
Hi,
Em Quinta-feira 23 Julho 2009, Andrew Morton escreveu:
Quoted 13 lines
On Fri, 17 Jul 2009 03:01:43 -0300
Quoted 10 lines · Lamarque Vieira Souza
This patch works around one problem with my Acer Bluetooth Optical
Rechargeable Mouse where the cursor gets stuck at screen's upper-left corner. Even my notebook's touchpad is not able to move cursor when the bluetooth mouse is connected to my Acer Ferrari 4005 notebook. Using input session instead of hid session solves this problem although the cursor still moves a little sluggishly with the bluetooth mouse, cursor moves correctly using the touchpad. My bluetooth mouse used to work well (no sluggish) until kernel 2.6.21, since then the problems are getting worse with each kernel release (it got sluggish in 2.6.22 and this this upper-left corner problem appeared in 2.6.28 or 2.6.27).
By the way, I have found that bug
http://bugzilla.kernel.org/show_bug.cgi?id=13314 is the cause of the sluggish in my mouse.
Quoted 6 lines
The patch also adds a new general quirk infrastructure to the hidp core. That's worth noting in the changelog! I added this:
The patch adds a general quirk handling framework to the HIDP core and then uses this framework to implement a quirk for this device.
Ok, that is better.
Quoted 49 lines
Quoted 36 lines
linux-2.6.30.1-lvs/net/bluetooth/hidp/core.c
---linux-2.6.30.1-orig/net/bluetooth/hidp/core.c2009-07-16
23:53:04.697925121 -0300
+++linux-2.6.30.1-lvs/net/bluetooth/hidp/core.c2009-07-17
02:35:03.969927384 -0300(quoted diff) +26
-0@@ -73,6 +73,43 @@ static unsigned char hidp_keycode[256] = static unsigned char hidp_mkeyspat[] = { 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 }; +/* HIDP device quirks */ +enum { + HIDP_QUIRK_USE_INPUT_SESSION +}; + +struct quirk_id { + __u16 vendor; + __u16 product; + unsigned long quirks; +}; + +static const struct quirk_id hidp_quirks[] = { + { + /* Lamarque: Acer Bluetooth Optical Rechargeable Mouse + * does not work properly with hid session since 2.6.27. */ + .vendor = 0x0458, + .product = 0x0058, + .quirks = 1 << HIDP_QUIRK_USE_INPUT_SESSION + }, + + { /* end: all zeroes */ } +}; + +static int quirk_test_bit(__u16 vendor, __u16 product, int quirk) +{ + const struct quirk_id *q = &hidp_quirks[0];Review static unsigned char hidp_keycode[256] = · line 112
Quoted 10 lines
(quoted diff) +10
-0+ + while (q->vendor != vendor && q->product != product && + q->vendor && q->product) + q++; + + if (q->vendor == vendor && q->product == product) + return test_bit(quirk, &q->quirks); + + return 0; +}Looks OK, but...
Quoted 4 lines
It's a bit neater (IMO) and probably more efficient to replace the null-terminated search with a fixed-size one, using
ARRAY_SIZE().How does this look?
It really looks better. Thanks for the tip about ARRAY_SIZE.
Quoted 59 lines
static const struct quirk_id hidp_quirks[] = { { /* Lamarque: Acer Bluetooth Optical Rechargeable Mouse * does not work properly with hid session since 2.6.27. */ .vendor = 0x0458, .product = 0x0058, .quirks = 1 << HIDP_QUIRK_USE_INPUT_SESSION }, };static int
quirk_test_bit(__u16 vendor, __u16 product, int quirk){ int i; for (i = 0; i < ARRAY_SIZE(hidp_quirks); i++) { const struct quirk_id *q = hidp_quirks + i; if (q->vendor == vendor && q->product == product) return test_bit(quirk, &q->quirks); } return 0; }Incremental patch:
---
a/net/bluetooth/hidp/core.c~bluetooth-fix-for-acer-bluetooth-optical-rechar geable-mouse-fix +++a/net/bluetooth/hidp/core.cnet/bluetooth/hidp/core.c renamed from net/bluetooth/hidp/core.c~bluetooth-fix-for-acer-bluetooth-optical-rechargeable-mouse-fix +6
-8@@ -92,20 +92,18 @@ static const struct quirk_id hidp_quirks .product = 0x0058, .quirks =1 <<HIDP_QUIRK_USE_INPUT_SESSION }, - - {/* end: all zeroes */ } };static int quirk_test_bit (__u16 vendor,__u16 product,int quirk) { -const struct quirk_id *q = &hidp_quirks[0 ]; +int i; -while (q->vendor != vendor && q->product != product && - q->vendor && q->product) - q++; +for (i =0 ; i <ARRAY_SIZE (hidp_quirks); i++) { +const struct quirk_id *q = hidp_quirks + i; -if (q->vendor == vendor && q->product == product) -return test_bit (quirk, &q->quirks); +if (q->vendor == vendor && q->product == product) +return test_bit (quirk, &q->quirks); + }return 0 ; }_
Signature · 3 lines
Lamarque V. Souza http://www.geographicguide.com/brazil.htm Linux User #57137 - http://counter.li.org/
Quoted 15 lines · On Thu, 23 Jul 2009 18:30:57 -0300 Lamarque Vieira Souza <[email protected]>…
Em Quinta-feira 23 Julho 2009, Andrew Morton escreveu:
Quoted 13 lines
On Fri, 17 Jul 2009 03:01:43 -0300
Quoted 10 lines · Lamarque Vieira Souza
This patch works around one problem with my Acer Bluetooth Optical
Rechargeable Mouse where the cursor gets stuck at screen's upper-left corner. Even my notebook's touchpad is not able to move cursor when the bluetooth mouse is connected to my Acer Ferrari 4005 notebook. Using input session instead of hid session solves this problem although the cursor still moves a little sluggishly with the bluetooth mouse, cursor moves correctly using the touchpad. My bluetooth mouse used to work well (no sluggish) until kernel 2.6.21, since then the problems are getting worse with each kernel release (it got sluggish in 2.6.22 and this this upper-left corner problem appeared in 2.6.28 or 2.6.27).
Quoted 3 lines
By the way, I have found that bug
http://bugzilla.kernel.org/show_bug.cgi?id=13314 is the cause of the sluggish in my mouse.
(cc's added)
OK, thanks. Did you test Anthony's patch on your system?
Also, you've determined that
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e4e8e37c42bdaaefcb84eeaef0dc1bc3f696f8f6
caused the problem on your machine and that reverting it fixes things up.
I'm all confused.
Em Quinta-feira 23 Julho 2009, Andrew Morton escreveu:
Quoted 19 lines
On Thu, 23 Jul 2009 18:30:57 -0300
Quoted 16 lines · Lamarque Vieira Souza
Em Quinta-feira 23 Julho 2009, Andrew Morton escreveu:
Quoted 14 lines
On Fri, 17 Jul 2009 03:01:43 -0300
Quoted 11 lines · Lamarque Vieira Souza
This patch works around one problem with my Acer Bluetooth Optical
Rechargeable Mouse where the cursor gets stuck at screen's upper-left corner. Even my notebook's touchpad is not able to move cursor when the bluetooth mouse is connected to my Acer Ferrari 4005 notebook. Using input session instead of hid session solves this problem although the cursor still moves a little sluggishly with the bluetooth mouse, cursor moves correctly using the touchpad. My bluetooth mouse used to work well (no sluggish) until kernel 2.6.21, since then the problems are getting worse with each kernel release (it got sluggish in 2.6.22 and this this upper-left corner problem appeared in 2.6.28 or 2.6.27).
Quoted 7 lines
Quoted 3 lines
By the way, I have found that bug
http://bugzilla.kernel.org/show_bug.cgi?id=13314 is the cause of the sluggish in my mouse.(cc's added)
OK, thanks. Did you test Anthony's patch on your system?
Yes, I did.
Quoted 6 lines
Also, you've determined that
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h
=e4e8e37c42bdaaefcb84eeaef0dc1bc3f696f8f6 caused the problem on your machine and that reverting it fixes things up.I'm all confused.
Signature · 3 lines
Lamarque V. Souza http://www.geographicguide.com/brazil.htm Linux User #57137 - http://counter.li.org/
Quoted 24 lines · On Thu, 23 Jul 2009 19:00:58 -0300 Lamarque Vieira Souza <[email protected]>…
Em Quinta-feira 23 Julho 2009, Andrew Morton escreveu:
Quoted 23 lines
On Thu, 23 Jul 2009 18:30:57 -0300
Quoted 19 lines · Lamarque Vieira Souza
Em Quinta-feira 23 Julho 2009, Andrew Morton escreveu:
Quoted 14 lines
On Fri, 17 Jul 2009 03:01:43 -0300
Quoted 11 lines · Lamarque Vieira Souza
This patch works around one problem with my Acer Bluetooth Optical
Rechargeable Mouse where the cursor gets stuck at screen's upper-left corner. Even my notebook's touchpad is not able to move cursor when the bluetooth mouse is connected to my Acer Ferrari 4005 notebook. Using input session instead of hid session solves this problem although the cursor still moves a little sluggishly with the bluetooth mouse, cursor moves correctly using the touchpad. My bluetooth mouse used to work well (no sluggish) until kernel 2.6.21, since then the problems are getting worse with each kernel release (it got sluggish in 2.6.22 and this this upper-left corner problem appeared in 2.6.28 or 2.6.27).By the way, I have found that bug
http://bugzilla.kernel.org/show_bug.cgi?id=13314 is the cause of the sluggish in my mouse.
Quoted 5 lines
Quoted 3 lines
(cc's added)
OK, thanks. Did you test Anthony's patch on your system?
Yes, I did.
Did it fix the bug?
If so, does that mean that you think we should merge Anthony's patch instead of yours?
Quoted 6 lines
Quoted 6 lines
Also, you've determined that
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h
=e4e8e37c42bdaaefcb84eeaef0dc1bc3f696f8f6 caused the problem on your machine and that reverting it fixes things up.I'm all confused.
Em Quinta-feira 23 Julho 2009, Andrew Morton escreveu:
Quoted 28 lines
On Thu, 23 Jul 2009 19:00:58 -0300
Quoted 25 lines · Lamarque Vieira Souza
Em Quinta-feira 23 Julho 2009, Andrew Morton escreveu:
Quoted 24 lines
On Thu, 23 Jul 2009 18:30:57 -0300
Quoted 20 lines · Lamarque Vieira Souza
Em Quinta-feira 23 Julho 2009, Andrew Morton escreveu:
Quoted 15 lines
On Fri, 17 Jul 2009 03:01:43 -0300
Quoted 12 lines · Lamarque Vieira Souza
This patch works around one problem with my Acer Bluetooth
Optical Rechargeable Mouse where the cursor gets stuck at screen's upper-left corner. Even my notebook's touchpad is not able to move cursor when the bluetooth mouse is connected to my Acer Ferrari 4005 notebook. Using input session instead of hid session solves this problem although the cursor still moves a little sluggishly with the bluetooth mouse, cursor moves correctly using the touchpad. My bluetooth mouse used to work well (no sluggish) until kernel 2.6.21, since then the problems are getting worse with each kernel release (it got sluggish in 2.6.22 and this this upper-left corner problem appeared in 2.6.28 or 2.6.27).By the way, I have found that bug
http://bugzilla.kernel.org/show_bug.cgi?id=13314 is the cause of the sluggish in my mouse.
Quoted 7 lines
Quoted 5 lines
Quoted 3 lines
(cc's added)
OK, thanks. Did you test Anthony's patch on your system?
Yes, I did.
Did it fix the bug?
It fixed one of the two problems I had with this mouse.
Quoted 2 lines
If so, does that mean that you think we should merge Anthony's patch instead of yours?
I need both patches for my mouse to work properly. My patch fix the problem
of cursor stucked at upper-left corner. Anthony's fix the cursor being sluggish (stutter). They are two different problems.
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Also, you've determined that
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=comm
it;h =e4e8e37c42bdaaefcb84eeaef0dc1bc3f696f8f6 caused the problem on your machine and that reverting it fixes things up.I'm all confused.
Signature · 3 lines
Lamarque V. Souza http://www.geographicguide.com/brazil.htm Linux User #57137 - http://counter.li.org/
The patch in the bug report[1] just undoes the part of the commit that causes the stutter/sluggishness with my mouse so it isn't really a fix
[1] http://bugzilla.kernel.org/show_bug.cgi?id=3D13314
Quoted 13 lines · Lamarque Vieira Souza
Em Quinta-feira 23 Julho 2009, Andrew Morton escreveu:
Quoted 12 lines
On Thu, 23 Jul 2009 19:00:58 -0300
Quoted 9 lines · Lamarque Vieira Souza
Em Quinta-feira 23 Julho 2009, Andrew Morton escreveu:
Quoted 8 lines
On Thu, 23 Jul 2009 18:30:57 -0300
Quoted 5 lines · Lamarque Vieira Souza
Em Quinta-feira 23 Julho 2009, Andrew Morton escreveu:
Quoted 4 lines
On Fri, 17 Jul 2009 03:01:43 -0300
Quoted 1 line · Lamarque Vieira Souza
=A0 =A0 This patch works around one problem with my Acer Bluet=
ooth
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Optical Rechargeable Mouse where the cursor gets stuck at screen's upper-left corner. Even my notebook's touchpad is not able to move cursor when the bluetooth mouse is connected to m=
y
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Acer Ferrari 4005 notebook. Using input session instead of hid session solves this problem although the cursor still moves a little sluggishly with the bluetooth mouse, cursor moves correctly using the touchpad. My bluetooth mouse used to work well (no sluggish) until kernel 2.6.21, since then the problem=
s
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
are getting worse with each kernel release (it got sluggish in 2.6.22 and this this upper-left corner problem appeared in 2.6=
.28
Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
Quoted 1 line
Quoted 1 line
or 2.6.27).
=A0 =A0 =A0 =A0 By the way, I have found that bug
http://bugzilla.kernel.org/show_bug.cgi?id=3D13314 is the cause of=
the
Quoted 8 lines
Quoted 8 lines
Quoted 7 lines
Quoted 5 lines
Quoted 1 line
sluggish in my mouse.
(cc's added)
OK, thanks. =A0Did you test Anthony's patch on your system?
=A0 =A0 Yes, =A0I did.
Quoted 8 lines
Quoted 1 line
Did it fix the bug?
=A0 =A0 =A0 =A0It fixed one of the two problems I had with this mouse.
Quoted 2 lines
If so, does that mean that you think we should merge Anthony's patch instead of yours?
=A0 =A0 =A0 =A0I need both patches for my mouse to work properly. My patc=
h fix the problem
Quoted 5 lines
of cursor stucked at upper-left corner. Anthony's fix the cursor being sluggish (stutter). They are two different problems.
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Also, you've determined that
http://git.kernel.org/?p=3Dlinux/kernel/git/torvalds/linux-2.6.git;a=
=3Dcomm
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
it;h =3De4e8e37c42bdaaefcb84eeaef0dc1bc3f696f8f6 caused the problem o=
n
Quoted 10 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
your machine and that reverting it fixes things up.
I'm all confused.
--
Lamarque V. Souza
http://www.geographicguide.com/brazil.htm
Linux User #57137 - http://counter.li.org/
Em Quinta-feira 23 Julho 2009, Anthony Waters escreveu:
Quoted 2 lines
The patch in the bug report[1] just undoes the part of the commit that causes the stutter/sluggishness with my mouse so it isn't really a fix
Actually I have changed your patch to add a quirk for my bluetooth controller
(0a5c:200a), so it only undoes the change for this particular bluetooth controller. The default link policy settings mentioned in commit "[Bluetooth] Make use of the default link policy settings" does not work properly with this mouse even in Windows. In Windows the mouse is slow to react even today, increasing acceleration in mouse settings helped but then the touchpad becomes to sensitive, the mouse had always worked better in Linux than in Windows until kernel 2.6.21. In 2.6.22 the input-to-hid change happened in hci_usb module and the mouse started to behave like in Windows. In 2.6.27 the stutter problem was introduced, in 2.6.29 hci_usb module was removed and only btusb was available, but with hid+btusb+2.6.2[89] the cursor gets stucked at upper- left corner, with hid+hci_usb+2.6.28 there is only the stutter problem. Finally, after two years trying to find the causes of those problems it is working well again, better than in Windows, so please add those two patches to the kernel. I even got to the point to undo the input-to-hid change from kernels 2.6.22 until 2.6.26 and port the modified 2.6.26 bluetooth subsystem to kernels 2.6.2[789] until I find a better solution, which seems to be those two patches.
Quoted 62 lines
[1] http://bugzilla.kernel.org/show_bug.cgi?id=13314
On Thu, Jul 23, 2009 at 6:21 PM, Lamarque Vieira
Quoted 57 lines · Souza
Em Quinta-feira 23 Julho 2009, Andrew Morton escreveu:
Quoted 28 lines
On Thu, 23 Jul 2009 19:00:58 -0300
Quoted 25 lines · Lamarque Vieira Souza
Em Quinta-feira 23 Julho 2009, Andrew Morton escreveu:
Quoted 24 lines
On Thu, 23 Jul 2009 18:30:57 -0300
Quoted 20 lines · Lamarque Vieira Souza
Em Quinta-feira 23 Julho 2009, Andrew Morton escreveu:
Quoted 15 lines
On Fri, 17 Jul 2009 03:01:43 -0300
Quoted 12 lines · Lamarque Vieira Souza
This patch works around one problem with my Acer Bluetooth
Optical Rechargeable Mouse where the cursor gets stuck at screen's upper-left corner. Even my notebook's touchpad is not able to move cursor when the bluetooth mouse is connected to my Acer Ferrari 4005 notebook. Using input session instead of hid session solves this problem although the cursor still moves a little sluggishly with the bluetooth mouse, cursor moves correctly using the touchpad. My bluetooth mouse used to work well (no sluggish) until kernel 2.6.21, since then the problems are getting worse with each kernel release (it got sluggish in 2.6.22 and this this upper-left corner problem appeared in 2.6.28 or 2.6.27).By the way, I have found that bug
http://bugzilla.kernel.org/show_bug.cgi?id=13314 is the cause of the sluggish in my mouse.Quoted 7 lines
Quoted 5 lines
Quoted 3 lines
(cc's added)
OK, thanks. Did you test Anthony's patch on your system?
Yes, I did.
Did it fix the bug?
It fixed one of the two problems I had with this mouse.
Quoted 2 lines
If so, does that mean that you think we should merge Anthony's patch instead of yours?
I need both patches for my mouse to work properly. My patch fix
the problem of cursor stucked at upper-left corner. Anthony's fix the cursor being sluggish (stutter). They are two different problems.Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Also, you've determined that
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=c
omm it;h =e4e8e37c42bdaaefcb84eeaef0dc1bc3f696f8f6 caused the problem on your machine and that reverting it fixes things up.I'm all confused.
--
Lamarque V. Souza
http://www.geographicguide.com/brazil.htm
Linux User #57137 - http://counter.li.org/
Signature · 3 lines
Lamarque V. Souza http://www.geographicguide.com/brazil.htm Linux User #57137 - http://counter.li.org/