Tutorials on writing linux kernel device drivers (usb)

12 inch touchscreenMy boss recently bought some inexio touchscreens. Including a nice little 12.1 inch variant. I thought about using it in my living room for controlling audio et cetera. But alas, a no go. Because there weren’t any linux device drivers available for it. So I played with the idea of creating my own driver for it.

Examples enough: usbtouchscreen and mtouchusb. But how to start (I have totally no c experience). I think the biggest problem is getting to know the kernel api. After reading through the source code of some modules I realised that a lot of the lines were kernel macro’s & functions and just a little bit of real coding.

Searching for tutorials produced some nice results. But a lot of the tutorials were of a real “hello world” level. And very few (no?) tutorials/how to’s rose above the mediocre level. Some few I found:

Helpful, but not really geared towards my problem. So I ordered some books, asked the manufacturer for some info on the protocol (hope they will co-operate!) and spent a lot of time reading tutorials and source code.

But I still have a lot of questions. What is the best IDE (kdevelop I believe)? Why has no c IDE/editor descent auto-completion for kernel functions/macros? Where can I ask my question without being flamed to death?

When the driver is ready (or when the project has failed) I’ll post some tips and maybe a full blown tutorial on (not) writing device drivers.

2 comments ↓

#1 Pedro on 07.16.08 at 01:32

I there,

I have some iNexio touchscreens also and I’m trying (also) to make them run on Suse 10.3.

They are already available for some distros (ex. Fedora Core 6)

#2 LeonB on 07.16.08 at 07:28

Hi Pedro. Do you know Kernel module Fedora Core uses for the iNexio touchscreen?

Thanks!

Leave a Comment