Boston Linux & Unix (BLU) 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

BLU Discuss list archive


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Linux installation: Second Ethernet interface ...



| root wrote in a message to Mike Bilow:

Hmmm ... No, it was to discuss at blu.org, not to Mike.  But maybe I can
get  the  goofy mailer to correctly identify me this time.  (But then
there's a guy I'm working for now at Digital - oops, I meant Compaq -
whose   email  usually  goes  out  identified  as  having  come  from
firstname.lastname at localhost.zko.dec.com.  ;-)

| 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.

That's funny; every linux system I've ever used (not all  that  many,
but   several   different   releases)   have  had  a  program  called
control-panel, which is a GUI for doing assorted superuserish  things
to the system. The FAQs and HOWTOs that I've been reading all like to
suggest this as the best way to configure your system. Are we perhaps
talking about different systems, both called "linux"?

| ...  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.

Hmmm again.  This system (Redhat 5.1) has no file by  that  name.   I
tried the command
   find / -name '*modules.conf*' -print
and  it finds no files whatsoever.  I even have my old system mounted
so I can compare files, and it had no such file name, either.  I also
   grep modules.conf /usr/doc/HOWTO/*
This directory has 31Mbytes of data, and there was only one match, in
the Busmouse document.  Are we in the same universe?

| 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.

I just checked with "man kerneld", and its man page  lists  no  files
that it reads. In fact, the page doesn't contain the string "file" in
any capitalization. So it appears that this kerneld doesn't read from
any files (or it does and the fact isn't documented).

| 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".

Hmmm yet again. Sounds like confused terminology. It seems to me that
interface  names  like  "eth0" don't refer to hardware, but rather to
software, in particular to kernel data structures.  After all,  "lo0"
is  an  interface name, and it clearly doesn't refer to hardware, but
just to a software object in the kernel.  Granted, "eth0" does  refer
to hardware in some sense, though, which is why I'd call it confused.

In any case, "ifconfig eth1 up" is what the ifconfig  man  page  says
attaches interfaces, but this doesn't work:
   : ifconfig eth1 up
   : echo $?
   255
   : ifconfig eth1
   eth1: unknown interface.
   : 
So however eth1 is supposed to come into existence,  this  isn't  it.
One mystery so far is just who creates (or attaches or activates) the
lo0 and eth0 interfaces.  They seem to just appear "as if by  magic",
but  whoever does the job doesn't make eth1 exist.  In my experience,
this is always a bit of black magic that is different on  every  Unix
system that I've ever seen.

| 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.

Hmmm ...  I read "man insmod" and tried running it a few times.   The
new  card  is a 3Com 3c509b, and there is a 3c509.o module that might
work.  But whenever I run insmod, it just tells me:
   /lib/.../3c509.o:  init_module:  Device or resource busy
It's not obvious what this  might  mean.   How  can  the  device  (or
resource) be busy if it's not even loaded?

| You have a simple problem. Your automated installation just did not
| handle two network cards, so you have to patch it up manually.

Probably.  I just have to figure out what to  type.   And  of  course
there's  always  the  danger of totally killing the system if I do it
wrong (which is highly likely, since this is a  new  system  full  of
mystery, so I'm once again just a bumbling novice at it all. But if I
wait until I understand it all, I'll die of old age first ...  ;-)

(I've already done things a couple of times that seemed to  tuen  the
system  into  a  near-total zombie, and had to resort to rebooting my
old linux, zapping the new partition, and installing from scratch. It
seems somewhat fragile.)





BLU is a member of BostonUserGroups
BLU is a member of BostonUserGroups
We also thank MIT for the use of their facilities.

Valid HTML 4.01! Valid CSS!



Boston Linux & Unix / webmaster@blu.org