4

I just installed Ubuntu 13.10. I have a bluetooth mouse (Adesso iMouse S100). Initially, the mouse works fine, but after a few minutes, it starts to lag a lot and it eventually disconnects. And then, it takes forever to reconnect.

The mouse works fine on my win-7 issue (dual boot win-7/ubuntu). So I know it's not an hardware issue

Anyone has an idea?

Thomas Ward
  • 74,764
  • same issue here with a magic mouse on macbook pro. worked fine on 13.04. my problem is that the mouse is lagging and jumping a lot. unusable. – oblitum Dec 31 '13 at 20:31
  • 1
    Did you try new batteries in the mouse? – ubfan1 Dec 31 '13 at 20:49
  • @ubfan1 I'll, Ubuntu claims the mouse battery is 87% which seems fine, and since it worked before I upgraded. Currently I don't have new batteries available, but I must do a test. – oblitum Dec 31 '13 at 20:51
  • try having a look here https://wiki.ubuntu.com/HardwareSupportComponentsBluetoothUsbAdapters – 842Mono Jan 02 '14 at 15:19
  • @ubfan1 not a battery issue =/ just bought new batteries. This is a bug on saucy... my magic mouse just lagged and disconnected. – oblitum Jan 02 '14 at 23:20
  • Have you tried the solutions here: http://askubuntu.com/questions/286112/bluetooth-loses-connection-with-mouse-in-13-04/345871#345871 and here: http://askubuntu.com/questions/131884/bt-mouse-disconnects-after-upgrade-to-12-04 – virtualxtc Jan 03 '14 at 06:12
  • I have this mouse as well, It disconnects from windows 7 after a few seconds of inactivity, behaves the same on Linux but reconnects a bit faster. It's a fine mouse but it being disconnecting like that and takes 5 seconds or more to reconnect annoys me. – answerSeeker Jul 01 '15 at 03:56

2 Answers2

0

Sounds like an USB problem to me. Here is what you might try : A) Install a different kernel or B) Build you own kernel.

.

A) Install a different kernel, not build FOR Ubuntu. Cannonical may have done some mistakes on their kernels. Current Ubuntu 13.10's kernel is 3.11 but you can download recent version (today it's 13.12 the latest stable version) on http://kernel.ubuntu.com/~kernel-ppa/mainline/ .

Choose the 2 packages for your architecture (64 bits = amd64, 32 bits = i386) and install them in this order : linux-image-XXX first, then linux-header-XXX second. You can install the .deb packages with gdebi (sudo apt-get install gdebi) with visual interface by double-click on the .deb file, or you can use these commandline :

cd path/to/file 

(replace path/to/file by the directory containing the .deb packages, default is ~/Downloads)

sudo dpkg -i package_to_install

(replace package_to_install by the name of the .deb file you want to install, here it should be something like linux-image-XXX-amd64.deb)

.

B) Build you own kernel with a modified hid.h value (usb2.0 driver), to allow the USB 2.0 to be more permissive. I used to do that until kernel 3.11 was out for my Perixx gaming mouse (wired mouse). This custom kernel is based on your system's current kernel, so it's guaranteed to be fully compatible with your Ubuntu. The steps are just below this paragraph.

See What is HID_MAX_USAGES for knowing a little more about HID.H and why recompiling kernel can be a solution for your bluetooth mouse.


Building a new kernel with modifier hid.h value :

1) Open a terminal (ctrl-alt-T)

2) Launch the command :

  • sudo apt-get install fakeroot kernel-wedge build-essential makedumpfile kernel-package libncurses5 libncurses5-dev

It installs the requiered packages for the kernel building. You can apt-get remove <packages> afterwards to uninstall them if you wish.

3) Enter the following commands to create a directory for the kernel sources :

  • mkdir ~/source
  • cd ~/source
  • apt-get source linux-image-$(uname -r)

4) Type :

  • cd linux

Press Tab to auto-fill the name, then press Enter.

5) Launch :

  • gedit include/linux/hid.h

Find (Ctrl + F) the line #define HID_MAX_USAGES and change it's value to '64000'.

6) Launch :

cp -vi /boot/config-`uname -r` .config

To copy the configuration file of your current system.

7) (Optionnal) To speed up the building process, you can adjust the concurrency level. Launch :

  • export CONCURRENCY_LEVEL=#

Replace # by the number of your CPU's cores + 1 (Dual-core will be "3", Quad-core "5", …)

8) Launch :

  • make-kpkg clean

To prepare the directory needed by the building process.

9) Launch :

  • fakeroot make-kpkg --initrd --append-to-version=-sk kernel-image kernel-headers

This will start the kernel building process. It can take a while (between 1h and 8h following your hardware). If the process is interrupted for some reason, you should launch the command rm ~/source and start over from step 3. The kernel binaries .deb will be placed in ~/source.


To install the new kernel :

1) Open nautilus (file explorer) and go to /lib/modules.

2) Open a Terminal and launch :

  • cd ~/source

3) Type the following commands and press **Tab to auto-fill the version of kernel, named here (KERNEL_VERSION) :**

  • sudo dpkg -i linux-image-
  • sudo dpkg -i linux-headers-

Both commands (once filled by Tab) must end by .deb

4) Launch :

  • sudo update-initramfs -c -k KERNEL_NAME

You have to replace KERNEL_NAME by the name used by the directory containing the modifier kernel (should end with "-sk" in nautilus).

5) Launch :

  • sudo update-grub

(and also sudo update-burg if you use BURG).

6) Restart the computer.

You now run a custom kernel ! Congrats'


If that doesn't work, the problem is NOT caused by HID (usb2.0 driver) and I have no idea how to help you :)

MrVaykadji
  • 5,875
  • 2
  • 32
  • 55
0

This also looks like a "Pooling" problem to me.. I found a similar problem, but only during gaming in ubuntu 12.04 on steam..!! Might be associated...might be not.

If you feel the lagging might be due to pooling interval you can decrease it..by the following, (basically its similar to what has already been suggested, use a new kernel)

Try the following resource .. http://wiki.quakeworld.nu/Howto_customise_mouse_polling_rate