bge on the new Mac Mini

Alfred Perlstein bright at mu.org
Fri Nov 16 16:44:51 UTC 2012


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


More information about the freebsd-stable mailing list