how to program a driver?

Xin LI delphij at
Mon Dec 8 21:04:42 PST 2008

Hash: SHA1

Espartano wrote:
> hi people first and foremost apologize me for my bad english I have a
> little question, if i want to understand how work a net driver, what
> things i will need to learn?
> Actually i know how to program with C language in a basic level but i
> don't know nothing about hardware or computer organization, what
> topics i should study for gain knowledges about net-drivers ? or if
> someone can recommend me books about this topic  i will be very
> thankful.

I think you need some understanding on how the hardware is composed into
a computer system, usually this is taught in freshmen days for a CS or
EE major, and it's possible to learn yourself.  Basically, NIC drivers
implement common interfaces like probe, transfer data, callback when
data is received, etc., this part would be easier if you do understand
how things works and have data sheets at your hand.

There is a book available to give you some ideas about how to write code
for FreeBSD Kernel, <<Design and Implementation of the FreeBSD Operating
System>> which would help you to understand the basic concepts, etc.

My personal suggestion is to start from a simple network driver and try
start to get knowledge by tweaking some stuff and see what would happen.

- --
Xin LI <delphij at>
FreeBSD - The Power to Serve!
Version: GnuPG v2.0.9 (FreeBSD)


More information about the freebsd-net mailing list