Unrecognized NIC

From LinuxMCE
Revision as of 22:38, 2 January 2009 by Jeangot (Talk | contribs)

Jump to: navigation, search


Note If you have a r8168 NIC, see the r8168 page first.

Every now and then, people come along with NICs that are not directly supported by LinuxMCE. Typically when this happens you will see a 'Kernel Panic' during the initial PXE boot process. The following information should help to get even those NICs to work. As an example, the ASUS P5K is used, which is using the Attansic L1 NIC. You may have another chipset used in your NIC which will mean that you need to find out what the chipset is and importantly what kernel module is used to add support for it. Googling the chipset name and the words 'kernel module' will normally throw up some links to help you get the module name. Once you have that information you are ready to follow the simple steps outlined below;

Modify modules on core

To get a NIC to work, you have to modify a file;

sudo <editor-of-choice> /etc/initramfs-tools-interactor/modules

and add a single line for your NICs kernel module. In the above case the name of the module is

atl1

Or for the Marvell Yukon 88E8055 chip for example add;

sky2

After adding the above line (and saving the change of course ;-) ), you have to recreate the initial ramdisk. For 0704 do;

/usr/pluto/bin/Diskless_BuildDefaultImage.sh

or maybe

mkinitramfs -d /etc/initramfs-tools-interactor/ -o /tftpboot/default/initrd

is enough.

This will create a new initial ramdisk for the first boot of new MDs containing the atl1 module (or in your case for whichever module you have added). Now, the first boot of the diskless MD will succeed and a new diskless media director will be created.

Modify the media director initial ramdisk

To boot this diskless MD later on, the configuration for this new device has to be modified to include the above line as well. Look in the directory structure under /usr/pluto/diskless. Each media director has a directory named with the ID of the director in here. Go into the /usr/pluto/diskless/<mediadirector-id>/etc and edit the file modules to also contain

atl1

Also, go into /usr/pluto/diskless/<mediadirector-id>/etc/initramfs-tools and put the line into a file called modules. After this, chroot into the directory of the media directory, and re-create the initial ramdisk.

To create a new initial ram disk the command is

cd /usr/pluto/diskless/
chroot <mediadirector-id>
depmod
cd /boot
mkinitramfs -o initrd.img-`uname -r` `uname -r`
exit

Now reboot your media director. Everything should come up, the way it is meant to.

Caveat

Whenever you click Regenerate this media director, you have to redo the step for the initial ramdisk of the media director. The above steps do not work, if the media director and the core utilize two different CPU architectures,ie. one is using AMD64 the other i386 (chroot won't work).