On Sun, 1 Oct 2000, Harry Souders wrote:
> On Sun, Oct 01, 2000 at 08:30:08AM -0500, Jay Strauss wrote:
> > Why are some cards autodetected (i.e when performing "checking for new hardware"
> > during boot) and some are not?
> >
> > If you have 2 cards, each a different brand. Will only one be autodetected?
>
> Maybe. I don't know if things have changed, but with two different cards
> in the past, linux would probe and stop after finding the first card. I
> had this happen with two different PCI NICs. I heard someone say that it
> was set up this way to prevent lockups and such by having linux probing
> too much for hardware.
ok, i remember now. there are nics that use the same base I/O address.
when a module (not linux! linux doesn't do this. it just runs modules.)
probes the I/O addresses, it has to be very careful about not stepping on
other addresses that are already in use. probing involves writing a byte at
a location and reading (a) byte(s) from another location.
at best, writing to reserved I/O addresses will leave the first card in an
undetermined and most likely useless state. at worst, it'll generate a
kernel oops and possibly lock up the system.
you can get linux to run modules to probe more than one card at boot, but
the default is to not do this because it's dangerous, as i outlined above.
it's especially dangerous for ISA cards which don't reserve I/O addresses in
the same way that PCI cards do.
> > How would I make a card be auto detected?
>
> Sorry, don't know. If you have to of the same type of cards (say two PCI
> tulip NICs) then linux will usually pick both up.
the best and safest way to do this is to modify a bootup script to
modprobe -a a module. you can add lines to modules.conf, but the prefered
way is to let a local boot script handle this.
my local bootup script (when i had DSL and a home network) modprobe'd the
2nd NIC, set up the ipchains firewall rules, ran portsentry and fetchmail
all in one script. very neat, very tidy.
pete