# Wireless BCM4309 - problems installing driver



## aikiPupil (Feb 3, 2010)

I have read the man page as well as several posts regarding the installation of the drivers for the Broadcom Wireless mini pci card(BCM 4309). 

I believe I installed the firmware via the ports collection which the man page says is required, found at 
     /usr/ports/net/bwi-firmware-kmod
as I now have several files like:
     /usr/src/sys/dev/bwi/if_bwi.c

I am not sure what I have missed but I can see that the card is identified at start time, but a driver is not associated to it.(as shown below)

Is there a clearly written resource laying out the steps required to get the drivers installed correctly.

Or does anyone have any suggested diagnostics I can do to get a clearer picture of where I messed this up at?

My apologies if I am missing something obvious as this is my first experience with freeBSD.

Thanks in advance for any help.
_______________________________


```
$ uname -a
FreeBSD mob-ss1771 8.0-RELEASE FreeBSD 8.0-RELEASE #0: Sat Nov 21 15:48:17 UTC 2009     [email]root@almeida.cse.buffalo.edu[/email]:/usr/obj/usr/src/sys/GENERIC  i386


$ pciconf -lcvb

none2@pci0:2:3:0:       class=0x028000 card=0x00011028 chip=0x432414e4 rev=0x02 hdr=0x00
    vendor     = 'Broadcom Corporation'
    device     = '802.11a/b/g Wireless LAN Controller (BCM4309)'
    class      = network
    bar   [10] = type Memory, range 32, base 0xfaff6000, size 8192, enabled
    cap 01[40] = powerspec 2  supports D0 D1 D2 D3  current D0


$ pkg_info | grep bwi
bwi-firmware-kmod-3.130.20 Broadcom AirForce IEEE 802.11 Firmware Kernel Module


$ pkg_info | grep cutter
b43-fwcutter-011    Extracts firmware for Broadcom Wireless adapters
```


----------



## DutchDaemon (Feb 3, 2010)

Do you have the module in /boot/modules? Try kldloading it. The files in /usr/src are unrelated to the port, as they're part of the base system.


----------



## aikiPupil (Feb 4, 2010)

The module is not being loaded at boot time as evidence by:


```
kldstat
Id Refs Address    Size     Name
 1    1 0xc0400000 b6dfe0   kernel
```


When I load it it does not associate to the wireless card as shown below:



```
ll
total 104
-r-xr-xr-x  1 root  wheel  103984 Jan 27 00:13 bwi_v3_ucode.ko
-rw-r--r--  1 root  wheel      88 Jan 27 00:13 linker.hints
```


```
kldload bwi_v3_ucode.ko
```


```
kldstat
Id Refs Address    Size     Name
 1    4 0xc0400000 b6dfe0   kernel
 2    1 0xc5e87000 1a000    bwi_v3_ucode.ko
```


```
pciconf -lcvb
...
...
none2@pci0:2:3:0:       class=0x028000 card=0x00011028 chip=0x432414e4 rev=0x02 hdr=0x00
    vendor     = 'Broadcom Corporation'
    device     = '802.11a/b/g Wireless LAN Controller (BCM4309)'
    class      = network
    bar   [10] = type Memory, range 32, base 0xfaff6000, size 8192, enabled
    cap 01[40] = powerspec 2  supports D0 D1 D2 D3  current D0
```



I still think I must be missing something obvious.


----------



## DutchDaemon (Feb 4, 2010)

kldloading may be too late in the process. Try adding bwi_v3_ucode_load="YES" (this is a guess) to /boot/loader.conf.


----------



## aikiPupil (Feb 5, 2010)

Adding that line did load the module on startup. I am not seeing the driver associated to the card though.

`pciconf -lcvb`


```
none2@pci0:2:3:0:       class=0x028000 card=0x00011028 chip=0x432414e4 rev=0x02 hdr=0x00
    vendor     = 'Broadcom Corporation'
    device     = '802.11a/b/g Wireless LAN Controller (BCM4309)'
    class      = network
    bar   [10] = type Memory, range 32, base 0xfaff6000, size 8192, enabled
    cap 01[40] = powerspec 2  supports D0 D1 D2 D3  current D0
```

A step in the right direction, Any additional ideas?


----------



## DutchDaemon (Feb 5, 2010)

Can you post the relevant bits of [cmd=]dmesg -a[/cmd]?


----------



## aikiPupil (Feb 6, 2010)

I am not sure which parts are relevant as I did not see anything that looks like it is associated to the wireless mini pci card. But I have included the complete contents in the text file Dmesg.txt attached.


----------



## aikiPupil (Feb 6, 2010)

I did figure out that part of the driver was not loaded. I went to /usr/src/sys/modules/bwi and did make install clean which got me the if_bwi.ko to load. once I rebooted I am now seeing the following in dmesg


```
bwi0: <Broadcom BCM4309 802.11a/b/g Wireless Lan> mem 0xfaff6000-0xfaff7fff irq 9 at device 3.0 on pci2
bwi0: [ITHREAD]
bwi0: BBP: id 0x4306, rev 0x2, pkg 0
bwi0: MAC: rev 4
bwi0: MAC: rev 4
bwi0: PHY: type 2, rev 1, ver 1
bwi0: RF: manu 0x17f, type 0x2050, rev 2
bwi0: invalid antenna gain in sprom
bwi0: PHY: type 0, rev 2, ver 1
bwi0: RF: manu 0x17f, type 0x2060, rev 1
bwi0: invalid antenna gain in sprom
bwi0: WARNING: using obsoleted if_watchdog interface
```


I am also seeing the following in pciconf -lcvb


```
bwi0@pci0:2:3:0:        class=0x028000 card=0x00011028 chip=0x432414e4 rev=0x02 hdr=0x00
    vendor     = 'Broadcom Corporation'
    device     = '802.11a/b/g Wireless LAN Controller (BCM4309)'
    class      = network
    bar   [10] = type Memory, range 32, base 0xfaff6000, size 8192, enabled
    cap 01[40] = powerspec 2  supports D0 D1 D2 D3  current D0
```


So after making progress to this point I was am assuming that I have the drivers installed.

Which does bring me to the next roadblock  the bwi0 interface is showing no carrier and I am not getting any scan results.




```
ifconfig bwi0
bwi0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 2290
        ether 00:90:4b:16:6c:7a
        media: IEEE 802.11 Wireless Ethernet autoselect (autoselect)
        status: no carrier
```


```
ifconfig bwi0 up scan
ifconfig: unable to get scan results
```

Any ideas? 

P.S DutchDaemon I truly appreciate your help thus far!


----------



## DutchDaemon (Feb 6, 2010)

Did you check this out?


----------



## aikiPupil (Feb 7, 2010)

I have finally been able to piece enough information together to get wireless working. Here are the changes so far in the corresponding files:

cat /etc/rc.conf
...

```
hald_enable="YES"
dbus_enable="YES"
tcp_extensions="YES"
inetd_enable="YES"
wpa_supplicant_enable="YES"
wpa_supplicant_conf_file="/etc/wpa_supplicant.conf"
vaps_bwi0="wlan0"
wlans_bwi0="wlan0"
ifconfig_wlan0="WPA inet 192.168.0.11 netmask 255.255.255.0"
defaultrouter=192.168.0.100
```
 cat /boot/loader.conf

```
bwi_v3_ucode_load="YES"
if_bwi_load="YES"
wlan_scan_ap_load="YES"
wlan_scan_sta_load="YES"
wlan_wep_load="YES"
wlan_ccmp_load="YES"
wlan_tkip_load="YES"
if_vlan_load="YES"
```


 cat /etc/wpa_supplicant.conf

```
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=wheel
ap_scan=1
network={
proto=WPA
key_mgmt=WPA-PSK
ssid="MYSSID"
psk="MYPASSKEY"
pairwise=TKIP
}
```

I am finding the connection is dropping and performance is slow but I will pay attention and report back after I have had a little bit of time to test on it.

DutchDaemon Thanks again for the guidance!


----------



## Bhavesh (Feb 18, 2010)

*Same problem*

I have this very same problem. I need your help. Tell me what to do?

Thank you.

Bhavesh.


----------



## Bhavesh (Feb 18, 2010)

*P. S.*

bhavesh# cat /etc/rc.conf


```
# -- sysinstall generated deltas -- # Sat Feb 13 23:47:57 2010
# Created: Sat Feb 13 23:47:57 2010                           
# Enable network daemons for user convenience.                
# Please make all changes to this file, not to /etc/defaults/rc.conf.
# This file now contains just the overrides from /etc/defaults/rc.conf.
keymap="us.iso"                                                        
moused_enable="YES"                                                    
# -- sysinstall generated deltas -- # Sun Feb 14 01:43:04 2010         
hald_enable="YES"                                                      
dbus_enable="YES"                                                      
# -- sysinstall generated deltas -- # Sun Feb 14 14:55:42 2010         
ifconfig_bfe0="DHCP"                                                   
hostname="bhavesh.ath.cx"                                              
#wlans_wpi0="wlan0"                                                    
#ifconfig_wlan0="WPA DHCP"                                             
#ifconfig_ath0="ssid Adi DHCP"                                         
tcp_extensions="YES"                                                   
inetd_enable="YES"                                                     
wpa_supplicant_enable="YES"                                            
wpa_supplicant_conf_file="/etc/wpa_supplicant.conf"                    
vaps_bwi0="wlan0"                                                      
wlans_bwi0="wlan0"                                                     
#ifconfig_bwi0="ssid Adi DHCP"                                         
ifconfig_wlan0="WPA inet 192.168.0.100 netmask 255.255.255.0"          
#defaultrouter=192.168.1.2                                             
bhavesh# 
bhavesh# 
bhavesh# 
bhavesh# 
bhavesh#
bhavesh#
bhavesh#
bhavesh#
bhavesh# cat /boot/loader.conf
#if_wpi_load="YES"
#if_ath_load="YES"
bwi_v3_ucode_load="YES"
if_bwi_load="YES"
wlan_scan_ap_load="YES"
wlan_scan_sta_load="YES"
wlan_wep_load="YES"
wlan_ccmp_load="YES"
wlan_tkip_load="YES"
if_vlan_load="YES"
bhavesh#
bhavesh#
bhavesh#
bhavesh#
bhavesh#
bhavesh#
bhavesh#
bhavesh#
bhavesh# cat /etc/wpa_supplicant.conf
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=wheel
ap_scan=1
network={
proto=WPA
key_mgmt=WPA-PSK
ssid="Adi"
psk="Yamila Drink"
pairwise=TKIP
#wep_tx_keyidx=0
#wep_key0=92645234297244926452342972
}
bhavesh#
```


----------



## Bhavesh (Feb 19, 2010)

```
bhavesh: bhavesh# dmesg | grep bwi
Preloaded elf module "/boot/modules/bwi_v3_ucode.ko" at 0xc0f90284.
firmware: 'bwi_v3_ucode' version 0: 0 bytes loaded at 0xc0f763d4
firmware: 'bwi_v3_ucode11' version 0: 21680 bytes loaded at 0xc0f763d4
firmware: 'bwi_v3_ucode2' version 0: 16360 bytes loaded at 0xc0f7b884
firmware: 'bwi_v3_ucode4' version 0: 20096 bytes loaded at 0xc0f7f86c
firmware: 'bwi_v3_ucode5' version 0: 22280 bytes loaded at 0xc0f846ec
firmware: 'bwi_v3_a0g0bsinitvals2' version 0: 18 bytes loaded at 0xc0f89df4
firmware: 'bwi_v3_a0g0bsinitvals5' version 0: 158 bytes loaded at 0xc0f89e06
firmware: 'bwi_v3_a0g0initvals2' version 0: 2520 bytes loaded at 0xc0f89ea4
firmware: 'bwi_v3_a0g0initvals5' version 0: 1818 bytes loaded at 0xc0f8a87c
firmware: 'bwi_v3_a0g1bsinitvals5' version 0: 158 bytes loaded at 0xc0f8af96
firmware: 'bwi_v3_a0g1initvals5' version 0: 1818 bytes loaded at 0xc0f8b034
firmware: 'bwi_v3_b0g0bsinitvals2' version 0: 18 bytes loaded at 0xc0f8b74e
firmware: 'bwi_v3_b0g0bsinitvals5' version 0: 158 bytes loaded at 0xc0f8b760
firmware: 'bwi_v3_b0g0initvals2' version 0: 2520 bytes loaded at 0xc0f8b7fe
firmware: 'bwi_v3_b0g0initvals5' version 0: 1818 bytes loaded at 0xc0f8c1d6
firmware: 'bwi_v3_pcm4' version 0: 1320 bytes loaded at 0xc0f8c8f0
firmware: 'bwi_v3_pcm5' version 0: 1320 bytes loaded at 0xc0f8ce18
```


----------

