PDA

View Full Version : Driver Development?



JediSpam
April 28th, 2007, 07:23 PM
I am currently a Computer Engineer major and i'm wondering if Driver Development is what I should focus on. I'm interested in drivers and how they work and make hardware efficient. What languages should I focus on? I just finished Computer Science 3 in college and i'm pretty good at c++/java

moma
April 28th, 2007, 08:35 PM
Linux device drivers and modules (as the kernel itself) are written in C language.

Important documents:

Howto do kernel development. Converting to a kernel monkey.
http://lwn.net/Articles/160191/
+
http://www.kroah.com/log/linux/howto.html

Online book: Linux Device Drivers
http://www.xml.com/ldd/chapter/book/index.html but the 3.ed (http://amazon.com/s/ref=nb_ss_gw/103-9189315-6600663?url=search-alias%3Daps&field-keywords=linux+kernel+&Go.x=0&Go.y=0&Go=Go) is more up to date. ( EDIT: online PDF edition... (http://lwn.net/Kernel/LDD3/))

Device Driver Kit (Download this KIT before you start :-) Open the .iso file in your file browser. Surprise, it also contains the 3.edition of ldd.
http://kerneltrap.org/node/6638

Coding in and for the kernel, coding style
http://kerneltrap.org/files/Jeremy/CodingStyle.txt

A tiny driver sample
http://www.linuxdevices.com/articles/AT3711365653.html

There have been some tests on using C++ in the kernel, but honestly, it doesn't fit in.
http://netlab.ru.is/exception/LinuxCXX.shtml

Linux kernel factory (the hot core revealed )
http://lug.oregonstate.edu/projects/kernelmap/map.php

I collected these links from my super chaotic kernel page... (http://www.futuredesktop.org/gen_index.html#kernel) BE WARNED !!

Other importante programming resources.... (http://home.online.no/%7Eosmoma/opportunities.html)

samjh
April 29th, 2007, 12:37 AM
I am currently a Computer Engineer major and i'm wondering if Driver Development is what I should focus on. I'm interested in drivers and how they work and make hardware efficient. What languages should I focus on? I just finished Computer Science 3 in college and i'm pretty good at c++/java

Study C and C++.

If you're interested in portable devices, like mobile phones, PDAs, etc., Java is an excellent choice. But learn C first.

rickardg
April 29th, 2007, 02:52 PM
Linux device drivers and modules (as the kernel itself) are written in C language.


Online book: Linux Device Drivers
http://www.xml.com/ldd/chapter/book/index.html but the 3.ed (http://amazon.com/s/ref=nb_ss_gw/103-9189315-6600663?url=search-alias%3Daps&field-keywords=linux+kernel+&Go.x=0&Go.y=0&Go=Go) is more up to date.



Do you mean this edition of Linux Device Drivers (http://lwn.net/Kernel/LDD3/)?
;-)

Oh, and my guess is that C and a smattering of assembler would be perfect for kernel hacking (not that I've tried it myself but I'm sure I'll be flamed if I'm wrong...)

moma
April 29th, 2007, 08:02 PM
Do you mean this edition of Linux Device Drivers (http://lwn.net/Kernel/LDD3/)?

Yes I do.
Great link :-)
The Device Driver Kit has propably the same version (in its /ldd folder)

JediSpam
April 30th, 2007, 08:26 AM
alright cool. everyone has told me to learn C and i'm going to focus on it

Caly08
September 23rd, 2008, 06:26 PM
hello,

I'm a Kenyan and have recently witched from XP to Ubuntu. I'm unable to connect to the internet using my GSM modem. My machine does not recognize the device. The device is supplied with window XP drivers only.

Where can I get drivers and software to drive it or who can develop drivers for it?

Yours Caly08.
file:///media/PAUL/Image003.jpg
file:///media/PAUL/Image004.jpg
attached above is pictures of the device it is supplied by Safaricom Kenya Ltd.

newbuntuxx
September 23rd, 2008, 06:41 PM
hello,

I'm a Kenyan and have recently witched from XP to Ubuntu. I'm unable to connect to the internet using my GSM modem. My machine does not recognize the device. The device is supplied with window XP drivers only.

Where can I get drivers and software to drive it or who can develop drivers for it?

Yours Caly08.
file:///media/PAUL/Image003.jpg
file:///media/PAUL/Image004.jpg
attached above is pictures of the device it is supplied by Safaricom Kenya Ltd.

You need to post this in the absolute beginners forum to get an answer:

http://ubuntuforums.org/forumdisplay.php?f=326

Gurmeet Singh
December 9th, 2011, 02:00 PM
Hello,
I have worked in windows environment in VC++/MFC for managing devices like (port communication, Printing on printer from application and also experience of sending data directly to printer from my application etc). Now I want to develope a printer driver on Ubuntu 11.10 (Oneiric ocelot). I am new to linux. Please guide me how to start with? like tutorial link, books etc and most important which Device Driver kit will be better for developing a printer driver?

Thanks.

gnometorule
December 9th, 2011, 04:26 PM
@moma: I am just beginning to read LDD (3rd edition). As it's based on the 2.6.10 kernel, do you happen to know of a page keeping track of necessary changes? (I'll work on 2.6.31 with it) I realize their O'Reilly page has a kernel change log (maintained by Colbert) until sometime in 2009, but I don't think it's translated into code changes of the book.

nothingspecial
December 9th, 2011, 04:33 PM
Rather than bumping a thread that is almost 5 years old, please start a new one.

Closed.