Re: Driver for BCM4318

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: Driver for BCM4318

Nick Guenther
On 9/12/06, Steffen Wendzel <[hidden email]> wrote:
> Hi,
>
> does somebody already work on a driver for a Broadcom BCM4318 [AirForce
> One 54g] 802.11g WLAN driver?
>
> steffen
>

Probably not. Broadcom generally are bitches like that. But note that
this information you've given is just the card model, what's important
is the actual chip on the card. Is it an ath(4), a iwi(4), etc.?

If you're looking a a latpop with one of these built in give up now
and buy a Cardbus or different miniPCI one with an ral(4) or ath(4)
chipset.

-Nick

Reply | Threaded
Open this post in threaded view
|

Re: Driver for BCM4318

Stuart Henderson
On 2006/09/12 13:33, Nick Guenther wrote:
> >does somebody already work on a driver for a Broadcom BCM4318 [AirForce
> >One 54g] 802.11g WLAN driver?
>
> Probably not. Broadcom generally are bitches like that. But note that

Not always - see bnx(4):

     The bnx driver was written by David Christensen <[hidden email]>
     and ported to OpenBSD by Brad Smith <[hidden email]>.

> this information you've given is just the card model,what's important
> is the actual chip on the card. Is it an ath(4), a iwi(4), etc.?

BCM4318 is the chip, though the dmesg lines are the best ID of a
particular device.

Reply | Threaded
Open this post in threaded view
|

Re: Driver for BCM4318

Nick Guenther
On 9/12/06, Stuart Henderson <[hidden email]> wrote:

> On 2006/09/12 13:33, Nick Guenther wrote:
> > >does somebody already work on a driver for a Broadcom BCM4318 [AirForce
> > >One 54g] 802.11g WLAN driver?
> >
> > Probably not. Broadcom generally are bitches like that. But note that
>
> Not always - see bnx(4):
>
>      The bnx driver was written by David Christensen <[hidden email]>
>      and ported to OpenBSD by Brad Smith <[hidden email]>.
>
> > this information you've given is just the card model,what's important
> > is the actual chip on the card. Is it an ath(4), a iwi(4), etc.?
>
> BCM4318 is the chip, though the dmesg lines are the best ID of a
> particular device.
>

Yes, I realized I had embarrassed myself within the hour but didn't
want to make more noise.

-Nick

Reply | Threaded
Open this post in threaded view
|

Re: Driver for BCM4318

Theo de Raadt
In reply to this post by Nick Guenther
> > does somebody already work on a driver for a Broadcom BCM4318 [AirForce
> > One 54g] 802.11g WLAN driver?
> >
> > steffen
> >
>
> Probably not. Broadcom generally are bitches like that. But note that
> this information you've given is just the card model, what's important
> is the actual chip on the card. Is it an ath(4), a iwi(4), etc.?

The Broadcom 802.11 chipsets are the bastards of the industry.  They
are the most complicated and difficult to program.  Broadcom's
division is not interested in helping at all.  

A Linux team has managed to mostly reverse engineer a subset of the
functionality and chip versions.  That information can be found at:

    http://bcm-specs.sipsolutions.net/
    http://bcm43xx.berlios.de/

Naturally... anyone can read this stuff, learn from it, and then from
their knowledge write a BSD licensed driver.  There is enough
information there to create a driver, at least for some varients of
the chips.  As I said, it is probably the most complicated chip in the
industry, and the specification is harrowing.. but it can be done,
since the Linux people managed to produce a driver.

Inside the OpenBSD developer community Broadcom wireless is not
currently on anyone's plans.  Drivers for other chips will be written
first.

Therefore it would be nice if someone from the outside took on this
project.

Good luck!

Reply | Threaded
Open this post in threaded view
|

Re: Driver for BCM4318

Jon Simola
On 10/4/06, Theo de Raadt <[hidden email]> wrote:

> The Broadcom 802.11 chipsets are the bastards of the industry.  They
> are the most complicated and difficult to program.  Broadcom's
> division is not interested in helping at all.
>
> A Linux team has managed to mostly reverse engineer a subset of the
> functionality and chip versions.  That information can be found at:
>
>     http://bcm-specs.sipsolutions.net/
>     http://bcm43xx.berlios.de/
>
> Naturally... anyone can read this stuff, learn from it, and then from
> their knowledge write a BSD licensed driver.  There is enough
> information there to create a driver, at least for some varients of
> the chips.  As I said, it is probably the most complicated chip in the
> industry, and the specification is harrowing.. but it can be done,
> since the Linux people managed to produce a driver.
>
> Inside the OpenBSD developer community Broadcom wireless is not
> currently on anyone's plans.  Drivers for other chips will be written
> first.
>
> Therefore it would be nice if someone from the outside took on this
> project.

After reading over the specs repeatedly, spending many nights studying
their tangled tales and twisted methods, I have to agree with Theo:

It would take an idiot to try writing a driver for these Broadcom chipsets.
It would take an idiot to try doing it using only a laptop with a minipci card.

#dmesg | grep ^bcw
bcw0 at pci3 dev 2 function 0 "Broadcom BCM4318" rev 0x02: irq 10,
address 00:14:a5:75:58:df
# ifconfig bcw0
bcw0: flags=8a43<UP,BROADCAST,RUNNING,ALLMULTI,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:14:a5:75:58:df
        media: IEEE802.11 autoselect
        status: no network
        ieee80211: nwid "" 0dBm
        inet6 fe80::214:a5ff:fe75:58df%bcw0 prefixlen 64 scopeid 0x1

I have become that idiot. Experienced developers will observe that
making a network card do the above is pretty simple, the hard part is
making bits fly around the air. And I've been using this as a hobby to
fill my time for the last few evenings, learning a lot about the
kernel and network drivers. I'm not going to make any promises that
this will eventually do anything more than occupy space on my hard
drive.

That said, I have a couple questions that I hope can be answered.

1. How are device driver names chosen? Was "bcw" a good choice?
2. Do these Broadcom chipsets exist on PCI cards? I've only found
miniPCI ones, and that has led me to consider purchasing one of the
miniPCI to PCI bridge cards and grabbing a few cheap OEM cards off
ebay to get at least a couple different ones.

> Good luck!

I sure need that. I spent many days in my youth doing hardware bit
bashing in assembly with less detailed docs than the ones at
http://bcm-specs.sipsolutions.net, and it's been rather enjoyable so
far. Thanks for the challenge, and for OpenBSD in general.

--
Jon

Reply | Threaded
Open this post in threaded view
|

Re: Driver for BCM4318

Steffen Wendzel
On Sat, 4 Nov 2006 21:00:25 -0800 "Jon Simola" <[hidden email]> wrote:

: On 10/4/06, Theo de Raadt <[hidden email]> wrote:
:
: After reading over the specs repeatedly, spending many nights studying
: their tangled tales and twisted methods, I have to agree with Theo:
:
: It would take an idiot to try writing a driver for these Broadcom chipsets.
: It would take an idiot to try doing it using only a laptop with a minipci card.
:
: #dmesg | grep ^bcw
: bcw0 at pci3 dev 2 function 0 "Broadcom BCM4318" rev 0x02: irq 10,
: address 00:14:a5:75:58:df
: # ifconfig bcw0
: bcw0: flags=8a43<UP,BROADCAST,RUNNING,ALLMULTI,SIMPLEX,MULTICAST> mtu 1500
:         lladdr 00:14:a5:75:58:df
:         media: IEEE802.11 autoselect
:         status: no network
:         ieee80211: nwid "" 0dBm
:         inet6 fe80::214:a5ff:fe75:58df%bcw0 prefixlen 64 scopeid 0x1
:
: I have become that idiot. Experienced developers will observe that

Damn cool! I did also try to write such a driver but this would be so
much work and it would take so much time I currently don't have.

It's absolutely great to have such a driver in future (I also own a
BCM4318 in my laptop).

Does your driver need the firmware?

--Steffen

--
website: http://cdp.doomed-reality.org
hardened linux: http://drlinux.doomed-reality.org

Reply | Threaded
Open this post in threaded view
|

Re: Driver for BCM4318

Robby Workman-6
In reply to this post by Jon Simola
Jon Simola wrote:
>
> After reading over the specs repeatedly, spending many nights studying
> their tangled tales and twisted methods, I have to agree with Theo:
>
> It would take an idiot to try writing a driver for these Broadcom chipsets.
> It would take an idiot to try doing it using only a laptop with a
> minipci card.


Jon:

I have a Belkin F5D7010 (bcm4306) PCMCIA card that I will be
happy to send to you.  Shipping's on me; if you want it, just
send me a shipping address offlist.

RW (robw810)

--

http://rlworkman.net

Reply | Threaded
Open this post in threaded view
|

Re: Driver for BCM4318

Jon Simola
In reply to this post by Jon Simola
On 11/4/06, Jon Simola <[hidden email]> wrote:
> On 10/4/06, Theo de Raadt <[hidden email]> wrote:
>
> > The Broadcom 802.11 chipsets are the bastards of the industry.  They
> > are the most complicated and difficult to program.

> http://bcm-specs.sipsolutions.net, and it's been rather enjoyable so
> far. Thanks for the challenge, and for OpenBSD in general.

Just a followup, I've been making some steady progress. I'm hoping to
have the thing sending packets this weekend. My current code and some
example output is up and available at http://proteus.mecha.com/bcw/ -
take heed, the code is certainly a bit messy at this point.

--
Jon