mattmarsh.net me computing geocaching gallery guestbook webcam blog

Pundit MythTV Frontend

Introduction
Environment

Hardware
- Selection
- Installation

Software
- OS Installation
- Networking
- X-Windows
- Audio
- MythTV Frontend

Links

Networking

The LAN chipset on the Pundit's motherboard is not supported by either the kernel installed by the Debian Woody install or the latest 2.4.* kernels. I believe that there is support for the chipset available in 2.5.* kernels, but those are development kernels which I didn't particularly want to use unless I had to. I have also heard that the driver for this network chipset built into the 2.5.* kernels may be broken at the moment - I'm not sure which 2.5 kernels this is true for, YMMV. Luckily ASUS do provide a source network driver for Linux on the CD that comes with the pundit but it wont work with the Debian Woody 2.2.18 kernel so before building and installing it I first had to install a newer kernel.

Install New Kernel

I decided to install the latest kernel that I could get Debian stable packages for which turned out to be 2.4.18 at the time of writing this. There are a couple of packages which need to be installed, a kernel source package and some tools for packaging up kernels. I just did the following as root:

# apt-get install kernel-source-2.4.18
# apt-get install kernel-package

The first of those lines will put the kernel source as a .tar.bz2 file into /usr/src. This needs to be unpacked, so as root I did:

# cd /usr/src
# tar jxvf kernel-source-2.4.18.tar.bz2

Once the kernel source has been unpacked the next thing to do is to configure the kernel to decide which drivers etc should be built into it. Rather than go through the entire configuration process at this point I decided just to build the kernel with the default options in order to get the network up and running and then to build it again later with all the correct options etc. This also has the advantage that once the network is up and running you can just copy in my configuration file if you wish and build with all the same options that I used. In order for the configuration file to be created you need to run one of the kernel configuration programs. I decided to use the menuconfig tool, but in order to do that I first needed to install the libncurses package by doing the following as root:

# apt-get install libncurses5-dev

I started up the menuconfig program as root as follows:

# cd /usr/src/kernel-source-2.4.18
# make menuconfig

Once this program starts you get a curses based app for selecting the configuration parameters. I didn't want to set any at this stage so I just navigated to the 'Exit' button and then when prompted if I wanted to save the configuration I selected 'Yes'.

OK, at this point I was ready to build the kernel so I just did the following as root:

# cd /usr/src/kernel-source-2.4.18
# make-kpkg kernel_image
# make-kpkg kernel_headers

Now that the kernel was built, I just had to install the Debian package that it had created. This installer will install the new kernel as the default kernel that the machine boots and it will also create an entry in LILO for the old kernel should you need to get to it. To install the kernel I just did the following as root, accepting any default options when presented:

# cd /usr/src
# dpkg -i kernel-image-2.4.18_10.00.Custom_i386.deb
# dpkg -i kernel-headers-2.4.18_10.00.Custom_i386.deb

At this point the new kernel is installed and ready to use so I just rebooted the machine into the new kernel.

Network Driver Installation

Now that the new kernel had been built and installed I copied the source for the network driver from the CD that came with the Pundit. I did this all logged in as my 'matt' user:

$ mount /cdrom
$ cd /cdrom/drivers/lan/4401/linux
$ mkdir ~/build
$ mkdir ~/build/bcm4400
$ cp bcm4400-101.tar.gz ~/build/bcm4400
$ cd ~/build/bcm4400
$ umount /cdrom

Next I untarred the source tarball and built the driver:

$ tar zxvf bcm4400-101.tar.gz
$ cd src
$ make

Finally I switched to the 'root' user and installed the driver:

# make install

Network Configuration

Now that the network driver was installed I needed to setup the system to load the driver and configure it for my network setup.

In order to get the driver to load automatically on boot-up I added the following line to the end of my /etc/modules file:

bcm4400

I first tried to get the driver to pick up its settings using DHCP from my local network, but this didn't seem to work properly for some reason. Therefore I switched to using static settings instead. I added the following block to the end of my /etc/network/interfaces file:

iface eth0 inet static
    address 10.0.1.9
    netmask 255.0.0.0
    gateway 10.0.0.138

Obviously these are the particular settings for my own network, you'll need to use appropriate values for your own network. And please don't ask why I have a class A network, it's nuts :-)

I also changed the line in that file which read:

auto lo

to:

auto lo eth0

In order to get DNS working from the Pundit I modified the /etc/resolv.conf to point at my name server. The file didn't exist by default so I just created the file with the following two lines:

nameserver      10.0.1.1
domain          homelan.mattmarsh.net

Again, these settings will vary depending on your network configuration.

With all these configuration settings made I rebooted the machine to check that the network came up correctly on boot-up. Once the machine had booted I checked that I could ping other machines both by ipaddress and then by name. Firing up a web browser and surfing some pages worked fine too.


Copyright © 1997-2004 Matt N. Marsh. All Rights Reserved.
URL: http://www.mattmarsh.net/computing/pundit/networking.shtml
Last modified: Wednesday, 23-Jun-2004 08:45:42 BST
Email: matt@mattmarsh.net