Broadcom Wireless chips support

I have notebook running freebsd-current and with broadcom wi-fi on board
PH34R# uname -a
FreeBSD PH34R 8.0-CURRENT FreeBSD 8.0-CURRENT #6: Fri Nov 14 00:21:58 MSK 2008 savetherbtz@PH34R:/usr/obj/usr/src/sys/PH34R.8 i386

PH34R# pciconf -lv | grep BCM43
device = 'BCM4310 broadcom wireless 1490 (dell)'

wireless currently running via ndis

Will there be support for this wireless chipset in future?
 
I m pretty sure that drivers would be ported sometime from OpenBSD but highly doubt it will be officially Broadcom.
 
Today I've tried dragonflybsd bwi drivers on my HP 6715s laptop... But it didn't worked out with my card =(
First of all in pciconf my card listens as
device = 'BCM4310 broadcom wireless 1490 (dell)'
but has BCM4312's id:
bwi0@pci0:48:0:0: class=0x028000 card=0x1371103c chip=0x431214e4 rev=0x02 hdr=0x00

Back to driver:
My card isn't in supported macs revisions list... So i've got error something like "MAC rev 13 is not supported"
not a big deal, added to see if it helps.

# vi bwimac.c
static const uint8_t bwi_sup_macrev[] = { 2, 4, 5, 6, 7, 9, 10, 13 };
Now driver says "unsupported 11G PHY, rev 9"
This is worse, but I can give it a try:
# vi bwiphy.c
if (phyrev > 9) {
device_printf(sc->sc_dev, "unsupported 11G PHY, "
"rev %u\n", phyrev);
return ENXIO;
}

That time i've got "bwi0: can't initialize 0th TX ring"
And what i see in bwi_init_tx_ring64? (Yeah my card has 64bit bus)

static int
bwi_init_tx_ring64(struct bwi_softc *sc, int ring_idx)
{
/* TODO:64 */
return EOPNOTSUPP;
}

=(( I can't write it without knowledge of BWI_TXRX64_RINGINFO_ADDR_MASK, BWI_TXRX64_RINGINFO_FUNC_MASK and etc. values =(

full output of driver below
Code:
bwi0: <Broadcom BCM4312 802.11 Wireless Lan> mem 0xc8000000-0xc8003fff irq 18 at device 0.0 on pci48
bwi0: [ITHREAD]
bwi0: regwin: chipcommon (0x800), rev 19, vendor 0x4243
bwi0: BBP: id 0x4311, rev 0x2, pkg 0
bwi0: nregwin 4, cap 0x0864000d
bwi0: regwin: 802.11 MAC (0x812), rev 13, vendor 0x4243
bwi0: MAC: rev 13
bwi0: regwin: usb 1.1 host (0x817), rev 4, vendor 0x4243
bwi0: regwin: pci express (0x820), rev 5, vendor 0x4243
bwi0: clksrc CS_OSC
bwi0: clkfreq min 990000, max 1010000
bwi0: power on delay 153
bwi0: bus rev 6
bwi0: pci express is enabled
bwi0: card flags 0x4a49
bwi0: 0th led, act 2, lowact 0
bwi0: 1th led, act 3, lowact 1
bwi0: 2th led, act 4, lowact 0
bwi0: 3th led, act 0, lowact 0
bwi0: 802.11 MAC was already disabled
bwi0: PHY is linked
bwi0: PHY: type 2, rev 9, ver 4
bwi0: PHY: 802.11G attach
bwi0: RF: manu 0x17f, type 0x2050, rev 2
bwi0: bus rev 6
bwi0: PHY is linked
bwi0: 64bit bus space
bwi0: max txpower from sprom: 74 dBm
bwi0: ant gain 8 dBm
bwi0: region/domain max txpower 76 dBm
bwi0: max txpower 74 dBm
bwi0: sprom idle tssi: 0x783e
bwi0: TSSI-TX power map:
83 83 82 82 82 82 81 81 
80 80 79 79 79 78 78 77 
77 76 75 75 74 74 73 73 
72 72 71 70 69 69 68 67 
66 65 64 64 62 61 60 59 
58 57 55 54 52 51 49 48 
46 45 42 41 38 36 33 31 
28 25 22 19 15 11 6 2 
bwi0: idle tssi0: 62
bwi0: bus rev 6
bwi0: locale: 0
bwi0: WARNING: using obsoleted if_watchdog interface
bwi0: Ethernet address: 00:00:00:1a:73:8c
bwi0: bwi_init
bwi0: bwi_stop
bwi0: bbp atten: 0, rf atten: 3, ctrl1: 2, ctrl2: 65535
bwi0: bus rev 6
bwi0: 802.11 MAC is disabled
bwi0: 802.11 MAC was already disabled
bwi0: PHY is linked
bwi0: firmware rev 0x0127, patch level 0x000e
bwi0: IV count 317
bwi0: lo gain: 19, rx gain: 48
bwi0: RF calibration value: 0x0026
bwi0: base tssi 49
bwi0: can't initialize 0th TX ring

So there are couple of questions
1) to FreeBSD commiters: bwi driver is now in OpenBSD,NetBSD and even in DreganFlyBSD. Is there so big problem to port it?
2) to bcm hackers: does anybody know where i can get some kind of reversed engineered driver manual or some kind of helpsheet for firmware bits?
 
bwi0: 64bit bus space
64bit bus not supported by any bwi drivers of *BSD

1) to FreeBSD commiters: bwi driver is now in OpenBSD,NetBSD and even in DreganFlyBSD. Is there so big problem to port it?
_http://paradox.lissyara.su/bwi.01.tar.bz2


2) to bcm hackers: does anybody know where i can get some kind of reversed engineered driver manual or some kind of helpsheet for firmware bits?
this is a new firmware but curently not supported bwi driver
_paradox.lissyara.su/code.rar
 
No, 64bit it's about bus space
bwi0: 64bit bus space
there are three kinds of bus space in BCM43xx: 30bit 32bit and 64bit

It's not connected with operating system arch in any way
 
This is so interesting that I should stumble on this bwi driver, I have been searching for a solution and gave a OpenBSD a try just because they had that driver, but I could not adjust to OpenBSD. I downloaded bwi.01.tar.bz2 that was posted by Paradox but I don't really know what to do with it. After I install it, how do I configure that module to start? Do I add bwi_enable="YES" in /boot/loader.conf... and then setup the network device like any other card? If it matters, I am using 7.0 Release i386.
 
I've tried to compile driver against -current and as richardpl said it has some issues with new 80211 stack. So every one who is willing to try bwi need to downgrade to at least 7-STABLE

allbanddxer
# cd bwi.01
# make
# make install
# kldload bwi_v3
# kldload if_bwi

And can you tell model of ur BCM from
# pciconf -lv
?
 
allbanddxer
# cd bwi.01
# make
# make install
# kldload bwi_v3
# kldload if_bwi

And can you tell model of ur BCM from
# pciconf -lv
?[/QUOTE]

Hey thanks for the install steps SaveTheRbtz, here is the output you requested.
bwi0@pci0:2:0:0: class=0x028000 card=0x033a1154 chip=0x431814e4 rev=0x02 hdr=0x00
vendor = 'Broadcom Corporation'
device = 'BCM43XX Broadcom 802.11b/g'
class = network

AKA: Buffalo Wireless WLI-CB-G54HP
 
Your card is in "known devices" list, so, if revision is right it should work just fine
Code:
	{ PCI_VENDOR_BROADCOM, 0x4301,"Broadcom BCM4301 802.11 Wireless Lan" },
	{ PCI_VENDOR_BROADCOM, 0x4307,"Broadcom BCM4307 802.11 Wireless Lan" },
	{ PCI_VENDOR_BROADCOM, 0x4311,"Broadcom BCM4311 802.11 Wireless Lan" },
	{ PCI_VENDOR_BROADCOM, 0x4312,"Broadcom BCM4312 802.11 Wireless Lan" },
	{ PCI_VENDOR_BROADCOM, 0x4320,"Broadcom BCM4306v1 802.11 Wireless Lan"},
	{ PCI_VENDOR_BROADCOM, 0x4321,"Broadcom BCM4306v2 802.11 Wireless Lan"},
	{ PCI_VENDOR_BROADCOM, 0x4325,"Broadcom BCM4306v3 802.11 Wireless Lan"},
	{ PCI_VENDOR_BROADCOM, 0x4324,"Broadcom BCM4309 802.11 Wireless Lan" },
	{ PCI_VENDOR_BROADCOM, 0x4318,"Broadcom BCM4318 802.11 Wireless Lan" },
	{ PCI_VENDOR_BROADCOM, 0x4319,"Broadcom BCM4319 802.11 Wireless Lan" }
 
SaveTheRbtz said:
I've tried to compile driver against -current and as richardpl said it has some issues with new 80211 stack. So every one who is willing to try bwi need to downgrade to at least 7-STABLE
Or he/she can download bwi from perforce (older files revisions, because latest one I tested are broken) and it have support for vap. Just open correct branch ;-)
 
Back
Top