What Next After Char, Block, Serial & Parallel Drivers

Jeff Haran Jeff.Haran at citrix.com
Tue Aug 11 14:15:36 EDT 2015



From: kernelnewbies-bounces at kernelnewbies.org [mailto:kernelnewbies-bounces at kernelnewbies.org] On Behalf Of Sasha Mckinsey
Sent: Tuesday, August 11, 2015 10:48 AM
To: kernelnewbies at kernelnewbies.org
Subject: What Next After Char, Block, Serial & Parallel Drivers

Hello,

Finally I can say I have completed learning the following (to a certain extent)

    -C and Data structures
    -Operating system concepts ( covered in my undergrad course)
    -Linux kernel Development - Robert Love
    -Linux Device Drivers - Partially (just finished Char, block, serial & parallel )

A book called "Essential Linux Device Drivers" - It looked rich a first look but I could go anywhere with it considering I didn't have the required Hardware. I have now cut my teeth into some bit of kernel but still I am not sure where to go from here. I know things but I am not happy or satisfied with what I now. I don't have the feel of a professional device driver programmer.

Here are my questions - two different questions and necessarily not connected to each other

What should be the next steps besides looking for a job. Getting a new hardware to write a driver I guess is not feasible all the time.

Note sure why you would consider this not feasible. A lot of consumer level hardware is both relatively inexpensive and lacks Linux support. Just this weekend I was trying to get the video on my Lenovo laptop running Ubuntu to output on its HDMI port  to my TV. It didn’t work and a bit of googling showed that others had the same problem with that video chip. That’s just one example.

During my Linux journey i realized Linux network stack development interests me alot but a friend of mine told me to stay away from it as its very vast and would consume me. Any ideas how should i approach it if I want to learn it from practical point of view. I am not looking for the names of books or resources I have all of them including the book understanding Linux network internals. I want to learn it from a practical point of view where in I can be actively involved unlike my status today in the world of device drivers.

The networking stack is very big and very mature. Making contributions there above the driver level is likely to require a lot of experience and competence. A lot of consumer 802.11 hardware also lacks Linux support so if you want to cut your teeth in the networking stack, network drivers for unsupported hardware are a good place to start, though you may find yourself stymied by lack of documentation on the HW from its vendor.

Now if you are really ambitious, try to figure out how to extend tc to support more than 64K classes per qdisc. That would require no special hardware but would require a great deal of dedication. How many lifetimes do you have available for this effort? 8^)

Jeff Haran

Thanks!

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20150811/f534ddd8/attachment.html 


More information about the Kernelnewbies mailing list