You are not logged in.

#1 2006-11-16 04:22:30

jstech
Member
From: Baltimore
Registered: 2004-05-06
Posts: 27

More Wireless Woes [solved]

There's a lot on these fora about wireless, but I haven't been able to figure this out.  So forgive me if someone else has solved this problem elsewhere, but I didn't recognize it when I saw it, I guess.

I have a Broadcom BCM4306 wireless adapter.  I followed the instructions here, http://wiki.archlinux.org/index.php/Wireless , for the bcm43xx module, which I've added to /etc/rc.conf, and it shows up in lsmod.  Then, I set up rc.conf as follows:

lo="lo 127.0.0.1"
eth1="dhcp"
eth0="dhcp"
wlan_eth0="eth0 essid [networkid] key [likei'mgoingtotypeithere]"
WLAN_INTERFACES=(eth0)
INTERFACES=(lo eth0 eth1)

The wireless adapter shows up as eth0 because the rc.conf module list runs before udev gets the wired NIC going, so wireless is always eth0.

Unfortunately, nothing has worked yet.  Most of the time, iwconfig doesn't show an essid.  It usually picks up the wireless key, and sometimes shows the right essid if I give it the key first (by iwconfig eth0 key xxxxx then iwconfig eth0 essid xxxxxx).  Here is a typical iwconfig output:

eth0    IEEE 802.11b/g  ESSID:""  Nickname:"Broadcom 4306"
        Mode:Managed  Frequency=2.437 GHz  Access Point: Invalid
        Bit Rate=1 Mb/s   Tx-Power=15 dBm
        RTS thr:off   Fragment thr:off
        Encryption key:xxxx-xxxx-xx   Security mode:open
        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

Doing iwconfig eth0 power on gives this error:

Error for wireless request "Set Power Management" (8B2D) :
     GET failed on device eth0 ; Operation not supported.

ifconfig shows eth0 having a valid MAC address (00:0D:0B:CF:EB:0F), which I guess is relevant.

This is my first adventure in the land of Linux wireless.  Can anyone help me out?

Thanks,
John

Offline

#2 2006-11-17 18:38:33

RobF
Member
Registered: 2006-10-10
Posts: 157

Re: More Wireless Woes [solved]

I'm using a Dell Inspiron 6400 laptop with an internal Dell wlan mini pci card (Truemobile 1390) that uses the Broadcom 4311 chipset.  I've tried to get this card working in half a dozen different Linux distros with the native Linux driver bcm43xx that's provided as a kernel module plus the firmware cutter software bcm43xx-fwcutter.  I've had no luck with this.  However, I've had good luck using a Windows driver running via ndiswrapper.  You may want to try that route.  For me it works well for 128-bit WEP encryption.  I haven't tried WPA encryption as yet; it may work for that too.

Here's what you'd have to do.

1. Connect your machine to WAN through the wired ethernet interface that almost certainly will be supported by Arch.

2. Get the Windows driver for your wireless card, e.g. from the support CD that came with your card (it would be in the WinXP directory) or from the web if you don't have the CD.  To find it on the web, search  http://ndiswrapper.sourceforge.net/medi … x.php/List  for BCM4306 or for the pciid of your card, or go to the card manufacturer's website.  The Windows driver consists of two files with extensions .inf and .sys.  Perhaps the widely available standard driver bcmwl5.inf & bcmwl5.sys that I use for the BCM4311 would be appropriate for your card.  Put the driver folder on your Desktop.

3. Install ndiswrapper-1.26-1 and ndiswrapper-utils-1.26-1 by running
# pacman -Sy ndiswrapper

4. Bring down the wired ethernet interface eth0:
# ifconfig eth0 down

5. Navigate to the folder on your Desktop that holds the Windows driver files and run
# ndiswrapper -i bcmwl5.inf    (or whatever the name is of the .inf driver file)

6. To check whether the driver has been installed (it should be in /etc/ndiswrapper/bcmwl5, some two dozen files)
# ndiswrapper -l
If all is well, this should say: "driver installed; hardware present"

7. To insert the ndiswrapper kernel module run
# modprobe ndiswrapper
The LED for your card should come on.

8. To check whether the kernel module is running run
# lsmod | grep ndiswrapper

9. To bring up the wireless interface wlan0 run
# iwconfig wlan0 essid name_of_your_wireless_access_point channel number_of_your_channel
    key your_WEP_key_in_hexadecimal open

10. To get an IP address via DHCP run
# dhcpcd wlan0

11. To set up a route to the internet gateway run
# route add default gw 192.168.0.1    (substitute you gateway's IP address here)

12. To check the connection run
# ifconfig   (do you have an IP address?)
# iwconfig   (does everything look all right?)
# ping google.com   (can you connect to Google?)
You should have a connection now.


To make this setup permanent and initialize the wireless interface on bootup, edit the following two files.

/etc/conf.d/wireless

wlan_wlan0="wlan0 essid name_of_your_wireless_access_point channel number_of_your_channel
    key your_WEP_key_in_hexadecimal open"
WLAN_INTERFACES=(wlan0)


/etc/rc.conf

MODULES=(ndiswrapper)
HOSTNAME="your_hostname"
lo="lo 127.0.0.1"
wlan0="dhcp"
INTERFACES=(lo wlan0)
gateway="default gw 192.168.0.1"         (substitute you gateway's IP address here)
ROUTES=(gateway)

Then run # /etc/rc.d/network restart or reboot.  You should be all set.  If you use the wired interface too (which should be eth0), you can add that later.

Robert

Offline

#3 2006-11-18 02:04:16

jstech
Member
From: Baltimore
Registered: 2004-05-06
Posts: 27

Re: More Wireless Woes [solved]

Thanks for the very thorough reply.  I'm online now!  I tried all the */WinXP/*.inf files on the CD from the manufacturer, but they didn't do it, so I went to the ndiswrapper site that you suggested and looked it up.  Then I just had to remove and reinsert the ndis module, and I was up and running.

Thanks for the help, It's nice to be back in Linux.

John

Offline

Board footer

Powered by FluxBB