Last updated: April 17, 2012
Preliminaries
You can determine your kernel version by entering the following command in a terminal:
You should be able to determine your tablet model by running this command in a terminal:
Summary
The HOW TO below adds HID kernel driver support for the following 4 UC-Logic tablets: WP4030U, WP5540U, WP8060U, and PF1209. And the following 4 Waltop tablets: Slim Tablet 5.8", Slim Tablet 12.1", Media Tablet 10.6", and Media Tablet 14.1". These models are supported natively in the 2.6.37 kernel. In addition several patches make the HID drivers generally more drawing tablet capable.
This HOW TO is untested. Several of the patches affect multiple hid drivers beyond hid-uclogic.ko and hid-waltop.ko. This HOW TO does not copy all of the affected compiled drivers into the kernel's modules directory to save time. The assumption is that will not break things. So proceed at your own risk and please provide feed back if you test. If it can not be made to work then compiling an entire custom kernel may be necessary.
HOW TO Apply the Backported digimend-kernel-patches to Kernel's 2.6.32 (Lucid), 2.6.35 (Maverick), and 2.6.36
Kernel HID support for 4 UC-Logic (hid-uclogic.ko) and 4 Waltop (hid-waltop.ko) tablets
We'll do everything on the Desktop using Maverick's 2.6.35 kernel as an example. Change the commands as needed for the kernel you are patching.
First download on your Desktop the digimend-kernel-patches tar from the DIGImend project site and extract it. Then open a terminal and download your Ubuntu kernel's source code onto your Desktop with the following commands.
Code:
cd Desktop
sudo apt-get build-dep --no-install-recommends linux-image-$(uname -r)
apt-get source linux-image-$(uname -r)
The dependencies can take a while to download. The kernel is about 94 MB and takes a few minutes to download depending on your connection. You'll see something like linux_2.6.35.orig.tar.gz, linux_2.6.35-32.66.dsc, linux_2.6.35-32.66.diff.gz, and linux-2.6.35 if your release is Maverick.
To see the files you want to patch and then compile you can use Nautilus (Places) to go into the kernel's folder (e.g. linux-2.6.35) now on your Desktop and navigate to drivers/input/hid. You might notice modules such as usbmouse.ko are missing depending on the kernel version. This is because whether a driver is compiled as part of the baseline kernel (not visible) or as a loadable module is determined by the kernel's config file (/boot/grub). These options are decided by the kernel team. Loadable modules are selected with an "m".
Example 1: digimend-kernel-patches-0.4 tar (12-26-10)
You'll apply the patches in the terminal using the following commands changing the folder name if using another kernel of course.
Code:
cd linux-2.6.35
patch -p1 < ~/Desktop/digimend-kernel-patches-0.4/vanilla/2.6.35/0001-HID-allow-resizing-and-replacing-report-descriptors.patch
patch -p1 < ~/Desktop/digimend-kernel-patches-0.4/vanilla/2.6.35/0002-HID-rdesc-parser-remove-local-item-size-limit.patch
patch -p1 < ~/Desktop/digimend-kernel-patches-0.4/vanilla/2.6.35/0003-HID-Add-Tablet-Pick-BTN_STYLUS2-mapping.patch
patch -p1 < ~/Desktop/digimend-kernel-patches-0.4/vanilla/2.6.35/0004-HID-add-absolute-axis-resolution-calculation.patch
patch -p1 < ~/Desktop/digimend-kernel-patches-0.4/vanilla/2.6.35/0005-Add-support-for-4-UC-Logic-tablets.patch
patch -p1 < ~/Desktop/digimend-kernel-patches-0.4/vanilla/2.6.35/0006-Add-support-for-4-Waltop-tablets.patch
Example 2: digimend-kernel-patches-5 tar (4-16-12)
As you can see a new patch adds tilt support for Waltops with tilt and another patch adds 3 KYE tablets. Support is also added for an additional UC-Logic tablet and 3 Waltop tablets. You'll apply the patches in the terminal using the following commands changing the folder name if using another kernel of course.
Code:
cd linux-2.6.35
patch -p1 < ~/Desktop/digimend-kernel-patches-5/stable/2.6.32.59/0001-HID-allow-resizing-and-replacing-report-descriptors.patch
patch -p1 < ~/Desktop/digimend-kernel-patches-5/stable/2.6.32.59/0002-HID-rdesc-parser-remove-local-item-size-limit.patch
patch -p1 < ~/Desktop/digimend-kernel-patches-5/stable/2.6.32.59/0003-HID-Add-Tablet-Pick-BTN_STYLUS2-mapping.patch
patch -p1 < ~/Desktop/digimend-kernel-patches-5/stable/2.6.32.59/0004-HID-add-absolute-axis-resolution-calculation.patch
patch -p1 < ~/Desktop/digimend-kernel-patches-5/stable/2.6.32.59/0005-HID-hid-input-Add-digitizer-tilt-usage-support.patch
patch -p1 < ~/Desktop/digimend-kernel-patches-5/stable/2.6.32.59/0006-Add-support-for-5-UC-Logic-tablets.patch
patch -p1 < ~/Desktop/digimend-kernel-patches-5/stable/2.6.32.59/0007-Add-support-for-7-Waltop-tablets.patch
patch -p1 < ~/Desktop/digimend-kernel-patches-5/stable/2.6.32.59/0008-HID-kye-Add-support-for-3-tablets.patch
Since some of the patches have made their way into the kernel you'll notice that the 3.0.28 and 3.2.9 folders only contain 4 patches (and they are different for each). See post #1 above for links to Oneiric and Precise kernels with the patches already applied.
After the files are patched change directory to the downloaded kernel's source code /drivers/hid directory:
Now you are ready to compile the HID modules. Use the following command:
Code:
make -C/lib/modules/`uname -r`/build M=`pwd` modules
This compiles all the HID modules, which you don't need, but the compile goes fast even so.
We want 5 of the compiled modules: hid.ko, hid-uclogic.ko, hid-waltop.ko, usbhid.ko, and usbmouse.ko. First make a backup of your current versions using some extension. You want to be able to restore them from the Recovery Mode command line if you have to.
Code:
sudo cp /lib/modules/$(uname -r)/kernel/drivers/hid/hid.ko /lib/modules/$(uname -r)/kernel/drivers/hid/hid.ko.orig
sudo cp /lib/modules/$(uname -r)/kernel/drivers/hid/hid-kye.ko /lib/modules/$(uname -r)/kernel/drivers/hid/hid-uclogic.ko.orig
sudo cp /lib/modules/$(uname -r)/kernel/drivers/hid/hid-kye.ko /lib/modules/$(uname -r)/kernel/drivers/hid/hid-waltop.ko.orig
sudo cp /lib/modules/$(uname -r)/kernel/drivers/hid/usbhid/usbhid.ko /lib/modules/$(uname -r)/kernel/drivers/hid/usbhid/usbhid.ko.orig
sudo cp /lib/modules/$(uname -r)/kernel/drivers/hid/usbhid/usbmouse.ko /lib/modules/$(uname -r)/kernel/drivers/hid/usbhid/usbmouse.ko.orig
Now copy the five newly compiled modules into your system kernel's modules directory with:
Code:
sudo cp hid.ko /lib/modules/$(uname -r)/kernel/drivers/hid/hid.ko
sudo cp hid-kye.ko /lib/modules/$(uname -r)/kernel/drivers/hid/hid-uclogic.ko
sudo cp hid-kye.ko /lib/modules/$(uname -r)/kernel/drivers/hid/hid-waltop.ko
sudo cp usbhid/usbhid.ko /lib/modules/$(uname -r)/kernel/drivers/hid/usbhid/usbhid.ko
sudo cp usbhid/usbmouse.ko /lib/modules/$(uname -r)/kernel/drivers/hid/usbhid/usbmouse.ko
Rebuild all of the module dependencies:
Then reboot and with luck your UC-Logic or Waltop tablet should be working or working better.
Bookmarks