For days on end I have been searching and searching to find a solution to a problem I have with multiple Linux distributions (CentOS 7, Ubuntu, Linux Mint, Fedora, etc) with this desktop computer I have which uses the NVIDIA MCP61 Ethernet card.
I am not a Linux guy, but had to get this computer working. So I am sharing what worked for me. Hope it helps.
First there was no driver, as the new CentOS disabled the forcedeth driver. I had to download it on a laptop this way:
https://elrepo.org/linux/elrepo/el7/x86 ... deth….rpm)
Since the repo updates I had to go to https://elrepo.org/linux/elrepo/el7/x86_64/RPMS/ and there find the kmod-forcedeth rpm available. Download it on a USB and then transfer it to the computer.
There I had to install it in the terminal using the following command:
Code: Select all
sudo yum localinstall ./kmod-forceth....rpm
This installed the driver. But now we have another issue.
1. Make sure that /etc/sysconfig/network-scripts/ifcfg-(your ethernet connection) is set to BOOT=yes
2. There was no device showing as attached to the network connection `nmcli connection show`. I hadded it in the file above in /etc/sysconfig/network-scripts/ifcfg-... as DEVICE=enp0s7 (this is mine visible through `ip link show`)
2. The device and connection seemed ok, but there was still no connection. After a hard time, I found out it was due to the forcedeth driver. There is a bug in the kernel which is not addressed since 2008, and will never be it seems: https://linuxconfig.org/nvidia-mcp55-fo ... with-linux
This was suggested as a solution here: https://bugs.launchpad.net/ubuntu/+sour ... ug/1003297
Code: Select all
rmmod forcedeth
To permanently disable a Kernel module from loading at boot-time, create a .conf file with any name inside the /etc/modprobe.d. The syntax is:
Code: Select all
# sudo touch /etc/modprobe.d/blacklist.conf
# sudo nano /etc/modprobe.d/blacklist.conf
blacklist forcedeth
Code: Select all
modprobe forcedeth msi=0 msix=0
For some reason the kernel does not start the forcedeth module properly, this is why it needs to be blacklisted and started again with other parameters.
From here nothing worked, as forcedeth was blacklisted and I had to type that command `modprobe forcedeth` to restart it every time.
I found another solution below, where the grub boot record arguments has to be updated:
https://www.thegeekdiary.com/centos-rhe ... th-grubby/
Code: Select all
sudo grubby --info=ALL
uname -a (for the kernel edition used)
sudo grubby --args “forcedeth.msi=0 forcedeth.msix=0” --update-kernel /boot/vmlinuz-3.10.0-229.el7.x86_64
Now it works every time I reboot!
The steps that worked for me in short:
1. Install the driver with `yum localinstall` from https://elrepo.org/linux/elrepo/el7/x86 ... deth….rpm)
2. Change the grub boot record: `sudo grubby --args “forcedeth.msi=0 forcedeth.msix=0” --update-kernel /boot/vmlinuz-3.10.0-229.el7.x86_64`
I am good to go!
Hope it helps others!