Skip site navigation (1)Skip section navigation (2)
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>