Catch up on stories from the past week (and beyond) at the Slashdot story archive


Forgot your password?
Programming IT Technology

Linux Device Drivers, 2nd ed. Released Under GNU FDL 77

Rosco P. Coltrane writes: "I don't know if this is old news, but I've just noticed that the "Linux Device Drivers, 2nd Edition" book by Alessandro Rubini & Jonathan Corbet has been published under the GNU Free Documentation License v1.1 by O'Reilly." Making the entire book available is a nice gesture by O'Reilly. And anything that helps get more device drivers written is a plus in my book... We reviewed the first edition, but obviously there have been one or two tiny changes since then.
This discussion has been archived. No new comments can be posted.

Linux Device Drivers, 2nd ed. Released Under GNU FDL

Comments Filter:
  • by Anonymous Coward
    Don't you have to make the book sources available? This is PDF ... looks like some html too... where's the SOURCE to make the book? And the illustration files... seems like playing both sides of the fence, keeping the SGML in secret... hmm... or am I missing something?
  • by Anonymous Coward
    Check my (grendel drago, posting anonymously to sink to your modlevel) post above.

    It's written in DocBook XML 2.1, and the source is available at bookindex.xml []

    There was actually a link to it somewhere on the book's site.

    -grendel drago
  • And if you want to learn to code in C++ or Java, you should definitely check out the "Thinking in" series at I have bought both Thinking in C++ and Thinking in Java after first having browsed through the PDFs.

  • This is news to me.

    Next time you contact them, remind them that they were shipping Linux in the box with a lot of their products (TurboLinux) and that they have Linux support stamped on the boxes of their 10/100 NICs.
  • As in...

    C) The company is so paranoid that the technical information needed to develop drivers will either allow a competitor to come up with a cheap knock-off product (Which was M-Systems excuse...) or allow enough knowlege of the internal workings of the device in question to allow an opening for a patent infringement suit.

    These companies are so sold on "intellectual" property and they're afraid that any piece of what they consider is their intellectual propery is guarded like the crown jewels. SiS, while they gave away technical data for the 6328 3D chip, has chosen to require an NDA to get ANYTHING about the 300, 305, or 315 chips- even though they gave out an open source driver, without that information, you can't fix it. Thankfully, I'm going to be able to work on it because my employer's working with something that uses a 603 chipset that contains the 300- so I'm going to be able to fix the drivers for a while at least.
  • Without technical programming information (such as register level/MMIO/DMA programming info for things like 2D/3D chips) you're not going to be able to write anything without a long, arduous reverse engineering process- that might never produce results.

    Broadcom's not giving out stuff- even though they HAVE a closed source driver for their HomePNA stuff. It's no different than CyberLink or InterVideo with their PowerDVD for Linux and LinDVD- you have to be an OEM or an embedded systems vendor to even get a copy of the software. This means that I could concievably get a copy of any of this stuff, but the general public can't- which is WRONG.
  • It's the book I used to first get up to speed with Linux driver development (this is what I do for a living now... :-). For many things, it will serve well, if they've kept it as good as the first edition- it assumes a decent level of proficiency in C coding and takes you through most of the nuances of the module's interface to the kernel and how to do things like bus-mastering, etc. in the manner Linux expects/allows.

    Fair warning, while the coding is not hard, making drivers work the hardware and do it well is the actual hard part of making drivers for the kernel. Depending on the device it could be easy (The industrial I/O interface for 2.2.X kernels for the Versalogic VSBC-6 is simple- and was the first device driver that I successfully implemented...) or it could be rather complex (DRM modules for DRI support come immediately to mind...). It all depends on the device and what you want to do with it.
  • The greatest trick the devil pulled was convincing the world he didn't exist -- Verbal Kint, The Usual Suspects)

    Love the quote.

    Excellent movie. Unbelievable plot twist at the end- if you've not seen it, you probably ought to go see it; it's got one of those mind-bomb endings not unlike the one they did in Sixth Sense.
  • If you're not spending your own money, you're spending your employer's on printing this beast out.

    Put it in those terms and you'll "get it".
  • Is this definitely _the_ book to have on writing device drivers? I know there are other books written about the Linux kernel, but it seems that this is currently the best choice if you want to create a device driver.

    Anyone disagree - are there any alternative books covering this topic?
  • by szo ( 7842 )
    One or two tiny changes? You mean covering the new stuff in kernel 2.4, and updating other sections in the book for 2.4 compliance, is a tiny change?

    It's called irony. More or less like a joke, you know. Try looking it up in a dictonary! :)

  • by szo ( 7842 )
    Thanks for your kind correction! Would you mind enlightening me, what is the correct expression then? We learned it isn't irony, because one can't be ironic, events can be ironic. What is then saying 'tiny' and meaning 'huge' ?


  • by szo ( 7842 )
    They appear to be close relatives:
    sarcasm []
    irony []

  • by szo ( 7842 )
    Congratulations, you had to say it slow, and finally I realized, you're a troll. thanks Szo
  • by szo ( 7842 )
    Well, if you're not a troll, you should quit talking about taste (yes, I can understand that the 'irony' comes from somewhere there), quit dismissing dictionaries and point me somewhere where can I verify your claim. I hope it will trace the two word's roots deep into latin, because in hungarian we have 'szarkazmus' and 'irónia', and I seriously doubt that we got them from english.
    Anyway, I have to admit that my confidence came from that I know the Hitchhiker's Guide by heart, and I remembered that Adams uses it in a situation similar to this. It turns out that in the original, it is sarcasm... So, either the translator made a mistake, or the two expression grew to become interchangable. You vote the former, I would like to know why?



    ps. Sorry about the troll.
  • Speaking about great books to help write drivers, any chance there will be or is already a fourth edition of Hans-Peter Messmer's "The Indispensable PC Hardware Book"? The latest edition I have been able to find is the third, 1997. I can't even find a homepage for the author using Google. Is he still in the business?
  • I've owned the first edition since it was released, but I have never had the time to read it. I finally began reading it the other day (yes, I know it is ancient).. I was wondering if there was a 2nd release, I mean.. how much do I really need to know about making my drivers backwards compatable for Linux 1.2.x ?

  • by FreeUser ( 11483 ) on Thursday July 26, 2001 @06:43AM (#2192612)
    Making the entire book available is a nice gesture by O'Reilly.

    This wasn't a "gesture" by O'Reilly so much as a gesture by the Book's author. O'Reilly will agree to publish authors who insist on it to release their work under the FDL, but the authors must explicity request this (O'Reilly doesn't volunteer the information that they allow it, and to all appearances would prefer authors not do so. At least, that has been their stance in the past according to several people I spoke with ... perhaps that has changed as FDLed documentation has continued to sell, and thus make O'Reilly a profit, anyway).

    The Free Software Foundation is really pushing for all documentation about Free Software to be released under the FDL, which they crafted with the help of some very big publishers (I want to say Random House but I don't think that is correct ... I recall being very surprised at which publishers had given the FSF constructive feedback when they were writing the FDL, but no longer recall which Houses they were. This is an important point as the goal was to create a license which would allow publishers to make a profit while preserving the freedom of the information contained within the books being sold).

    O'Reilly does deserve some credit for allowing authors to do this (and some criticism for being relatively mum about the option when signing authors), but the Author is clearly the one who deserves our highest praise, the best form of which would be purchasing his book and supporting his decision as well as underscoring O'Reilly's wisdom in allowing it.
  • by SurfsUp ( 11523 ) on Thursday July 26, 2001 @04:08AM (#2192613)
    Making the entire book available is a nice gesture by O'Reilly.

    Really. My shelves are already loaded up pretty heavily with O'Reilly books, and this gesture just makes me want to add more to my collection.

  • by Christopher Thomas ( 11717 ) on Thursday July 26, 2001 @08:43AM (#2192614)
    It seems that a lot of people really like this book, and I'm definately going to skim the on-lin version to see if I want to buy it, but I wonder how hard is it for someone with intermediatte experience coding to learn to make drivers? Anyone able to share their ordeals with it?

    The first edition of the book was quite good for this; it had many examples of simple drivers scattered within to illustrate what it was talking about, which was very helpful.

    My best advice would be to a) write a couple of toy drivers to get a feel for things, and b) take apart an existing driver and see how it works. I wrote an I/O space interface driver that I used to play with parallel ports, and a PCI-scanning driver; both purposes are already served by other parts of Linux, but it was still fun. I also had the dubious joy of wading throught the LML-33 video capture card's driver. I learned a lot by doing both, though, and the book was an invaluable reference.
  • by dar ( 15755 )
    "Irony! Oh, no, no, we don't get that here. See, uh, people ski topless here while smoking dope, so irony's not really a, a high priority. We haven't had any irony here since about, uh, '83, when I was the only practitioner of it. And I stopped because I was getting tired of being stared at." -- From the movie Roxanne
  • There are a number of other O'Reilly books available in complete form online, but I have still bought the book nevertheless.

    For one thing, as another poster has pointed ot, O'Reilly does tend to produce high quality books which do last, whereas a ring binder printout soon turns into a mass of out of sequence torn pages.

    For another thing, depending on what I'm doing, I find that dead tree documentation is at times more readable for some strange reason than viewing it onscreen. For example, when you're computer is totally screwed up, reading an online form of 'Unix System Administration' is not going to happen!

    For the reasons above I have only regretted buying one of the 15 O'Reilly books I have in my possession [The one on SQL and Oracle is the crap one IMO].

  • The Linux 2.4.7 Universal Serial Bus pegasus driver claims to support a bunch of Home Phone Networking Alliance [] devices. If the Linksys device is a version of these devices, you may be able to get support by just adding the appropriate vendor and product ID's to linux-2.4.7/drivers/usb/pegasus.h (and doing "cd /usr/src/linux && make modules && make modules_install && depmod && rmmod pegasus ; modprobe pegasus"). At the very least, reading pegasus.h will give you a list of USB HomePNA devices that should work with Linux.

    Otherwise, you might want to dump the USB device and interface descriptors (by activating some debug option in the core Linux USB driver or by the lsusb program) and see if your device exports an interface compatible with the USB Communications Class [] (wish I had a pointer to it in non-PDF form), which I believe includes an ethernet subclass. In that case, it still might be a lot of work and a lot of learning for someone not familiar with Linux device drivers and USB, but you would at least have some documentation (see [] for tons of free-as-in-beer USB documents).

  • I haven't read the FDL, but I think, they could pursuade authors to make previous editions of the books they are selling to be released by FDL. In that way some of the people that can't access to bookstores (say you're in a developing countries without easy access to big bookstore...) can read about it, but even copy it won't hurt much on the existing version's sales. That's a good way to promote FDL. Of course, I prefer everything released in FDL, but we have to be realistic that some authors are reluctant on that.
  • by RPoet ( 20693 ) on Thursday July 26, 2001 @07:20AM (#2192619) Journal
    Andamooka has a nice amount of books [] freely available online, and they're annotatable too. Worth checking out.
  • Mod this up ;-)

    This is REALLY frustrating... I'm waiting to get this book since the beginning of the year...

    Please someone, open a mirror !!!

  • I used the first one and wrote the "joy-pci" driver in a few days. (Then Vojtech rewrote it to be half the size and more flexible. :->)

    The first one really did cover (almost) everything you need to know. At the very least, after reading it newbies can ask much more intelligent questions. And having the kernel source to crib ideas from helps immensely, too.

    I'd say this book, the kernel source, and a net connection to ask a few questions are all you need to write drivers for Linux. I'll get the second edition now, too. I've got a USB joystick and maybe a webcam that I'd like to add support for...

  • I wonder if the Linux Documentation Project [] will be getting together with or releasing (as DocBook, etc.) any of O'Reilly's free books.

    (I believe that the LDP's efforts are not nearly inclusive enough -- there's a lot of quality documentation out there; why not bring it all under one roof?) <-- Anyone who sees a conspiracy here: the maintainer has final say over the control of a document, unless it's left unmaintained for several years, in which case an overhaul crew may be needed.

    It's just that it would be nice if there was a huge, huge source for Linux documentation. The LDP is a good start, but it could be so much more...

    Eh, just a thought.

    -grendel drago
  • Well, egg on me [].

    They released the source, but I still say they should harness the power of the LDP and include a bunch of their books with every distribution. (The relevant ones, y'know. I suppose I'd be uninterested in this book if I hadn't installed the kernel sources, for instance...)

    It's just rather frustrating to see all these fragmented documentation efforts. It can be so much more effective if we work together... [insert patriotic chord here]

    -grendel drago
  • I dunno... at least on the competition front, I've been sending in diffs to HOWTOs that have typos or errors in them. I don't tend to do that with most books, because I assume it's been corrected anyway...

    And you neglected that, while the FDL may or may not be good business, it's definitely good documentation -- remember, not all [] documentation comes from O'Reilly...

    (Okay, the really good stuff does. But the HOWTOs have been indispensible at my job, cutting learn-this and learn-that times in half, at least.)

    Remember, publically created documentation has a place, too.

    -grendel drago
  • Don't know about the 2nd edition, but the first was great. Lots of good examples to get you up and running in a hurry. Well, depends on what you're coding a driver for. I got a ISA DIO-24 card driver written and tested in a couple of hours.
  • The only value-add I can see is the provision of the document in printed form, for which customers are asked to pay. This works so long as printed books are the dominant form of knowlege distribution. This is rapidly changing. At some point in the vary near future, such printed and bound documents will become secondary to the online publication of the same works - for me it' just a matter of getting a better monitor so I don't go bug eyed after reading 10 pages online.

    I dunno; there' something to be said about a portable device which requires no batteries which permits me to view a single document file, fits comfortably in my hands, and has a sufficiently high enough resolution and uses a lighting technology which doesn't give me headaches like staring at a LCD or a cathode ray tube.

    Now as soon as LCD technologies allow the construction of a 300dpi LCD display about 5"x8" or so, and has a sufficiently fast enough refresh rate that it does't screw with my eyes, perhaps I'll rethink books. But I think we're more than one or two years away from having a device like this for under a hundred bucks...
  • by MartinG ( 52587 ) on Thursday July 26, 2001 @03:59AM (#2192627) Homepage Journal
    I was going to buy the first edition some time ago, but I couldn't find it in the local book store and I don't like to buy books of this nature without having a quick read first.

    The online availability of this edition solves this for me. I spent 10 minutes reading the html version before I realised its exactly the book I need, and the next five minutes ordering it online.

    Well done the authors and may you sell many more copies for having the insight to make it freely available online.
  • Not really. Most newer monitors won't even try to run out of spec, and expensive chips usually have thermal shutdown. As far as CPU voltage goes, I suggest NOT using the "jumperless" mode of your motherboard.
  • Agreed. I buy books and print documentation because they're much easier to read on paper than on my screen (especially since I don't have a dualhead).
  • Refresh rate? I want a static LCD matrix! With a multi-touch screen.
  • Arrrrg, I pre-ordered this book from my regular book store a few months ago, and it has not arrived yet, and now I can downlod it for free ......

    (But this is after all excellent news, I just feel a little stupid)

  • Anyone know if any of this applies to writing windows drivers?? I really need to make one for this joystick that has no win2k driver, but has a linux driver.
  • This is GREAT! Now maybe we'll see some more of the types of drivers only a handfull of ppl will use. Like Drivers for my USB HomePNA Adapter. It's a shame to have to use a Windoze machine as the gateway to the rest of the network for my linux box. :-( Looks like i have a new project :-)
  • It might just be me, but the first time i saw FDL i thought it stood for FUD Documentation Language...
  • I guess that having a book on writing device drivers will help a lot once you have an idea about the internal workings of the peripheral you're trying to support... but then there's still a bunch of companies who are either

    a) paranoid enough to think that giving out specifications for the hardware they sold you is a bad idea since it might in some way lead you to, um, not having to use Windows. I don't understand the behavior of companies that refuse to document the hardware they sell for any reason but...

    b) they might be one of those companies that actually don't know what their own hardware does. Which is another reason, incidentally, why they don't want to move to embedded Linux in many cases - they actually can't write drivers for the hardware they bought without reverse engineering the drivers they were given. Daft. But very funny - their suppliers do to them just what they would do to us, ie. sell them a piece of black-box hardware and refuse to answer any questions about it.

    It'd be nice to be able to persuade hardware suppliers to follow O'Reilly and FDL [] their specifications...

  • I remember Linux Weekly News [] mention something about this, but then when I went to O'Reilly's site (for you trekkies out there, unfortunately Tim is no relation to Robert O'Reilly, AKA Gowron, leader of the Klingon High Council) and saw that they had an online for-pay section, and figured that was what they were talking about.

    It's quite a relief that they are actually publishing it for free online, since I bought the first edition a little while back, before realizing that, duh, it'll be totally useless because I'll have to figure out how to update a 2.0.x driver to 2.4.x, since 2.0.x probably won't support my computer even if I did want to use it.

    Anyway, kudos to Tim, and kudos to the author. I might have to fork over the green for a first to second edition "upgrade" (20% off, I believe) if this really turns out to be a useful book.
    The only "intuitive" interface is the nipple. After that, it's all learned.

  • Baen, a publisher of much Sci-Fi and Fantasy novels, including my own favorite - David Weber, has had a number of their titles avaialble on the net for free for some time. The philosophy is that since many of these writers are relatively unknown, giving the public access to some of their work for free will generate future buisness. Many of the authors have been participating in the program and the books are available in several formats. I recommend checking them out.
  • It's nice to know that at least one publisher in this world 'gets it' even as others resort to lame copy protection. *cough*ebooks*cough* If I'm going to buy technical books, they'll be O'reilly without question. Not only are they of excellent quality and a reasonable price, but O'reilly understands fair use and actually gives back to the community as seen here. If only other publishers of all types would follow in their footsteps and realize they don't need DMCA to make money..
  • Your question implies that you believe no individual would release copyrightable material unless he meant to make a monetary profit by doing so. There are many selfless people in this world who are happy to contribute to the betterment of mankind.

    And even a Ferengi might see that a website which provides free access to some information will capture eyeballs, some of whom will buy other materials on that site.
  • it's often cheaper to buy a book than it is to print one out or photocopy one.
  • you can download the device driver kit from Microsoft. It probably comes with documentation and examples.
  • I'm a big fan of open source development, but I think that O'Reilly is going to be losing money.I bought the first edition and now that the second edition is available online I'll just download the PDF and print the book at work :). I know that people here are saying that they will buy it but I don't think that most people are like that. I'm very happy they this but I don't get it!

  • I suppose you can -- just hook up your system to an e-meter and keep beating on it exactly as the HOWTO says until the needle doesn't read anymore...

    (Obscure Scientology joke -- should have explanations)

  • Repeat after me: people still like dead trees. That's not going to change, at least not until we start moving to Mars. There's no reason for it to -- eInk will never be as cheap as paper, and the fact is that ebooks haven't been very popular with the non-geek set.

    Hell, I don't even like 'em very much -- the only reason I would use an ebook is for my guitar tab files (which are over an inch thick in dead tree form) and even then it's a pain in the ass to be playing, playing, playing, then having to stop to scroll down on my laptop to get to the next verse.

    Ebooks: delicate, ephemeral by nature, can be locked up by greedy publishers.

    Physical books: durable, portable, and you don't have to worry about lighting or screen quality half as much.

  • FDL gives the documentation an automatic bullschildt filter.

    (Look it up -- it's in the Jargon File.)


  • Actually, you might take your own advice there szo! Irony is when the outcome of a set of events is the opposite of what you were expecting. For instance that fact that you pompously posted a derisive correction to the poster resulted not in the poster looking foolsish, but rather in you looking foolish. That's irony 8^}


  • I bet you weren't expecting that your post would be even more ironic in exactly the sense that you accused Szo's post of being. :)

    Nope ... I wasn't ... and it isn't. What is ironic is that you were intending to make a point and prove it, when in fact you have failed to make any kind of valid point whatever. In fact, I bet your dictionary defines whatsoever as a valid synonym for whatever too, because enough people started screwing it up that they finally threw up their hands and called it a word. The fact remains that irony is not sarcasm, facetiousism, or euphimism ... it's irony, and it has a metallic taste to it when you finally figure out how to taste it.

    Congratulations to tzo though, for recognizing that people can be sarcastic, but not ironic, while events can be ironic, but never scarcastic. Don't worry, you'll figure it out some day, but hint one is stop looking for the clause in the FM (Friendly Manual ... that word 'Friendly' is a euphimism for another word in this context, and it's a nested euphimism because I'm saying FM when I really mean dictionary) and start seeking that metallic taste. After years of practice, you just might sort it all out 8^}

  • That's a fine way to treat someone who, though quite accidently spelling your name incorrectly, was offering you accolades!

    Talk about your irony. I am by no means a troll. What I am is a person who got 'A' grades in English throughout High School and College. What I am is a person who knows the difference between sarcasm and irony. It's really not that hard to understand, though quite ironically, the person who I congratulated for figuring it out called me a troll!

  • Actually, talking about the metallic taste it gives you in your mouth is quite appropriate. I am using metaphor to convey the idea that there is a subjective component to irony. In other words detecting irony is part art and part science. As for the science part, I did come up with a quick and dirty way to differentiate between them. Irony is usually unintentional, and need not have a sentient component (i.e. need not involve thinking beings), while Sarcasm is always intentional and always involves sentient beings. If you need more proof than that, I suggest you attend an English class - in America, where the language was finally proven viable and extended and embraced correctly, of course 8^} - and tell the professor you think they are the same. Then just sit back and watch the show as he flips out on you in ways you've never dreamed 8^}

    P.S. The 'in America' comment was a joke for anyone who can't tell from context. Some might even say I'm being scarcastic ! Now wouldn't it be ironic if a bunch of lads from across the pond chimed in to agree that America is the best place to learn English? (that was a Rhetorical question - FYI)

  • I have the first version of this book. It is an excellent book. All you need is some C programming experience, and it will step you through using the tools. The book is fairly detailed about the internals of Linux and at worst, provides you with enough information to do some searches on the web or in the kernel code. Definitely worth the $35 USD that I paid for it.

  • For the most part, coding is coding. Everything you do you have to learn. This book is a good resource for learning how to write device drivers for linux, though, the concepts apply to virtually all operating systems.

    If you have a need to write a device driver for some reason, get the book and go for it. What's the worst than can happen?
  • Yeah, even though the book is freely available, I for one like the feel (and weight ;) of a good brick of a book in my hands / on my lap / desk when I am doing some research.
    The online edition is extremely good for browsing before you buy, and also acts as a wonderful reference (can't do regexp searches in printed books, too bad :)
  • by hillct ( 230132 ) on Thursday July 26, 2001 @04:28AM (#2192654) Homepage Journal
    I agree that thepublication of this book under the FDL is a nice gensture and that having such detailed documentation freely available will make it possible for developers to release more device drivers at lower cost to them, but my convern is fith the concept of the FDL

    The GPL works because it creates a potential service market by allowing complex software to be made freely available, and creating the need for consultation and support of the product. The FDL, on the other hand, has no such potential. Providing documentation under the FDL with software under the GPL makes sense, however providing documentation under the FDL alone does not create a post-provision market for services. It doesn't allow for any sort of value-add, except to make the material freely available online in some thuroughly indexed and referenced form (which the publisher is doing anyway). It does get the author and the publisher some name recognition, but O'Reilly was already recognised as the leader in such documentation, and service to the OSS comunity by a publisher.

    The only value-add I can see is the provision of the document in printed form, for which customers are asked to pay. This works so long as printed books are the dominant form of knowlege distribution. This is rapidly changing. At some point in the vary near future, such printed and bound documents will become secondary to the online publication of the same works - for me it' just a matter of getting a better monitor so I don't go bug eyed after reading 10 pages online.

    So, at some point the FDL will not serve a purpose or act as a market driving force as the GPL does - where the GPL creates through the potential for massive large scale peer review, an enviroment of cut-throat competition among developers, driving the creation of the highest quality software available. There is no similar force that the FDL creates. Does it really serve a valuable purpose, other than to allow the software to get his name ot there in a positive light?

  • No. Granted, there are some general drivers concepts that can carry over from one platform to the next but not here. Especially not with W2K drivers. Get a W2K drivers book like "Programming the Microsoft Windows Driver Model" by Walter Oney (Microsoft Press). The author is even very responsive to email questions.
  • One or two tiny changes? You mean covering the new stuff in kernel 2.4, and updating other sections in the book for 2.4 compliance, is a tiny change?

    I'll buy this book, and even if I owned the first edition I'd still buy it.
  • I think this is an excellent idea and I agree - anythign to help build the library of linux drivers is great.

    But honestly, I own dozens of O;Reilley books and have happily spent what I have on them because they are excellent reference materials. I know if I managed to get interested in linux driver coding, this freebie would be great to get me hooked, but once I was, I'd surely buy the book just to have it readily handy to flip through, mark up, etc :)

    O'Reilly has done wonders for Unix as a whole even before the Linux revolution took off - I still have my 1st edition Perl bible and will never part with it - It helped through too many projects at work.

    So I say congrats to Oreilly and they have NOTHING to worry about - even if they give their books away for free online - they're good enough to pay for, even if just to support the efforts of OReilly as a whole. Keep up the great work!

  • This book is a good ref for device drivers. Also see the Linux Doc Guide Linux Kernel Module Programming Guide [] by Ori Pomerantz for another angle on the device driver/module topic. Helps to see different examples to understand some of the topics.
    O'reilly also has another book "Understanding The Linux Kernel" that is fairly up to date. They have links to the website to show the changes in going to 2.4 as well.
  • Last version that I have is the Third Edition. Amazon states that they will have the 4th edition in July 2001, so maybe soon. Some of the info in the 3rd is dated, I don't think it covers SDRAM or Pentium II. Though it is a great reference for a lot of things that other books do not cover thoroughly, like interrupt controllers/routing and general timing diagrams.

    Another good series along these lines is the Mindshare PC System Architecture, though their binding is crap and the book binding tends to break with a lot of use.
  • I didn't think would feel the effects of being slashdotted... anybody mirroring this yet?
  • Another very good FDL'ed book is the "GNU automake, autoconf and libtool" [] book written by Gary V. Vaughan, Ben Elliston, Tom Tromey and Ian Lance Taylor.

    This book has helped me a lot in understanding the interaction between automake, autoconf, and libtool. The GNU manual for these tools are excellent, but the book does a great job in showing how the three interaction. I'd say this is a must read for beginning outsource programmers.

    The hardcopy's ISBN is 1578701902 and can be found at []

  • See subject line.
  • Oboy, oboy, oboy ...

    something else to shoot myself in the foot [] with !

  • I'm not good at low-level stuff at all, but using the first edition of this book I was able to write my first driver in just a couple of hours. This is mostly thanks to Linux itself, of course, but this book laid it out much more cleanly than any of the HOWTOs that are available online.
  • I think this is one of the books worth have, even pay for.
    I will see the book online, but as soon I got the money I will buy it.
  • I don't know of other book focusing only on device drivers for Linux. There are a few about the kernel, but this is the one for device drivers, as far as I know.
  • I feel your pain. I have a linksys USB PNA 2 adapter for laptop. I've done a bit of research into getting a driver for it though, and check this out:

    The chipset used by most of these is made by Broadcom (it's the 4400 series (or was it 4200?)), and after getting frustrated by Linksys and Diamond MM (I have a PNA device from them in my desktop) about the lack of Linux drivers, I contacted Broadcom about Linux support for this chipset. Believe it or not, Broadcom has a Linux driver for this chipset but will only release it to the OEMs, and only at their request! After getting back to Diamond MM about this, they were oddly silent. Linksys gave me a single sentence response: "We don't support Linux sir.".

    Very very frustrating to know that a driver exists but will probably never be released. *sigh*
  • I usually prefer to have the printed version of the technical books like this, but find it is impossible to carry around all of my favorite volumns. Being able to carry around a couple of CD's (stuffed into a pocket on my laptop case) with many books stored on them lets me carry around a large portion of my technical library wherever I go. That way, I can look up details on something I remember reading without having to make a trip back to the office. And the added ability to search for specific text strings lets me find things again when I don't remember exactly where they were. Hopefully, more publishers will be supplying machine readable versions of their books (even if they are only pasted into the back of that book).
  • This is excellent. I bought the original edition of this book and it did a great job of explaining device driver development for the Linux kernel.

    I have written device drivers for Windows NT and Windows 2000, and have learned device driver techniques on those OS's. It is much easier to implement a driver on Linux than in Windows. The simple design of the Linux device driver compared to the Windows driver makes design and implementation go much quicker.

    For example, the device driver I wrote for the hardware I am working on for Sonic in Windows NT took about 2 months before it was basically working in our software framework. I wrote the same driver in about 2 weeks for Linux.

    I could recommend some good books for Windows NT device drivers, but this O'Reilly book is the best I've seen for Linux drivers.

    I found that the link on this page was incorrect. The actual link is tml []

    Michael A. Uman
    Sr Software Engineer

  • by PlebianX ( 470512 ) on Thursday July 26, 2001 @04:29AM (#2192670)
    It seems that a lot of people really like this book, and I'm definately going to skim the on-lin version to see if I want to buy it, but I wonder how hard is it for someone with intermediatte experience coding to learn to make drivers? Anyone able to share their ordeals with it?

I've finally learned what "upward compatible" means. It means we get to keep all our old mistakes. -- Dennie van Tassel