NVIDIA MCP61 Ethernet using forcedeth not working

Issues related to configuring your network
Post Reply
iasmingb
Posts: 1
Joined: 2022/10/06 08:08:22

NVIDIA MCP61 Ethernet using forcedeth not working

Post by iasmingb » 2022/10/06 10:07:06

Hello there,
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
The system should be restarted.
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
But the system freezez. I found the solution here: https://linuxize.com/post/rmmod-command-in-linux/
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
But this removes the device from the networking connection also. So the following command has to be run for it to finally work, it starts the module again through modprobe:

Code: Select all

modprobe forcedeth msi=0 msix=0
But this resets with every reboot, so it is temporary.
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
For this to work properly I had to erase the file in /etc/modprobe.d/blacklist.conf
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!

User avatar
TrevorH
Site Admin
Posts: 33202
Joined: 2009/09/24 10:40:56
Location: Brighton, UK

Re: NVIDIA MCP61 Ethernet using forcedeth not working

Post by TrevorH » 2022/10/06 12:15:39

modprobe forcedeth msi=0 msix=0

But this resets with every reboot, so it is temporary.
Create a /etc/modprobe.d/forcedeth.conf and put this in it:

Code: Select all

options forcedeth msi=0 msix=0
After that, when running the current kernel, run dracut -f --kver=$(uname -r) to rebuild the initramfs file for the current kernel so that it includes the new options file. Now you should be able to reboot safely.

Oh, also check for BIOS updates as this is not a normal problem. That card is quite old so I would have expected to have heard of this problem before if it was a common one.
The future appears to be RHEL or Debian. I think I'm going Debian.
Info for USB installs on http://wiki.centos.org/HowTos/InstallFromUSBkey
CentOS 5 and 6 are deadest, do not use them.
Use the FAQ Luke

Post Reply