Using SuSE Linux 7.2 Professional

When I said I had no problems copying the e1000 module sources tarball using a floppy, I wasn’t completely honest. I had to format the floppy using KFloppy first, and that failed with a permission denied message on /dev/fd0h1440. That particular file was owned by root and group disk, but I wasn’t a member of that group. I think this was a bug, but it was easily solved:

  1. $ su - root
  2. Password:
  3. # gpasswd -a diederic disk

Then I had to log out and in again.

The e1000 module, however, didn’t seem to load automatically at boot, despite my using YaST to configure that.

  1. $ ping bender
  2. ping: unknown host: bender
  3. $ lsmod | grep e1000
  4. bash: lsmod: command not found
  5. $ /sbin/lsmod | grep e1000
  6. $ sudo /sbin/modprobe e1000
  7. Password:
  8. diederic is not in the sudoers file. This incident will be reported.

So:

  1. /sbin was not in my $PATH
  2. I was not in the sudoers file
  3. The e1000 module was not there

I haven’t looked back at bash since I found the fish shell, but this is what I remembered:

  1. $ echo 'export PATH="/sbin:$PATH"' >> .bashrc
  2. $ . .bashrc

The handbook’s register didn’t mention sudo(8) but I also seemed to remember:

  1. $ su - root
  2. Password:
  3. # visudo -f /etc/sudoers
  4. usage: visudo [-s] [-V]
  5. # visudo -s

That opened vim and allowed me to add my user:

  1. diederic ALL=(ALL) ALL

To find out why the e1000 wasn’t loaded during boot, I looked at /var/log/boot.msg and found these lines:

  1. insmod: /lib/modules/2.4.4-64GB-SMP/kernel/drivers/net/eepro100.o: init_module: No such device
  2. insmod: Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters
  3. insmod: /lib/modules/2.4.4-64GB-SMP/kernel/drivers/net/eepro100.o: insmod eth0 failed

That eepro100.o was clearly the wrong module. So, what was attempting to load it? I went back to Yast2 → Network/Basic → Network card configuration and under Hardware I saw the name eepro100. Remembering I selected that days ago before I got it working, I deleted it and clicked Add, which showed me two buttons: Activate Card and Manual Card Setup. I chose the latter and a new dialog opened.

YaST2 Network address setup

I entered the module name e1000 instead of selecting one from the list that didn’t contain my network card. After clicking Next, SuSEConfig was run. I rebooted and voilà, my module was loaded at boot and had an IP address waiting for me when I needed it.

  1. Sep 11 13:29:30 deepblue kernel: e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex

I found the report of my earlier illegal sudo usage in /var/log/messages. It really was reported.

参与讨论