In my Slackware 10.1 box I was running kernel 2.4.30 which I compiled from source; worked fine for months, no problems. I just recently upgraded to kernel-headers 2.4.31, plus upgraded glibc, so I wanted to build a 2.4.31 kernel using the .config from my 2.4.30 compile. I run "make oldconfig" when I upgrade my kernel, the "make menuconfig" if I have any changes, etc.. Anyway, with the version 2.4.31 kernel my networking quit. dmesg gives the error "NETDEV WATCHDOG: transmit timed out" and I can't ping any peers. When I run ifconfig, eth0 is configured to my NIC just as before, i.e. the NIC driver is loaded (right?).
Now this is where it gets wierd. I removed the 2.4.31 kernel that I just compiled and install the Slackware packages for the 2.4.31 kernel and it does not work either! So, I re-compiled version 2.4.30 (yes, I was dumb enough to delete the kernel that worked so well before) using the same .config and it works fine, just as before.
So what might be missing or what might have changed in kernel version 2.4.31 to cause this? The driver the NIC uses is tulip.o. If the distribution had not decided during the original installiation which driver to use, I would not (still do not) know how to decide that myself.
I'm sorry if this is really a kernel question, but is it? I already asked in the Slackware newsgroup and nobody even wanted to flame me for being so stupid