generic wireless mouse not working in 12.04

Asked by draekko

Mouse keeps connecting and disconnecting. Because of this it is unsuable. Every few seconds lsusb finds it as a Novatek Microelectronics Corp. device, vendor id 0x0603 and dev id 0x1602. Using 12.04 with kernel 3.2.14 sources downloaded with apt-get. Tested on a 64bit system.

uname -a :

Linux dragon-mobi-lx 3.2.14-dell-6 #1 SMP Sat May 19 12:01:05 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux

lsusb :

Bus 002 Device 004: ID 0603:1602 Novatek Microelectronics Corp.

syslog :

May 16 19:39:04 dragon-mobi-lx kernel: [ 465.013279] usb 2-1.3: new low-speed USB device number 41 using ehci_hcd
May 16 19:39:04 dragon-mobi-lx mtp-probe: checking bus 2, device 41: "/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3"
May 16 19:39:04 dragon-mobi-lx mtp-probe: bus: 2, device: 41 was not an MTP device
May 16 19:39:04 dragon-mobi-lx kernel: [ 465.129696] input: USB Device HID̖USBice as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3:1.0/input/input1016
May 16 19:39:04 dragon-mobi-lx kernel: [ 465.130468] generic-usb 0003:0603:1602.03EE: input,hiddev0,hidraw0: USB HID v1.11 Mouse [USB Device HID̖USBice] on usb-0000:00:1d.0-1.3/input0
May 16 19:39:04 dragon-mobi-lx kernel: [ 465.147224] usb 2-1.3: USB disconnect, device number 41

Here is a kernel patch to fix it:

diff -u drivers/hid/usbhid.original/hid-quirks.c drivers/hid/usbhid/hid-quirks.c
--- drivers/hid/usbhid.original/hid-quirks.c 2012-04-25 04:43:16.000000000 -0400
+++ drivers/hid/usbhid/hid-quirks.c 2012-05-19 11:30:14.000000000 -0400
@@ -89,6 +89,8 @@

  { USB_VENDOR_ID_PI_ENGINEERING, USB_DEVICE_ID_PI_ENGINEERING_VEC_USB_FOOTPEDAL, HID_QUIRK_HIDINPUT_FORCE },

+ { USB_VENDOR_ID_NOVATEK, USB_DEVICE_ID_NOVATEK_MOUSE, HID_QUIRK_NO_INIT_REPORTS },
+
  { USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_MULTI_TOUCH, HID_QUIRK_MULTI_INPUT },
  { USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_WIRELESS, HID_QUIRK_MULTI_INPUT },
  { USB_VENDOR_ID_SIGMA_MICRO, USB_DEVICE_ID_SIGMA_MICRO_KEYBOARD, HID_QUIRK_NO_INIT_REPORTS },
--- drivers/hid.original/hid-ids.h 2012-04-25 04:43:16.000000000 -0400
+++ drivers/hid/hid-ids.h 2012-05-19 08:23:43.000000000 -0400
@@ -745,4 +745,7 @@
 #define USB_VENDOR_ID_PRIMAX 0x0461
 #define USB_DEVICE_ID_PRIMAX_KEYBOARD 0x4e05

+#define USB_VENDOR_ID_NOVATEK 0x0603
+#define USB_DEVICE_ID_NOVATEK_MOUSE 0x1602
+
 #endif

Question information

Language:
English Edit question
Status:
Expired
For:
Ubuntu xserver-xorg-input-mouse Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
actionparsnip (andrew-woodhead666) said :
#1

linux-image-generic (source: linux-meta): Generic Linux kernel
               image. In component main, is optional. Version 3.2.0.24.26
               (precise), package size 2 kB, installed size 31 kB

You are running a 3rd party kernel. The latest is 3.2.0.24

If you use the official kernel, is it ok?

Revision history for this message
draekko (draekko) said :
#2

I am using whatever came when i download the sources through apt-get, as for the original kernel 3.2.0.24-generic; no it did NOT work at all. Hence why i had to go and get the source code and find a way to make it work.

Revision history for this message
Launchpad Janitor (janitor) said :
#3

This question was expired because it remained in the 'Open' state without activity for the last 15 days.

Revision history for this message
Harry Sufehmi (harry-sufehmi) said :
#4

Thank you draekko, I suffered from exact same problem.
After patching the current ubuntu kernel & recompiled it, now my new mouse works flawlessly ! :D

Unfortunately, there are a lot of tutorials on how to recompile your kernel, and most are wrong in one way or another. For newbies, it must be very frustrating.

I followed the excellent tutorial here to recompile the kernel on my Ubuntu Precise Pangolin (12.04) :
http://www.howtogeek.com/howto/ubuntu/how-to-customize-your-ubuntu-kernel/

With a minor edit; this is the first command which will work with any version of your current kernel :
sudo apt-get install linux-source-`uname -r` kernel-package libncurses5-dev fakeroot

DO NOT follow the instructions here : https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel
It does NOT work. I wasted a whole day & only got more confused by the errors caused by it.

Anyway, so here's what I did, copy-paste style :

### create a temporary directory
mkdir ~/tmp
cd tmp

### install required packages
sudo apt-get update
sudo apt-get install linux-source-`uname -r` kernel-package libncurses5-dev fakeroot

### copy current kernel configurations
cp /boot/config-`uname -r` ~/tmp/linux-`uname -r`/.config

### let's go to the kernel source's directory
cd ~/tmp/linux-`uname -r`

### you can reconfigure anything;
### if you want to leave everything as before then just skip this step
make menuconfig

### let's compile !

### clean up everything first
make-kpkg clean

### change 5 into the number of your CPU's cores + 1
### it will make the recompiling process much faster
export CONCURRENCY_LEVEL=5

### recompiling now
time fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers

### let's install the new kernel packages
cd ..
sudo dpkg -i *deb

### reboot
sudo reboot

### hope it helps !