LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Networking problem (https://www.linuxquestions.org/questions/slackware-14/networking-problem-775728/)

Tedward 12-15-2009 02:22 AM

Networking problem
 
I am new to Slackware, but I have been using Ubuntu for about 2 years now. I installed Slackware 13 about a week ago, and I have been struggling to get it on the internet. I have looked up many different posts on this site that are very similar to my problem.

For a little bit of info about my computer, I am running Slackware 13 64 bit with the 2.6.29.6 kernel. My motherboard is an ASUS PN5-D.

When i do an lspci -vv i get:

Code:

00:14.0 Bridge: nVidia Corporation MCP51 Ethernet Controller (rev a3)
        Subsystem: ASUSTeK Computer Inc. Device 8221
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
        Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0 (250ns min, 5000ns max)
        Interrupt: pin A routed to IRQ 5
        Region 0: Memory at fe02b000 (32-bit, non-prefetchable) [size=4K]
        Region 1: I/O ports at f200 [size=8]
        Capabilities: [44] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-

When i do an ifconfig -a this is what comes up:

Code:

lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:24 errors:0 dropped:0 overruns:0 frame:0
          TX packets:24 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1200 (1.1 KiB)  TX bytes:1200 (1.1 KiB)

With nothing coming from my eth0.

The slackbook said netconfig should automatically setup most of it, but it really doesnt seem to do anything. It changes what i have in /etc/rc.d/rc/inet1.conf, but it doesnt do the other things it says it should do like create an rc.netdevice file.

From what i've seen from other posts, it looks like i dont have the right module loaded. I have looked through the modules in /etc/rc.d/rc.modules, but none of them look like they are right for mine.

I am very interested in getting this up and running, and appreciate any help I can get.

zhjim 12-15-2009 02:32 AM

As you allready noted you're missing the driver for your networkcard. Maybe the zip file here contains one

http://support.asus.com/download/dow...de&model=P5N-D
Check out the zip under "Other".

How did you search the kernel modules for the driver?
Code:

find /lib/modules -iname "mcp"
If this does not lead to success there might be the chance that the modules are not compiled within your actual kernel. But before doing this see if lspci gives other names to look for inside the modules dir.
See if you can find the driver when you configure a new/old kernel.

Nother way to get some names for your nic is by skimming through dmesg
Code:

dmesg | less
Just a hint. Maybe it might be worth to get used to the ip command its the next generation tool to fiddle with network options

Code:

ip link
would print all available interfaces
Code:

ip addr
would print all the address

Tedward 12-15-2009 02:43 AM

Wow that was a quick reply. The drivers that are on the ASUS website have a part with linux drivers, but the names are all short abbreviations, I don't know which one would work with slackware.

The only thing that i keep seeing over again in dmesg and lspci is MCP51, but I don't know if it is the module name. That seems to be the big problem right now... trying to figure out the name of it.

The linux drivers download from ASUS are named: Fedora6, RHEL3_U7, RHEL3_U8, RHEL4_U4, RHEL4_U5, RHEL5, SLES10, SuSE10.2.
SLES10 looks like it could be the closest, but I just don't know. When i compiled my kernel I looked into the network modules part and looked through everything I could find in there, but nothing was close to anything with mine.

cwwilson721 12-15-2009 06:36 AM

First things first.

Since this is Slackware, using other distros commands don't usually work.

First, as root, run
Code:

netconfig
This will autoprobe the hardware, and usually add the correct modules (drivers).

Try to connect after this. If you still cannot connect, post the output of
Code:

lspci  #No need for the vv switch
lsmod

This will let us see what hardware/chipset you have, and if the modules are installed.

We'll see what needs to be done after this

allend 12-15-2009 07:16 AM

The OP posted output from lspci:
Quote:

nVidia Corporation MCP51 Ethernet Controller (rev a3)
This is supported by the forcedeth kernel module which is available in Slackware 13.
The OP also posted output from ifconfig:
Quote:

inet addr:127.0.0.1 Mask:255.0.0.0
Those settings are for the local host, which will not work for internet connection.
To the OP,
What settings did you use when running Ubuntu? Use the netconfig tool and use the settings that worked previously.

cwwilson721 12-15-2009 07:40 AM

Never asked for ifconfig.

I asked for the lsmod AFTER running netconfig. (netconfig may have been skipped during install. Wouldn't be the first time. I've done it myself)

And, yes, I know what modules SHOULD be installed. (Same chipset on this mobo)

I was asking for the OP to:

DO THINGS IN ORDER.

Skipping around can just cause confusion. ("My new DVD movie doesn't work"..."Did you look at frame 45678?"..."Plug it into a HDTV..."..."Did you replace the cables?"..."What Hz in your line?"...)

When the issue COULD be..."Did you plug it in?"

So we'll start with running netconfig, and we'll go from there.

Tedward 12-15-2009 11:14 AM

Well first off when I installed Slackware 13 originally i followed the instructions EXACTLY out of the slackbook. It makes

Code:

netconfig
look like it actually does something... You can only enter the hostname and domain name there, and is supposed to auto-find the correct module for it. It doesnt do that on mine.

This is really fun having to copy all my outputs from my computer to this crappy laptop without using the internet, but here is my output from lspci:

Code:

00:00.0 Host bridge: nVidia Corporation C55 Host Bridge (rev a2)
00:00.1 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:00.2 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:00.3 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:00.4 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:00.5 RAM memory: nVidia Corporation C55 Memory Controller (rev a2)
00:00.6 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:00.7 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:01.0 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:01.1 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:01.2 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:01.3 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:01.4 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:01.5 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:01.6 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:02.0 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:02.1 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:02.2 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:03.0 PCI bridge: nVidia Corporation C55 PCI Express bridge (rev a1)
00:06.0 PCI bridge: nVidia Corporation C55 PCI Express bridge (rev a1)
00:07.0 PCI bridge: nVidia Corporation C55 PCI Express bridge (rev a1)
00:09.0 RAM memory: nVidia Corporation MCP51 Host Bridge (rev a2)
00:0a.0 ISA bridge: nVidia Corporation MCP51 LPC Bridge (rev a3)
00:0a.1 SMBus: nVidia Corporation MCP51 SMBus (rev a3)
00:0a.2 RAM memory: nVidia Corporation MCP51 Memory Controller 0 (rev a3)
00:0b.0 USB Controller: nVidia Corporation MCP51 USB Controller (rev a3)
00:0b.1 USB Controller: nVidia Corporation MCP51 USB Controller (rev a3)
00:0d.0 IDE interface: nVidia Corporation MCP51 IDE (rev a1)
00:0e.0 IDE interface: nVidia Corporation MCP51 Serial ATA Controller (rev a1)
00:0f.0 IDE interface: nVidia Corporation MCP51 Serial ATA Controller (rev a1)
00:10.0 PCI bridge: nVidia Corporation MCP51 PCI Bridge (rev a2)
00:10.1 Audio device: nVidia Corporation MCP51 High Definition Audio (rev a2)
00:14.0 Bridge: nVidia Corporation MCP51 Ethernet Controller (rev a3)
01:00.0 PCI bridge: nVidia Corporation Device 05bf (rev a2)
02:00.0 PCI bridge: nVidia Corporation Device 05bf (rev a2)
02:01.0 PCI bridge: nVidia Corporation Device 05bf (rev a2)
02:02.0 PCI bridge: nVidia Corporation Device 05bf (rev a2)
02:03.0 PCI bridge: nVidia Corporation Device 05bf (rev a2)
03:00.0 VGA compatible controller: nVidia Corporation G92 [GeForce 9800 GT] (rev a2)
09:08.0 FireWire (IEEE 1394): VIA Technologies, Inc. VT6306 Fire II IEEE 1394 OHCI Link Layer Controller (rev c0)

and sadly this is all that comes up when i run lsmod:

Code:

Module                  Size  Used by
Like I said, I was following the instructions in the slackbook until this point. When netconfig didn't autofind it, it said to make sure that the module you are using is in your kernel, and that's exactly where I am stuck right now.

When I used Ubuntu the internet always works right out of the box, so I haven't had to mess with it very much.

The domain name line that you have to enter in netconfig confuses me too, because our router uses DHCP and when I look up what our domain name is it is blank.

manwichmakesameal 12-15-2009 12:06 PM

Is it possible that for some reason (crappy linksys router) that you aren't getting a dhcp offer from the dhcp server? Have you tried to run netconfig and use a static ip (that won't conflict with other clients on the network)? Also, what is the output of ifconfig after running netconfig?

edit: Just to cover all the bases, we'll follow cwwilson721's line of thinking. Is the network cable good, plugged in, etc....?

edit2: Are you using the huge kernel? If so, try using the generic with an initrd.

Tedward 12-15-2009 12:21 PM

Yes it's plugged in, don't be silly :P. I guess I also forgot to mention that i multi boot Ubuntu 9.10 and Windows XP on the computer as well, and there are no networking issues at all.

Setting up netconfig with the exact ip and everything that is assigned to me automatically on ubuntu or windows wont work here either. Neither will a different ip that my router isn't using. Also I get the same output from ifconfig that i posted above, even after running netconfig.

When allend replied he mentioned that my motherboard should be using the forcedeth module. I don;t have it on my computer that I can tell, i tried recompiling my kernel and looking for it. I found only one that that could have been close and it was in the lan 10-100mb section of the network drivers. It was already included though, but wasn't directly called forcedeth. It was an nVidia driver, the only time it was mentioned in all of the kernel setup.

How can I get the forcedeth module on my computer?

-edit Nevermind, I have it on there now. Now the next problem, i can't get my ethernet card to use forcedeth.

manwichmakesameal 12-15-2009 12:57 PM

What is the output of ifconfig after you run
Code:

you@yourmachine# ifconfig eth0 up

Tedward 12-15-2009 01:02 PM

When i run ifconfig eth0 up, i get

Code:

eth0: ERROR while getting interface flags: No such device
but in my /etc/rc.d/rc.inet1.conf i have eth0 set to use dhcp with the rest blank.

manwichmakesameal 12-15-2009 01:07 PM

Have you tried modprobing the forcedeth module? And which kernel are you using, huge or generic?

Tedward 12-15-2009 01:10 PM

Code:

modprobe forcedeth
Does nothing, if that's what you were asking me to do.

And i just compiled the 2.6.29.6 kernel like it says to do in the slackbook, so I'd think it would be the generic one, wouldn't it? Should I be running the huge.s kernel to do this or what?

manwichmakesameal 12-15-2009 01:12 PM

So, after modprobing it,
Code:

lsmod | grep forcedeth
shows nothing?

Tedward 12-15-2009 01:15 PM

after modprobing and typing lsmod | grep forcedeth this is what comes up:

Code:

forcedeth                51864  0
Does that mean it is loaded but not being used by anything?

manwichmakesameal 12-15-2009 01:20 PM

Well, that shows that it is loaded. It seems as if your nic isn't coming up for some reason. Have you tried to run ifconfig eth0 up after you modprobed forcedeth?

brianL 12-15-2009 01:21 PM

Quote:

Does that mean it is loaded but not being used by anything?
No, it's the same on mine, nVidia Corporation MCP61 Ethernet (rev a2),
and everything's working OK.
Code:

forcedeth              59696  0

manwichmakesameal 12-15-2009 01:24 PM

To somewhat quote from the wonderful It Crowd, have you tried unplugging it and plugging it in again? By that, I mean unplug the cable from the nic for about 30 sec or so then plug it back in. Also, try using dhclient and see if you get an ip that way.

Tedward 12-15-2009 01:30 PM

running the ifconfig eth0 up still does the same thing after modprobing it.

dhclient shows this:

Code:

Internet Systems Consortium DHCP Client V3.1.2p1
Copyright 2004-2009 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/

No broadcast interfaces found - exiting.

I tried unplugging it and plugging it back in after 30 sec as well, still no luck :(

manwichmakesameal 12-15-2009 01:34 PM

Just to clarify for my sake, you said that you got forcedeth on your system. Did you compile a separate one or are you using the one from the kernel? Which kernel are you using, the huge or generic?

Tedward 12-15-2009 01:38 PM

It is the one from the kernel. How do I know if the kernel is huge or generic? I compiled it exactly how it says to in my slackbook, but even looking back on it, it still doesn't say anything about it being huge or generic.

manwichmakesameal 12-15-2009 01:42 PM

So, you aren't running a stock kernel? The ones that come with Slack already have forcedeth built into them. Have you tried running one of those?

Tedward 12-15-2009 01:45 PM

So you're saying instead of building my kernel manually I should put the cd back in and just copy the already built kernel onto my computer?

Tedward 12-15-2009 02:36 PM

I am now using the stock huge kernel, and nothing has changed, same problem :(

-edit same problem with generic

Tedward 12-15-2009 04:01 PM

I don't know, I've spent several days looking up anything i can about this, but nothing is helping. Am i screwing up something in netconfig? The only thing i am confused about in there is the domain name. I know our isp domain name is uscable.com, but is that what they're asking for here? When I look it up in my router settings it's blank because we use DHCP, so am i supposed to put uscable in there? This is the only distro of linux i have encountered that has been this difficult with getting online.

What could i possibly be doing wrong?

mRgOBLIN 12-15-2009 05:48 PM

You need to break this issue down to a few very logical steps.

Things that may seem inconsequential to you are sometimes very important (e.g. The fact that you had built your own kernel).

1/ Figure out which module your interface needs. -- forcedeth (done)

Now after a re-boot this module should be auto-detected (lsmod will show this) if it has then skip step 2

2/ Modprobe it and then check that the interface exists.
Code:

modprobe forcedeth
ifconfig -a

add (or uncomment) the line
Code:

/sbin/modprobe forcedeth
to /etc/rc.d/rc.modules

3/ If your interface shows with "ifconfig -a" then note it's name (generally eth0 but don't take that for granted). We'll assume it's eth0

4/ Check you have a link and that the ethernet settings are as you expect.
Code:

ethtool eth0
Look for a line that tells you the Link detected (Obviously should be "yes").

5/ Set up the IP for your interface

Now on a "normal" network where your router does dhcp and hands out addresses. You'd just run netconfig and set it to dhcp.

If you know the IP address/Default Gateway/DNS server addresses already then you can set these manually in netconfig.

Restart the network with
Code:

/etc/rc.d/rc.inet1 restart
Forget about "Internet" for now and just make sure the network interface is working properly by pinging another machine on your network or the router itself.

6/ If that all works then check that your DNS is working and see if you can ping something outside your network.

Code:

ping www.google.com
ping 66.102.7.104

If pinging the name fails but pinging the IP works, you have a DNS issue.

One other thing that could be happening is that you are using a cable modem that you need to authenticate with pppoe or something.

Let us know what results you get from the steps above.

Tedward 12-15-2009 06:46 PM

Following these steps I am stuck on step 3. It is the only thing showing up in my lsmod. ifconfig and ifconfig -a both give me:

Code:

lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:24 errors:0 dropped:0 overruns:0 frame:0
          TX packets:24 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1200 (1.1 KiB)  TX bytes:1200 (1.1 KiB)

So what does this mean then? I haven't heard of pppoe before either, but I am on a cable modem that is connected through a router.

mRgOBLIN 12-15-2009 07:29 PM

Ok so we can probably ignore the cable modem (pppoe etc)

So what this means is that you either have the wrong module or the interface is turned off.

There is a bug that shuts the nforce networking down on reboot.

Try shutting your machine off and unplugging it from the power at the wall for 30 secs.

Then when you power it up see if the link lights above the ethernet plug come on.

If they do, go through the steps again and report back.

If the link lights are on and "ifconfig -a" still shows only lo then it must be the wrong module.

Tedward 12-15-2009 08:00 PM

still shows just lo... What other module can I use?

acummings 12-15-2009 08:32 PM

What's the command that displays kernel log?

dmesg ??

FWIW I had a trouble with a hardware on Slackware.

A setting in my bios the culprit

"plug and play O.S." yes/no

by default was set on "no"

(IOW not a plug and play O.S.)

Ah, but late Linux kernel likes to use udev and thus to plug and play things.

Problem fixed in that there particular case of mine by, in bios, setting "plug and play O.S." to "yes" and save the change.

Is your hardware known good? - do it work on another O.S., etc.

--
Alan.

mRgOBLIN 12-15-2009 08:33 PM

Might be 8139too, 8139cp or even r8169.

Might even pay to boot from the install dvd and get to the root prompt.

Just type in "network" and let it auto-probe for your card.

Edit: if it finds one just remember the name and boot back into your install.

Tedward 12-15-2009 08:52 PM

When i booted off the cd and ran network it gave me the module 3c59x. That one is actually in my rc.modules file. However when I get back to my install and do modprobe 3c59x it says it isn't found.

trryhend 12-15-2009 09:03 PM

Looks like the driver is loaded now.
Try:
/etc/rc.d/rc.inet1 stop
/etc/rc.d/rc.inet1 start

trryhend 12-15-2009 09:04 PM

... or run netconfig again

Tedward 12-15-2009 11:54 PM

SOLVED! I just reinstalled slackware after having network auto-probe it. When i started it up the internet worked fine :) I don't know if this was the exact reason but it works now, I'm sending this from Slackware :) Thanks a bunch.

mRgOBLIN 12-16-2009 01:23 AM

Good to hear =)


All times are GMT -5. The time now is 01:57 PM.