LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 10-02-2008, 01:21 PM   #1
shubb
Member
 
Registered: Oct 2003
Location: San Francisco
Distribution: Slackware 13.37
Posts: 150

Rep: Reputation: 16
Forcedeth & Nvidia, Could not find a valid PHY


I have a system running Slackware 12.1. It has an onboard Nvidia Ethernet port, and 2 4-port NIC cards. With the stock huge-smp kernel it all boots fine and all ports come up fine.

I recently re-compiled the kernel to fix another issue, but with the new kernel the onboard NIC does not come up. I used the same .config that ships with the huge-smp and only modifed one thing, but the NIC still doesnt work.

lspci shows:

Code:
00:14.0 Bridge: nVidia Corporation MCP51 Ethernet Controller (rev a1)
        Subsystem: ASUSTeK Computer Inc. A8N-VM CSM Mainboard
        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-
        Interrupt: pin A routed to IRQ 16
        Region 0: Memory at febd7000 (32-bit, non-prefetchable) [size=4K]
        Region 1: I/O ports at d080 [size=8]
        Capabilities: [44] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
        Kernel modules: forcedeth
I tried compiling forcedeth into the kernel, but still does not work. I get these messages in dmesg:

Code:
forcedeth: Reverse Engineered nForce ethernet driver. Version 0.61.
forcedeth 0000:00:14.0: open: Could not find a valid PHY.
forcedeth: probe of 0000:00:14.0 failed with error -12
After the forcedeth fails, the 4-port NICs come up initially as eth0-eth7, but then udev renames the ports as eth1-eth8. It almost seems as if the system knows that the port is there, and leaves a space for it, but it will not come up.

Any ideas?
 
Old 10-02-2008, 01:44 PM   #2
Woodsman
Senior Member
 
Registered: Oct 2005
Distribution: Slackware 14.1
Posts: 3,482

Rep: Reputation: 546Reputation: 546Reputation: 546Reputation: 546Reputation: 546Reputation: 546
Quote:
forcedeth 0000:00:14.0: open: Could not find a valid PHY.
I think PHY is an acronym for physical device, but I'm rambling off the apex of my cranium. I think the error means no physical device found.

I use an Asus M2NPV-VM motherboard and I use the on-board NIC using the forcedeth module. Here is my dmesg output:

forcedeth: Reverse Engineered nForce ethernet driver. Version 0.61.
forcedeth 0000:00:14.0: ifname eth0, PHY OUI 0x5043 @ 1, addr 00:18:f3:45:37:cb
forcedeth 0000:00:14.0: highdma pwrctl timirq gbit lnktim desc-v3


I don't remember why but when I first started playing with this motherboard I had to add the following to /etc/modprobe.d/aliases:

alias eth0 forcedeth # on-board NIC in M2NPV-VM

Of course, lsmod should show the forcedeth module loaded.

Side note: I'm no kernel guru, but I've been compiling my own kernels for a few years. I have noticed that modifying "only one parameter" often means more than that one parameter gets changed. There are built-in checks that modify various parameters based upon the selections made.

Perform a diff between your config file and the stock huge smp config file. I won't predict what you'll find but I won't be surprised if you discover more than the one modification you made.
 
Old 10-02-2008, 04:28 PM   #3
shubb
Member
 
Registered: Oct 2003
Location: San Francisco
Distribution: Slackware 13.37
Posts: 150

Original Poster
Rep: Reputation: 16
Yes, PHY usually refers to a physical device.

Your comment about differences got me thinking. I have been compiling over and over, and I might have not gotten the right starting point. I diff'd both my config and the stock config, and there were a bunch of differences. So then I started over from the original again made 4 changes. I changed the HIMEM from 4G to 64G, and I made ext3 built-in, as well as the ethernet Sundance and Forcedeth modules built-in. I recompiled the kernel, and booted. It still does not load the onboard NIC, but now the error is different.

Code:
forcedeth: Reverse Engineered nForce ethernet driver. Version 0.61.
forcedeth 0000:00:14.0: Couldn't find register window
forcedeth: probe of 0000:00:14.0 failed with error -22
I'm starting to think that maybe the config file that comes on the DVD is not exactly the same as the kernel that loads???
 
Old 10-02-2008, 05:07 PM   #4
keefaz
LQ Guru
 
Registered: Mar 2004
Distribution: Slackware
Posts: 6,552

Rep: Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872
You checked net cards with /sbin/ifconfig -a ?
Maybe just try to compile forcedeth as module and it will work as fine as with the stock kernel ?
 
Old 10-02-2008, 05:55 PM   #5
Woodsman
Senior Member
 
Registered: Oct 2005
Distribution: Slackware 14.1
Posts: 3,482

Rep: Reputation: 546Reputation: 546Reputation: 546Reputation: 546Reputation: 546Reputation: 546
Quote:
It has an onboard Nvidia Ethernet port, and 2 4-port NIC cards. With the stock huge-smp kernel it all boots fine and all ports come up fine.
When I troubleshoot I like to start at the beginning with the basic question, "OK, what did I do?"

Consider temporarily returning to the huge-smp kernel. Record some basic config outputs, such as ifconfig -a, lsmod, lspci, grep forcedeth /var/log/dmesg, etc. That will help establish a baseline of information.

After establishing some baseline info, consider removing the NICs so only the on-board NIC remains. Boot with huge-smp and again record some baseline info. Ensure the system boots okay and finds the on-board NIC. Thereafter compile a new kernel with only one change, such as 64G support. Repeat.

I like keefaz's suggestion about loading forcedeth as a module. I'd suggest not building in the Sundance modules either. Just one change at a time.

When I first started compiling kernels I learned to modify only one or two parameters with each pass, and then test the box with the modifications. Requires patience because several modifications can take hours or days when including the testing. I also maintain archived copies of each configuration file attempt. If there are subsequent problems I can diff and study the config files.
 
Old 10-02-2008, 09:03 PM   #6
forum1793
Member
 
Registered: May 2008
Posts: 312

Rep: Reputation: 34
Concur with:
Code:
Consider temporarily returning to the huge-smp kernel. Record some basic config outputs, such as ifconfig -a, lsmod, lspci, grep forcedeth /var/log/dmesg, etc. That will help establish a baseline of information.
You might also consider getting an initrd.gz and starting generic kernel to see what modules are loaded. I wonder if that could also be done simply by booting disk1?

There is a PHY section when configuring kernel compile but I've not had to select any of these for my hardware and builds.

Just out of curiosity, why do you need 9 net ports in a single PC?
 
Old 10-03-2008, 04:23 PM   #7
shubb
Member
 
Registered: Oct 2003
Location: San Francisco
Distribution: Slackware 13.37
Posts: 150

Original Poster
Rep: Reputation: 16
With both the Sundance and Forcedeth as built-in, the add-on (Sundance) cards worked, but the built-in (Forcedeth) didn't work.

I tried going back to using both the NICs as modules. When I did that, the onboard NIC worked, but then the add-on didn't work...

I then tried the Forcedeth as a module, but Sundance as built-in, and still the add-on cards didnt get seen.

Dmesg shows the following:
Code:
sundance: Unknown symbol mii_link_ok
sundance: Unknown symbol mii_nway_restart
sundance: Unknown symbol generic_mii_ioctl
sundance: Unknown symbol mii_ethtool_gset
sundance: Unknown symbol mii_ethtool_sset
sundance: Unknown symbol mii_link_ok
sundance: Unknown symbol mii_nway_restart
sundance: Unknown symbol generic_mii_ioctl
sundance: Unknown symbol mii_ethtool_gset
sundance: Unknown symbol mii_ethtool_sset
I've re-compiled this so many times, that I think I might just try re-installing Slack again and try over.

And the reason why I have 9 ports, is that I do testing for network switches, and this is a VMware server. I use the ports to have multiple VMs connecting to different ports across different switches.
 
Old 10-03-2008, 05:07 PM   #8
keefaz
LQ Guru
 
Registered: Mar 2004
Distribution: Slackware
Posts: 6,552

Rep: Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872
Did you make modules_install each time you recompiled ?
Also copied both System.map and bzImage in /boot, each time ?
 
Old 10-03-2008, 07:07 PM   #9
Ilgar
Senior Member
 
Registered: Jan 2005
Location: Istanbul, Turkey
Distribution: Slackware64 15.0, Slackwarearm 14.2
Posts: 1,157

Rep: Reputation: 237Reputation: 237Reputation: 237
I don't know what MII is but those unknown symbols are related to it obviously. Under "network Device Support" there is the "PHY Device support and infrastructure" section, explained as

Quote:
Ethernet controllers are usually attached to PHY devices. This option provides infrastructure for managing PHY devices.
In that section, the driver list is named "MII PHY device drivers". Maybe it's relevant.
 
Old 10-03-2008, 07:31 PM   #10
Woodsman
Senior Member
 
Registered: Oct 2005
Distribution: Slackware 14.1
Posts: 3,482

Rep: Reputation: 546Reputation: 546Reputation: 546Reputation: 546Reputation: 546Reputation: 546
Quote:
With both the Sundance and Forcedeth as built-in, the add-on (Sundance) cards worked, but the built-in (Forcedeth) didn't work.
Did you add an alias to /etc/modprobe.d/aliases?
 
Old 10-06-2008, 04:04 PM   #11
shubb
Member
 
Registered: Oct 2003
Location: San Francisco
Distribution: Slackware 13.37
Posts: 150

Original Poster
Rep: Reputation: 16
Quote:
Originally Posted by keefaz View Post
Did you make modules_install each time you recompiled ?
Also copied both System.map and bzImage in /boot, each time ?
From what I've read about System.map, it isn't used for anything other than debugging kernel crashes.

I didn't rebuild the modules, because I didnt figure that I needed to. If I make a kernel using the stock config from the DVD, I get a kernel that is the exact same size as the hugesmp that is installed. That default kernel loads both the onboard and the add-on NICs as kernel modules, and they all come up fine.

If I edit the config and make 1 change, which is enabling 64G RAM support (which actually makes 3 changes to the .config, all relating to memory) and build that kernel, thats where I have the problems with the built-in NIC not working. Do I need to rebuild the modules when I am not making any changes to anything that has to do with modules?

Regarding the aliases, my Slackware 12.1 installation does not have an aliases file in /etc/modprobe.d

I guess all this is moot now, because I gave up on trying to recompile the Slack kernel. I installed Ubuntu server x64 and it came up fine, saw all the memory, and all the NICs right away. VMware Server 2.0 installed fine, and I'm up and running.

Thanks for all the help.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
ubuntu studio 8.04, slackware 12 & Realtek 8201CL PHY spamhippy Ubuntu 0 05-13-2008 07:06 AM
nVidia Ethernet Drivers (forcedeth) jaykup Linux - Hardware 1 12-03-2006 06:23 PM
nvidia forcedeth & lg dvdram decided to go on strike skubik Linux - Hardware 3 10-28-2005 02:18 PM
realtek 8201bl phy problem cant find device auxxx Linux - Hardware 1 04-30-2004 12:29 PM
MCPIntegrated Nvidia MAC +Realtek 8201BL PHY ethernet device Troynux Linux - Hardware 6 07-24-2003 03:39 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 12:08 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration