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.
 
Hi, Paradox

Your driver is working like charm :)

I tried it on 7.0-RELEASE will give it a short in 8-CURRENT today :)

Thanks
 
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