Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 Aug 2011 22:13:30 -0400
From:      Eric McCorkle <eric@shadowsun.net>
To:        freebsd-wireless@freebsd.org
Subject:   Re: BCM4313 support
Message-ID:  <4E4DC6CA.2010100@shadowsun.net>
In-Reply-To: <20110819013501.GA29282@richh-desktop.boxdice.com.au>
References:  <CAD%2BDecweP-csPCnGG0sTHBHAcZhYy4ivtfOXtdSZo8BfAAJLtw@mail.gmail.com> <CAJ-Vmombsf8DBpDGkoc1o=F4n2aU6T7AiJ6DTqw0CazfrB1nrA@mail.gmail.com> <4E4C0DC9.8070808@shadowsun.net> <CAJ-Vmokunf5=UmoXYiWjin9kOsS2rciip3gwLYzgDdzJxWcy7Q@mail.gmail.com> <4E4D50AF.6070908@shadowsun.net> <20110819013501.GA29282@richh-desktop.boxdice.com.au>

next in thread | previous in thread | raw e-mail | index | archive | help
On 8/18/11 9:35 PM, richo wrote:
> On 18/08/11 13:49 -0400, Eric McCorkle wrote:
>> On 8/17/11 7:12 PM, Adrian Chadd wrote:
>>> On 18 August 2011 02:51, Eric McCorkle<eric@shadowsun.net> wrote:
>>>
>>>>
>>>> I have been working on porting the BroadCom linux driver. I don't
>>>> have much
>>>> time to work on it, though, and it's a rather daunting task.
>>>
>>> Cool! Is there anything we can do to help?
>>>
>>
>> Well, my objective is a working BCM 4322 (the card on macbooks)
>> driver. Someone who better understands linux drivers could take a look
>> at the wrapper code for the linux driver, and might be able to port it.
>>
>> More info: The broadcom linux driver consists of a closed-source
>> object file, compiled with standard linux kernel calling conventions,
>> and a bunch of linux wrapper code. It appears that the Broadcom
>> engineers did a relatively good job; the object file makes calls to
>> the kernel via an osl (presumably OS layer) interface, which seems
>> pretty generic. One of the headers appears to define the linux
>> instance of this layer, but it would seem others exist (probably for
>> windows, for instance). The rest of the code is simply linux driver
>> stuff that sets up interfaces, etc.
>>
>> The closed source .o file itself isn't stripped at all, and between
>> the known compiler flags and the headers that give types for
>> everything, there's enough information for complete
>> reverse-compilation. I've been working on this myself, but I have very
>> limited time to devote to it.
>
> Is what you have so far available anywhere?
>
> I've been putting off learning more about drivers for some time, and have a
> macbook 3,1 that I want to install FreeBSD on. I can probably kill two
> birds
> with one stone.
>
> I also have some older hardware with a broadcom nic of some kind (uses the
> b43 driver on linux) that I can fiddle with.
>
> Cheers
>
> richo
>

I haven't gotten far enough into the reverse compilation yet to warrant 
publishing anything.  I put a bandaid over the issue by using a USB 
wireless device, and I've been fixing other issues wrt running on a 
macbook.  But I do plan to publish it all eventually.  Also, the code's 
all in Haskell, not that that should dissuade anyone.

A MacBook 3,1 has the Atheros card, if I'm not mistaken, which is 
supported (one major headache you don't have to deal with).  I could 
talk more about where I am with running on a macbook, but we should 
probably take this over to -mobile for that, since it doesn't have 
anything to do with wireless.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4E4DC6CA.2010100>