# HP laptop, broadcom 802.11 b/g, and broadcom-sta

## Skippy204

Greetings.

I'm trying to set up the wireless on my laptop.

First I gotta get my kernel in order.  What I can not figure out is how to disable config_ssb via menuconfig.

I found and removed mac80211 and b43, but ssb is eluding my grasp.  As do so many things....

Skippy

----------

## Skippy204

For Pappy to work his magic on my kernel:

lspci -n

```

00:00.0 0500: 10de:02f0 (rev a2)

00:00.1 0500: 10de:02fa (rev a2)

00:00.2 0500: 10de:02fe (rev a2)

00:00.3 0500: 10de:02f8 (rev a2)

00:00.4 0500: 10de:02f9 (rev a2)

00:00.5 0500: 10de:02ff (rev a2)

00:00.6 0500: 10de:027f (rev a2)

00:00.7 0500: 10de:027e (rev a2)

00:02.0 0604: 10de:02fc (rev a1)

00:03.0 0604: 10de:02fd (rev a1)

00:05.0 0300: 10de:0244 (rev a2)

00:09.0 0500: 10de:0270 (rev a2)

00:0a.0 0601: 10de:0260 (rev a3)

00:0a.1 0c05: 10de:0264 (rev a3)

00:0a.3 0b40: 10de:0271 (rev a3)

00:0b.0 0c03: 10de:026d (rev a3)

00:0b.1 0c03: 10de:026e (rev a3)

00:0d.0 0101: 10de:0265 (rev f1)

00:0e.0 0101: 10de:0266 (rev f1)

00:10.0 0604: 10de:026f (rev a2)

00:10.1 0403: 10de:026c (rev a2)

00:14.0 0680: 10de:0269 (rev a3)

00:18.0 0600: 1022:1100

00:18.1 0600: 1022:1101

00:18.2 0600: 1022:1102

00:18.3 0600: 1022:1103

03:00.0 0280: 14e4:4311 (rev 01)

07:05.0 0c00: 1180:0832

07:05.1 0805: 1180:0822 (rev 19)

07:05.2 0880: 1180:0843 (rev 01)

07:05.3 0880: 1180:0592 (rev 0a)

07:05.4 0880: 1180:0852 (rev 05)

```

cpuinfo

```

processor   : 0

vendor_id   : AuthenticAMD

cpu family   : 15

model      : 72

model name   : AMD Turion(tm) 64 X2 Mobile Technology TL-50

stepping   : 2

cpu MHz      : 1607.176

cache size   : 256 KB

physical id   : 0

siblings   : 2

core id      : 0

cpu cores   : 2

apicid      : 0

initial apicid   : 0

fpu      : yes

fpu_exception   : yes

cpuid level   : 1

wp      : yes

flags      : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good extd_apicid pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy

bogomips   : 3214.35

TLB size   : 1024 4K pages

clflush size   : 64

cache_alignment   : 64

address sizes   : 40 bits physical, 48 bits virtual

power management: ts fid vid ttp tm stc

processor   : 1

vendor_id   : AuthenticAMD

cpu family   : 15

model      : 72

model name   : AMD Turion(tm) 64 X2 Mobile Technology TL-50

stepping   : 2

cpu MHz      : 1607.176

cache size   : 256 KB

physical id   : 0

siblings   : 2

core id      : 1

cpu cores   : 2

apicid      : 1

initial apicid   : 1

fpu      : yes

fpu_exception   : yes

cpuid level   : 1

wp      : yes

flags      : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good extd_apicid pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy

bogomips   : 3214.64

TLB size   : 1024 4K pages

clflush size   : 64

cache_alignment   : 64

address sizes   : 40 bits physical, 48 bits virtual

power management: ts fid vid ttp tm stc

```

fstab

```

# /etc/fstab: static file system information.

#

# noatime turns off atimes for increased performance (atimes normally aren't 

# needed; notail increases performance of ReiserFS (at the expense of storage 

# efficiency).  It's safe to drop the noatime options if you want and to 

# switch between notail / tail freely.

#

# The root filesystem should have a pass number of either 0 or 1.

# All other filesystems should have a pass number of 0 or greater than 1.

#

# See the manpage fstab(5) for more information.

#

# <fs>         <mountpoint>   <type>      <opts>      <dump/pass>

# NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.

/dev/sda2      /boot      ext2      noatime      1 2

/dev/sda3      /      ext3      noatime      0 1

/dev/sda7      none      swap      sw      0 0

/dev/cdrom1      /mnt/cdrom   auto      noauto,ro,users   0 0

/dev/sda6      /usr/portage/distfiles   ext3   noatime      0 1

/dev/sda5      /home      ext3      noatime      0 1

#/dev/fd0      /mnt/floppy   auto      noauto      0 0

/dev/sdb1      /usbstick   auto      noauto,users   0 0

/dev/sda1      /mnt/windows   ntfs      ro,noauto,users   0 0

# glibc 2.2 and above expects tmpfs to be mounted at /dev/shm for 

# POSIX shared memory (shm_open, shm_unlink).

# (tmpfs is a dynamically expandable/shrinkable ramdisk, and will

#  use almost no memory if not populated with files)

shm         /dev/shm   tmpfs      nodev,nosuid,noexec   0 0

```

----------

## cach0rr0

config_ssb is "Sonics Silicon Backplane" 

note that if you go into menuconfig, hit the /forward slash, you can search for "CONFIG_SSB" and it'll tell you how to get there.

----------

## Skippy204

 *Quote:*   

>  if you go into menuconfig, hit the /forward slash, you can search 

 

What?

I've been using Linux for 10 years and just found out about this?

Wow.  The learning curve never stops.  Thank you for that!

Skippy

----------

## Skippy204

Next bump in the road - 

I found Sonics Silicon Backplane in menuconfig, however it will only let me either add this support as built-in or as module, menuconfig will not let me remove support for SSB.

Is that because there is something else in my kernel which requires SSB?  I've never run into this situation before.

Skippy

----------

## cach0rr0

 *Skippy204 wrote:*   

> I've been using Linux for 10 years and just found out about this? 

 

hahahaha...yeah I didn't discover it but maybe a few months ago, and I think I started tinkering with Linux around 2001. I had the exact same reaction. 

 *Skippy204 wrote:*   

> 
> 
> Next bump in the road - 
> 
> I found Sonics Silicon Backplane in menuconfig, however it will only let me either add this support as built-in or as module, menuconfig will not let me remove support for SSB.
> ...

 

yip, check and see if you have B43 or B44 enabled. Both of these depend on SSB, so that's the likely culprit. 

There's actually been the suggestion to provide a USE flag that allows people to force the install of broadcom-sta, even if they have SSB enabled in the kernel. Basically one of those, "it's known to break shit, but if you're sure you know what you're doing, enable this flag". I'm going to have a go at changing the ebuild when I have time if nobody else beats me to it. 

ANYWAY...check for B43/B44. B44 is wired, so post back if you find that before disabling anything as we dont want to bugger your wired just to get wireless working. If you find B43 enabled, nuke it, then nuke SSB.

EDIT: actually, screw it. I'll help you, none of this next rant is directed at you, but the maintainers can rot. They just completely reverted the previous blocker I added with no consideration given to user input, or alternative solutions. From now on I'm not proposing fixes for bugs, or even reporting them for that matter. I'm just going to throw a tantrum like an end user whenever things aren't fixed, and maintain my own local overlay that already has the fix.

"module builds correctly anyway with b43 and SSB enabled make checks non-fatal. The correct fix is blackisting ssb and, perhaps b43 via udev rules."

Yeah no shit it builds correctly. And that's a problem, you don't let users install a fucking package knowing it's going to be non-functional because of their kernel settings. So now rather than making users fix their kernel configuration, you're going to quietly let them install broadcom-sta, and just hope that after scratching their heads wondering why on earth nothing is working, they know to blacklist via udev rules, AND how to write udev rules in the first place. REALLY? Another brilliant case of devs being completely and totally out of touch with their user base. Guess only advanced users and ricers are welcome to use Gentoo. I'm done, I don't volunteer my time for crap like that where mine and others' suggestions are ignored and spit back in my face with no discussion just because a dev thinks they know what's good for me better than I do.

SO, as it stands now, you can just --sync, get the new ebuild which doesn't have this blocker, emerge broadcom-sta, and your shit will break. But hey, it's common knowledge people should read the ebuild comments before merging a package, and writing udev rules is common knowledge as well! 

</rant>

----------

## d2_racing

When you know the kernel module, you can also run this :

```

# find /usr/src/linux_version -name Makefile | xargs grep -i the_name_of_the_module

```

Example :

```

# find /usr/src/linux-2.6.27-gentoo-r8 -name Makefile | xargs grep -i skge

```

Returns :

```

/usr/src/linux-2.6.27-gentoo-r8/drivers/net/Makefile:obj-$(CONFIG_SKGE) += skge.o

```

----------

## Skippy204

 *cach0rr0 wrote:*   

>  none of this next rant is directed at you, but 
> 
> </rant>

 

I know how you feel on that one.   :Smile: 

Okay: I didn't read your instructions clearly before I proceeded and I disabled both b43 and b44 and ssb.  However, if my wired connection is out of order because I disabled b44 I will know where to start.  I can go back and fix that and trouble shoot from there if needed.  Right now I'd rather have the wireless working.

That got the broadcom-sta to compile happily:

 *Quote:*   

> 
> 
> >>> Installing (1 of 1) net-wireless/broadcom-sta-5.10.91.9.3-r3
> 
>  * checking 2 files for package collisions
> ...

 

Now, according to the instructions I found for doing this, the next thing to do is:

```

4: Insmod the driver.

If you were already running a previous version of wl, you'll want to provide a

clean transition from the older driver. (The path to previous driver is usually

/lib/modules/<kernel-version>/kernel/net/wireless)

# rmmod wl 

# mv <path-to-prev-driver>/wl.ko <path-to-prev-driver>/wl.ko.orig

# cp wl.ko <path-to-prev-driver>/wl.ko

# depmod

# modprobe wl

Otherwise, if you have not previously installed a wl driver do this:

# modprobe lib80211

# insmod wl.ko

wl.ko is now operational.  It may take several seconds for the Network Manager

to notice a new network driver has been installed and show the surrounding

wireless networks.

```

But what I get is:

```

 root # insmod /lib/modules/2.6.32-gentoo-r1/net/wireless/wl.ko

insmod: error inserting '/lib/modules/2.6.32-gentoo-r1/net/wireless/wl.ko': -1 Unknown symbol in module

```

Banging my head on the wall doesn't help.  I'm gonna go looking & trying a few things to solve this, but I wanted to post it while I've got internet as - obviously - when I reboot this laptop into Gentoo I will not have internet.  

Thanks for your assistance.  Much appreciated by me!

EDIT:

Okay, it didn't work because I didn't follow instructions.

When I do:

```

# modprobe lib80211

# insmod wl.ko

```

Like I'm suppose to then it loads just fine.  Next: The instructions I have say:

```

And finally load the wl.ko module:

insmod wl.ko

Now if you do an ifconfig, you should see wlan0 right after your eth0 and lo devices. Yippee-kay-yay! Test it out by

scanning and connecting to a network.

```

when I do ifconfig I get:

```

eth0      Link encap:Ethernet  HWaddr 00:1b:24:4b:cb:b8  

          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.0 B)  TX bytes:0 (0.0 B)

          Interrupt:20 Base address:0xe000 

lo        Link encap:Local Loopback  

          inet addr:127.0.0.1  Mask:255.0.0.0

          UP LOOPBACK RUNNING  MTU:16436  Metric:1

          RX packets:17050 errors:0 dropped:0 overruns:0 frame:0

          TX packets:17050 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0 

          RX bytes:1091172 (1.0 MiB)  TX bytes:1091172 (1.0 MiB)

```

Am I correct that this is indicating wireless is not operational?

Okay - off to try more stuff....

----------

## cach0rr0

If your wireless is operational, you should be able to see things more or less by doing

```

cat /proc/net/wireless

iwconfig

```

see what that shows. 

Unfortunately because of the change the dev made - a reversion of the change I made/suggested - your module may well compile correctly but still be completely non-functional, and you'll never know it unless you happened to see the build message. 

Or unless someone looks at your kernel configuration and makes sure it's in order. 

Main thing is, when you insmod that .ko, check dmesg and see if you get any errors

if you don't, and /proc/net/wireless shows your interface present...and iwconfig looks kosher, you should be good to go on the driver end, and need only get to the configuration end.

----------

## Skippy204

Okay - I think I'm getting closer.  Now the blue light comes on which under windows indicated my wireless is active.  Here's where things stand:

```

# modprobe lib80211

# insmod wl.ko 

```

Here is the tail end of dmesg. I don't see any problems, but what do I know.   :Smile: 

```
eth0: no link during initialization.

Adding 1309256k swap on /dev/sda7.  Priority:-1 extents:1 across:1309256k 

lib80211: common routines for IEEE802.11 drivers

lib80211_crypt: registered algorithm 'NULL'

ACPI: PCI Interrupt Link [LK4E] enabled at IRQ 19

wl 0000:03:00.0: PCI INT A -> Link[LK4E] -> GSI 19 (level, high) -> IRQ 19

wl 0000:03:00.0: setting latency timer to 64

eth1: Broadcom BCM4311 802.11 Wireless Controller 5.10.91.9

```

output of /proc/net/wireless:

```

Inter-| sta-|   Quality        |   Discarded packets               | Missed | WE

 face | tus | link level noise |  nwid  crypt   frag  retry   misc | beacon | 22

  eth1: 0000    5.  -256.  -256.       0      0      0      0      0        0

```

iwconfig:

```

eth1      IEEE 802.11bg  ESSID:""  Nickname:""

          Mode:Managed  Frequency:2.412 GHz  Access Point: Not-Associated   

          Bit Rate:54 Mb/s   Tx-Power:32 dBm   

          Retry min limit:7   RTS thr:off   Fragment thr:off

          Power Managementmode:All packets received

          Link Quality=5/5  Signal level=0 dBm  Noise level=0 dBm

          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0

          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

```

and ifconfig:

```

eth0      Link encap:Ethernet  HWaddr 00:1b:24:4b:cb:b8  

          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.0 B)  TX bytes:0 (0.0 B)

          Interrupt:20 Base address:0x2000 

eth1      Link encap:Ethernet  HWaddr 00:1a:73:29:9f:fa  

          UP BROADCAST RUNNING 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.0 B)  TX bytes:0 (0.0 B)

          Interrupt:19 

lo        Link encap:Local Loopback  

          inet addr:127.0.0.1  Mask:255.0.0.0

          UP LOOPBACK RUNNING  MTU:16436  Metric:1

          RX packets:2 errors:0 dropped:0 overruns:0 frame:0

          TX packets:2 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0 

          RX bytes:100 (100.0 B)  TX bytes:100 (100.0 B)

```

then, when I start wicd-client I can't connect as wicd says there are no available wireless networks.  It looks to me like the wireless hardware is working, but something isn't configured right?

All clues, kung-fu and voodoo accepted.   :Smile: 

Thanks, Skippy

----------

## USTruck

Hello,

What about your chipset : lspci -vnn | grep 14e4

For : Broadcom Corporation BCM4312 802.11b/g [14e4:4315]

No support with b43, b43xx or broadcom-sta.

It's important to see version of " 4315 " for me.

Info :

http://www.gentoo-wiki.info/Broadcom_43xx

http://linuxwireless.org/en/users/Drivers/b43#Known_PCI_devices   (Attention : bcm4312 with a/b/g (only the 2.4GHz part and no low-power LP-PHY devices) 

If your card are low-power ..... go to use with NDIS

I spend more one week to get-it to work with broadcom-sta or b43 ...... and now I use ndiswrapper

For your information, a firmware for b43 are under portage, emerge b43-firmware .... list all available, unmask desired and install it

----------

## Skippy204

Thanks for the links.  I will give those some study soon as I can.

My wireless info:

```

03:00.0 Network controller [0280]: Broadcom Corporation BCM4311 802.11b/g WLAN [14e4:4311] (rev 01)

```

----------

## yinrunning

I also never knew "/" search existed.  That's pretty cool.

To the original point: I found it, and I cannot disable it, even though I've not only disabled b43 support ( and never had b44 support ) but have disable _ANY_ part of the Dev Drivers > Network > Wireless section.

????

No matter what I do I can't kill this module...

----------

