LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Wireless Networking (http://www.linuxquestions.org/questions/linux-wireless-networking-41/)
-   -   Installing BCM4306 wireless LAN controller in RHEL (http://www.linuxquestions.org/questions/linux-wireless-networking-41/installing-bcm4306-wireless-lan-controller-in-rhel-645046/)

tanveer 05-27-2008 07:57 AM

Installing BCM4306 wireless LAN controller in RHEL
 
Hello all,

I have installed RHEL4 (Update 2) with a Linksys BCM4306 802.11b/g wireless LAN Controller (rev 02) card in it.
This card got detected with the lspci command. Now how to make in work actually i.e., where to find the driver. I already googled but no feasible link to this cards driver. Every discussion seems to end in ndiswrapper which is completely new to me.

Any help in this regard.

Hangdog42 05-27-2008 10:11 AM

You've got two options with this card:

1) b43/b43-legacy - These are the drivers in the kernel and are almost certainly part of the RHEL4 kernel. Have a look at your lsmod output and see if either of them are already loaded. If you go this direction, you need to use a program called fwcutter to create the firmware files necessary for the b43/b43-legacy driver to work. There are good instructions here on how to do that.

2)ndiswrapper - This allows Windows drivers to function in Linux. To use this, you'll have to compile ndsiwrapper (usually pretty easy) and install a Windows driver (check out the ndiswrapper wiki for good instructions). You will also have to blacklist b43 and the ssb module, otherwise you'll get a conflict over the wireless card.

tanveer 05-29-2008 02:40 AM

Hi,
Thanks for your answer.
I have moved to Fedora core7 for this. After installing I am confused as whether the wireless card is really installed or what, as in modprobe there is no entry of it.

In 'network configuration' window its showing only the Builtin lan card as broadcom Tigon3 but not showing the wireless one.

Below are the settings:


PHP Code:

[root@localhost ~]# cat /etc/modprobe.conf
alias eth0 tg3
alias scsi_hostadapter ata_piix
alias snd
-card-0 snd-intel8x0
options snd
-card-0 index=0
options snd
-intel8x0 index=0

[root@localhost ~]# lspci
....
.....
05:02.0 Ethernet controllerBroadcom Corporation NetXtreme BCM5782 Gigabit Ethernet (rev 03)
05:09.0 Network controllerBroadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 02)

[
root@localhost ~]# lspci -v
05:02.0 Ethernet controllerBroadcom Corporation NetXtreme BCM5782 Gigabit Ethernet (rev 03)
        
SubsystemHewlett-Packard Company d530 CMT (DG746A)
        
Flagsbus master66MHzmedium devsellatency 64IRQ 21
        Memory at f8400000 
(64-bitnon-prefetchable) [size=64K]
        
Capabilities: [48Power Management version 2
        Capabilities
: [50Vital Product Data
        Capabilities
: [58Message Signalled InterruptsMask64bitQueue=0/3 Enable-

05:09.0 Network controllerBroadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 02)
        
SubsystemLinksys Unknown device 0013
        Flags
bus masterfast devsellatency 66IRQ 18
        Memory at f8410000 
(32-bitnon-prefetchable) [size=8K]
        
Capabilities: [40Power Management version 2

[root@localhost ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0E:7F:62:E9:39  
          inet addr
:10.10.x.xxx  Bcast:10.10.x.xxx  Mask:255.255.255.0
          inet6 addr
fe80::20e:7fff:fe6c:e989/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU
:1500  Metric:1
          RX packets
:1360 errors:0 dropped:0 overruns:0 frame:0
          TX packets
:379 errors:0 dropped:0 overruns:0 carrier:0
          collisions
:0 txqueuelen:1000 
          RX bytes
:116516 (113.7 KiB)  TX bytes:57364 (56.0 KiB)
          
Interrupt:21 

lo        Link encap
:Local Loopback  
          inet addr
:127.0.0.1  Mask:255.0.0.0
          inet6 addr
: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU
:16436  Metric:1
          RX packets
:4194 errors:0 dropped:0 overruns:0 frame:0
          TX packets
:4194 errors:0 dropped:0 overruns:0 carrier:0
          collisions
:0 txqueuelen:
          RX bytes
:29414088 (28.0 MiB)  TX bytes:29414088 (28.0 MiB)



[
root@localhost ~]# iwconfig
lo        no wireless extensions.

eth0      no wireless extensions.

wmaster0  no wireless extensions.

wlan0     IEEE 802.11g  ESSID:""  
          
Mode:Managed  Channel:0  Access PointNot-Associated   
          Retry min limit
:7   RTS thr:off   Fragment thr=2346 B   
          Encryption key
:off
          Link Quality
:0  Signal level:0  Noise level:0
          Rx invalid nwid
:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries
:0  Invalid misc:0   Missed beacon:

The /var/log/messages is showing

Code:

May 29 21:35:36 localhost kernel: bcm43xx_mac80211: Adding Interface type 2
May 29 21:35:36 localhost kernel: bcm43xx_mac80211: Error: Microcode "bcm43xx_microcode4.fw" not available or load failed.
May 29 21:35:36 localhost firmware_helper[30980]: Loading of /lib/firmware/bcm43xx_microcode4.fw for bcm43xx_mac80211 driver failed: No such file or directory
May 29 21:35:38 localhost NetworkManager: <WARN>  nm_device_802_11_wireless_scan(): could not trigger wireless scan on device wlan0: Network is down


Hangdog42 05-29-2008 09:01 AM

Quote:

I have moved to Fedora core7 for this. After installing I am confused as whether the wireless card is really installed or what, as in modprobe there is no entry of it.
Moving to FC7 doesn't change anything I wrote in my first post. You either have to install the firmware for the native linux driver or you have to install ndiswrapper and a Windows driver.

If you look at your iwconfig output, it DOES see the wireless card (wlan0). And looking at the log output, it shows that bcm43xx (the now discontinued precedessor to b43) can't find the firmware files it needs. To get this working you either have to install the firmware (using the fwcutter version for bcm43xx) or install ndiswrapper and a Windows driver and blacklist bcm43xx.

tanveer 05-31-2008 12:20 AM

Ok, I followed to go with the native one as in this link
http://linuxwireless.org/en/users/Dr...devicefirmware and used the deprecated bcm43xx driver procedure

Outcome is as follows:

PHP Code:

[root@localhost wireless]# cd bcm43xx-fwcutter-006

[root@localhost bcm43xx-fwcutter-006]# ll
total 164
-rw-r--r-- 1 1000 1000  2622 2006-12-09 03:00 bcm43xx-fwcutter.1
-rw-r--r-- 1 1000 1000 18011 2006-12-09 03:00 COPYING
-rw-r--r-- 1 1000 1000 20628 2006-12-09 03:00 fwcutter.c
-rw-r--r-- 1 1000 1000  4985 2006-12-09 03:00 fwcutter.h
-rw-r--r-- 1 1000 1000 73904 2006-12-09 03:00 fwcutter_list.h
-rw-r--r-- 1 1000 1000   869 2006-12-09 03:00 Makefile
-rw-r--r-- 1 1000 1000  8237 2006-12-09 03:00 md5.c
-rw-r--r-- 1 1000 1000   379 2006-12-09 03:00 md5.h
-rw-r--r-- 1 1000 1000  6996 2006-12-09 03:00 README
[root@localhost bcm43xx-fwcutter-006]# make
cc -O2 -fomit-frame-pointer -std=c99 -Wall -pedantic -D_BSD_SOURCE -DFWCUTTER_VERSION_=006   --o fwcutter.o fwcutter.c
cc 
-O2 -fomit-frame-pointer -std=c99 -Wall -pedantic -D_BSD_SOURCE -DFWCUTTER_VERSION_=006   --o md5.o md5.c
cc 
-O2 -fomit-frame-pointer -std=c99 -Wall -pedantic -D_BSD_SOURCE -DFWCUTTER_VERSION_=006 -o bcm43xx-fwcutter fwcutter.o md5.


[root@localhost bcm43xx-fwcutter-006]# cd /lib/firmware/
[root@localhost firmware]# ll
total 2124
-rw-r--r-- 1 root root   3504 2008-05-31 09:01 bcm43xx_initval01.fw
-rw-r--r-- 1 root root     16 2008-05-31 09:01 bcm43xx_initval02.fw
-rw-r--r-- 1 root root   3504 2008-05-31 09:01 bcm43xx_initval03.fw
-rw-r--r-- 1 root root     16 2008-05-31 09:01 bcm43xx_initval04.fw
-rw-r--r-- 1 root root   2536 2008-05-31 09:01 bcm43xx_initval05.fw
-rw-r--r-- 1 root root    248 2008-05-31 09:01 bcm43xx_initval06.fw
-rw-r--r-- 1 root root   2536 2008-05-31 09:01 bcm43xx_initval07.fw
-rw-r--r-- 1 root root   2536 2008-05-31 09:01 bcm43xx_initval08.fw
-rw-r--r-- 1 root root    248 2008-05-31 09:01 bcm43xx_initval09.fw
-rw-r--r-- 1 root root    248 2008-05-31 09:01 bcm43xx_initval10.fw
-rw-r--r-- 1 root root  21672 2008-05-31 09:01 bcm43xx_microcode11.fw
-rw-r--r-- 1 root root  16352 2008-05-31 09:01 bcm43xx_microcode2.fw
-rw-r--r-- 1 root root  20088 2008-05-31 09:01 bcm43xx_microcode4.fw
-rw-r--r-- 1 root root  22272 2008-05-31 09:01 bcm43xx_microcode5.fw
-rw-r--r-- 1 root root   1312 2008-05-31 09:01 bcm43xx_pcm4.fw
-rw-r--r-- 1 root root   1312 2008-05-31 09:01 bcm43xx_pcm5.fw
-rw-r--r-- 1 root root 209190 2004-09-27 21:26 ipw2100-1.3.fw
-rw-r--r-- 1 root root 201138 2004-09-27 21:26 ipw2100-1.3-i.fw
-rw-r--r-- 1 root root 196458 2004-09-27 21:26 ipw2100-1.3-p.fw
-rw-r--r-- 1 root root 191142 2006-03-08 01:49 ipw2200-bss.fw
-rw-r--r-- 1 root root 185660 2006-03-08 01:49 ipw2200-ibss.fw
-rw-r--r-- 1 root root 187836 2006-03-08 01:49 ipw2200-sniffer.fw
-rw-r--r-- 1 root root   6472 2005-08-11 19:06 ipw-2.4-boot.fw
-rw-r--r-- 1 root root 168344 2005-08-11 19:06 ipw-2.4-bss.fw
-rw-r--r-- 1 root root  16334 2005-08-11 19:06 ipw-2.4-bss_ucode.fw
-rw-r--r-- 1 root root 162884 2005-08-11 19:06 ipw-2.4-ibss.fw
-rw-r--r-- 1 root root  16312 2005-08-11 19:06 ipw-2.4-ibss_ucode.fw
-rw-r--r-- 1 root root 168344 2005-08-11 19:06 ipw-2.4-sniffer.fw
-rw-r--r-- 1 root root  16344 2005-08-11 19:06 ipw-2.4-sniffer_ucode.fw
-rw-r--r-- 1 root root 148476 2007-04-20 21:05 iwlwifi-3945.ucode
-rw-r--r-- 1 root root  11880 2004-03-04 01:13 LICENSE.ipw2100
-rw-r--r-- 1 root root  12007 2005-08-11 18:33 LICENSE.ipw2200
drwxr
-xr-x 2 root root   4096 2008-05-31 14:29 zd1211

[root@localhost firmware]# cd ..
[root@localhost lib]# export FIRMWARE_INSTALL_DIR="/lib/firmware"
[root@localhost lib]# cd /root/wireless/
[root@localhost wireless]# cd bcm43xx-fwcutter-006
[root@localhost bcm43xx-fwcutter-006]# ./bcm43xx-fwcutter -w "$FIRMWARE_INSTALL_DIR" ../wl_apsta-3.130.20.0.o 

  
filename   :  wl_apsta.o
  version    
:  3.130.20.0
  MD5        
:  e08665c5c5b66beb9c3b2dd54aa80cb3
  microcodes 
:  2 4 5 11 
  pcms       
:  4 5 

  microcode  
:  2
  revision   
:  0x0127
  patchlevel 
:  0x000e
  date       
:  2005-04-18
  time       
:  02:36:27

  microcode  
:  4
  revision   
:  0x0127
  patchlevel 
:  0x000e
  date       
:  2005-04-18
  time       
:  02:36:27

  microcode  
:  5
  revision   
:  0x0127
  patchlevel 
:  0x000e
  date       
:  2005-04-18
  time       
:  02:36:27

  microcode  
:  11
  revision   
:  0x0127
  patchlevel 
:  0x000e
  date       
:  2005-04-18
  time       
:  02:36:27

extracting bcm43xx_microcode2
.fw ...
extracting bcm43xx_microcode4.fw ...
extracting bcm43xx_microcode5.fw ...
extracting bcm43xx_microcode11.fw ...
extracting bcm43xx_pcm4.fw ...
extracting bcm43xx_pcm5.fw ...
extracting bcm43xx_initval01.fw ...
extracting bcm43xx_initval02.fw ...
extracting bcm43xx_initval03.fw ...
extracting bcm43xx_initval04.fw ...
extracting bcm43xx_initval05.fw ...
extracting bcm43xx_initval06.fw ...
extracting bcm43xx_initval07.fw ...
extracting bcm43xx_initval08.fw ...
extracting bcm43xx_initval09.fw ...
extracting bcm43xx_initval10.fw ...


[
root@localhost ~]# iwlist wlan0 scanning
wlan0     Interface doesnt support scanning Network is down

[root@localhost firmware]# /sbin/ifup wlan0 
/sbin/ifupconfiguration for wlan0 not found.
Usageifup <device name

Now the log is saying this:
Code:

May 31 09:34:22 localhost kernel: bcm43xx_mac80211: Adding Interface type 2
May 31 09:34:22 localhost kernel: bcm43xx_mac80211: YOUR FIRMWARE IS TOO OLD. Firmware from binary drivers older than version 4.x is unsupported. You must upgrade your firmware files.
May 31 09:34:24 localhost NetworkManager: <WARN>  nm_device_802_11_wireless_scan(): could not trigger wireless scan on device wlan0: Network is down

After this I tried with with ndiswrapper as follows:
PHP Code:

[root@localhost ndiswrapper]# tar -zxf ndiswrapper-1.53.tar.gz 
[root@localhost ndiswrapper]# cd ndiswrapper-1.53
[root@localhost ndiswrapper-1.53]# ls
AUTHORS  ChangeLog  driver  INSTALL  loadndisdriver.8  Makefile  ndiswrapper.8  ndiswrapper.spec  README  utils
[root@localhost ndiswrapper-1.53]# make distclean
make -C driver clean
make
[1]: Entering directory `/root/wireless/ndiswrapper/ndiswrapper-1.53/driver'
rm -f *.o *.ko .*.cmd *.mod.c *.symvers modules.order *~ .\#*
rm -f *_exports.h win2lin_stubs.h
rm -rf .tmp_versions
make[1]: Leaving directory 
`/root/wireless/ndiswrapper/ndiswrapper-1.53/driver'
make -C utils clean
make[1]: Entering directory `/root/wireless/ndiswrapper/ndiswrapper-1.53/utils'
rm -*~ *.o loadndisdriver
make
[1]: Leaving directory `/root/wireless/ndiswrapper/ndiswrapper-1.53/utils'
rm -f *~
rm -fr ndiswrapper-1.53 ndiswrapper-1.53.tar.gz patch-stamp
make -C driver distclean
make[1]: Entering directory 
`/root/wireless/ndiswrapper/ndiswrapper-1.53/driver'
make[1]: *** No rule to make target `distclean'
.  Stop.
make[1]: Leaving directory `/root/wireless/ndiswrapper/ndiswrapper-1.53/driver'
make: *** [distclean] Error 2

[root@localhost ndiswrapper-1.53]# make
make -C driver
make[1]: Entering directory 
`/root/wireless/ndiswrapper/ndiswrapper-1.53/driver'


*** WARNING: This kernel uses 4K stack size option
(CONFIG_4KSTACKS); many Windows drivers will not work
with this option enabled. Disable CONFIG_4KSTACKS
in kernel'
.config filerecompile and install kernel


make 
-/usr/src/kernels/2.6.21-1.3194.fc7-i686 M=/root/wireless/ndiswrapper/ndiswrapper-1.53/driver
make
[2]: Entering directory `/usr/src/kernels/2.6.21-1.3194.fc7-i686'
  LD      /root/wireless/ndiswrapper/ndiswrapper-1.53/driver/built-in.o
  MKEXPORT /root/wireless/ndiswrapper/ndiswrapper-1.53/driver/crt_exports.h
  MKEXPORT /root/wireless/ndiswrapper/ndiswrapper-1.53/driver/hal_exports.h
  MKEXPORT /root/wireless/ndiswrapper/ndiswrapper-1.53/driver/ndis_exports.h
  MKEXPORT /root/wireless/ndiswrapper/ndiswrapper-1.53/driver/ntoskernel_exports.h
  MKEXPORT /root/wireless/ndiswrapper/ndiswrapper-1.53/driver/ntoskernel_io_exports.h
  MKEXPORT /root/wireless/ndiswrapper/ndiswrapper-1.53/driver/rtl_exports.h
  MKEXPORT /root/wireless/ndiswrapper/ndiswrapper-1.53/driver/usb_exports.h
  CC [M]  /root/wireless/ndiswrapper/ndiswrapper-1.53/driver/crt.o
  CC [M]  /root/wireless/ndiswrapper/ndiswrapper-1.53/driver/hal.o
  CC [M]  /root/wireless/ndiswrapper/ndiswrapper-1.53/driver/iw_ndis.o
  CC [M]  /root/wireless/ndiswrapper/ndiswrapper-1.53/driver/loader.o
  CC [M]  /root/wireless/ndiswrapper/ndiswrapper-1.53/driver/ndis.o
  CC [M]  /root/wireless/ndiswrapper/ndiswrapper-1.53/driver/ntoskernel.o
  CC [M]  /root/wireless/ndiswrapper/ndiswrapper-1.53/driver/ntoskernel_io.o
  CC [M]  /root/wireless/ndiswrapper/ndiswrapper-1.53/driver/pe_linker.o
  CC [M]  /root/wireless/ndiswrapper/ndiswrapper-1.53/driver/pnp.o
  CC [M]  /root/wireless/ndiswrapper/ndiswrapper-1.53/driver/proc.o
  CC [M]  /root/wireless/ndiswrapper/ndiswrapper-1.53/driver/rtl.o
  CC [M]  /root/wireless/ndiswrapper/ndiswrapper-1.53/driver/wrapmem.o
  CC [M]  /root/wireless/ndiswrapper/ndiswrapper-1.53/driver/wrapndis.o
  CC [M]  /root/wireless/ndiswrapper/ndiswrapper-1.53/driver/wrapper.o
  CC [M]  /root/wireless/ndiswrapper/ndiswrapper-1.53/driver/usb.o
  CC [M]  /root/wireless/ndiswrapper/ndiswrapper-1.53/driver/divdi3.o
  LD [M]  /root/wireless/ndiswrapper/ndiswrapper-1.53/driver/ndiswrapper.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /root/wireless/ndiswrapper/ndiswrapper-1.53/driver/ndiswrapper.mod.o
  LD [M]  /root/wireless/ndiswrapper/ndiswrapper-1.53/driver/ndiswrapper.ko
make[2]: Leaving directory 
`/usr/src/kernels/2.6.21-1.3194.fc7-i686'
make[1]: Leaving directory `/root/wireless/ndiswrapper/ndiswrapper-1.53/driver'
make -C utils
make
[1]: Entering directory `/root/wireless/ndiswrapper/ndiswrapper-1.53/utils'
gcc -g -Wall -I../driver -o loadndisdriver loadndisdriver.c
make[1]: Leaving directory 
`/root/wireless/ndiswrapper/ndiswrapper-1.53/utils'



[root@localhost ndiswrapper-1.53]# make install
make -C driver install
make[1]: Entering directory `/root/wireless/ndiswrapper/ndiswrapper-1.53/driver'


*** WARNINGThis kernel uses 4K stack size option
(CONFIG_4KSTACKS); many Windows drivers will not work
with this option enabled
Disable CONFIG_4KSTACKS
in kernel
's .config file, recompile and install kernel


make -C /usr/src/kernels/2.6.21-1.3194.fc7-i686 M=/root/wireless/ndiswrapper/ndiswrapper-1.53/driver
make[2]: Entering directory `/usr/src/kernels/2.6.21-1.3194.fc7-i686'
  
Building modulesstage 2.
  MODPOST 1 modules
make
[2]: Leaving directory `/usr/src/kernels/2.6.21-1.3194.fc7-i686'
echo /lib/modules/2.6.21-1.3194.fc7/misc
/lib/modules/2.6.21-1.3194.fc7/misc
mkdir -p /lib/modules/2.6.21-1.3194.fc7/misc
install -m 0644 ndiswrapper.ko /lib/modules/2.6.21-1.3194.fc7/misc
/sbin/depmod -a 2.6.21-1.3194.fc7 -b /
make[1]: Leaving directory 
`/root/wireless/ndiswrapper/ndiswrapper-1.53/driver'
make -C utils install
make[1]: Entering directory `/root/wireless/ndiswrapper/ndiswrapper-1.53/utils'
install --m 755 loadndisdriver /sbin/loadndisdriver
install 
--m 755 ndiswrapper /usr/sbin/ndiswrapper
install 
--m 755 ndiswrapper-buginfo /usr/sbin/ndiswrapper-buginfo

NOTE
Windows driver configuration file format has changed since 1.5You must re-install Windows drivers if they were installed before.
make[1]: Leaving directory `/root/wireless/ndiswrapper/ndiswrapper-1.53/utils'
mkdir -p -m 0755 /usr/share/man/man8
install -m 644 ndiswrapper.8 /usr/share/man/man8
install -m 644 loadndisdriver.8 /usr/share/man/man8

#lspci -n
...
05:09.0 0280: 14e4:4320 (rev 02)

[root@localhost ndiswrapper-1.53]# ls
AUTHORS  ChangeLog  driver  INSTALL  loadndisdriver.8  Makefile  ndiswrapper.8  ndiswrapper.spec  README  utils
[root@localhost ndiswrapper-1.53]# cd ..
[root@localhost ndiswrapper]# ls
ndiswrapper-1.53  ndiswrapper-1.53.tar.gz  R94827.EXE
[root@localhost ndiswrapper]# mkdir win
[root@localhost ndiswrapper]# mv R94827.EXE win/
[root@localhost ndiswrapper]# cd win/
[root@localhost win]# unzip R94827.EXE 
Archive:  R94827.EXE
  inflating: AegisE2.dll             
  inflating: AegisE5.dll             
  inflating: AegisI2.exe             
  inflating: AegisI5.exe             
  inflating: bcm43xx.cat             
  inflating: bcm43xxa.cat            
  inflating: BCMLogon.dll            
  inflating: bcmwl5.inf              
  inflating: bcmwl5.sys              
  inflating: bcmwl5a.inf             
  inflating: bcmwlcpl.cpl            
  inflating: bcmwld2k.exe            
  inflating: bcmwlhlp.chm            
  inflating: bcmwlhoa.ini            
  inflating: bcmwlhom.exe            
  inflating: bcmwlhom.ini            
  inflating: bcmwlntp.sys            
  inflating: bcmwltry.exe            
  inflating: bcmwlu00.exe            
  inflating: data1.cab               
  inflating: data1.hdr               
  inflating: data2.cab               
  inflating: DellInfo.exe            
  inflating: dellinst.exe            
  inflating: ikernel.ex_             
  inflating: is.exe                  
  inflating: launcher.ini            
  inflating: layout.bin              
  inflating: MFC42.DLL               
  inflating: MFC42U.DLL              
  inflating: MSVCP60.DLL             
  inflating: MSVCRT.DLL              
  inflating: setup.exe               
  inflating: Setup.ini               
  inflating: setup.inx               
  inflating: setup.iss               
  inflating: wltray.exe              
  inflating: wltrynt.dll             
  inflating: wltrysvc.exe            

[root@localhost win]# ls *.inf
bcmwl5a.inf  bcmwl5.inf
[root@localhost win]# ls *.sys
bcmwl5.sys  bcmwlntp.sys
[root@localhost win]# ndiswrapper -i bcmwl5.inf 
installing bcmwl5 ...
forcing parameter IBSSGMode from 0 to 2
forcing parameter IBSSGMode from 0 to 2
forcing parameter IBSSGMode from 0 to 2
forcing parameter IBSSGMode from 0 to 2
forcing parameter IBSSGMode from 0 to 2
forcing parameter IBSSGMode from 0 to 2
forcing parameter IBSSGMode from 0 to 2
forcing parameter IBSSGMode from 0 to 2
forcing parameter IBSSGMode from 0 to 2
forcing parameter IBSSGMode from 0 to 2
forcing parameter IBSSGMode from 0 to 2
forcing parameter IBSSGMode from 0 to 2
forcing parameter IBSSGMode from 0 to 2
forcing parameter IBSSGMode from 0 to 2
forcing parameter IBSSGMode from 0 to 2
forcing parameter IBSSGMode from 0 to 2
[root@localhost win]# ndiswrapper -l
bcmwl5 : driver installed
        device (14E4:4320) present (alternate driver: bcm43xx-mac80211)
[root@localhost win]# rmmod bcm43xx-mac80211
[root@localhost win]# ndiswrapper -l
bcmwl5 : driver installed
        device (14E4:4320) present (alternate driver: bcm43xx-mac80211)
[root@localhost win]# ls /etc/ndiswrapper/
bcmwl5/ 

But still after removing the native driver wit rmmod as above it keeps appearing. Now if blacklist with these three lines
blacklist ssb
blacklist bcm43xx_mac80211
blacklist mac80211

then iwconfig doesn't even show the wlan0 interface.

tanveer 05-31-2008 01:20 AM

I think I made it work using which method I don't know as its now showing in modprobe.conf and also in nework manager. But in modprobe.conf its showing

PHP Code:

alias wlan0 bcm43xx-mac80211 

though I am using ndiswrapper. I am going to do the setup again to clear my concept of this wireless thing.

Hangdog42 05-31-2008 08:10 AM

A couple of things I noticed:

- That log file entry complaining of too old firmware means that you need to find a newer Windows driver to use to create firmware files. You might have some luck if you look at the old bcm43xx site, but since that driver has been deprecated, they may not link to appropriate drivers. An alternative would be to get the latest driver from your card manufacturers website and see if that works.
Quote:

But still after removing the native driver wit rmmod as above it keeps appearing. Now if blacklist with these three lines
blacklist ssb
blacklist bcm43xx_mac80211
blacklist mac80211

then iwconfig doesn't even show the wlan0 interface.
Now that you've blacklisted bcm43xx, you'll need to load ndiswrapper. In your modprobe.conf file you could change that line to

alias wlan0 ndiswrapper

That should mean that when the ndiswrapper module gets loaded, it grabs the wlan0 name. Note that you may have to load ndiswrapper manually (or in a startup script) as Fedora probably won't automatically load it.

Also, you got the infamous 4K warning when you compiled ndiswrapper. In the past, a lot of Fedora systems completely locked up when the ndiswrapper module was loaded, and the 4K stack was the reason. It depends a lot on the Windows driver being used, but if it happens to you, the only solution is to either find a kernel that doesn't have the 4K stack limitation or to dump ndiswrapper and use one of the native drivers.

tanveer 06-01-2008 03:32 AM

Tell me one thing, how will know that the wireless is really installed?
I now tried fresh installation of RHEL5 in that and after installation I found and entry in network manager windows and also in modprobe.conf file like alias eth1 bcm43xx.
Now at the log I checked and found that it was missing the firmware so right away I installed ndiswrapper as did previous post and blacklisted the bcm43xx and here is the output below. Does its installed now and how to make it active as no LED is glowing.
PHP Code:

[root@localhost ~]# iwconfig
lo        no wireless extensions.

eth0      no wireless extensions.

eth1      IEEE 802.11g  ESSID:off/any  
          Mode
:Managed  Frequency:2.462 GHz  Access PointNot-Associated   
          Bit Rate
:54 Mb/s   Tx-Power:25 dBm   
          RTS thr
:2347 B   Fragment thr:2346 B   
          Encryption key
:off
          Power Management
:off
          Link Quality
:0  Signal level:0  Noise level:0
          Rx invalid nwid
:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries
:0  Invalid misc:0   Missed beacon:0

sit0      no wireless extensions
.

After default installation the ESSID was like "" but after installing ndiswrapper it became as above "off/any"

[root@localhost ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0E:7F:6C:E9:89  
          inet addr
:10.10.4.228  Bcast:10.10.4.255  Mask:255.255.255.0
          inet6 addr
fe80::20e:7fff:fe6c:e989/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU
:1500  Metric:1
          RX packets
:7505 errors:0 dropped:0 overruns:0 frame:0
          TX packets
:199 errors:0 dropped:0 overruns:0 carrier:0
          collisions
:0 txqueuelen:1000 
          RX bytes
:577904 (564.3 KiB)  TX bytes:32844 (32.0 KiB)
          
Interrupt:201 

eth1      Link encap
:Ethernet  HWaddr 00:0C:41:13:38:47  
          UP BROADCAST MULTICAST  MTU
:1500  Metric:1
          RX packets
:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets
:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions
:0 txqueuelen:1000 
          RX bytes
:(0.0 b)  TX bytes:(0.0 b)
          
Interrupt:169 Memory:f8410000-f8412000 

lo        Link encap
:Local Loopback  
          inet addr
:127.0.0.1  Mask:255.0.0.0
          inet6 addr
: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU
:16436  Metric:1
          RX packets
:2949 errors:0 dropped:0 overruns:0 frame:0
          TX packets
:2949 errors:0 dropped:0 overruns:0 carrier:0
          collisions
:0 txqueuelen:
          RX bytes
:4171928 (3.9 MiB)  TX bytes:4171928 (3.9 MiB)

[
root@localhost ~]# iwlist eth1 scan
eth1      No scan results

[root@localhost ~]# ndiswrapper -l
bcmwl5 driver installed
        device 
(14E4:4320present (alternate driverbcm43xx)
[
root@localhost ~]# cat /etc/modprobe.conf
alias eth0 tg3
alias scsi_hostadapter ata_piix
#alias eth1 bcm43xx
# I added the below line
alias eth1 ndiswrapper  
alias snd
-card-0 snd-intel8x0
options snd
-card-0 index=0
options snd
-intel8x0 index=0
remove snd
-intel8x0 { /usr/sbin/alsactl store 0 >/dev/null 2>&|| : ; }; /sbin/modprobe ---ignore-remove snd-intel8x0

[root@localhost ~]# cat /etc/modprobe.d/blacklist
#
# Listing a module here prevents the hotplug scripts from loading it.
# Usually that'd be so that some other driver will bind it instead,
# no matter which driver happens to get probed first.  Sometimes user
# mode tools can also control driver binding.
#
# Syntax:  driver name alone (without any spaces) on a line. Other
# lines are ignored.
#

# watchdog drivers
blacklist i8xx_tco
blacklist bcm43xx 

# framebuffer drivers
blacklist aty128fb
blacklist atyfb
blacklist radeonfb
blacklist i810fb
blacklist cirrusfb
blacklist intelfb
blacklist kyrofb
blacklist i2c
-matroxfb
blacklist hgafb
blacklist nvidiafb
blacklist rivafb
blacklist savagefb
blacklist sstfb
blacklist neofb
blacklist tridentfb
blacklist tdfxfb
blacklist virgefb
blacklist vga16fb

# ISDN - see bugs 154799, 159068
blacklist hisax
blacklist hisax_fcpcipnp
[root@localhost ~]# lsmod
Module                  Size  Used by
autofs4                23749  2 
hidp                   23105  2 
rfcomm                 42457  0 
l2cap                  29505  10 hidp
,rfcomm
bluetooth              53925  5 hidp
,rfcomm,l2cap
sunrpc                142973  1 
video                  19269  0 
sbs                    18533  0 
i2c_ec                  9025  1 sbs
i2c_core               23745  1 i2c_ec
button                 10705  0 
battery                13637  0 
asus_acpi              19289  0 
ac                      9157  0 
ipv6                  251137  16 
lp                     15849  0 
snd_intel8x0           34269  1 
snd_ac97_codec         87009  1 snd_intel8x0
snd_ac97_bus            6337  1 snd_ac97_codec
snd_seq_dummy           7877  0 
snd_seq_oss            32705  0 
snd_seq_midi_event     11073  1 snd_seq_oss
snd_seq                49841  5 snd_seq_dummy
,snd_seq_oss,snd_seq_midi_event
floppy                 57125  0 
snd_seq_device         11853  3 snd_seq_dummy
,snd_seq_oss,snd_seq
snd_pcm_oss            42849  0 
snd_mixer_oss          19137  1 snd_pcm_oss
snd_pcm                71621  3 snd_intel8x0
,snd_ac97_codec,snd_pcm_oss
ndiswrapper           170256  0 
pcspkr                  7105  0 
tg3                    99781  0 
snd_timer              24901  2 snd_seq
,snd_pcm
snd                    51909  11 snd_intel8x0
,snd_ac97_codec,snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer
serio_raw              10693  0 
soundcore              13217  1 snd
parport_pc             29157  1 
parport                37513  2 lp
,parport_pc
snd_page_alloc         13641  2 snd_intel8x0
,snd_pcm
ide_cd                 40033  0 
cdrom                  36705  1 ide_cd
dm_snapshot            20581  0 
dm_zero                 6209  0 
dm_mirror              29713  0 
dm_mod                 56537  8 dm_snapshot
,dm_zero,dm_mirror
ata_piix               17609  0 
libata                 96857  1 ata_piix
sd_mod                 22977  0 
scsi_mod              130637  2 libata
,sd_mod
ext3                  123081  2 
jbd                    56553  1 ext3
ehci_hcd               32845  0 
ohci_hcd               23261  0 
uhci_hcd               25421  0 
[root@localhost ~]# iwconfig -v eth1
iwconfig  Wireless-Tools version 28
          Compatible with Wireless Extension v11 to v20
.

Kernel    Currently compiled with Wireless Extension v20.

eth1      Recommend Wireless Extension v18 or later,
          
Currently compiled with Wireless Extension v20.

[
root@localhost ~]# dmesg | grep ndiswrapper
ndiswrapper version 1.53 loaded (smp=yespreempt=no)
ndiswrapperdriver bcmwl5 (Broadcom,02/10/20053.100.35.1loaded
ndiswrapper
using IRQ 169
usbcore
registered new driver ndiswrapper
ndiswrapper
changing interface name from 'wlan0' to 'eth1'
[root@localhost ~]# tail -f /var/log/messages 
Jun  1 12:38:15 localhost gconfd (root-3001): Resolved address "xml:readonly:/etc/gconf/gconf.xml.mandatory" to a read-only configuration source at position 0
Jun  1 12
:38:15 localhost gconfd (root-3001): Resolved address "xml:readwrite:/root/.gconf" to a writable configuration source at position 1
Jun  1 12
:38:15 localhost gconfd (root-3001): Resolved address "xml:readonly:/etc/gconf/gconf.xml.defaults" to a read-only configuration source at position 2
Jun  1 12
:38:16 localhost gconfd (root-3001): Resolved address "xml:readwrite:/root/.gconf" to a writable configuration source at position 0
Jun  1 12
:38:17 localhost hcid[2327]: Default passkey agent (:1.10, /org/bluez/appletregistered
Jun  1 12
:38:18 localhost NetworkManager: <informationUpdating allowed wireless network lists
Jun  1 12:38:18 localhost NetworkManager: <WARNING>      nm_dbus_get_networks_cb (): error receivedorg.freedesktop.NetworkManagerInfo.NoNetworks There are no wireless networks stored.. 
Jun  1 12:38:18 localhost pcscdwinscard.c:219:SCardConnect() Reader E-Gate 0 0 Not Found
Jun  1 12
:38:19 localhost last message repeated 4 times
Jun  1 12
:38:22 localhost setroubleshoot2008-06-01 12:38:22,232 [rpc.ERRORattempt to open server connection failed: (2'No such file or directory')

[
root@localhost ~]# ifup eth1

Determining IP information for eth1... failedno link present.  Check cable?
 
[
root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
# Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller
DEVICE=eth1
ONBOOT
=yes
BOOTPROTO
=dhcp
HWADDR
=00:0c:41:13:38:47 


Hangdog42 06-01-2008 08:24 AM

Your iwconfig output suggests that you do have a functional wireless card, however it looks like you've never configured it. Without configuring the card, ifup won't ever work. You need to use the iwconfig command to add your SSID and WEP key if you use WEP encryption. If you use WPA, then i think you'll have to use wpa_supplicant. I'm not real familiar with REHL, so there may be a gui tool to help you do this. At any rate, once you've got the card correctly configured, you should see the Access Point field in your iwconfig output change to the MAC address of your router. That shows the card is configured correctly and is associated with the AP.

tanveer 06-02-2008 08:11 AM

:D Finally with your help the card found the access point after configuring though very poor signal but it works now. Why in linux configuring wireless is so much trouble!!

Hangdog42 06-02-2008 08:19 AM

Quote:

Finally with your help the card found the access point after configuring though very poor signal but it works now. Why in linux configuring wireless is so much trouble!!
Great! Glad you got it working. Actually, this isn't hard when the chipset vendor supports linux. I have both Broadcom and Intel based wireless cards and the Broadcom cards are infinitely more difficult to get running than the Intel ones. Heck, since the debut of the 2.6.24 kernel, most Intel cards will work straight off the install.


All times are GMT -5. The time now is 03:36 PM.