Date: Fri, 16 Nov 2012 08:44:50 -0800 From: Alfred Perlstein <bright@mu.org> To: freebsd-stable@freebsd.org Subject: Re: bge on the new Mac Mini Message-ID: <50A66D82.9050401@mu.org> In-Reply-To: <50A66965.20109@wintek.com> References: <50A65BFC.7030406@wintek.com> <50A65EB5.7040004@mu.org> <50A66198.6060108@wintek.com> <20121116162045.GC24320@in-addr.com> <50A66965.20109@wintek.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 11/16/12 8:27 AM, Richard Kuhns wrote: > On 11/16/12 11:20, Gary Palmer wrote: >> On Fri, Nov 16, 2012 at 10:54:00AM -0500, Richard Kuhns wrote: >>> On 11/16/12 10:41, Alfred Perlstein wrote: >>>> Often that is all that is needed. It's worth a shot and reporting back. >>>> >>>> Do you know how to update the table in the driver, rebuild/install >>>> kernel and check? >>>> >>>> -Alfred >>>> >>> I'm afraid not. I grepped for the hex value reported on the one that works >>> (chip=0x16b414e4), but I couldn't find it in its entirety, 16b4, or 14e4. So I >>> don't know what to add :-( >>> >>> I don't have any problem with rebuilding and installing a new kernel, though. >> 14e4 is the ID for Broadcom >> 16b4 is the ID for BCM57765, a NetXtreme Desktop/Mobile chip >> >> http://www.broadcom.com/support/ethernet_nic/determine_driver.php has a list >> of the BCM PCI ID values >> >> There is a (frequently incomplete) database of user reported PCI values at >> http://www.pcidatabase.com. It has the BCM ID (14e4), but not your chip >> >> Linux uses the tg3 driver for that chipset apparently, but I think thats >> a general dumping ground for a lot of Broadcom products. Not sure what the >> appropriate FreeBSD driver to add the ID code to would be. >> >> Regards, >> >> Gary >> > Sorry, I should have been more clear. I grepped for those values in > /usr/src/sys/dev/bge/*, since that's the driver that's used on the older minis. > I assume that's where the table is that Alfred mentioned; I just don't know what > to add to it. > Here's a cool trick you can do. 1) make a backup of your /boot/kernel directory: mv /boot/kernel /boot/kernel.good (now you can boot to a known good kernel if you blow things up) 2) hack a few drivers to add the PCI id. 3) now build a kernel WITHOUT most of the nic drivers. 4) reboot with this kernel 5) try loading/unloading the various drivers you suspect will be compatible until it either works or you get tired. :) Eventually you'll find the change that works. Go look at commit logs to see how others have added PCI ids to the drivers. It's usually in a table or under a simple "if" statement. It honestly won't take you that long, probably a few hours of head scratching. -Alfred
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?50A66D82.9050401>