Slashdot Mirror


Writing a Linux Device Driver on Company Time?

DriverSubversion asks: "Excuse the anonymity: I'm covering my back and that of my company. My company makes some USB and PCI peripherals, currently only supported under Windows. Several of us have pointed out that there is a large cross-over between the people who buy these things and the people who run linux - and thus it's in the company's best interest to develop device drivers for Linux,as well as Windows. Now while our boss is kind of convinced that this might sell some more units, he understandably wants to know how much it will cost to write and maintain the drivers... and where better to ask than here? So has anyone else gone though this? On scale of 1-10, how hard is it, (1 being 'extremely easy, 2 programmers could do it' and 10 is 'a team of no less than 20 programmers, lawyers and salesmen'). Keep in mind that our intent is to keep the code up-to-date, GPL-compliant and in at least some major distributions."

4 of 65 comments (clear)

  1. reading by The+Clockwork+Troll · · Score: 5, Informative

    This book might shed some insight.

    --

    There are no karma whores, only moderation johns
    1. Re:reading by trendyhendy · · Score: 5, Informative

      And you can read the whole thing for free here.

    2. Re:reading by Yohahn · · Score: 5, Informative

      With this book, if your devices aren't anything too obscure (i.e. it fits in a traditional class of device) it will be easy. It is a fairly straight forward book.

      (You may also want to look at the porting to the 2.6 kernel series that has been written over at Linux Weekly News As an aside, I'd really advocate subscribing there.)

      When your device is a new class of device that linux isn't used to, it can be harder (e.g. when the phonejack cards came to linux, a new api for them had to be made).

      Note, I've only limited experience, but this is what I've observed.

    3. Re:reading by trouser · · Score: 3, Informative

      I was about to post the same thing. This is a seriously useful book. Some excellent examples which will enabled a C programmer familiar with the standard tools (ummm, GCC and a text editor) to write a skeleton driver and hook it into the kernel in no time. Then all that stands between you and freedom is stealing an intergalactic space craft.

      --
      Now wash your hands.