From owner-freebsd-wireless@FreeBSD.ORG Fri Aug 19 02:20:13 2011 Return-Path: Delivered-To: freebsd-wireless@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 609431065674 for ; Fri, 19 Aug 2011 02:20:13 +0000 (UTC) (envelope-from eric@shadowsun.net) Received: from mail.atlantawebhost.com (dns1.atlantawebhost.com [66.223.40.39]) by mx1.freebsd.org (Postfix) with ESMTP id 12EE58FC08 for ; Fri, 19 Aug 2011 02:20:12 +0000 (UTC) Received: (qmail 3805 invoked from network); 18 Aug 2011 22:13:31 -0400 Received: from ool-6039c07a.static.optonline.net (HELO Macintosh-21.local) (96.57.192.122) by mail.atlantawebhost.com with SMTP; 18 Aug 2011 22:13:31 -0400 Message-ID: <4E4DC6CA.2010100@shadowsun.net> Date: Thu, 18 Aug 2011 22:13:30 -0400 From: Eric McCorkle User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.5; rv:5.0) Gecko/20110624 Thunderbird/5.0 MIME-Version: 1.0 To: freebsd-wireless@freebsd.org References: <4E4C0DC9.8070808@shadowsun.net> <4E4D50AF.6070908@shadowsun.net> <20110819013501.GA29282@richh-desktop.boxdice.com.au> In-Reply-To: <20110819013501.GA29282@richh-desktop.boxdice.com.au> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: BCM4313 support X-BeenThere: freebsd-wireless@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Discussions of 802.11 stack, tools device driver development." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Aug 2011 02:20:13 -0000 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 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.