What was the first driver you ever wrote?
For Linux, it was a USB to Serial driver. That was back in 1999.
Do you ever work on drivers for devices that have no documentation or company behind them? Black boxes, where you have to reverse engineer to figure out how to write a driver?
Yes, I did work on drivers like this, in fact my very first driver was written that way, as was a number of other drivers I wrote afterward. Then I started asking vendors for specifications, and they started sending them to me, and I have not had to reverse engineer anything for the past 10 years, thankfully.
How many people work on the Linux Driver Project?
We have over 400 developers on our mailing list, but actual number of developers goes up and down depending on the numbers of drivers under active development. So it’s hard to nail down a solid number.
What devices are in need of the most love from the Linux driver community? Printers? Cameras? What’s neglected?
Printers are all handled with userspace drivers, the Linux Printing Project. Ask them how well they are doing, all of my recent printers “just worked” when I plugged them into my Linux machines, so their development efforts seem to be quite good. I do not know of any areas that are neglected these days. There are always individual devices that are not supported from various companies, but overall, I do not know of any class of devices that are not supported on Linux today.
If you could choose any device in the world to write a driver for, what would it be?
I personally like writing USB drivers as I know that subsystem the best. Right now I’m just having a hard time finding devices to write drivers for, everything seems to “just work” with Linux these days. Actually I take that back, I am supposed to be writing a SCSI driver right now, and the company involved is being very patient in my slow development effort. So I need to get back to writing a SCSI driver, so that should be the device I should want to write a driver for.
What advice can you offer to someone who wants to write their first driver for Linux?
Read the file in the kernel source tree, Documentation/HOWTO and then read the files that it points you to. It has lots of links to files online and to books that are good to read.
What advice can you offer to someone about to do a black box reverse engineering of a device, as you used to do so long ago?
Not to do it 🙂
Seriously, see Tridge’s great resources for doing reverse engineering if you are interested in it. He has a bunch of links and talks about how to do this properly.
For Who Writes Linux: which company or entity did you see grow the most between last year and this? How about over the last 5 years?
For last year to this, Intel. Intel has done a great job in contributing in very large ways to the kernel tree. They did this by both hiring people who were active in the community, and by mentoring and allowing internal contributors to do more work. It’s a great success story. As for the past 5 years, sorry, I haven’t kept the statistics for longer than 4 years so I do not know.
Has Canonical stepped up and contributed more patches to Linux this year?
No they have not.