eth0 doesn't work on new slackware 14.2 installation
Hi,
Just finished to install slackware but the network doesn't work. At boot time, I have a message "eth0: no carrier". I tried to configure the network with KDE Network Manager, I can't even add a new wired connection. ifconfig says the interface is UP but no IPv4 information. The network works well with w10 on this machine. Thanks in advance, |
add manually an address to eth0 (192.168.0.100), I can only ping the self address. Any ping on other hosts on the subnet results in "Destination host unreachable".
|
Can you post the output of the following commands?
Code:
lspci -k | grep -iA3 net |
@odjb
Since you've excluded the cable connection (link) by saying that it works under W10, then it might be caused by the "aggressive" power management of the PCI controller, especially if it's a new laptop (new Intel CPU/chipset). Check the status of the device by issuing what bassmadrigal suggested: Code:
lspci -k | grep -iA3 net Code:
lspci Then check the power status of the device: Code:
cat /sys/bus/pci/devices/0000:XX:XX.X/power/control Code:
echo on > /sys/bus/pci/devices/0000::XX:XX.X/power/control |
Below the results from asked actions. I go check the power managament
Code:
lspci -k | grep -iA3 net |
ok, checked the power management, it's already "on"
|
Quote:
|
I tried but it didn't work (in fact I already did it before)
Let me post an extract from boot messages regarding the network : Code:
Oct 31 18:38:06 skp root: /etc/rc.d/rc.inet1: /sbin/ifconfig lo 127.0.0.1 |
@odjb
The Realtek r8169 driver looks to be problematic (kernel related and not Slackware related) and apparently you'll need to turn the autonegotiation off with the help of ethtool before bringing the interface up and trying to obtain an IP address with dhcpd/dhclient: Code:
/usr/sbin/ethtool -s eth0 autoneg off Code:
/sbin/ifconfig eth0 down https://forums.fedoraforum.org/showthread.php?t=250807 https://askubuntu.com/questions/7610...8169-link-down http://adam.rosi-kessel.org/weblog/2...k-down-problem |
@odjb
Have you got it working? Please report / set the thread to RESOLVED if that's the case. |
It didn't work. I stop eth0, set autoneg off. I see autoneg is actually off. I restart eth0. autoneg is on again and the network still doesn't work.
|
@odjb
Try not to stop it (bring it down) but while on (up) only change the autonegotiation with: Code:
/usr/sbin/ethtool -s eth0 autoneg off There were reports that the r8169 Linux driver doesn't support gigabit on the adapter and additionally to disabling the autonegotiation you need to tune it to 100Mbit. To do this, execute: Code:
/usr/sbin/ethtool -s eth0 speed 100 duplex full autoneg off https://forums.fedoraforum.org/showp...07&postcount=1 On the latest Slackware you need to define the r8169.conf in the /lib/modprobe.d/ directory like this: Content of /lib/modprobe.d/r8169.conf Code:
# turn off autonegotiation on the r8169 ethernet driver Here is even suggested to blacklist the r8169 driver and use the r8168 instead: https://askubuntu.com/questions/7610...8169-link-down You could also check the driver options with: Code:
modinfo r8169 with: Code:
options r8169 your_option=value restart the system and check the functionality. |
I tried the following without stopping eth0 and it worked.
Code:
ethtool -s eth0 speed 100 duplex full autoneg off Thanks |
@objb
Happy to hear that you've got it working. You should follow the history on the development of the r8169 driver, maybe it'll get fixed in the following kernel releases. https://github.com/torvalds/linux/co...ealtek/r8169.c |
@odjb
I just recalled that your NIC isn't really working well with the ethtool workaround and considered that you might want to try the r8168 driver and blacklist the r8169. Check this thread for the instructions on where to get and compile the driver: https://www.linuxquestions.org/quest...7/#post5784210 Posts:10-14 After the compilation & installation of the r8168 run the following (comment your ethtool workaround command if you inserted it into /etc/rc.d/rc.inet1): Code:
ifconfig eth0 down -create a file /lib/modprobe.d/blacklist-r8169.conf with the following content: Code:
blacklist r8169 Code:
#ethtool -s eth0 speed 100 duplex full autoneg off Wait (check from time to time) for a r8169 driver fix in newer kernels. |
All times are GMT -5. The time now is 05:52 PM. |