Problem with ethernet card, can't connect to internet
Linux - NetworkingThis forum is for any issue related to networks or networking.
Routing, network cards, OSI, etc. Anything is fair game.
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.
Problem with ethernet card, can't connect to internet
Ok, so I've got a dual boot system with Windows Xp and a linux distro (I had Fedora 5 initially, then tried Ubuntu). My problem is that my ethernet card is not able to connect to the internet in either distro. My card is integrated with my mother board (MSI K9N-Neo). The funny thing is that both distros detect my card, but Fedora can't activate it when I go to network preferences. Ubuntu can detect and activate the card, but I still can't connect to the internet (it doesn't retrieve the DHCP info automatically even though it is set to do so).
So, do I need to find some kind of a driver or something, cause I tried MSI and NVIDIA's websites to find some, but MSI didn't have any for linux and the only one that NVIDIA had for linux was for nForce 430/410 mobos, but my mobo is 550. I read on some post that Windows does something to the network card that makes linux unable to use it, but I never had this problem when I put it on an old laptop I had, so I don't know what they were talking about.
and post what it says about the network. It should give some information. There may be a driver in the kernel for that. It may also help when someone searches google/linux too.
If the interface is up, it will show up when you type in
ifconfig
If the interface is up, I doubt if it is a driver problem. If the interface is up, take it down, assign it an IP address, DNS server, etc manually that is appropriate for your network, and bring it back up. If that works, your problem is with DHCP instead of the card or driver.
If you can't get any response, try pinging another computer on your LAN or your router. Make sure that neither your local firewall or the other machine's firewall is blocking the ping attempt.
Last edited by blackhole54; 07-30-2006 at 03:07 AM.
I am unable to ping anything. I tried setting up the IP address etc manually, with no luck. I am using a cable internet service and had no problems before when I used linux on my laptop (3+ years old), so that is what made me think it was some kind of a hardware/driver issue. Any more ideas? Below is the output from lspci and ifconfig...
From a brief bout with google, it seems that the driver you need is the forcedeth module, though you may need a newer version of it than came with the distro's you have. Note that this is only after a brief search on mcp55 and linux. I could be wrong.
The version of forcedeth in Breezy didn't support the MCP51 chipset, so I went to Dapper. The 0.48 version in Dapper does support the MCP51 (and MCP55), but has a bug if you dual boot to Windows. Windows leaves the card in a state that forcedeth can't access and only disconnecting your power supply for 15 seconds will reset it. This bug was apparently fixed in version 0.53 of forcedeth.
Note that Breezy and Dapper mentioned here are different versions of Ubuntu. check with "lsmod" to see if the forcedeth module is getting loaded.
I am not going to say it definitely is not the driver, but I find a few things interesting in your ifconfig output which I have highlighted.
It has an IPv6 (which I know almost nothing about) address. Is this expected? Can the rest of your software handle IPv6?
It appears you have been receiving packets although not transmitting. (Hmmm ... So how did you get an address w/o transmitting an DHCP request -- unless this was from your manual IP assignment.)
If this in an x86 box, I didn't think interrupts went up to 50.
Assuming you assigned the address manually from post #4, what did you assign the ip address to be. I have a forcedeth card and (depending on how I set it up) I get a inet addr and a inet6 addr.
eth0 Link encap:Ethernet HWaddr 00:01:23:45:67:89
inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::201:2ff:fe30:a957/64 Scope:Link
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:17
As lazlow's post shows, newer versions of ifconfig can set/display both IPv4 and IPv6 addresses (simultaneously). Both my man page and the one at man.linuxquestions.org are out of date. What appears to be a current one is available here.
Perhaps trying to set an IPv4 address directly with ifconfig would be a worthwhile test. Ifconfig can also delete the IPv6 address.
I'll throw this in the mix too. I have a nforce ethernet port on my mobo. It was always flakey at best. I bought me a regular pci network card that I knew Linux supported and I have not had any more issues. This is what I have now:
First, let me apologize for my assertion in post #8 that the LQ man page on ifconfig is out of date. I didn't see the references to IPv6 in it. Time to see the eye doctor!
Second, I played around with my system a little. It normally does not load the ipv6 module. When I manually loaded it, my ifconfig output immediately showed an IPv6 address for eth0 (in addition to its IPv4 address) even though I never specified one. I could add an additional one (or more) using ifconfig eth0 add.
I then took the interface down and configured it to use DHCP, but without a DHCP server on the network. When I brought it back up, the ifconfig output looked like the output in post #4, except that mine showed 35 tx packets (presumably trying for DHCP) and no rx packets.
EDIT: BTW, my NIC is a 3Com card. I don't believe the format of the ifconfig output depends on the card or driver.
Last edited by blackhole54; 07-31-2006 at 01:49 AM.
I used lsmod, and yes, forcedeth was listed. I tried deactivating the card and then reactivating it, but no luck. It still won't get the DHCP info (and yes, it is configured to do that).
The thread that gd2shoe found is the post that I referred to in my first post and am wondering how exactly "Windows leaves the card in a state that forcedeth can't access and only disconnecting your power supply for 15 seconds will reset it.". I mean, what "state" could windows leave the ethernet card in such that linux can't use it? It just doesn't quite make sense to me.
Anyway, it goes on to say that this was corrected w/ version .53 of forcedeth, but I'm not sure what version I'm running so how do I find that out? And are there any more ideas? Thanks to everyone who has contributed so far.
I used lsmod, and yes, forcedeth was listed. I tried deactivating the card and then reactivating it, but no luck. It still won't get the DHCP info (and yes, it is configured to do that).
The thread that gd2shoe found is the post that I referred to in my first post and am wondering how exactly "Windows leaves the card in a state that forcedeth can't access and only disconnecting your power supply for 15 seconds will reset it.". I mean, what "state" could windows leave the ethernet card in such that linux can't use it? It just doesn't quite make sense to me.
Anyway, it goes on to say that this was corrected w/ version .53 of forcedeth, but I'm not sure what version I'm running so how do I find that out? And are there any more ideas? Thanks to everyone who has contributed so far.
Hi,
The only thing windows could save/change that could affect the device would be cmos changes on said device. The POST would reset all devices to init state be for linux or windows. Most devices do have independent utilities if this would need to be done for device cmos setup.
Please post the output relative to the eth device;
Code:
#dmesg |grep eth #see at boot time
#ifconfig -a #current
#lspci -vv #very verbose
# post all to check for conflicts
#lsmod #modules
If your on board eth device is indeed recognized then statically as root;
Code:
#ifconfig eth0 192.168.0.10 #set IP
#route add default gw 192.168.0.1 #set gateway, use yours
#ping 192.168.0.1 #ping gateway
#ping 64.233.167.99 #outside LAN
#ping google.com #check DNS
I mean, what "state" could windows leave the ethernet card in such that linux can't use it? It just doesn't quite make sense to me.
Quote:
Originally Posted by gwsandvik
The only thing windows could save/change that could affect the device would be cmos changes on said device. The POST would reset all devices to init state be for linux or windows.
I am not familiar with the details of the electronics for a PC, but I do know that POST doesn't alway reset everything. I have an internal (hardware) modem that sometimes gets itself into a state I can't talk to it. The only solution I have found is to power cycle the computer. Even a hard reset is not sufficient. But in the case of clemsontiger's ethernet hardware, I am surprised that disconnecting the power supply would accomplish something that simply turning the machine off would not.
EDIT: BTW, If you don't have source for your driver and you don't have the package it was installed from, you could try to use the strings command on its .o file to see if anything about the version is revealed.
Last edited by blackhole54; 07-31-2006 at 06:20 PM.
I am not familiar with the details of the electronics for a PC, but I do know that POST doesn't alway reset everything. I have an internal (hardware) modem that sometimes gets itself into a state I can't talk to it. The only solution I have found is to power cycle the computer. Even a hard reset is not sufficient. But in the case of clemsontiger's ethernet hardware, I am surprised that disconnecting the power supply would accomplish something that simply turning the machine off would not.
Hi,
Then you have a definite hardware problem with the modem. Your modem does not acknowledge the reset line. Could be buss timing problem for the modem. Is the modem a pci? What buss speed?
Quote:
But in the case of clemsontiger's ethernet hardware, I am surprised that disconnecting the power supply would accomplish something that simply turning the machine off would not.
Some NIC have WOL (wake on LAN) and this will keep the NIC looking for a trigger. Therefore if he doesn't need WOL then I would check the BIOS to disable this. His power cycling indicates this indeed is the problem.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.