Broadcom 440x NIC not recognized on boot
Charles Swiger
cswiger at mac.com
Fri Sep 10 13:17:44 PDT 2004
On Sep 10, 2004, at 3:52 PM, Richard Lynch wrote:
> Sometimes, when one talks about a "config" file, one is talking about
> editing /etc/*.conf, and start/stop a service, or, in extreme cases,
> re-booting.
>
> Are there run-time options to the kernel in such a file?
Some of the settings one can make in /etc/rc.conf end up making
run-time changes to the kernel. A simple example would be
gateway_enable='yes', which sets the sysctl net.inet.ip.forwarding=1.
> Or are all kernel-configuration options done at compile-time?
No.
[ ... ]
> Given that this device has a different device identification, but that
> Windows identifies it as a BCM 440x, and that bfe supports the BCM
> 4401,
> and the BFE docs indicate that that driver should work for the BCM 440x
> "series", am I reasonable to expect that if I could just add a line of
> code somewhere with the new device identification, it has a strong
> possibility of working?
Yes. Take a look at the code in /usr/src/sys/dev/bfe/if_bfe.c:
static struct bfe_type bfe_devs[] = {
{ BCOM_VENDORID, BCOM_DEVICEID_BCM4401,
"Broadcom BCM4401 Fast Ethernet" },
{ 0, 0, NULL }
};
...define a BCOM_DEVICEID_BCM4403 in if_bfereg.h, and add a similar
entry to the struct above.
> What I'm not completely clear on is:
> Does a different device ID pretty much guarantee that the same driver
> won't work, or do drivers often work for a bunch of chips with
> different
> IDs that really aren't all that different in API?
Really popular chipsets end up being cloned or re-released with minor
variants over time, so one driver can handle many different PCI vendor
ID/device ID combos. But that all depends on the specific
circumstances, there are few generalizations which can be made
reliably.
--
-Chuck
More information about the freebsd-questions
mailing list