Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 27 Oct 2007 19:40:52 +0200
From:      Erik Trulsson <ertr1013@student.uu.se>
To:        Robert Huff <roberthuff@rcn.com>
Cc:        questions@freebsd.org
Subject:   Re: hardware not recognized
Message-ID:  <20071027174052.GA95617@owl.midgard.homeip.net>
In-Reply-To: <18211.29921.62146.963105@jerusalem.litteratus.org>
References:  <18211.26045.874839.108550@jerusalem.litteratus.org> <20071027163109.GA95045@owl.midgard.homeip.net> <18211.29921.62146.963105@jerusalem.litteratus.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Oct 27, 2007 at 01:26:57PM -0400, Robert Huff wrote:
> Erik Trulsson writes:
> 
> >  > 	Recently, I replaced the NICs on a machine (old card was slow
> >  > and throwing errors).  Per good reviews, I went with Intel.
> >  > 	However: the card is not recognized on boot, and I get:
> 
> >  > 	If I explicitly load if_em via loader.conf, everything's fine.
> >  
> >  Do you have 'device em' in you kernel config ?  If you don't you
> >  will of course have to load if_em as a module via loader.conf.
> 
> 	Custom kernel, no "device em", -CURRENT.
> 	However, it was my understanding anything probed at boot whose
> PCI id was known would automatically have the appropriate driver
> loaded.  Am I misinformed?

You were misinformed.  The PCI-id is known only to the driver, so if the
driver is not loaded there is nothing which knows which driver to use.
(During boot each driver which is loaded gets asked for each PCI-id if
that id is something the driver knows about.  If there is some driver
which can handle the device, it gets to attach to the device.)

There are some situations where kernel modules are loaded 'automatically'.
One example is that if you have 'linux_enable="YES"' in /etc/rc.conf then
the boot scripts will automatically load the Linux emulation kernel module
if it is not already loaded.

I think there has been some discussion about similarily having ifconfig(8)
automatically load the appropriate kernel module when trying to access
some unknown network interface, but I believe the conclusion was that there
were good reasons not to do this.


So, if you want to use an em(4) card then you need to have either
'device em' in your kernel config, or have 'if_em_load="YES"' in
/boot/loader.conf
It doesn't really matter which one of these two methods you use.




-- 
<Insert your favourite quote here.>
Erik Trulsson
ertr1013@student.uu.se



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20071027174052.GA95617>