Home > Linux > Linux Device Drivers: USB Drivers Linux Device Drivers: USB Drivers Eugenia Loli 2005-04-02 Linux 20 Comments Learn how to develop USB drivers using this sample chapter (PDF). About The Author Eugenia Loli Ex-programmer, ex-editor in chief at OSNews.com, now a visual artist/filmmaker. Follow me on Twitter @EugeniaLoli 20 Comments 2005-04-02 3:04 am Anonymous Why don’t you just post a link to the whole book: http://lwn.net/Kernel/LDD3/ Or, if you want to host it, I have a nice 5.4MB DjVu version of the whole book. 2005-04-02 4:20 am Anonymous hehe.. good point.. 😀 downloading the book now 2005-04-02 4:49 am Anonymous Buy a copy to help make sure more books like this get written. 2005-04-02 5:55 am Anonymous “It was originally created to replace a wide range of slow and different buses — the parallel, serial, and keyboard connections — with a single bus type that all devices could connect to.” IMO it replace only the old slow “serial”. The parallel and keyboard connections are today the same as 20 years ago. Notice the name itself, Universal”Serial”Bus. It’s true that same mouse/keyboards are suitable via usb, as others non high-performance devices, but it’s a waste. 2005-04-02 7:28 am Anonymous well…. my keyboard, mouse, printer, scanner, and ADSL modem are all USB….and did you know that there’s plug’n’play?….fortunately it’s not like 20 years ago… Ciao! 2005-04-02 7:32 am Anonymous Sorry, but i think authors are correct. The purpose of USB was to have a “universal” bus for different devices and ofcourse a high-speed bus as well. The goal is to ultimately have just one type of bus for all devices. I understand that it is a serial bus but then as long as it can cater to the needs of different devices, who cares. Parallel buses also force more pins. 2005-04-02 8:10 am Anonymous If i remember right, my mouse and keyboard (old keyboard connections) are plug-and-play too. It is a waste and often a disadventage to use such simple input units on USB connections. 2005-04-02 8:18 am Anonymous So you say that serial transfer is a waste? … You must have been missing SATA (read SERIAL ATA) 2005-04-02 9:01 am Anonymous The author says that “It was originally created to replace a wide range of slow and different buses”. He’s not saying that it did… And for Serial, ofcause USB means Universal SERIAL Bus, as it actually is a serial bus! Are you suggesting that devices sould be named after the technology tey are desigend to replace instead of tha technology they implement?? 2005-04-02 10:44 am Anonymous Let’s hope the book doesn’t become useless in a short amount of time due to API changes in the Linux kernel. 2005-04-02 1:33 pm Anonymous That happened to me when I bought the 2nd edition, right before 2.6 went stable. Luckily the book has a fair license. 2005-04-02 3:55 pm Anonymous When you are producing millions of device, the cost savings of using USB over something else (PS/2 connectors) add up: the one USB controller takes the place of keyboard/mouse controllers and physical connectors. It’s only with USB that we’ve finally become legacy-free. 2005-04-02 4:19 pm Anonymous i am searching free online books ( preferably in pdf format) i have found only this web site: andamooka.org anyone here knows some other interesting place with free online books? thanks 2005-04-02 4:36 pm Anonymous From the great Russia: http://docs.rinet.ru:8080/ 2005-04-02 6:28 pm Anonymous I am soo glad all I have on my powerbook is usb/firewire. I hate parallel, HUGE thick cables cluttering up my desk, and the whole pc slows down when talking to the printer. Firewire for all my high bandwith stuff (external hard disk, dvd burner) usb for everything else. 2005-04-02 7:10 pm Anonymous That’s why there’s an API changes page: http://lwn.net/Articles/2.6-kernel-api/ Unfortunately, it isn’t that helpful when developing for the SLES 9 2.6.5 kernel… 2005-04-02 7:32 pm Anonymous More free books and texts are here; http://creativecommons.org/text Sample query “linux AND usb”; http://search.creativecommons.org/index.jsp?q=linux+AND+usb+&format… Note that the query above is not properly automatically linked by OS News. Do the search yourself, or use the whole string. The specific licence for each may or may not allow commercial redistribution without contacting the author(s). 2005-04-03 12:02 am Anonymous Is available as a free download. Only covers kernel 2.4 though. 2005-04-03 9:31 am Anonymous Don’t forget that serial and parallel connectors are quite convenient generic I/O connections (easy to use). If you only have hardware with big names on it, you may not need serial/parallel. But you must know that there is not much to choose from when developing small scale applications (IC programmers, Cellphone connectors, Embedded device connectors, Reciever connectors…) that doesn’t make development more time comsuming (drivers and hardware) and the product more expensive. So every wire that you need to connect your computers USB to your cellphone, pda, whatever needs a usb->serial/parallel IC and often an extra driver (which can possibly not be ported easily to “your fav. OS”). So, thats why those cables are so expensive, and there is not (necissarily) much more happening in there as you can see. Its just a single FTDI/Philips/Intel chip or something that does USB->serial/parallel conversion. You could of course buy a rather expensive USB->serial/parallel cable (which are rather expensive) if you need it after all, but clearly, its hard to find new devices with serial/parallel port anyhow these days. Though personally like USB very much, there’s just no point in abolisching serial/parallel and enforcing usb for everything. 2005-04-08 4:24 am Anonymous Parallel is total idiocy because the current host of serial interfaces offer the same thing (using a parallel client adapter, natch), with decent electrical protection for the interface. Contrawise, offering a parallel interface that is as good is costly in terms of component count (what’s the MTBF of a wave soldering machine, anyone? Yes.) and in the way you can fry 4 CPUs by handing someone a serial cable in the server room and telling them to mount a SCSI-I device. That is, the USB and 1394 interfaces drop out before doing harm, and drop back in unless hit for six. Now, if you had said -bluetooth- with crypto not crippled, I might have gone for it, since it seems logical that I can play one with my teeth, set it on fire, etc. without having an EMI event on the main system. However, I haven’t tested that on an aircraft carrier deck or whale-emulation-device, so I’m still not sure. Psychommu amps…more of those, is what I need.