Home
| Calendar
| Mail Lists
| List Archives
| Desktop SIG
| Hardware Hacking SIG
Wiki | Flickr | PicasaWeb | Video | Maps & Directions | Installfests | Keysignings Linux Cafe | Meeting Notes | Blog | Linux Links | Bling | About BLU |
root wrote in a message to Mike Bilow: r> One puzzle is that I've been using the control panel, and r> its cute little Network Configurator window looks like it's r> doing the job. I've several times created (and/or r> removed) the eth1 interfact, with an IP address starting r> with 10..., proto=none, atboot=yes, and I've pressed the r> Activate button so that it says "active" in the "active" r> column. And I've pressed the Save button. No eth1 in r> sight. Both "ifconfig -a" and "netstat -i" show lo0 and r> eth0, but not eth1. You have me completely mystified. I have no idea what the "control panel" is -- at least not in Linux. Usually, configuration of network hardware is done through the command line. r> I've also tried several suggestions from the various r> HOWTOs and the mediaone web page, especially the bit r> about adding things to /etc/lilo.conf, and none of them r> has worked. During boot, it says: ... modprobe: can't r> locate module eth1 r> and sure enough, there's no eth1. Of course, I'd think that r> "eth1" is the name of an interface (i.e., a data structure r> in the kernel), not a module (whatever that may mean here). r> But what do I know? This is a little complicated. In "/etc/modules.conf", you will find a mapping of device names such as "eth0" and "eth1" to the appropriate network driver module. If you edit this file, you will need to run "depmod -a" to rebuild the module dependency and other information, and then you will need to restart the running kerneld instance by sending it a "-HUP" signal. If you didn't follow this, have a look through the Modules HOWTO. By default, if there is no mapping, then kerneld will assume that the name of the module is the same as the name of the device, which is why you are getting the particular message you are getting. r> In any case, the terminology seems a bit confused. What does r> it mean to "activate" an interface? Is this a synonym for r> "create"? If not, when does should interface get created? Technically, interfaces are "attached." You don't create hardware with software. The "ifconfig" command performs the attachment. It does this by making a request into the kernel, which transmits that request to kerneld to try and load the driver module. In turn, kerneld tries to run "modprobe", which relies on the tables generated by "depmod", which originates back at "/etc/modules.conf". You can bypass this process with the "insmod" command which simply forces a particular driver to be loaded, specified by filename. Of course, this can also crash your machine pretty quickly, but it is useful for testing. Unless you have a good reason for doing otherwise, "modprobe" should be used. r> And what sort of "module" is the boot code looking for and not r> finding? It should already have the code for an Ethernet r> interface, because it has eth0; eth1 shouldn't need much more r> than a new entry in a table. No, for a number of reasons. A simple example is that you could have put two different types of Ethernet card into your machine, and they would each require their own driver. The machine is not going to know that unless you tell it, and that is done here through "/etc/modules.conf". r> Anyhow, I thought I'd toss this out to some of the folks who've r> done it, and see if there's something that should be r> obvious, but which I'm just missing. You have a simple problem. Your automated installation just did not handle two network cards, so you have to patch it up manually. -- Mike
BLU is a member of BostonUserGroups | |
We also thank MIT for the use of their facilities. |