# [Solved] Wireless Networking woes

## Bobbias

So I've been able to get my wired network working, but I've had no such luck with the wireless.

I have a boradcom BCM43225, and I've compiled  kernel with the appropriate option (built in, rather than module, because I always have trouble with remembering to set it to automatially load my modules at boot) and it doesn't show anything in iwconfig. Well, it does, it shows eth0 (the wired ethernet), lo (loopback) and some weird sit0, which also has no wireless extensions. sit0 doesn't show up in ifconfig.

I have wireless-tools installed because my network is totally open. I really have no idea what to do at this point, because as far as I can tell my system SHOULD be aware that it has a wireless card, and as far as I can tell this card should be supported.

And to reiterate, I DID build all the broadcom drivers directly into the kernel, so they should be present.Last edited by Bobbias on Sat Apr 30, 2011 10:57 pm; edited 1 time in total

----------

## whiteghost

i do not configure modules to load. i just build them and they load. udev i believe takes care of that.

these are what you enabled in kernel?

```
Symbol: BRCM80211_PCI [=n]                                              │  

  │ Type  : boolean                                                         │  

  │ Prompt: Broadcom IEEE802.11n PCIe SoftMAC WLAN driver                   │  

  │   Defined at drivers/staging/brcm80211/Kconfig:11                       │  

  │   Depends on: <choice> && PCI [=y] && BRCM80211 [=n] && MAC80211 [=y]   │  

  │   Location:                                                             │  

  │     -> Device Drivers                                                   │  

  │       -> Staging drivers (STAGING [=y])                                 │  

  │         -> Exclude Staging drivers from being built (STAGING_EXCLUDE_BU │  

  │           -> Broadcom IEEE802.11n WLAN drivers (BRCM80211 [=n])         │  

  │             -> Broadcom IEEE802.11n driver style (<choice> [=n])        │  

  │   Selects: FW_LOADER [=y]                                           

 Symbol: BRCM80211 [=n]                                                  │  

  │ Type  : tristate                                                        │  

  │ Prompt: Broadcom IEEE802.11n WLAN drivers                               │  

  │   Defined at drivers/staging/brcm80211/Kconfig:1                        │  

  │   Depends on: STAGING [=y] && !STAGING_EXCLUDE_BUILD [=n] && WLAN [=y]  │  

  │   Location:                                                             │  

  │     -> Device Drivers                                                   │  

  │       -> Staging drivers (STAGING [=y])                                 │  

  │         -> Exclude Staging drivers from being built (STAGING_EXCLUDE_BU │  

  │                                              
```

this may help

http://www.broadcom.com/support/802.11/linux_sta.php

edit: do you have 

```
modules=( "iwconfig" )
```

in /etc/conf.d/net

----------

## Bobbias

I got an error trying to build the module you linked me to, and the readmen says I must be lacking the stuff to build a kernel module (when I can plainly rebuild my own kernel)...

And I never new about the Staging driver. I only built Device Drivers -> Network Devices -> Wireless Lan -> Broadcom 43xx Wireless Support (mac80211 stack)...

I'll rebuild the kernel with that as a module and the staging driver built in, and see if that hanges things at all. I've also added the Modile=( "iwconfig" ) line. However, that is the only line in my /etc/conf.d/net file, because I honestly have no idea how to configure it properly right now.

My network is insecure, and all I'm trying to do is get this to connect so I don't need to be stuck in the basement with an ethernet cable.

Is there somewhere that explains how linux actually uses the /etc/conf.d/net file (and the other associated files, such as net.lo and stuff)? I'd like to learn a bit about the actual underlying linux structure here becacuse the more I understand the inner workings of linux, the easier this stuff would be. I'm not really a programmer, but I have learned various languages, so I've got a solid technical foundation to understand linux from, but everywhere I look all I see are solutions that include "do this, does it work? then your good" with no explanation of why, or what your really doing (although quite a bit of this is self explanatory, it gets a bit unclear about why one thing worked and another didn't, when they should probably both do the same thing).

----------

## Bobbias

Ok, I've built brcm80211 as a module (as wll as b43). udev seems to load brcm80211 automatically (as a lsmod shows that as loaded right off the hop) but iwconfig shows eth0, lo, and sit0 all with no extensions... Ive tried unloading brcm80211 and loading b43, and that didn't make any difference.

On the plus side, up until now I didnt have dhcpd installed in this environment so I had to boot into the flash drive livecd I've been using for internet access. eth0, my wired connection works fine in this setup. (which is only so useful because I'm trying to avoid being tethered to my router with an ethernet cord).

----------

## ONEEYEMAN

Hi,

Could you please post the output of:

```

dmesg | grep b43

lspci | grep boadcom

emerge -pv b43-fwcutter

```

Thank you.

Also, you really should build the wireless driver as a module. It will make you life and the life of people that will try to help you much easier.

----------

## cach0rr0

iwconfig == old hat 

iw == new hotness

```

emerge net-wireless/iw

iw dev wlan0 scan

```

if the driver is at all loaded, you should be able to see it via:

```

cat /proc/net/dev

```

if it shows up, simply do:

```

ifconfig wlan0 up

```

(or whatever the device name is instead of wlan0)

after ifconfig, check dmesg output for any errors

if no errors, the driver side should be good to go. 

NB: you shouldn't need b43 at all, and in fact I wouldn't be at all surprised to learn it's conflicting with the new driver.

----------

## ONEEYEMAN

Bobbias,

It will be helpful for you to read the Handbook for the Wireless Setup at the end.

Thank you.

----------

## Bobbias

lspci | grep Broadcom shows:

```

09:00.0 Network Controller: Broadcom Corporation Device 4357 (rev 01)

```

Along with a Broadcom Netlink BCM5784M Gigabit Ethernet PCIe (rev 10).

I swear it showed a BCM43225 for my wireless earlier....

dmesg | grep b43 shows

```

[    0.000000] ACPI: DSDT 00000000c7ecb43a 0C490  (v01     ATI     SB700 06040000 MSFT 03000001)

```

and I didn't already have b43-fwcutter (never hear mention of it before) so emerge -pv b43-fwcutter just showed the usual message for not having the package (I've since emerged it, just in case I need it)

----------

## cach0rr0

```

lspci -n

```

your most reliable bestest friend ever, because it only shows the PCI ID's and doesnt try to ascertain a name 

as well if you post that here, we can all plug it in to the usual spots (or just grep through the kernel sources) and say what's what. 

Either way, the in-kernel staging driver != broadcom-sta (proprietary driver, for which there is an ebuild; an ebuild that will have issues if you have b43 or ssb in your kernel at all)

Doing a modprobe of the in-kernel staging driver should bring up the interface, and make it visible in /proc/net/dev

If it doesn't, you should see errors in dmesg complaining about missing firmware - the solution for which is finding and installing the firmware. 

From that point, once the drivers and firmware (if required) are kosher, everything else is just user-space configuration. 

using the old wireless extensions? iwconfig will do just fine

using nl80211? need to have net-wireless/iw, and use that

dont anticipate having any needs far as crypto goes beyond WEP at the most? wireless-tools with the appropriate kernel options (cfg80211 and mac80211 or lib80211, depending on the driver, and depending upon which of these, may need WIRELESS_EXT enabled, which requires some screwy obtuse process of selecting CONFIG_HOSTAP as enabled, since WIRELESS_EXT cant be enabled directly)

bigger thing to note, whatever wireless kernel opts you have, you have to have the right userspace tools - and as noted above, for nl80211, you need tools that work with nl80211 (e.g. net-wireless/iw)

----------

## Deathwing00

Moved from Installing Gentoo to Networking & Security.

----------

## ONEEYEMAN

cach0rr0,

Since he didn't have b43-fwcutter, most likely he don't have a firmware.

Bobbias,

Please refer to this page for complete instructions on the Broadcom driver. It has link to firmware download and complete set of instructions for the Gentoo users on how to make b43 work.

Thank you.

----------

## Bobbias

After some failing trying to use fwcutter. I eventually googled my way to someone complaining that bcm43xx-0.fw wasn't in linux-firmware, and that he managed to use the debian file from their git repository to get things working. Someone else said it was just named differently, so I tried emerging it, only to find that every linux-firmware package was masked thanks to ~amd64 (and one missing keyword).

All I had to do was download and rename the debian files from his link and things are up and running. It might have been a roundabout way, but it seems to work fine. Now on to configuring things.

EDIT: Done, configured and working.

----------

