Problem accessing kernel driver using devfs
Saga mode on.
I've been busy writing a USB driver for an unsupported magnetic card reader.
I started with the usb skeleton driver, and have got the driver working just how I wanted on my ubuntu development machine running the 2.6.17 kernel. I have a small test application that utilises the driver, and have proved that this operates correctly.
The problem comes in when I try to get the driver working on our target device, which is using debian, kernel 2.4.26. The kernel has previously been recompiled in-house (not by me) to remove unneccessary components.
I have reapplied the required USB driver changes to the usb skeleton driver that comes with the 2.4 kernel, and the device is probed successfully, but the call to devfs_register always fails (returns NULL). Additionally, attempts to open the device file in the test user-space application fail. (no such device).
I have since recompiled the 2.4 kernel with devfs enabled (turned on the following three options:
But the registration still fails. I'm 99.9% certain that my recompiled kernel is being run, based on the dates and sizes of the vmlinuz and map files.
I've tried putting printfs and info(""); statements in the base.c file of the devfs source, but I can't compile this file with these changes. (I don't know enough about all this yet to figure out what I'm missing. the printk statements are not producing any output when devfs_register is called)
I've also dug up some information about devfsd, but it's not clear that this is required to get devfs working (I'm confused about this!)
I briefly tried running devfsd, but it made no difference to the problem I'm experiencing.
Any help would be appreciated. Sorry about the long post, I'm just tring to capture all the information I have.