I've got a new Mouse "Sharkoon Drakonia", a gaming mouse with 11 buttons and high changable resolution.

The problem is, that the mouse doesn't work. Only the LEDs are visible, but wether the buttons nor the mouse movement ist recognized. Under Windows the mouse works out of the box (main buttons, movement, forward and backward, the other buttons not yet tested).

Also the lsusb seems not to see it right:

Bus 003 Device 002: ID 04d9:a067 Holtek Semiconductor, Inc. 

This solution should work with all Sharkoon mice at the time of writing this revision.

Recompiling Ubuntu Kernel for Sharkoon support

  1. Open a Terminal window (Ctrl + Alt + T)
  2. Run sudo apt-get install fakeroot kernel-wedge build-essential makedumpfile kernel-package libncurses5 libncurses5-dev to get required packages for kernel building. You can apt-get remove <package name> these packages if you do not want them afterwards.
  3. Run the following to create a folder for the kernel source:

    mkdir ~/source
    cd ~/source
    apt-get source linux-image-$(uname -r)
  4. Type in cd linux and press Tab to fill in the rest of the folder's name before pressing Enter.

  5. Type in gedit include/linux/hid.h and find the string (Ctrl + F) "#define HID_MAX_USAGES" and change the value of it to '64000'.
  6. Run cp -vi /boot/config-`uname -r` .config to get the config file from your current system.
  7. (Opt) To speed up compiling, you can set the concurrency level. Run export CONCURRENCY_LEVEL=# Replace "#" with the number of cores on your CPU + 1. (Dual-core will be "3")
  8. Run make-kpkg clean to prepare the directory for compiling.
  9. Run fakeroot make-kpkg --initrd --append-to-version=-sk kernel-image kernel-headers to start compiling the kernel. This will take a long time. If you have to interrupt the process, you will have to run rm ~/source and start from Step 3.

The kernel binaries (.deb) will be in the folder ~/source.

Installing the custom kernel

  1. Open a File Manager window and navigate to /lib/modules.
  2. Open a Terminal Window and cd ~/source
  3. Run the following using Tab to autocomplete the names:

    sudo dpkg -i linux-image-(REPLACE_ME).deb    
    sudo dpkg -i linux-headers-(REPLACE_ME).deb
  4. Run sudo update-initramfs -c -k (REPLACE_ME[DIFFERENT]) replacing with the name of the new folder (should end with "-sk" in the File Manager window.

  5. Run sudo update-grub.
  6. Restart your computer.

You should now be running with your new, custom-compiled kernel.

(Opt) Cleaning up

  1. Open a Terminal window
  2. Run sudo apt-get remove fakeroot kernel-wedge build-essential makedumpfile kernel-package libncurses5 libncurses5-dev
  3. Run rm ~/source (Or you could delete the directory from a file manager)
  • 1
    ouch. Why would that be even necessary? – Journeyman Geek Feb 16 '13 at 8:05
  • 4
    Enjoy your new bounty because this is one of the best answers I've seen in a long time. – Nathan Osman Feb 17 '13 at 20:28
  • Wow. Sorry for this comment, but it's so unbelievable that you have to recompile your kernel for a certain mouse. – Akku Jan 16 '14 at 21:22
  • thanks for the good answer but i've got one more question: what happens if there is an update of the kernel through auto-update? will it override my custom kernel? or won't it update at all? – Dominik Goltermann Jan 26 '14 at 9:25
  • Kernel version 3.11.2 onwards supports this mouse fine so it shouldn't be a problem. – njallam Jan 26 '14 at 12:48

Driver for the mouse exist in the 3.11.2 stable kernel. kernel mailinglist

Increase the HID_MAX_USAGES is just a workaround.


I have read that some people have had success getting this mouse working but the only known method requires recompiling the linux kernel.


Ubuntu Forum

Suse guide to getting it working

Guide to recompiling the kernel

Not the answer you're looking for? Browse other questions tagged or ask your own question.