View Full Version : [SOLVED] Wired Connection Fails (Realtek + Forcedeth Issue)
joelbitar1986
December 13th, 2013, 07:54 AM
Hi folks. I'm currently running a machine with an ASRock N68C-GS mobo with built-in Realtek 8211CL 10/100/1000 ethernet adapter. Just installed Ubuntu 12.04 for the first time. I'm running my system with Windows 7 on one hard drive and Linux on the other. My internet connection plugs directly into my computer (not using wireless). On Windows 7 my wired connection is immediately recognized and works fine. However, on Linux it is not being detected for some reason. I've been distro hopping and I've had the same problem on Mint, Fedora and now Ubuntu. Am I overlooking something? P.S. I am a complete Linux noob.
$ifconfig
eth0
Link encap:Ethernet HWaddr bc:5f:f4:aa:49:44
inet6 addr: fe80::be5f:f4ff:feaa:4944/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:136 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:31814 (31.8 KB)
lo
Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:264 errors:0 dropped:0 overruns:0 frame:0
TX packets:264 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:20752 (20.7 KB) TX bytes:20752 (20.7 KB)
Would appreciate any help.
EDIT: I've narrowed down the problem to the nvidia forcedeth drivers of my onboard ethernet adapater.
varunendra
December 14th, 2013, 03:41 PM
Welcome to the forums joelbitar1986 !
Please post back the outputs of the following commands -
sudo lshw -C network -numeric
nm-tool
cat /etc/network/interfaces
cat /etc/resolv.conf
cat /etc/NetworkManager/NetworkManager.conf
cat /var/lib/NetworkManager/NetworkManager.conf
cat /var/lib/NetworkManager/NetworkManager.state
While posting the outputs, please use 'Code' tags, not the 'Quote' tags that you used above. Code tags preserve the formatting and make the output more readable. Please follow the "Using Code Tags" link in my signature to see how to use it.
joelbitar1986
December 15th, 2013, 01:09 AM
Thank you for the warm welcome.
sudo lshw -C network -numeric
PCI (sysfs)
nm-tool
NetworkManager Tool
State: disconnected
- Device: eth0 -----------------------------------------------------------------
Type: Wired
Driver: forcedeth
State: disconnected
Default: no
HW Address: BC:5F:F4:AA:49:44
Capabilities:
Carrier Detect: yes
Speed: 100 Mb/s
Wired Properties
Carrier: on
cat /etc/network/interfaces
auto lo
iface lo inet loopback
cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
cat etc/NetworkManager/NetworkManager.conf
cat: etc/NetworkManager/NetworkManager.conf: No such file or directory
cat /var/lib/NetworkManager/NetworkManager.conf
cat: /var/lib/NetworkManager/NetworkManager.conf: No such file or directory
I'm not sure if I entered the last 2 commands correctly but that was the output i got after typing them in terminal....
Thanks for the help!
varunendra
December 15th, 2013, 04:13 AM
sudo lshw -C network -numeric
PCI (sysfs)
The lshw command takes a few seconds to complete its listing, please give it some time until it returns to command prompt. It will give much more info than above. :)
Also, the nm-tool command shows the driver in use to be "forcedeth", which is for NVidia Ethernet cards, while you mentioned in your original post that it is a Realtek card. Are these outputs from the same computer? If yes, how do you know it has realtek card? Just post back the full output of lshw command again and it will give us a detailed info of the card.
Lastly, are you using the default Ubuntu desktop? The NetworkManager.conf and NetworkManager.state files should have been there. Make sure you type in the commands correctly, or simply copy-paste to avoid any possible typo. (for example, you seem to have missed the leading slash (/) in the NetworkManager.conf related command).
If the files are actually missing, we may have to confirm a few more things.
joelbitar1986
December 15th, 2013, 09:02 AM
I have an ASRock N68C-GS FX Motherboard. I went to the ASRock website to look at the specifications of that board. Under the "LAN" category it says
- Gigabit LAN 10/100/1000 Mb/s
- Giga PHY Realtek RTL8211CL
- Supports Wake-On-LAN
- Supports PXE
Windows 7 Device Manager detects it as "NVIDIA nForce 10/100/1000 Mbs Ethernet." Yes, all of those outputs from previous post are from the same system.
sudo lshw -C network -numeric was giving me PCI (sysfs) for 5 seconds then it would return right back to command prompt without giving me any output at all. Maybe because it's not detecting the network card properly? Instead I typed in sudo lshw and got information on all of my computer's hardware. I found a section called "ethernet interface" and I am posting that code below.
sudo lshw
*-bridge
description: Ethernet interface
product: MCP61 Ethernet
vendor: NVIDIA Corporation
physical id: 7
bus info: pci@0000:00:07.0
logical name: eth0
version: a2
serial: bc:5f:f4:aa:49:44
size: 100000000
capacity: 1000000000
width: 32 bits
clock: 66MHz
capabilities: bridge pm msi ht bus_master cap_list ethernet physical mii 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=forcedeth driverversion=0.64 duplex=full latency=0 link=yes maxlatency=20 mingnt=1 multicast=yes port=MII speed=100Mbit/s
resources: irq:43 memory:eeefd000-eeefdfff ioport:d080(size=8)
You were right about my typo. Here is output from cat /etc/NetworkManager/NetworkManager.conf
[main]
plugins=ifupdown,keyfile
dns=dnsmasq
[ifupdown]
managed=false
There was no file called NetworkManager.conf in /var/lib/NetworkManager/. There is only one file called NetworkManager.state. Here is output from cat /var/lib/NetworkManager/NetworkManager.state
[main]
NetworkingEnabled=true
WirelessEnabled=true
WWANEnabled=true
WimaxEnabled=true
Thanks for taking the time to help me out. It is much appreciated.
varunendra
December 15th, 2013, 10:30 AM
Ouch ! That "NetworkManager.conf" in /var/lib was my mistake, sorry, corrected it to "NetworkManager.state".
And yes, the 'lshw -C network' command didn't work because the interface is under class "bridge", not "network". I have seen this "bridged" mode quite a few times now and always with this same card. I always wonder what it is bridged to, but haven't found it yet.
Please post back the output of -
lspci -nnk | grep -iA2 net
to see if the subsystem of this card is Realtek. I am interested in finding a link between the official information you got (that it is a Realtek card) and the 'bridged' mode. Not that it is likely help much, just curious for now.
As an attempt to a fix, please try -
sudo mii-tool -v -F 100baseTx-FD eth0
If it returns error like command 'mii-tool' not found, we may have to install package "net-tools" for which we'd need internet connection. Can you somehow get a temporary one via a usb modem or wifi adapter if required?
If the command works but doesn't change anything, try an even lower speed -
sudo mii-tool -v -F 10baseT-FD eth0
Does it let you connect?
Being able to get a temporary internet connection may be a big help, as then we would be able to easily install a much more powerful tool "ethtool". Installing these without internet would be a bit difficult.
By the way, could you try assigning a manual IP in the Network Manager? It may simply be a problem of not getting a valid IP automatically, since the interface seems to be physically connected. In fact this should be the first thing to try.
joelbitar1986
December 16th, 2013, 05:19 AM
Sorry for my late reply, I was out all day.
Do you think it says bridge because my ethernet card is integrated with my motherboard? That's definitely curious.
lspci -nnk | grep -iA2 net
00:07.0 Bridge [0680]: NVIDIA Corporation MCP61 Ethernet [10de:03ef] (rev a2)
Subsystem: ASRock Incorporation 939NF6G-VSTA Board [1849:03ef]
Kernel driver in use: forcedeth
sudo mii-tool -v -F 100baseTx-FD eth0
SIOCGMIIPHY on 'eth0' failed: Operation not supported
sudo mii-tool -v -F 10baseT-FD eth0
SIOCGMIIPHY on 'eth0' failed: Operation not supported
So, it didn't let me connect unfortunately. I am using a USB stick to transfer files between my non-connected linux system and my connected windows system. This is how I'm posting all the code from my Linux machine. I can put any file I want on my USB stick by downloading from windows (I get internet here on my laptop and also on the same PC I'm having trouble on because it's dualbooting windows 7). Do I need live internet on Linux for your strategy or will a USB stick transfer be ok?
varunendra
December 16th, 2013, 01:06 PM
'Bridged' and 'Onboard' are not the same thing. Bridged, as far as I know, stands for a configuration where one (network-) interface is connected to another interface in such a way that all the traffic to and from the 'bridged' interface goes through the one to which it is 'bridged' to, and both share the same network address (IP). Both of these can be onboard or add-on cards, how they are physically connected doesn't matter.
Anyway, onto the problem. What I am trying to do is to disable autonegotiation and force a desired speed. For that I know only two tools - ethtool and mii-tool. Since mii protocol is not supported, as the error messages told us, now we do need to install "ethtool" (unless someone else who knows a better solution joins us).
If you try -
apt-get install --print-uris ethtool
..do you get some download URIs at the bottom of the output? Or some error like "package 'ethtool' not found"?
If you get the download URIs, use them to download the packages on the other computer > copy them to a new, empty directory (let's call it "packages") on your desktop > open a terminal and install with -
sudo dpkg -i Desktop/packages/*
However, if you get the error, we may have to install it the hard way, starting from a single .deb package from here (http://archive.ubuntu.com/ubuntu/pool/main/e/ethtool/), and hoping it doesn't complain about dependencies.
joelbitar1986
December 16th, 2013, 03:38 PM
I believe I found the source of my problem. There seems to be a pervasive bug with people using the ASRock N68C-GS and the forcedeth drivers of the onboard Ethernet. The workarounds in the following forum post worked for me last night when I tried them and I was finally able to connect to the Internet. The bug was also causing hangups and freezing at shutdown which also cleared up when I applied the workaround.
http://ubuntuforums.org/archive/index.php/t-2020571.html
Im not home now but when I get back I will still check out your suggestion. Do you think it will still work in light of this latest information? I really appreciate your time working with me. It has been a very nice welcome to the Linux community.
joelbitar1986
December 17th, 2013, 11:44 PM
I'm keeping this marked unsolved because I still haven't been able to figure out a permanent fix.
I can get my LAN up and running by doing the following:
step 1. Enter Ubuntu recovery mode:
a. Power on system and press "Shift" during boot up for GRUB memu.
b. Choose "Advanced options for Ubuntu" > Ubuntu, [kernal version] (recovery mode)
step 2. Choose "root" and key in below command:
# rmmod forcedeth
# modprobe forcedeth msi=0 msix=0
# exit
step 3. Choose "resume" to resume normal boot
The following advice didn't work for me:
If the trick works on your system, please modify below file to automatically run the script when boot up:
step 1. Add the line "exec rmmod forcedeth" at next line of "script" in the file /etc/init/module-init-tools.conf
Add the line "modprobe forcedeth msi=0 msix=0" to /etc/rc.local
step 2. Restart system for check
All these steps found here: http://ubuntuforums.org/archive/inde...t-2020571.html (http://ubuntuforums.org/archive/index.php/t-2020571.html)
So now I know for sure the problem is the forcedeth driver. This isn't a permanent fix because I am forced to boot in recovery mode (with all of its graphical issues) if I want to get internet.
@Varun I was able to install ethtool by booting up in recovery mode. Any idea for next step?
varunendra
December 18th, 2013, 05:59 AM
modprobe forcedeth msi=0 msix=0
That ^^ is indeed a very useful info, I'm a bit embarrassed I overlooked that available option when I should have tried it first :redface:
If you edited the scripts as suggested in the fix you found, undo the changes first. Then in a termianl -
echo "options forcedeth msi=0 msix=0" | sudo tee /etc/modprobe.d/forcedeth.conf
This will create a custom .conf file in the /etc/modprobe.d/ directory that will cause the forcedeth driver to load with the above parameters everytime. This will take effect since next boot.
By the way, the need for these parameters suggests that the problem is indeed due to improper interrupt calls handling, which in turn is probably related to that weird 'bridged' mode the adapter is connected in. Not that we can do anything about it (except using the above workaround), just letting my steam out. :P
joelbitar1986
December 18th, 2013, 10:40 PM
I turned on my computer to apply the change you recommended and it seems that my previous edits to rc.local and module-init-tools.conf worked. Folks have a couple options for the workaround it appears. I finally have internet! I'm marking this as solved and hopefully ubuntu devs find a long term fix for this issue.
Thank you so much for your help!
Powered by vBulletin® Version 4.2.2 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.