LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices


Reply
  Search this Thread
Old 07-29-2019, 09:09 AM   #1
sirabhorn
Member
 
Registered: Jan 2012
Distribution: Debian & Slackware
Posts: 30

Rep: Reputation: Disabled
A (network) driver project for a junior programmer?


I am looking for ideas for a driver programming project. Most of all I would like to try programming a driver for a network device of some sort.

It is not crucial for me to contribute to the kernel development at this stage, but maybe it would be still preferable to find a device that is not supported yet in Linux. I could also take up a kind of retro project related to some ancient hardware.

The device can be at the either internet or ethernet side. But I can also consider other than network devices. For a beginner it would make things easier if some documentation was available for that device.

I'm eager to hear if you have any suggestions how I could get started with a driver project.
 
Old 07-29-2019, 11:21 AM   #2
rtmistler
Moderator
 
Registered: Mar 2011
Location: MA, USA
Distribution: MINT Debian, Angstrom, SUSE, Ubuntu, Debian
Posts: 7,887
Blog Entries: 13

Rep: Reputation: 3379Reputation: 3379Reputation: 3379Reputation: 3379Reputation: 3379Reputation: 3379Reputation: 3379Reputation: 3379Reputation: 3379Reputation: 3379Reputation: 3379
Since you titled this as a project for a junior programmer, I'd suggest a character driver project, such as serial I/O for something like SPI, or I2C.

A network driver is rather complicated. I'd recommend starting easier.

And of course it does not have to be something new and as yet unsupported, so long as you write it from scratch and learn to debug it, I feel you or whomever the intended programmer is, will get their feet sufficiently immersed to learn how to diagnose kernel drivers.

Next level, but probably an easy block driver would be for something like a memory stick or a flash drive.
 
1 members found this post helpful.
Old 07-29-2019, 01:00 PM   #3
sirabhorn
Member
 
Registered: Jan 2012
Distribution: Debian & Slackware
Posts: 30

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by rtmistler View Post
And of course it does not have to be something new and as yet unsupported, so long as you write it from scratch and learn to debug it, I feel you or whomever the intended programmer is, will get their feet sufficiently immersed to learn how to diagnose kernel drivers.
Since it doesn't have to be unsupported, there is a plenty of choices regarding to devices... But how about that another criteria I gave, the availability of documentation? Which type of "serial I/O for something like SPI, or I2C" -devices are likely to have some hardware documentation available?
 
Old 07-29-2019, 04:08 PM   #4
rtmistler
Moderator
 
Registered: Mar 2011
Location: MA, USA
Distribution: MINT Debian, Angstrom, SUSE, Ubuntu, Debian
Posts: 7,887
Blog Entries: 13

Rep: Reputation: 3379Reputation: 3379Reputation: 3379Reputation: 3379Reputation: 3379Reputation: 3379Reputation: 3379Reputation: 3379Reputation: 3379Reputation: 3379Reputation: 3379
Quote:
Originally Posted by sirabhorn View Post
Since it doesn't have to be unsupported, there is a plenty of choices regarding to devices... But how about that another criteria I gave, the availability of documentation? Which type of "serial I/O for something like SPI, or I2C" -devices are likely to have some hardware documentation available?
Tons of documentation on various SPI and I2C devices, literally every type of sensor has a datasheet which describes either the SPI modes and registers, or the I2C address and the registers.

https://static6.arrow.com/aropdfconv...3699dm0022.pdf - SPI accel
https://www.nxp.com/docs/en/data-sheet/PCT2075.pdf - I2C temperature sensor
https://www.nxp.com/docs/en/data-sheet/PCA8885.pdf - I2C Cap touch sensor
https://www.nxp.com/docs/en/data-sheet/MC33HB2000.pdf - SPI H-Bridge motor controller
https://www.nxp.com/docs/en/data-sheet/PCF85063A.pdf - I2C real time clock
 
1 members found this post helpful.
Old 07-30-2019, 07:52 AM   #5
sirabhorn
Member
 
Registered: Jan 2012
Distribution: Debian & Slackware
Posts: 30

Original Poster
Rep: Reputation: Disabled
Thanks for the advice

This may be sufficient for now but in case somebody has something additional to say about the issue, I'm still glad to hear comments.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
I am a programmer(Student). How can i help the Linux community as a Programmer? mgsurya Linux - Newbie 11 07-21-2010 03:56 AM
Programmer to Programmer ( Long Story Of A GUI ) mdoubledragon Programming 1 10-13-2005 05:41 PM

LinuxQuestions.org > Forums > Non-*NIX Forums > Programming

All times are GMT -5. The time now is 12:52 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration