Note
|
The moral of the story is that you have to enable interfaces in Slackware in /etc/rc.d/rc.inet1.conf |
I had a problem: my desktop machine at work was crashing. The machine would completely hang, the monitors frozen with whatever image was last displayed. No response to keyboard input, nothing.
The first time it happened was after about two weeks of uptime. The hardware was brand-new and I’d assembled it myself from quality components. I figured it must be a fluke.
Then it happened two days later - and twice on that day. Then I had about another two weeks…and another two weeks…and then it got the point where I was surprised to find it running the next morning when I came into work.
I tried all sorts of things, but whatever was happening wasn’t leaving any trace in the system logs (nothing I could find, anyway).
Meanwhile, the other thing I noticed was that I would occasionally lose network connectivity. None of the other machines plugged into the same network switch were having issues.
Putting two and two together and crossing my fingers, I went ahead and bought an Intel NIC card to install. I’d always heard that the Intel chipsets had the best Linux support.
(Specifically, the card I bought was a Intel Gigabit CT PCI-E Network Adapter EXPI9301CTBLK
.)
I installed the card, disabled the onboard Realtek ethernet adapter in the motherboard’s UEFI menu, and then restarted.
Honestly, I was expecting it to just work.
You have to explicitly enable eth1
What follows is my attempt to understand if the card was working at all and if Slackware was configured to use it:
man ip ip link ip eth1 help ip link show eth1 # same info as ip link ip link set eth1 up # that works! ifconfig # now shows eth1
I knew that /etc/rc.d/rc.inet1
was responsible for bringing up the interface and I could see that it used a logger, but how to figure out where it was logging messages?
find /var/log -mmin -5 # finds files modified in the last 5 min tail /var/log/messages # there we are!
Well, I can see that nothing is happening for eth1
(which I’d determined was my new card).
So I finally looked at /etc/rc.d/rc.inet1.conf
.
Oh, there it is, plain as day up at the top:
# This file contains the configuration settings for network interfaces. # If USE_DHCP[interface] is set to "yes", this overrides any other settings. # If you don't have an interface, leave the settings null ("").
And there’s the eth0
and eth1
entries:
# Config information for eth0: IPADDR[0]="" NETMASK[0]="" USE_DHCP[0]="yes" DHCP_HOSTNAME[0]="" # Config information for eth1: IPADDR[1]="" NETMASK[1]="" USE_DHCP[1]="" DHCP_HOSTNAME[1]=""
Adding a "yes" for eth1
is all that’s needed:
USE_DHCP[1]="yes"
Running the rc.inet1
script clearly works after that…and now I can ping out.
That’s it.
It’s been a week now with no crashes.