[SOLVED] driver r8169 for Ethernet card does not load in Slackware 14.2
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Settings for eth0:
Cannot get device settings: No such device
Cannot get wake-on-lan settings: No such device
Cannot get message level: No such device
Cannot get link status: No such device
No data available
Quote:
root::realtek# depmod
root::realtek# modprobe -v r8169.ko
modprobe: FATAL: Module r8169.ko not found in directory /lib/modules/4.4.157
root::realtek# uname -r
4.4.157
root::realtek# ls /lib/modules/4.4.157/kernel/drivers/net/ethernet/realtek/r8169.ko
/lib/modules/4.4.157/kernel/drivers/net/ethernet/realtek/r8169.ko
(1) I assume that the driver is out of date (old computer has same ethernet card, but rev. 02)?
I was thinking, recompile the driver, but I can't find the source for the package kernel-modules (in current or 15).
Is my assumption (1) correct, or might there be another problem?
I have no experience from that card, but during the years I have seen intel e1000e cards which requires a driver newer than the one shipped with the kernel. At those occasions I have been able to download the source of the driver from intel.com and compile a newer version of the kernel module.
The source of the kernel modules are part of the linux kernel sources. If you have done a full install you probably have it as:
If you are really lucky, it might be possible to identify some trivial additions needed to make the older r8169.c work with your newer card by comparing to the newer kernels r8169.c.
My machine uses a card with the same driver. I have used it in both Slackware-14 and Slackware-15 and have had no problems with it.
Yeah. I've got this Ethernet card both in my old and my new computer. The only difference is the rev(ision) part, rev 02 in the old one, rev 15 in the new one. This makes me suspect that that is the reason my Slackware 14.2 doesn't load the driver in the new computer, while Slackware 15 does. Maybe yours is has a lower revision number?
I have no experience from that card, but during the years I have seen intel e1000e cards which requires a driver newer than the one shipped with the kernel. At those occasions I have been able to download the source of the driver from intel.com and compile a newer version of the kernel module.
The source of the kernel modules are part of the linux kernel sources. If you have done a full install you probably have it as:
If you are really lucky, it might be possible to identify some trivial additions needed to make the older r8169.c work with your newer card by comparing to the newer kernels r8169.c.
regards Henrik
Interesting. I will look into that, perhaps tomorrow, at the latest Monday (which is my day off). Thanks.
It could be the card itself, or firmware. The source code is in the kernel source. The network hardware is probably identical between the Realtek 8111, 8168, & 8411 parts that use this r8169.ko driver. It probably comes as a precompiled chunk of code to place silicon in the nether regions of some ASIC, anyhow.
4.4.19 (original 14.2 kernel) ran this, as did 4.4.94(?) some level of update. I never went to 4.4.157, I went to current. My old box dates from 2012 and ran fine on 14.2, various current versions, & 15.0.
I gather yours worked, but has stopped working? Make sure the hardware works under some software. Then replace your 14.2 setup bit by bit. BTW, there's nothing to stop you putting 15.0 firmware in the 14.2 box to try it.
So, answering the DHCP question with yes in setup has worked automatically for me for so long that I have been put to sleep apparently. When my network did not come up I did `ifconfig` (with no arguments) I saw only loopback. Also, `rc.inet1 restart` did nothing. Then I did `ethtool eth0` and saw that my ethernet card was not doing anything either. And then I did a bunch of other stuff, which was wrong, I should have continued with the basic stuff.
Quote:
ifconfig -a display all interfaces which are currently available, even if down
Probably you previously had another card on that pc that got assigned eth0.
These rules are saved in the file /etc/udev/rules.d/70-persistent-net.rules
You can just wipe the file, reboot and the current card will become eth0.
The file:
/etc/udev/rules.d/70-persistent-net.rules
assigns a new "eth*" label whenever the system perceives a new network interface. It assigns eth0 to the first card it ever knows about. Later, if you add a card or change system to a new machine etc., whatever new network card is discovered is assigned eth1.
If you're happy with using eth1, just leave everything as is. If it makes you feel better to use eth0, edit that file (swap eth0 & eth1 assignments) and reboot to use eth0.
FWIW, I reliably get eth1 as well, and there's no other card here. But I did the absolute minimum install for UEFI & elilo. Then I resync'ed over a backup of my old box. I'm not bothered chasing why it's eth1 and not eth0. It's not a fault, it's a peculiarity. I presume eth0 is the nic in the other box. Life is too short for that sort of thing.
Probably you previously had another card on that pc that got assigned eth0.
These rules are saved in the file /etc/udev/rules.d/70-persistent-net.rules
You can just wipe the file, reboot and the current card will become eth0.
Quote:
Originally Posted by chris.willing
The file:
/etc/udev/rules.d/70-persistent-net.rules
assigns a new "eth*" label whenever the system perceives a new network interface. It assigns eth0 to the first card it ever knows about. Later, if you add a card or change system to a new machine etc., whatever new network card is discovered is assigned eth1.
If you're happy with using eth1, just leave everything as is. If it makes you feel better to use eth0, edit that file (swap eth0 & eth1 assignments) and reboot to use eth0.
These are mine. r8169 didn't work for me either, in both 14.2 and 15.0. But r8168 did the job in 14.2 and works fine in 15.0 as well. You can get it from slackbuilds.org
These are mine. r8169 didn't work for me either, in both 14.2 and 15.0. But r8168 did the job in 14.2 and works fine in 15.0 as well. You can get it from slackbuilds.org
That is really interesting. While I marked this thread as solved because I failed to use eth1 instead of eth0, I have some continuing problems my network, both in 14.2 and 15. In 14.2 a few times I lost connection completely and only a reboot could solve it. In 15 one time I had only a ipv4 connection, ipv6 simply did not come up.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.