Broadcom 440x NIC not recognized on boot
ceo at l-i-e.com
Thu Sep 9 21:01:20 PDT 2004
So, I'm having trouble because my laptop is not recognizing the built-in
LAN/NIC during boot.
I've been reading manuals furiously, but I'm at the stage where I have a
laundry list of things to try, but am not running across the docs on how
to do them...
Of course, sometimes it's that I can't actually reach the 'net to research
them when I think of them, as I'm in FreeBSD where the NIC isn't working.
I realize these are most likely entirely my fault for not finding them, so
just a link to where they are would be most welcome.
#1. How do I test that bfe (man bfe) is built-in to the kernel versus
loaded as a module?
#2. Is it possible that building bfe into the kernel will magically make
it "better", or is being loaded as a module ALWAYS the same?
#3. Exactly *HOW* does the boot process figure out what gear is what?
#3a. Rather involved question...
My current hypothesis.
It would seem to be comparing 0x14e4 (?) and "knows" that that is Broadcom.
It then sees 0x4324 and does *NOT* recognize that as a BCM440x device.
It's possible that Broadcom gave their laptop version of this device a new
device ID. (It's a relatively new-to-the-market laptop)
Therefore, I'd like to edit some source code file somewhere, copying the
line about the 4401, and re-compile, install, re-boot, and PRAY.
How dangerous would this be?
How likely that I am gonna blow up my NIC?
How likely that I blow up the whole laptop?
Errr. Exactly where would I start to look for the file I want to change?
Here's what I tried:
I've found the if_bfe.c file, in /usr/src/sys/dev/bfe/
Added some printf statements in the probe function
(to print out the t->vid and t->did values as it searched),
copied the resulting if_bfe.ko (mtime was 'now') to /boot/kernel
copied same to /boot/modules
(I think I put that there with make; make install days ago)
And, when I booted, I rather expected dmesg to get output from my printf
It didn't, so obviously I don't really understand what's going on here.
(Well, I knew that, but...)
The Hardware section in the docs directory of my installation referred me
to a "Hardware Changes" (?) in my installation... Since that was what I
was looking for in the first place, I was rather at a loss to find the
document referred to... Any idea what I should have been reading?
I'm okay with vi and editing source code, but it's been decades since I've
really written C code...
Still, I'd really like to get this card working, and I'll submit a patch
if we get it...
More information about the freebsd-questions