Slackware NIC problems
I have a Netgear DG834 wired Router which already has a WinXP box connected to it.
Please note that I have only been using Linux for two weeks and I'm a total newbie. Everything I have done so far to fix this has been googled for or found searching forums etc.
I have two NICs exactly the same, they are 10/100Mbps Ethernet Adapter
I don't know the make, it doesn't say.
The NIC works perfectly in WinXP but in Slack the lights are not lit on the Network card or the Router.
I think it has something to do with the NIC driver not being loaded in Slackware.
I have noticed this message at startup though:
Starting PCMCIA services:
<probing for PCIC: edit /etc/rc.d/rc.pcmcia>
cardmgr: no pcmcia driver in /proc/devices
I have a floppy disk with the Linux drivers on, the driver is called: 8139too.c but when I asked about this on another forum somebody said this module should already be included in Slackware?
I did a modprobe for 8139too and got:
/lib/modules/2.4.29/kernel/drivers/net/8139too.o.gz: init_module: No such device
/lib/modules/2.4.29/kernel/drivers/net/8139too.o.gz: Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters.
You may find more information in syslog or the output from dmesg
/lib/modules/2.4.29/kernel/drivers/net/8139too.o.gz: insmod /lib/modules/2.4.29/kernel/drivers/net/8139too.o.gz failed
/lib/modules/2.4.29/kernel/drivers/net/8139too.o.gz: insmod 8139too failed
I haven't got a clue what to do, but where it says it could be caused by incorrect module parameters, is there a way to change these to the right ones?
I have also taken the Ethernet cable from the WinXP machine and swapped it with the Slack box cable. The WinXP still works but the Slacks NIC still has no lights lit and no lights are lit on the Router.
Sorry for all the silly questions but I really am stuck here. Hope that somebody can help me here,
First, welcome to Linux! Second, you should probably start with something more easier than Slackware. Slackware doesn't have to much autoconfiguration, so it's a little hard on the newbie. You should give Fedora Core a go-
Fedora does lots of autoconfiguration for you, so you should have an easier time getting your ethernet devices working.
Also, for future reference-
Ethernet devices (and most other devices) have names. For ethernet, it's ethX, where X is a number, like 0 for the first device, 1 for the second, and so on. Your harddrives and CDROM drives and floppy drives have device names. Your primary harddrive might be /dev/hda, your secondary (if you have one) might be like /dev/hdb. A CDROM drive might be /dev/hdc (or /dev/cdrom, it links).
Another useful tip, you can run this in the shell-
$ dmesg | less
And you can see messages from when you booted. Like you can use this to spot errors when Linux tried to configure your ethernet devices, and what not. If you want to view all the networking devices that Linux found on your system-
# ifconfig -a
Ifconfig is a very important program. If you want to view the network status for say eth0, then-
# ifconfig eth0
That is, if it's found. :-)
You use ifconfig to view status of a network device, and you can use it to configure it. Read up on the man page-
$ man ifconfig
However, if you use Fedora, ifconfig won't be as much as an importance to you, as Fedora has a nice control panel where you can do all of this (by the way, the $ means a user shell, and the # means a root shell, just incase you didn't know).
Hope this helps (sorry for all the stuff, I got a little carried away ;-)).
Thank you for reply,
I have tried adding alias eth0 sis900 in rc.modules instead of the 8139too module but I still get the same error.
I have just tried what you said: $ dmesg | less
I noticed this in the output:
sis900.c v1.08.07 11/02/2003
PCI: found IRQ 10 for device 00:0a.0
eth0: Error EERPOM read 0
This error is repeated 3 more times below in sequence.
I thought about maybe recompiling the kernel to include the drivers instead of as just modules? not sure about doing this, but there seem to be some good guides for doing this on linuxquestions.org in Slackware.
I have searched google but found no fixes for the error:
eth0: Error EERPOM read 0
Thanks for your advice on fedora but I like Slackware and really want to learn this beast, I think problems like this help you learn so much. It's great, but i'd still like to get my NIC working!!
doing ifconfig eth0 gives:
eth0 error fetching interface information: Device not found
Do you think this could be an IRQ conflict?
Many thanks for your help,
Yea, I'm not to much of a hardware expert, but maybe the 8139too.c isn't completly compatible with your device?
Try doing this. At a shell, run this-
And post the output to that on here, so maybe we can figure out what kind of ethernet cards you have, and then give you what module you have to load.
What the above does is prints out all the info that Linux found on all your PCI buses, wether it knows how to configure them or not.
After you do that, try running netconfig again-
That should have been ran during the install. That trys to detect ethernet cards, so it's worth a shot. You shouldn't have to recompile the kernel unless you have some really strange devices.
Hope this helps.
I am not sure I understood your post correctly.
Is there one nic for both Slack and WinXP?
Are you dual-booting, or is this 2 separate machines.?
If it is 2 machines, take the nic that is working, and swap it for the one that is not working.
Thanks for your replies, but since I last posted. I have bitten the bullet and already started to compile the 18.104.22.168 kernel, I'm nervous as hell but it seems to be going well so far! no errors as yet.
The error (eth0: Error EERPOM read 0) that I was getting, according to some threads on mailing lists etc are due to a bug in the source code of my old kernel. I have included the sis900 and the 8139too modules in the kernel this time, so now I can only sit and keep my fingers crossed that I can compile this kernel without any mistakes!
In answer to budman7, I have 1 NIC in WinXP and another NIC the same make in Slackware. They are both separate machines, each connected to my router. I have already swapped the two NICS over and they both work in WinXP.
The output from /sbin/lspci showed my NIC as
00:0a.0 Ethernet controller: Silicon Integrated Systems [SiS] SiS900 PCI Fast Ethernet (rev 02)
Is this the same thing as cat /proc/pci? I would do it but the kernel is compiling as I type and I don't want to disturb anything by running any commands.
I have also read on some forums and mailing lists that the 00:0a.0 could mean that the mac address cannot be acquired??
I have tried many suggestions from all different places and alot of people seem to be saying about recompiling or compiling a new kernel, so that is the step I have taken. I will soon find out if it was the right one! otherwise it's back to installing Slackware and starting all over again!
Many thanks for your help, I'll post back and let you know how the kernel compile went and if it fixed the problem.
Well good luck with compiling! Anyway, /sbin/lspci does about the same thing. I never encoutered bugs with the 2.4 stock slackware kernel, but compiling is worth a shot (plus you get to learn how the kernel works a little).
Good news, the kernel compile worked! I'm now running 22.214.171.124 and the NIC has been detected! I included the sis900 in the kernel instead of loading it as a module and that seemed to do the trick! It is nice to see my routers light on at last!
The problem is that I can't seem to load a webpage, it just says Unknown host while trying to access google or anything I try. My router acts as the DHCP and I did /sbin/ifconfig with says that eth0 inet addr is: 192.168.0.3 which I think is right?
I have done netconfig and I have localhost as the domain name, is this correct? I haven't got a clue what to put for the DHCP Hostname.
Do you have any ideas what is wrong or what I need to do?
Thanks for all your help, it's appreciated.
Try pinging google by ip. What does:
If that works, then it's simply a DNS issue
wow that was a quick reply!
I got a response back from google,
64 bytes from 126.96.36.199: icmp_seq=1 ttl=243 time=98.6 ms
64 bytes from 188.8.131.52: icmp_seq=2 ttl=243 time=98.3 ms
64 bytes from 184.108.40.206: icmp_seq=3 ttl=243 time=102 ms
64 bytes from 220.127.116.11: icmp_seq=4 ttl=243 time=99.3 ms
--- 18.104.22.168 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 98.350/99.716/102.548/1.673 ms
so if it's DNS related, is there anything I can do to correct it?