# Wireless driver help

## ONEEYEMAN

Hi, ALL,

I don't know if this topic falls here or "Installing Gentoo", but it looks more closely here...  :Smile: 

I am trying to pick the following to work:

```

03:00.0 Ethernet controller: Broadcom Corporation BCM4401-B0 100Base-TX (rev 02)

0b:00.0 Network controller: Broadcom Corporation Dell Wireless 1390 WLAN Mini-PCI Card (rev 01)

```

Is it a correct assumption that I have to use bcm43xx driver? Or there is something else?

It looks like I have a 4401 chipset, so it is possible I need 44xx...  :Smile: 

Thank you.

----------

## Big Jim Slade

For the 4401 device, which is the ethernet controller, you need to enable the b44 driver in the kernel like so:

```
Device Drivers

  Network device support

    [*] Ethernet (10 or 100Mbit)

      [*] EISA, VLB, PCI and on board controllers

        <M> Broadcom 4400 ethernet support
```

However, it's possible from reading the bug reports that this driver may have problems particularly with older 4401 cards.  You'll just have to try it and see I guess.

For the Mini-PCI Card, you may have to use ndiswrapper and the Windows driver, although I'm looking into it.  I'll get back to you on that one.

[EDIT] I would go ahead and enable the 43xx driver in the kernel before trying ndiswrapper, as it's easiest and if it doesn't load you'll know if it works or not.

That's enabled via:

```
Device Drivers

  Network device support

    Wireless LAN (non-hamradio)

      <M> Broadcom BCM43xx wireless support
```

Then make sure you modprobe bcm43xx if coldplug/hotplug doesn't automatically do it.

----------

## ONEEYEMAN

Thank you for reply, Big Jim.

I do have a wired Internet. I need a wireless one...

I found this thread, however it talks on the different card...

Thank you.

----------

## Big Jim Slade

Yeah, that thread is for the Airport Extreme which is more complicated to get working.  It definitely appears that your Mini-PCI wireless card is of the 43xx variety, so all you should have to do is enable the bcm43xx module in the kernel and you should be good to go.

----------

## J3N7iL

I was under the impression that Broadcom Wireless can only be supported through NDISWrapper, 

I love the NDISWrapper, follow this wiki and you'll be fine. 

(Keep in mind that for laptops, the FN key or wireless button that turns on the wireless nick still turns it on and off, if your running into probs try trying the hardware power option on the laptop)

http://ndiswrapper.sourceforge.net/mediawiki/index.php/Installation

----------

## Big Jim Slade

No, the kernel now has support for the 43xx, although as I failed to mention above, even on x86 you might need to do the whole fw-cutter thing.  I know fw-cutter is required on ppc, which is kind of a pain but it works.  I'm not sure if it is required on x86, but I'm guessing it is.

Ndiswrapper is a valid (and possibly simpler) option as well.  I've used it in the past with no problems and it was easy enough to set up, but given the option to use native linux drivers I'd opt for the latter as long as it works.

----------

## ONEEYEMAN

Yes, I would also opt for the native driver.

One more question: do I need to turn on all those options  that thread was talking about, or just the bcm43xx

Also, I'm guessing that if it won't work I will have to try with the firmware and fwcutter, correct?

Thank you.

----------

## Big Jim Slade

Yeah, you'll need to turn on all the 802.11 options in the kernel also, as the WLAN drivers depends on them.

Try it without doing the fw-cutter stuff first, but what will likely happen is that the card will show up and appear to work but it won't be able to get an IP address or authenticate to an access point.  If that happens, you'll need to get the firmware loaded via fw-cutter.

----------

## ONEEYEMAN

Big Jim,

I turned on all IEEE options as described in that thread, but when compiling the kernel, got:

```

  CC [M]  drivers/net/wireless/bcm43xx/bcm43xx_main.o

In file included from drivers/net/wireless/bcm43xx/bcm43xx_main.c:44:

drivers/net/wireless/bcm43xx/bcm43xx.h:10:27: net/ieee80211.h: No such file or directory

drivers/net/wireless/bcm43xx/bcm43xx.h:11:34: net/ieee80211softmac.h: No such file or directory

In file included from drivers/net/wireless/bcm43xx/bcm43xx_main.c:44:

drivers/net/wireless/bcm43xx/bcm43xx.h: In function `bcm43xx_priv':

drivers/net/wireless/bcm43xx/bcm43xx.h:769: warning: implicit declaration of function `ieee80211softmac_priv'

drivers/net/wireless/bcm43xx/bcm43xx.h:769: warning: return makes pointer from integer without a cast

In file included from drivers/net/wireless/bcm43xx/bcm43xx_main.c:45:

drivers/net/wireless/bcm43xx/bcm43xx_main.h: In function `bcm43xx_is_valid_channel_a':

drivers/net/wireless/bcm43xx/bcm43xx_main.h:122: error: `IEEE80211_52GHZ_MIN_CHANNEL' undeclared (first use in this function)

drivers/net/wireless/bcm43xx/bcm43xx_main.h:122: error: (Each undeclared identifier is reported only once

drivers/net/wireless/bcm43xx/bcm43xx_main.h:122: error: for each function it appears in.)

drivers/net/wireless/bcm43xx/bcm43xx_main.h:122: error: `IEEE80211_52GHZ_MAX_CHANNEL' undeclared (first use in this function)

drivers/net/wireless/bcm43xx/bcm43xx_main.h: In function `bcm43xx_is_valid_channel_bg':

drivers/net/wireless/bcm43xx/bcm43xx_main.h:128: error: `IEEE80211_24GHZ_MIN_CHANNEL' undeclared (first use in this function)

drivers/net/wireless/bcm43xx/bcm43xx_main.h:128: error: `IEEE80211_24GHZ_MAX_CHANNEL' undeclared (first use in this function)

In file included from drivers/net/wireless/bcm43xx/bcm43xx_main.c:49:

drivers/net/wireless/bcm43xx/bcm43xx_dma.h: At top level:

drivers/net/wireless/bcm43xx/bcm43xx_dma.h:173: warning: "struct ieee80211_txb" declared inside parameter list

drivers/net/wireless/bcm43xx/bcm43xx_dma.h:173: warning: its scope is only this definition or declaration, which is probably not what you want

drivers/net/wireless/bcm43xx/bcm43xx_main.c: In function `bcm43xx_write_mac_bssid_templates':

drivers/net/wireless/bcm43xx/bcm43xx_main.c:394: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c: In function `bcm43xx_geo_init':

drivers/net/wireless/bcm43xx/bcm43xx_main.c:954: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:975: error: `IEEE80211_52GHZ_MIN_CHANNEL' undeclared (first use in this function)

drivers/net/wireless/bcm43xx/bcm43xx_main.c:976: error: `IEEE80211_52GHZ_MAX_CHANNEL' undeclared (first use in this function)

drivers/net/wireless/bcm43xx/bcm43xx_main.c:977: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:978: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:979: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:981: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:984: error: `IEEE80211_24GHZ_MIN_CHANNEL' undeclared (first use in this function)

drivers/net/wireless/bcm43xx/bcm43xx_main.c:985: error: `IEEE80211_24GHZ_MAX_CHANNEL' undeclared (first use in this function)

drivers/net/wireless/bcm43xx/bcm43xx_main.c:986: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:987: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:988: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:990: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:992: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:992: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:994: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:996: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:998: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:999: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:1001: warning: implicit declaration of function `ieee80211_set_geo'

drivers/net/wireless/bcm43xx/bcm43xx_main.c:975: warning: value computed is not used

drivers/net/wireless/bcm43xx/bcm43xx_main.c:984: warning: value computed is not used

drivers/net/wireless/bcm43xx/bcm43xx_main.c: In function `handle_irq_ps':

drivers/net/wireless/bcm43xx/bcm43xx_main.c:1594: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:1600: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c: In function `bcm43xx_generate_beacon_template':

drivers/net/wireless/bcm43xx/bcm43xx_main.c:1648: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c: In function `bcm43xx_interrupt_tasklet':

drivers/net/wireless/bcm43xx/bcm43xx_main.c:1761: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c: In function `bcm43xx_set_iwmode':

drivers/net/wireless/bcm43xx/bcm43xx_main.c:2313: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:2314: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:2315: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c: In function `bcm43xx_chip_init':

drivers/net/wireless/bcm43xx/bcm43xx_main.c:2455: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c: In function `bcm43xx_gen_bssid':

drivers/net/wireless/bcm43xx/bcm43xx_main.c:2766: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:2768: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c: In function `bcm43xx_rate_memory_init':

drivers/net/wireless/bcm43xx/bcm43xx_main.c:2807: error: `IEEE80211_OFDM_RATE_6MB' undeclared (first use in this function)

drivers/net/wireless/bcm43xx/bcm43xx_main.c:2808: error: `IEEE80211_OFDM_RATE_12MB' undeclared (first use in this function)

drivers/net/wireless/bcm43xx/bcm43xx_main.c:2809: error: `IEEE80211_OFDM_RATE_18MB' undeclared (first use in this function)

drivers/net/wireless/bcm43xx/bcm43xx_main.c:2810: error: `IEEE80211_OFDM_RATE_24MB' undeclared (first use in this function)

drivers/net/wireless/bcm43xx/bcm43xx_main.c:2811: error: `IEEE80211_OFDM_RATE_36MB' undeclared (first use in this function)

drivers/net/wireless/bcm43xx/bcm43xx_main.c:2812: error: `IEEE80211_OFDM_RATE_48MB' undeclared (first use in this function)

drivers/net/wireless/bcm43xx/bcm43xx_main.c:2813: error: `IEEE80211_OFDM_RATE_54MB' undeclared (first use in this function)

drivers/net/wireless/bcm43xx/bcm43xx_main.c:2815: error: `IEEE80211_CCK_RATE_1MB' undeclared (first use in this function)

drivers/net/wireless/bcm43xx/bcm43xx_main.c:2816: error: `IEEE80211_CCK_RATE_2MB' undeclared (first use in this function)

drivers/net/wireless/bcm43xx/bcm43xx_main.c:2817: error: `IEEE80211_CCK_RATE_5MB' undeclared (first use in this function)

drivers/net/wireless/bcm43xx/bcm43xx_main.c:2818: error: `IEEE80211_CCK_RATE_11MB' undeclared (first use in this function)

drivers/net/wireless/bcm43xx/bcm43xx_main.c: In function `bcm43xx_softmac_init':

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3046: warning: implicit declaration of function `ieee80211softmac_start'

drivers/net/wireless/bcm43xx/bcm43xx_main.c: In function `bcm43xx_init_board':

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3277: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c: In function `bcm43xx_read_phyinfo':

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3345: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3345: error: `IEEE80211_OFDM_MODULATION' undeclared (first use in this function)

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3346: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3346: error: `IEEE_A' undeclared (first use in this function)

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3347: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3347: error: `IEEE80211_52GHZ_BAND' undeclared (first use in this function)

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3348: error: `IEEE80211_24GHZ_BAND' undeclared (first use in this function)

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3353: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3353: error: `IEEE80211_CCK_MODULATION' undeclared (first use in this function)

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3354: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3354: error: `IEEE_B' undeclared (first use in this function)

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3355: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3360: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3362: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3362: error: `IEEE_G' undeclared (first use in this function)

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3363: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c: At top level:

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3566: warning: "struct ieee80211_security" declared inside parameter list

drivers/net/wireless/bcm43xx/bcm43xx_main.c: In function `bcm43xx_ieee80211_set_security':

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3569: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3577: error: `WEP_KEYS' undeclared (first use in this function)

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3578: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3579: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3579: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3580: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3580: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3581: error: `SCM_KEY_LEN' undeclared (first use in this function)

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3581: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3581: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3581: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3581: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3584: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3584: error: `SEC_ACTIVE_KEY' undeclared (first use in this function)

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3585: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3585: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3586: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3588: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3588: error: `SEC_UNICAST_GROUP' undeclared (first use in this function)

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3589: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3589: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3590: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3592: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3592: error: `SEC_LEVEL' undeclared (first use in this function)

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3593: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3593: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3594: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3596: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3596: error: `SEC_ENABLED' undeclared (first use in this function)

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3597: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3597: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3598: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3600: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3600: error: `SEC_ENCRYPT' undeclared (first use in this function)

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3601: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3601: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3602: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3604: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3605: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3610: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3612: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3613: error: `SEC_ALG_NONE' undeclared (first use in this function)

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3614: error: `SEC_ALG_WEP' undeclared (first use in this function)

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3616: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3619: error: `SEC_ALG_TKIP' undeclared (first use in this function)

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3623: error: `SEC_ALG_CCMP' undeclared (first use in this function)

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3631: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3631: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c: In function `bcm43xx_net_get_stats':

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3660: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c: In function `bcm43xx_net_stop':

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3696: warning: implicit declaration of function `ieee80211softmac_stop'

drivers/net/wireless/bcm43xx/bcm43xx_main.c: In function `bcm43xx_init_private':

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3710: warning: implicit declaration of function `ieee80211_priv'

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3710: warning: assignment makes pointer from integer without a cast

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3711: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3741: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3742: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3743: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3745: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3746: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3747: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3748: error: dereferencing pointer to incomplete type

drivers/net/wireless/bcm43xx/bcm43xx_main.c: In function `bcm43xx_init_one':

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3770: warning: implicit declaration of function `alloc_ieee80211softmac'

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3770: warning: assignment makes pointer from integer without a cast

drivers/net/wireless/bcm43xx/bcm43xx_main.c:3823: warning: implicit declaration of function `free_ieee80211softmac'

make[4]: *** [drivers/net/wireless/bcm43xx/bcm43xx_main.o] Error 1

make[3]: *** [drivers/net/wireless/bcm43xx] Error 2

make[2]: *** [drivers/net/wireless] Error 2

make[1]: *** [drivers/net] Error 2

make: *** [drivers] Error 2

```

What did I miss?

Thank you.

----------

## Big Jim Slade

Okay, what kernel version are you using, and just in case, what version of gcc?

----------

## ONEEYEMAN

gentoo-sources-2.6.17-r4, and gcc-3.4.6-r1.

Thank you.

----------

## Big Jim Slade

Okay, this may have something to do with the SoftMAC source, although I'm that's a best guess at this point.  Check this thread for a similar, although not the same sort of error.  This is also PPC related, not x86.

At this point, going the ndiswrapper route looks to be a lot easier.  I'm not sure about this softmac issue.  I'll look into it some more and see what I can find out.

----------

## ONEEYEMAN

Thank you, Big Jim.

I actually re-emerged the kernel, and after that everything was fine. I had the configuration saved in the alternative file, so...   :Smile:  I guess I just cleaned up incorrectly after removing the ipw3945, since I thought I have this card in.

The kernel built, and I re-booted in the newly compiled kernel.

But when I tried to do:

modprobe bcm43xx

nothing hapened. It did load, since I can see it through the "lsmod", but that's it. It just went straight to the OS prompt, didn't say anything.

I am assuming I need a firmware for it work, right?

Thank you.

----------

## Big Jim Slade

Okay, it should just return to the prompt if it loads correctly.  If it outputs anything it's usually and error... like can't load module.  You should be good there.

And, yes, you may need firmware, but before doing let's see if the card is working.

Run the following:

```
# iwconfig
```

(if you don't have iwconfig, you'll need to emerge net-wireless/wireless-tools)

It should output your network connections, and one of them should be your wireless card (eth0 or eth1 probably) and whichever one that is should be followed by a bunch of information about the card (essid, signal strength, etc).  If it comes back and says that there are no wireless extensions then the card isn't working... in that case, run these commands:

```
# rmmod bcm43xx

# modprobe bcm43xx

# dmesg
```

And then copy and paste the last 20 or so lines of the dmesg (should be the relevant wireless stuff).

Now, if you get information about the wireless card that's good, but you need to run this command (replacing eth0 with eth1 or whatever your card ends up being):

```
# iwlist eth0 scan
```

If it comes back and says that the device does not support scanning or something similar to that you're going to need firmware.  If it comes back with a list of access points then you should not.  In the case of the latter, run through this guide and see if you can get connected.

----------

## ONEEYEMAN

Big Jim,

Following you instruction, I did this (output from the terminal):

```

localhost igor # modprobe bcm43xx

localhost igor # iwconfig

lo        no wireless extensions.

eth0      no wireless extensions.

localhost igor # rmmod bcm43xx

localhost igor # modprobe bcm43xx

localhost igor # dmesg

............................................................

NTFS volume version 3.1.

NTFS-fs warning (device sda1): load_system_files(): Unsupported volume flags 0x4000 encountered.

NTFS-fs error (device sda1): load_system_files(): Volume has unsupported flags set.  Mounting read-only.  Run chkdsk and mount in Windows.

NTFS-fs warning (device sda1): load_system_files(): $LogFile is not clean.  Will not be able to remount read-write.  Mount in Windows.

NTFS-fs warning (device sda1): load_system_files(): Windows is hibernated.  Will not be able to remount read-write.  Run chkdsk.

Adding 1004052k swap on /dev/sda3.  Priority:-1 extents:1 across:1004052k

ACPI: PCI Interrupt 0000:00:1b.0[A] -> GSI 21 (level, low) -> IRQ 20

PCI: Setting latency timer of device 0000:00:1b.0 to 64

b44: eth0: Link is up at 100 Mbps, full duplex.

b44: eth0: Flow control is off for TX and off for RX.

PCI: Unable to reserve mem region #3:10000000@c0000000 for device 0000:00:02.0

ACPI: PCI Interrupt 0000:00:02.0[A] -> GSI 16 (level, low) -> IRQ 16

PCI: Setting latency timer of device 0000:00:02.0 to 64

[drm] Initialized i915 1.4.0 20060119 on minor 0:

[drm] Used old pci detect: framebuffer loaded

ieee80211_crypt: registered algorithm 'NULL'

ieee80211: 802.11 data/management/control stack, git-1.1.7

ieee80211: Copyright (C) 2004-2005 Intel Corporation <jketreno@linux.intel.com>

bcm43xx driver

bcm43xx driver

localhost igor #

```

I looked around some posts about wireless card drivers, and it looks like the driver has to say something about loading successfully. However, I don't know what is the case with this one...

Anyway here is what I have in my PC. As you see I don't have a wireless extension when running "iwconfig", so I ran "dmesg". However, nothing is in there...

Thank you.

[EDIT]

P.S.: Do you know if this: http://marc.theaimsgroup.com/?l=linux-netdev&m=114805420427939&w=2 is already incorporated in the kernel driver? It looks like somebody on the bcm43xx thread was talking about this patchset, and it helped him set up the wireless network... The post is from July 29, 2006

[/EDIT]

----------

## Big Jim Slade

Yeah, that's really odd output on the bcm43xx... 

Run lspci -v and paste the output that begins with 0b:00.0 Network controller: Broadcom Corporation Dell Wireless 1390 WLAN Mini-PCI Card (rev 01).  That should be the header of one of the blocks and there should be a bunch of information that goes with it.  You should have lspci already, but if you don't then you'll need to emerge pciutils.

----------

## ONEEYEMAN

OK, here we go:

```

lspci -v

.......................................

0b:00.0 Network controller: Broadcom Corporation Dell Wireless 1390 WLAN Mini-PCI Card (rev 01)

        Subsystem: Dell Unknown device 0007

        Flags: bus master, fast devsel, latency 0, IRQ 4

        Memory at dfdfc000 (32-bit, non-prefetchable) [size=16K]

        Capabilities: [40] Power Management version 2

        Capabilities: [58] Message Signalled Interrupts: 64bit- Queue=0/0 Enable-

        Capabilities: [d0] Express Legacy Endpoint IRQ 0

        Capabilities: [100] Advanced Error Reporting

        Capabilities: [13c] Virtual Channel

lspci -vn

.....................................

0b:00.0 0280: 14e4:4311 (rev 01)

        Subsystem: 1028:0007

        Flags: bus master, fast devsel, latency 0, IRQ 4

        Memory at dfdfc000 (32-bit, non-prefetchable) [size=16K]

        Capabilities: [40] Power Management version 2

        Capabilities: [58] Message Signalled Interrupts: 64bit- Queue=0/0 Enable-

        Capabilities: [d0] Express Legacy Endpoint IRQ 0

        Capabilities: [100] Advanced Error Reporting

        Capabilities: [13c] Virtual Channel

```

Thank you.

----------

## Big Jim Slade

Well that lspci output doesn't help out at all... nuts.

That patch information may help, although I don't think so as it simply provide PCI-Express support.  I don't believe that card is PCIE, though.  Either way, it won't hurt anything so you might give it a try... should only take ten minutes or so.  Enough time to recompile the kernel.

If that doesn't work, go ahead and follow the Airport Extreme thread from step 4 on (the fwcutter stuff), although the response from dmesg does not make me hopeful.  Let me know what happens.

Oh... when you reboot the machine, does the bcm43xx module get automatically loaded, or do you have to modprobe it?

----------

## ONEEYEMAN

Big Jim,

Do I need to manually patch the files or...?

And it didn't load, I had to moprobe it. But I didn't put it in the "autoload" file either...

Should I try that first?

Or maybe I should try the Portage veersion?

Thank you.

----------

## Big Jim Slade

Don't put in autoload yet... not until it works.  I was wondering if it was being automatically loaded because if that card is indeed a bcm43xx, coldplug should detect it and load the module.  The fact that the dmesg outputs essentially nothing, and coldplug isn't loading it is leading me to believe this card might not be a bcm43xx.

Before you go any further with the bcm43xx kernel driver, I think I'd like you to try the ndiswrapper as it is very easy to setup and will tell you whether or not that is in fact a bcm43xx card.  But first, do you have a Windows installation on that machine or is it just Gentoo?  And, what model Dell is that?

----------

## ONEEYEMAN

 *Big Jim Slade wrote:*   

> 
> 
> Don't put in autoload yet... not until it works.  I was wondering if it was being automatically loaded because if that card is indeed a bcm43xx, coldplug should detect it and load the module.  The fact that the dmesg outputs essentially nothing, and coldplug isn't loading it is leading me to believe this card might not be a bcm43xx.
> 
> 

 

OK.

 *Big Jim Slade wrote:*   

> 
> 
> Before you go any further with the bcm43xx kernel driver, I think I'd like you to try the ndiswrapper as it is very easy to setup and will tell you whether or not that is in fact a bcm43xx card.  But first, do you have a Windows installation on that machine or is it just Gentoo?  And, what model Dell is that?
> 
> 

 

Yes, it is a dual-boot laptop DELL E1505/6400.

Thank you.

[EDIT]

P.S.: I just checked in WinXP. The "Control Panel->Network Connection->Wireless Network Connection" shows "Dell Wireless 1390 WLAN Mini -Card".

The "Device Manager" shows:

1. Broadcom 440x 10/100 Imtegrated Controller

2. Dell Wireless 1390 WLAN Mini-Card

[/EDIT]

----------

## Big Jim Slade

What's the Windows driver for that card?  If it's a Broadcom card, it should be something like bcmwl5.sys or similar...

----------

## ONEEYEMAN

 *Big Jim Slade wrote:*   

> 
> 
> What's the Windows driver for that card?  If it's a Broadcom card, it should be something like bcmwl5.sys or similar...
> 
> 

 

Is this your computer or mine?  :Smile: 

It is BCMWL5.SYS.

Thank you.

----------

## Big Jim Slade

Sorry for the long delay... have you gotten it working yet?

That card is definitely a Broadcom... try using the Windows driver and ndiswrapper to set that up (if you haven't already) and see what happens.

----------

## ONEEYEMAN

Big Jim,

No, not yet.

I was thinking of applying the 10 patchset to the driver, but I wanted someone to look at it this and confirm.

Also, I don't know how to do that. Should I just create a one big .patch file, and put it along with the ebuild in an overlay? Or I can put this file in the /var/tmp and it will be picked up automatically during the recompilation?

Thank you.

----------

## Big Jim Slade

I'm a little fuzzy on the patch thing.  In my experience, I've just placed that patch file in the same folder as the file I want to patch and then run something like patch -p1 >filename, but I'm not sure how that will work in this instance.

I would suggest starting a new thread, specifically for discovering how to correctly patch that file, but continue this one for the wireless (once the file is patched).

I would still suggest trying the ndiswrapper option first, just to make sure the card is working correctly and what not.  ndiswrapper is easy to set up, and once it works you simply unmerge it to get back to working on the native driver.  If ndiswrapper doesn't work, I doubt the native driver will either.

----------

## ONEEYEMAN

Well, to make things worse, it's not just one file patched, but it can be compiled in one patch.

I'll start another thread in regards to this.

Thank you for the help so far.

----------

