|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
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
# Config information for eth0: IPADDR="" NETMASK="" USE_DHCP="yes" DHCP_HOSTNAME="" # Config information for eth1: IPADDR="" NETMASK="" USE_DHCP="" DHCP_HOSTNAME=""
Adding a "yes" for
eth1 is all that’s needed:
rc.inet1 script clearly works after that…and now I can ping out.
It’s been a week now with no crashes.