Date: Thu, 9 Sep 2004 21:00:39 -0700 (PDT) From: "Richard Lynch" <ceo@l-i-e.com> To: freebsd-questions@freebsd.org Subject: Re: Broadcom 440x NIC not recognized on boot Message-ID: <10027.66.243.145.85.1094788839.squirrel@www.l-i-e.com> In-Reply-To: <1325.67.167.52.21.1094527694.squirrel@www.l-i-e.com> References: <1093.67.167.52.21.1094522790.squirrel@www.l-i-e.com> <b2807d0404090620006d55e892@mail.gmail.com> <1325.67.167.52.21.1094527694.squirrel@www.l-i-e.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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), re-compiled /usr/src/sys/modules/, 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 statements... 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... -- Like Music? http://l-i-e.com/artists.htm
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?10027.66.243.145.85.1094788839.squirrel>