Compiling a single module for the 2.6 Kernel

This is relatively straight forward. I just recently installed a new network card to play around with and to see if I can make head or tail of the driver details so I need to make sure I have the driver for the card.

I installed a NetGear F311, I had a couple of spares. The driver for this card is the natsemi driver. To see if you have the source try the following.

]$ locate natsemi
/usr/src/kernel-source-2.6.5/drivers/net/natsemi.c
/usr/src/kernel-source-2.6.5/include/config/natsemi.h

There is no need to be the root user for any of this until you need to actually install the driver, I will tell you when ;)

Copy both these files to a directory of your choice. Then, in the same directory create a Makefile with the following text:

1 obj-m := natsemi.o
2
3 KDIR := /lib/modules/$(shell uname -r)/build
4 PWD := $(shell pwd)
5
6 default:
7 $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules

save it and then execute the folloing command:

]$ make

Some text should whizz past detailing what it is doing. In the directory which you ran make in there should now be several new files

natsemi.ko
natsemi.mod.c
natsemi.mod.o
natsemi.o

The one you are interested in is "natsemi.ko". As the root user change to the directory containing the "natsemi.ko" file and run

]$ insmod natsemi.ko

If all goes well there should be no messages. To see if it loaded and to satisfy your curiosity try

]$ lsmod
natsemi 18976 0
tulip 36640 0
crc32 3840 2 natsemi,tulip
af_packet 12552 4

The above is what I have on mine

To see if the card works (Debian) edit your

/etc/network/interfaces

file and add the following. Note that I already have a card installed using eth0 so I have chosen eth1 for this card

11 iface eth1 inet static
12 address 192.168.1.10
13 netmask 255.255.255.0

Then issue the command

]$ ifup eth1
]$ ping 192.168.1.10

and you should now have the card working.

Add to delicious Digg This Add to My Yahoo! Add to Google Add to StumbleUpon
| | Comments (0)

Leave a comment

About this Entry

This page contains a single entry by Harry published on November 29, 2004 6:07 PM.

Google Talk was the previous entry in this blog.

Is Canada a Communist state is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Powered by Movable Type 4.01