Broadcom WiFi

FreeBSD 8.0 RC1
pciconf:
Code:
none2@pci0:5:0:0:	class=0x028000 card=0xe003105b chip=0x431514e4 rev=0x01 hdr=0x00
    vendor     = 'Broadcom Corporation'
    device     = 'Broadcom Wireless b/g (BCM4315/BCM22062000)'
    class      = network
    cap 01[40] = powerspec 3  supports D0 D1 D2 D3  current D0
    cap 09[58] = vendor (length 120)
    cap 05[e8] = MSI supports 1 message, 64 bit 
    cap 10[d0] = PCI-Express 1 endpoint max data 128(128) link x1(x1)

im try make ndis kernel module from windows xp drivers than 100% work on native windows xp on this hardware

after run
[cmd=]kldload bcmwl5_sys.ko[/cmd]

have this:
Code:
Oct 13 11:51:28  kernel: ndis0: <Broadcom 802.11g Network Adapter> irq 17 at device 0.0 on pci5
Oct 13 11:51:28  kernel: ndis0: [ITHREAD]
Oct 13 11:51:28  kernel: ndis0: NDIS API version: 5.1
Oct 13 11:51:28  kernel: ndis0: NDIS ERROR: c000138d (unknown error)
Oct 13 11:51:28  kernel: ndis0: init handler failed
Oct 13 11:51:28  kernel: device_attach: ndis0 attach returned 6

also part of dmesg:
Code:
pci2: <ACPI PCI bus> on pcib1
pcib2: <ACPI PCI-PCI bridge> irq 16 at device 28.1 on pci0
pci5: <ACPI PCI bus> on pcib2
pci5: <network> at device 0.0 (no driver attached)

can anybody help me?
 
I just got FreeBSD 8.0 installed on my HP 2140. Most things (seem) to be working. However the wireless networking is not working at all.

I tried installing if_bwi (the one included in src), but that didn't do anything. Dmesg didn't change one bit.

I then installed http://paradox.lissyara.su/bwi.04b.tar.bz2.

Now dmesg is much more interesting
Code:
bwi0: <Broadcom BCM432B 802.11 Wireless Lan> mem 0xe8000000-0xe8003fff irq 16 at device 0.0 on pci8
pci timeout fixx!
bwi0: [GIANT-LOCKED]
bwi0: [ITHREAD]
_sb_coresba: current core is 0x18001000
_sb_scan: scan bus 0x18000000 assume 1 cores
_sb_scan: there are 7 cores in the chip(0x4322)
_sb_scan: found 7 cores on bus 0x18000000
sprom_read_pci:
[000]2801,[001]0000,[002]1380,[003]103c,[004]0078,[005]6dbe,[006]0000,[007]2bc4,
[008]2a64,[009]2964,[010]2c64,[011]3ce7,[012]46ff,[013]47ff,[014]0c00,[015]0820,
[016]0040,[017]1002,[018]0000,[019]ffff,[020]ffff,[021]ffff,[022]ffff,[023]ffff,
[024]ffff,[025]ffff,[026]ffff,[027]ffff,[028]ffff,[029]ffff,[030]ffff,[031]ffff,
[032]ffff,[033]ffff,[034]ffff,[035]ffff,[036]ffff,[037]ffff,[038]ffff,[039]ffff,
[040]ffff,[041]ffff,[042]1010,[043]0005,[044]ffff,[045]ffff,[046]ffff,[047]ffff,
[048]432b,[049]8000,[050]0002,[051]0000,[052]1800,[053]1800,[054]0000,[055]0000,
[056]ffff,[057]ffff,[058]ffff,[059]ffff,[060]ffff,[061]ffff,[062]ffff,[063]ffff,

sprom_read_pci:
[000]2801,[001]0000,[002]1380,[003]103c,[004]0078,[005]6dbe,[006]0000,[007]2bc4,
[008]2a64,[009]2964,[010]2c64,[011]3ce7,[012]46ff,[013]47ff,[014]0c00,[015]0820,
[016]0040,[017]1002,[018]0000,[019]ffff,[020]ffff,[021]ffff,[022]ffff,[023]ffff,
[024]ffff,[025]ffff,[026]ffff,[027]ffff,[028]ffff,[029]ffff,[030]ffff,[031]ffff,
[032]ffff,[033]ffff,[034]ffff,[035]ffff,[036]ffff,[037]ffff,[038]ffff,[039]ffff,
[040]ffff,[041]ffff,[042]1010,[043]0005,[044]ffff,[045]ffff,[046]ffff,[047]ffff,
[048]432b,[049]8000,[050]0002,[051]0000,[052]1800,[053]1800,[054]0000,[055]0000,
[056]ffff,[057]ffff,[058]ffff,[059]ffff,[060]ffff,[061]ffff,[062]ffff,[063]ffff,
[064]5372,[065]2400,[066]0a00,[067]0000,[068]0001,[069]0000,[070]0021,[071]00c9,
[072]6095,[073]4445,[074]0002,[075]83ff,[076]ffff,[077]ffff,[078]0303,[079]0202,
[080]ffff,[081]0033,[082]ffff,[083]ffff,[084]ffff,[085]ffff,[086]ffff,[087]1301,
[088]1301,[089]ffff,[090]ffff,[091]ffff,[092]ffff,[093]ffff,[094]ffff,[095]ffff,
[096]2048,[097]fe82,[098]1633,[099]fa92,[100]3e40,[101]403c,[102]fe9b,[103]15a8,
[104]fabc,[105]fe87,[106]1637,[107]fa8e,[108]feab,[109]163a,[110]faaf,[111]0000,
[112]2048,[113]fe89,[114]1665,[115]fa92,[116]3e40,[117]403c,[118]fe92,[119]153f,
[120]fac6,[121]fe9a,[122]1591,[123]fabc,[124]fea1,[125]15b0,[126]fab4,[127]0000,
[128]ffff,[129]ffff,[130]ffff,[131]ffff,[132]ffff,[133]ffff,[134]ffff,[135]ffff,
[136]ffff,[137]ffff,[138]ffff,[139]ffff,[140]ffff,[141]ffff,[142]ffff,[143]ffff,
[144]ffff,[145]ffff,[146]ffff,[147]ffff,[148]ffff,[149]ffff,[150]ffff,[151]ffff,
[152]ffff,[153]ffff,[154]ffff,[155]ffff,[156]ffff,[157]ffff,[158]ffff,[159]ffff,
[160]0000,[161]0000,[162]0000,[163]0000,[164]0000,[165]0000,[166]0000,[167]0000,
[168]0000,[169]0000,[170]0000,[171]0000,[172]0000,[173]0000,[174]0000,[175]0000,
[176]0000,[177]0000,[178]0000,[179]0000,[180]0000,[181]0000,[182]0000,[183]0000,
[184]0000,[185]0000,[186]0000,[187]0000,[188]0000,[189]0000,[190]0000,[191]0000,
[192]0000,[193]0000,[194]0000,[195]0000,[196]0000,[197]0000,[198]0000,[199]0000,
[200]0000,[201]0000,[202]0000,[203]0000,[204]0000,[205]ffff,[206]ffff,[207]ffff,
[208]ffff,[209]ffff,[210]ffff,[211]ffff,[212]ffff,[213]ffff,[214]ffff,[215]ffff,
[216]ffff,[217]ffff,[218]ffff,[219]9808,
initvars_srom_pci: sromrev 0x0008
initvars_srom_pci: boardrev 0x2400
initvars_srom_pci: boardflags 0x00000a00
initvars_srom_pci: boardflags2 0x00000001
initvars_srom_pci: boardtype 0x1380
initvars_srom_pci: boardnum 0x6095
initvars_srom_pci: cc 0x0000
initvars_srom_pci: regrev 0x02
initvars_srom_pci: ledbh[] 0xff,0x83,0xff,0x03
initvars_srom_pci: pa0b[] 0xfe82,0x1633,0xfa92
initvars_srom_pci: pa0itssit 0x20
initvars_srom_pci: pa0maxpwr 0x48
initvars_srom_pci: opo 0x00
initvars_srom_pci: aa2g 0x03
initvars_srom_pci: aa5g 0x03
initvars_srom_pci: ag[] 0x02
initvars_srom_pci: pa1b[] 0xfe9b,0x15a8,0xfabc
initvars_srom_pci: pa1lob[] 0xfe87,0x1637,0xfa8e
initvars_srom_pci: pa1hib[] 0xfeab,0x163a,0xfaaf
initvars_srom_pci: pa1itssit 0x3e
initvars_srom_pci: pa1maxpwr 0x40
initvars_srom_pci: pa1lomaxpwr 0x40
initvars_srom_pci: pa1himaxpwr 0x3c
initvars_srom_pci: rssismf2g 0x0f
initvars_srom_pci: rssismc2g 0x0f
initvars_srom_pci: rssisav2g 0x07
initvars_srom_pci: tri2g 0xff
initvars_srom_pci: bxa2g 0x03
initvars_srom_pci: rxpo2g 0xff
initvars_srom_pci: rssismf5g 0x0f
initvars_srom_pci: rssismc5g 0x0f
initvars_srom_pci: rssisav5g 0x07
initvars_srom_pci: tri5gl 0xff
initvars_srom_pci: tri5g 0xff
initvars_srom_pci: tri5gh 0xff
initvars_srom_pci: bxa5g 0x03
initvars_srom_pci: rxpo5g 0xff
initvars_srom_pci: txchain 0x03
initvars_srom_pci: rxchain 0x03
initvars_srom_pci: antswitch 0x00
initvars_srom_pci: ccode DE
initvars_srom_pci: macaddr 00:21:00:c9:60:95
initvars_srom_pci: il0macaddr 00:00:00:00:00:00
initvars_srom_pci: et1macaddr 00:00:00:00:00:00
initvars_srom_pci: leddc ffff
have PMU
need leddc
need check pcie BFL2_PCIEWAR_OVR
corerev 16
card flags 0x0000
att 1
0th led, act 2, lowact 0
1th led, act 0, lowact 0
2th led, act 0, lowact 0
3th led, act 0, lowact 0
att 2
att 3
64bit bus space
att 4
late 1
phy_att 1
sbflags 100c0001
phy_att 2
phy_att 3
bwi0: PHY: type 4, rev 4, ver 8
phy_att 4
phy_att 5
bwi0: RF: manu 0x17f, type 0x2056, rev 3
bwi0: unsupported 11N PHY, rev 4
att fa 4
device_attach: bwi0 attach returned 6

and [cmd=]pciconf -lvcb[/cmd]
Code:
bwi0@pci0:8:0:0:        class=0x028000 card=0x1380103c chip=0x432b14e4 rev=0x01 hdr=0x00
    vendor     = 'Broadcom Corporation'
    class      = network
    cap 01[40] = powerspec 3  supports D0 D1 D2 D3  current D0
    cap 09[58] = vendor (length 120)
    cap 05[e8] = MSI supports 1 message, 64 bit
    cap 10[d0] = PCI-Express 1 endpoint max data 128(128) link x1(x1)

However it does not show up in the output of [cmd=]ifconfig[/cmd].

[cmd=]kldstat[/cmd]
Code:
 1   14 0xc0400000 b75f04   kernel
 2    1 0xc48c7000 9000     i915.ko
 3    1 0xc48d0000 14000    drm.ko
 4    1 0xc4fc2000 1a000    bwi_v3_ucode.ko
 5    1 0xc4fdc000 32000    if_bwi.ko

Have I forgotten to do something? It is usually something simple, but I have no idea what it would be this time.
 
The chip=432b14e4 identifies the chipset as the 4322. The current bwi driver doesn't support his chip. (If I'm mistaken, I'd love to know.) However, I have gotten the Windows driver to work with ndisgen. In particular I used the bcmwl5 driver. That was also on an HP laptop, btw.
 
blstuart said:
The chip=432b14e4 identifies the chipset as the 4322. The current bwi driver doesn't support his chip. (If I'm mistaken, I'd love to know.) However, I have gotten the Windows driver to work with ndisgen. In particular I used the bcmwl5 driver. That was also on an HP laptop, btw.

I downloaded the bcmwl5 driver from the HP site. Seems to work. I see the interface now

Code:
ndis0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 2290
        ether 00:21:00:c9:60:95
        media: IEEE 802.11 Wireless Ethernet autoselect (autoselect)
        status: no carrier

But I cannot get it to scan for networks. I know there is one here in the office, but I cannot remember the SSID. Would like to scan. But only get the reply

Code:
hp2140# ifconfig ndis0 scan
ifconfig: unable to get scan results

Suggestions?
 
Things are a little different now. First you need to create a clone device:

Code:
ifconfig wlan0 create wlandev ndis0

Then bring wlan0 up:

Code:
ifconfig wlan0 up

And I've had to manually give it a channel, though the scan will see APs on any channel. However, if I don't manually give it a channel, it will stay on channel 1 and not be able to scan.

Code:
ifconfig wlan0 chanlist 11

Then scan:

Code:
ifconfig wlan0 list scan

This will list the currently known APs. You can force it to look for new ones with:

Code:
ifconfig wlan0 scan

but this will disassociate you from your currently associated AP.

One last tip, when assigning a WEP key, do so with:

Code:
ifconfig wlan0 nwkey ...

That will do all the steps that are needed to bring up WEP. On the other hand, if you're using WPA, then never mind...
 
Thanks to your help I have managed to get my wireless up and running. At least at work, but that is using only a simple un-encrypted connection with landing-page for authentication.

Im not trying to set it up at home. Doesn't work as well unfortunately.

wpa_supplicant starts fine with the [cmd=]-D ndis[/cmd] switch.

BUT, when I never seem to be able to get a stable connection. Keep seeing the following:
Code:
CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys
Not quite sure why they arise, I cannot reliably regenerate the errors. After several attemps I was able to get a DHCP lease, but there is still no connection to the remainder of the network.

(Perhaps this post is in the wrong location, but I rather continue this thread which already contains most of the information regarind the Broadcom WiFi stuff)
 
I realise that bumping threads might not be appropriate, and appologize for doing so.

I would like some form of answer. Either that this is a common error, and that I have to wait for hell to freeze over, or that no one has ever seen it before, and that I should post a bug-report somewhere.
 
Unfortunately I cannot get the http://paradox.lissyara.su/bwi.04b.tar.bz2 to compile
When doing "make" it shows me
Code:
Warning: Object directory not changed from original /data/bwi.04b @ -> /usr/src/sys
ln: @: Operation not supported
*** Error Code 1

Im Using FreebSD 8 RC1 with a Dell Wireless 1390 Wlan Mini PCI Card (On Dell Latitude D420) With a BCM4311 Chip.
 
Paradox,

Thanks for your work in getting a BWI driver; I found your thread in a google search, grabbed the bwi.03 source, compiled and installed and it works like a charm on my friend's Dell Latitude D600 (using the BCM4309 chipset).

Only one slight problem which I hope has been resolved someplace and I am merely missing it.

After several minutes of regular web browsing, but nearly immediately while trying to download large files, the network simply refuses to connect. The wireless device still shows associated with the AP but pings result in DNS lookup failures.

There's agreat deal of activity in the messages log;
Code:
bwi0: no need to adjust RF/BBP attentuation
bwi0: current tx power 61
bwi0: tssi avg 22
bwi0: no DS tssi
bwi0: no OFDM tssi
bwi0: tssi0 20, tssi1 21, tssi3 21

There repeat often.

Running FBSD 7.x BTW.
Hopeing you can provide me a clue here. Thanks.
 
Can someone help me to set up Broadcom 4315 under Freebsd 8.0?

Code:
FreeBSD  8.0-RELEASE FreeBSD 8.0-RELEASE #0: Sun Nov 29 17:16:50 UTC 2009     root@:/usr/obj/usr/src/sys/newkern  amd64

Code:
pciconf -lvbc
none3@pci0:2:0:0:	class=0x028000 card=0x1508103c chip=0x431514e4 rev=0x01 hdr=0x00
    vendor     = 'Broadcom Corporation'
    device     = 'Broadcom Wireless b/g (BCM4315/BCM22062000)'
    class      = network
    bar   [10] = type Memory, range 64, base 0xd6000000, size 16384, enabled
    cap 01[40] = powerspec 3  supports D0 D1 D2 D3  current D0
    cap 09[58] = vendor (length 120)
    cap 05[e8] = MSI supports 1 message, 64 bit 
    cap 10[d0] = PCI-Express 1 endpoint max data 128(128) link x1(x1)

It seems, that ndis doesn't work with windows7 drivers, because I got kernel panic, after I've tried to load module.
Is there any other solution?
 
Ironman said:
It seems, that ndis doesn't work with windows7 drivers, because I got kernel panic, after I've tried to load module.
Is there any other solution?

Have you tried the drivers for other windows versions (XP or Vista)?
 
Ironman said:
I can't find XPx64 drivers. Can anybody help?

The copy of the bcmwl5 XP driver package I found (a .exe from HP's site, IIRC) had both a bcmwl5.sys and bcmwl564.sys. I'm pretty sure the latter is the 64-bit driver. However, I've only used the 32-bit one, so I can't say how well ndisgen plays with the 64-bit one.
 
Broadcom; which method?

I'm one of the lucky dogs to have that dreaded Broadcom wireless card installed in my laptop.
I've seen that to get this working (supposedly), there are two methods; installing the bwi port, or finding MS drivers and using ndis.

Anyone got either of these working for them? Any insights as to which way would be best to go about this?

--Q
 
Purple_Q said:
Anyone got either of these working for them? Any insights as to which way would be best to go about this?

--Q

Get rid of it .. that´s the best way to go about it.
I did .. it was either that or wait for someone to get it to work .. and that ain´t gonna happen anytime soon .. so I got up and bought myself an intel 3945ABG. No more problem0
 
Purple_Q said:
I'm one of the lucky dogs to have that dreaded Broadcom wireless card installed in my laptop.
I've seen that to get this working (supposedly), there are two methods; installing the bwi port, or finding MS drivers and using ndis.

Anyone got either of these working for them? Any insights as to which way would be best to go about this?

--Q

I'm a fairly stubborn person, so while the prospect of simply purchasing a new and supported card was tempting, I opted instead to press on.

NDIS did not work for me at all. I found the precise driver set, extracted the .inf and .sys... ran ndisgen successfully and when I attempted to kldload the driver ko file... the system hung.

My only other option were the unsupported bwi drivers. As mentioned previously, I downloaded paradox's bwi.03 driver set; compiled and installed. It works, to a degree. If I d/l something it just ceases to function, however after getting everything d/l via wired just brwsing the web or grabbing pdf's at random doesn't seem to make it happen. When it does I am forced to restart netif to clear the problem. Still hoping Paradox will respond to my above post.

I understand it's been fixed in FBSD 8, which I see announced yesterday as being stable I think.
 
gnemmi said:
Get rid of it .. that´s the best way to go about it.
I did .. it was either that or wait for someone to get it to work .. and that ain´t gonna happen anytime soon .. so I got up and bought myself an intel 3945ABG. No more problem0

I looked into doing exactly that. But I ran across reports of HP having a [unspeakable in polite company] whitelist in the BIOS that would refuse to do anything if the wireless card was unrecognized. Had I known this ahead of time, I would have bought from a manufacturer who doesn't engage in this detestable practice. But I was stuck and did manage to get the NDIS drivers to work. It was a little hit and miss, though. When I built it under 8.0-RC2, it didn't work, but did under 8.0-STABLE. No idea if something actually changed or there was operator error, but it seems to be working now.
 
Thanks for your continued work on the Broadcom drivers. Any estimate on when there might be a driver for BCM4321?

rgrover said:
I have BCM4321 on my Macbook3,1; and I'm running freeBSD7.2 on it. The following is the output from pciconf -lv.

Code:
none1@pci0:2:0:0:	class=0x028000 card=0x0088106b chip=0x432814e4 rev=0x03 hdr=0x00
    vendor     = 'Broadcom Corporation'
    device     = 'BCM94321KFBG Broadcom 4321AGN 802.11a/b/g/draft-n Wi-Fi Solution'

It seems to me that the bwi driver being talked about here doesn't support my card yet; and 8-CURRENT won't solve my problem either. Any ideas?
 
following the dialog between paradox and everypot i've picked up a few clues.
i too created ndis0 for bcm4315 following the handbook verbatim, but when i try to boot, process hangs once ndis is loaded, forcing me to power off, reboot into "escape to loader prompt" mode, unload, autoboot, and comment out the driver in loader.conf. reboot works as expected. then a
Code:
# kldload bcmwl5_sys
# dhclient ndis0

gets me online. any ideas? following are pertinent details to what causes boot to hang.

Code:
/boot/loader.conf
bcmwl5_sys_load="YES"
wlan_tkip_load="YES"
wlan_ccmp_load="YES"

Code:
/etc/rc.conf
wpa_supplicant_enable="YES"
wlans_ndis0="wlan0"
ifconfig_wlan0="WPA DHCP"
wpa_supplicant_conf_file="/etc/wpa_supplicant.conf"

Code:
/etc/wpa_supplicant.conf
network={
ssid="my_network"
psk="my_password"
}

Code:
# ls /boot/modules/
bcmwl5_sys.ko

granted, it is only a minor inconvenience to have to
Code:
# kldload bcmwl5_sys
# dhclient ndis0

but if i didn't mind compromising i wouldn't be using bsd in the first place :)
any help would be MUCH appreciated!
 
sorry, the 2 bits of code in my post above were to read "dhclient wlan0", NOT "dhclient ndis0",
and i seem to be incapable of applying an edit to my own post.
 
amorphousone said:
following the dialog between paradox and everypot i've picked up a few clues.
i too created ndis0 for bcm4315 following the handbook verbatim, but when i try to boot, process hangs once ndis is loaded, forcing me to power off, reboot into "escape to loader prompt" mode, unload, autoboot, and comment out the driver in loader.conf. reboot works as expected. then a
Code:
# kldload bcmwl5_sys
# dhclient ndis0

gets me online. any ideas? following are pertinent details to what causes boot to hang.

Code:
/boot/loader.conf
bcmwl5_sys_load="YES"
wlan_tkip_load="YES"
wlan_ccmp_load="YES"

Code:
/etc/rc.conf
wpa_supplicant_enable="YES"
wlans_ndis0="wlan0"
ifconfig_wlan0="WPA DHCP"
wpa_supplicant_conf_file="/etc/wpa_supplicant.conf"

Code:
/etc/wpa_supplicant.conf
network={
ssid="my_network"
psk="my_password"
}

Code:
# ls /boot/modules/
bcmwl5_sys.ko

granted, it is only a minor inconvenience to have to
Code:
# kldload bcmwl5_sys
# dhclient ndis0

but if i didn't mind compromising i wouldn't be using bsd in the first place :)
any help would be MUCH appreciated!

This is known issue, already reported in another thread.
 
Back
Top