Tag Archives

3 Articles
Driver for U.r.U 4500 in Kernel 2.6.36

Driver for U.r.U 4500 in Kernel 2.6.36

It seems the Linux kernel getting another ABI change for USB in 2.6.36. function


is being deprecated for a while and now being removed. It is changed with function 


. The parameter also changed.

Here’s the chunk of changes that would gives you idea of what changed:

<2.6.36 2.6.36+
ioctl   = usbdpfp_ioctl
.unlocked_ioctl   = usbdpfp_ioctl
usbdpfp_ioctl(struct inode *inode, struct file *file, unsigned int cmd, usbdpfp_ioctl(struct file *file, unsigned int cmd,
static int usbdpfp_ioctl( static long usbdpfp_ioctl(

That’s not all of the code, but you get the idea. The


is changed. Every


calling is having one less parameter. The return is no longer





According to Alex comment in my previous post, the UDEV rule also changing. Every USB device is default installed in /dev/usb directory. That’s why we have to make an adjustment in udev rule. As usual, I’m uploading the whole code here. As usual, remove the .pdf extension.

Driver for U.r.U 4500 in Kernel 2.6.31

Driver for U.r.U 4500 in Kernel 2.6.31

I was having trouble with using kernel 2.6.21 that get supported by default UrU kernel, the X server refused to run. So, in my despair, I view some LKML threads, patch here and there: Voila! I got a working  Kernel driver for U.r.U fingerprint for Linux kernel 2.6.31. [NOTE: Remove the .pdf extension.]This patched driver has been working in Debian’s 2.6.31-trunk and Ubuntu Karmic, my fave distro at the momen. The installation is simple and described here.For the sake of KISS, I will try to cover it for you.

$ mv dpfp-2.6.31.tar.gz.pdf dpfp-2.6.31.tar.gz
$ tar xvfz dpfp-2.6.31.tar.gz
$ cd source
$ make

And then install it to your kernel:

$ sudo mkdir /lib/modules/`uname -r`/kernel/drivers/biometric
$ sudo cp mod_usbdpfp.ko /lib/modules/`uname -r`/kernel/drivers/biometric/
$ sudo depmod -aq

Then you can abuse it the way you feel. This kernel has been tested worked on UrU 4500 and UrU4000B.