|[Home] [Credit Search] [Category Browser] [Staff Roll Call]||The LINUX.COM Article Archive|
|Originally Published: Tuesday, 17 October 2000||Author: Mike Baker|
|Published to: interact_articles_irc_recap/IRC Recap||Page: 1/1 - [Printable]|
Best ot IRC for Tuesday, October 17th
It's time once again for another edition of Best of IRC. As always ,we'll be taking an in-depth look at some of the questions asked on #Linuxhelp. If you haven't already been to #Linuxhelp, you'll find instructions on how to get there at the bottom of the Live! page! Feel free to stop by and ask questions!
|Page 1 of 1|
Eeek! /dev/eth0 is missing!
Setting up Linux can be tricky for anyone at times. This difficulty can be compounded by making mistakes along the way. Luckily for many newbies out there there are places like #Linuxhelp which offer advice for newbies. It's unfortunate that we can't always be around to help. The above log shows the actual conversation that took place in the channel as recorded by the logs. We're sorry that nobody was around to straighten this out in the first place but that we should at least try to make amends by clearing things up now.
There is no /dev/eth0. The lack of /dev/eth0 is not due to configuration issues or mistakes setting up the system, there just isn't one. About the only way you'll see network devices is via the ifconfig (interface configuration) program. By default ifconfig shows only devices which are both up and have an IP address, so you'll probably end up with output like this:
lo Link encap:Local Loopback
The lo interface is the Loopback interface, the only device you're likely to see on a machine without networking. The sole purpose of lo is to route 127.0.0.1 back to itself so it's not very interesting as far as networking is concerned. To see all the interfaces that Linux knows about then you'll need to use ifconfig -a which will show the interfaces regardless of configuration state. Please note that ifconfig is only capable of telling you about the interfaces Linux currently knows about, there's a good chance Linux doesn't even know about the Ethernet card.
Support for hardware in Linux is provided through the Linux kernel in one of two ways: either as a module that gets loaded after bootup or built directly into the kernel. Typically with the default installations, everything is done as modules simply because the install program can add and remove them as needed. It won't be until you compile your own kernel that you deal with built-in support. In short, we need to load a module to support the card. The module that has to be loaded will depend a lot on the type and brand of the card but the two more or less generic choices are ne2000 compatible (ne.o and ne2k-pci.o) for 10Mbps Ethernet cards and tulip (tulip.o) for 100Mbps cards.
A typical scenario for getting a card working might go like this:
Of course, had ifconfig not worked immediately afterwards you'd have to do some more work, either by running the command dmesg looking for clues or continuing modprobe'ing other modules. Once you've figured out which module you need so Linux can see your Ethernet card, you can continue by editing /etc/modules.conf. The /etc/modules.conf (/etc/conf.modules on some systems) consists of instructions for the kernel autoloader. To get the kernel to automatically load the tulip module whenever eth0 needs to be accessed you'd add the line:
With Linux recognizing the Ethernet card, you can proceed to configuring it. In many cases, you can configure via dhcp (dynamic host configuration protocol) simply by running dhcpcd eth0. If the remote end doesn't support dhcp, you'll probably have to set the address manually. While you can set the address via commands like ifconfig eth0 192.168.1.1 up the effects only last until the next reboot, so it's preferable to find out how your distribution starts networking and change the settings there. Most distributions have configuration tools for networking such as linuxconf.
This is nowhere near a complete guide on networking or how to get your Linux system online. For that please refer to: