LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (http://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   Broadcom BCM43222 - Slackware 13.37 - Doesn't YET work (http://www.linuxquestions.org/questions/linux-hardware-18/broadcom-bcm43222-slackware-13-37-doesnt-yet-work-944073/)

FreeOS-LuvR 05-09-2012 10:29 AM

Broadcom BCM43222 - Slackware 13.37 - Doesn't YET work
 
Greetings,

First and foremost, I'd, like to say it's an honor to be running
Slackware 13.37 ... (Debian is awesome too, however I know slackware
is LINUX) ... big shout out to antiX M11 486 (best lightweight
distro, I, know)

MY PROBLEM:

I've a Broadcom BCM43222 mini PCI 802.11 g/g/n wireless adapter
installed.
When I do an
Code:

lspci | grep -i broadcom
I get
Code:

00:10.0 Network controller: Broadcom Corporation Device 4350
I've already downloaded the linux driver from broadcom at:
http://www.broadcom.com/support/802.11/linux_sta.php
I've followed the instructions.

I just can't get any interfaces for this device.

MY OBSERVATIONS:

I've observed that that the driver(s) associated for this
Broadcom BCM43222 aren't running ... therefore ... my first
request is how can I get to run the driver: wl.ko or even the
b43 driver.

MY CONCLUSION:

I thank you all in advance for your support and look forward
in using this mini PCI wireless adapter, so that I could stop
using the PCMIA and USB options ... which run flawlessly at
802.11n

Ser Olmy 05-09-2012 10:39 AM

Does the driver appear in the list of loaded modules (lsmod)?

Which kernel are you running (uname -rm)?

FreeOS-LuvR 05-09-2012 11:14 AM

SlackBuild attempted results for BCM43222
 
Greetings,

I'd like to add that I've also downloaded: broadcom-sta.tar.gz from Slackbuilds.org
specifically at:
Code:

http://slackbuilds.org/result/?search=broadcom&sv=13.37

selecting the first option: broadcom-sta
which took me to:

http://slackbuilds.org/repository/13.37/network/broadcom-sta/
(broadcom-sta (5.100.82.112)

I then downloaded: broadcom-sta.tar.gz

After uncompressing: broadcom-sta.tar.gz via execution of the below command:
Code:

tar zvxf broadcom-sta.tar.gz
a directory is created named: broadcom-sta
The contents of broadcom-sta is:
Code:

ls broadcom-sta

README                    doinst.sh
broadcom-sta.SlackBuild*  hybrid-portsrc_x86_32-v5_100_82_112.tar.gz
broadcom-sta.info        slack-desc

I then executed: broadcom-sta.SlackBuild with:
./broadcom-sta.SlackBuild

NOTE: broadcom-sta.SlackBuild should be executable: chmod +x broadcom-sta.SlackBuild
---

The result of this is ... a file is created in the tmp directory:
Code:

broadcom-sta-5.100.82.112_2.6.37.6_smp-i486-1_SBo.tgz
I then (after copying the above tgz file to another directory)
Code:

installpkg broadcom-sta-5.100.82.112_2.6.37.6_smp-i486-1_SBo.tgz
NOTE2: Alternatively you could do a pkgtool (in the tgz file directory)
- Select Current option to Install packages from the current directory
- With the options of: Yes, No, Quit ... select Yes
---

If all went well then the broadcom-sta version:5.100.82.112 for Slackware 13.37 installed successfully.

In my case the broadcom-sta driver installed successfully.

However ... the BCM43222 mini PCI wireless card doesn't get recognized by the OS.

Even with this installation method (Slackbuild) my observation remains the same:
Quote:

Posted on: 05-09-12, 10:29 AM by FreeOS-LuvR
In Thread: Broadcom BCM43222 - Slackware 13.37 - Doesn't YET work

I've observed that that the driver(s) associated for this
Broadcom BCM43222 aren't running ... therefore ... my first
request is how can I get to run the driver: wl.ko or even the
b43 driver.

FreeOS-LuvR 05-09-2012 11:19 AM

Greetings Ser Olmy,

Quote:

Does the driver appear in the list of loaded modules (lsmod)?

Which kernel are you running (uname -rm)?
When I do an lsmod it's extensive in content.
Could you give me a criteria to filter it?

Code:

uname -rm
2.6.37.6-smp i686


Ser Olmy 05-09-2012 11:49 AM

Quote:

Originally Posted by FreeOS-LuvR (Post 4674337)
Greetings Ser Olmy,
When I do an lsmod it's extensive in content.
Could you give me a criteria to filter it?

The driver is called "wl.ko", so lsmod | grep wl should do the trick.

Have you actually loaded the module with modprobe wl?

FreeOS-LuvR 05-09-2012 01:15 PM

Greetings Ser Olmy,
I did load the driver.
I also did the lsmod command you gave.

What I'm finding is that upon reboot the drive isn't running.
I really would like to see the wl.ko or b43* drivers running.
I think maybe this could get us closer to seeing the
BCM43222 running on Slackware 13.37

Thanks for your reply and support.

Ser Olmy 05-09-2012 05:49 PM

Nothing you do from the command line "survives" a reboot. You need to add the necessary command(s) to a startup script.

Drivers are loaded automatically if either the kernel knows about the driver, or the hotplug subsystem (udev) is configured to autoload a module for a specific device. Since this is a third party driver, it's not part of the kernel proper. It would seem that udev doesn't know about it either.

The easiest way to accomplish what you want, is to simply add the modprobe command to one of the startup scripts. The old rc.netdevice file is more or less ideal for this, since it is run before rc.inet1 (which sets IP addresses on NICs). This file doesn't exist on modern Slackware distributions, but the reference to it in rc.modules still exists. Create it, and it will be executed.

Run these commands as root (cut and paste should work):
Code:

echo #!/bin/bash > /etc/rc.d/rc.netdevice
echo /sbin/modprobe wl >> /etc/rc.d/rc.netdevice
chmod u+x /etc/rc.d/rc.netdevice

This creates the /etc/rc.d/rc.netdevice file, adds a modprobe command to load the wl module, and makes the file executable.

FreeOS-LuvR 05-09-2012 08:32 PM

Greetings Ser Olmy,

I followed your instructions and created the file rc.netservice in /etc/rc.d
Code:

########################################################################
## rc.netdevice
## This file is created to troubleshoot: BCM43222 mini PCI wireless card
########################################################################
#!/bin/bash
/sbin/modprobe wl

I ensured that /etc/rc.d/rc.netservice was executable: chmod u+x rc.netservice
I rebooted.
I did an ifconfig and only saw the loopback interface: lo
I then did an ifconfig -a and got the same result: loopback interface
I then ran lsmod | grep wl which returned:
Code:

wl                  2427655  0
lib80211                3262  1 wl
cfg80211              122542  3 wl,rt2x00lib,mac80211


Ser Olmy 05-09-2012 09:01 PM

I guess "rc.netservice" is a typo, as you've used the correct name (rc.netdevice) in the comments in the file. Note that "#!/bin/bash" must be the very first line of a bash script, but in this case it seems to work anyway, as the module clearly gets loaded. rc.netdevice is probably being included in rc.modules as a "dot" source file.

The output from lsmod indicates that the wl module is not being used by anything (the 0 at the end of the line), which explains why your wlan card doesn't show up in the ifconfig -a list. Are you sure this is the correct driver for your card?

Try unloading and reloading the wl module with rmmod wl and modprobe wl respectively, and see what appears in the kernel log (dmesg).

FreeOS-LuvR 05-09-2012 10:49 PM

Greetings Ser Olmy,

You're absolutely right: rc.netservice was a typo.
The file created was indeed rc.netdevice

As a root user:
I removed the wl module with:
Code:

rmmod wl
lsmod | grep wl
Nothing was returned ... means wl unloaded.

I reloaded the wl driver, with:
Code:

bash /etc/rc.d/rc.netdevice
lsmod | grep wl returned the same values:
Code:

wl                  2427655  0
lib80211                3262  1 wl
cfg80211              122542  3 wl,rt2x00lib,mac80211


onebuck 05-10-2012 09:09 AM

Member response
 
Hi,

One other possibility is that the 'wl' recognizes the device as 'eth1'.

What do you see with 'ifconfig -a' after 'boot' or doing the 'modprobe'? You sure the firmware is in place?

I would be curious as to the output for the Broadcom wireless device for 'lspci -vv'? What is the device 'ID'?

FreeOS-LuvR 05-10-2012 09:59 AM

Greetings onebuck,

I agree with you.

I read in an article that the BCM43222 could work but
the interface doesn't show and the author reported it was
indeed the eth1. The article I'm referring to is:
http://all-things-linux.blogspot.com...reless-on.html

I made the below configuration in /etc/rc.d/rc.inet1.conf
Code:

...
# Config information for eth1:
IPADDR[1]=""
NETMASK[1]=""
USE_DHCP[1]="yes"
DHCP_HOSTNAME[1]=""
...

Results of lspci -vv
Code:

00:10.0 Network controller: Broadcom Corporation Device 4350
        Subsystem: Broadcom Corporation Device 04d2
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 32
        Interrupt: pin A routed to IRQ 11
        Region 0: Memory at f3ff8000 (32-bit, non-prefetchable) [size=16K]
        Capabilities: [40] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
                Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=2 PME-

Please direct me as to where the firmware drivers would be, I did a
Code:

find / -iname firmware
and there were many returns

FreeOS-LuvR 05-10-2012 11:58 AM

Greetings,

I followed in part the instructions from http://www.broadcom.com/docs/linux_sta/README.txt
in 'Common issues:' section (3: Setup to always load at boot time.)
I executed the following successfully:
Code:

...
# cp wl.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless
# depmod -a
...

I rebooted.
Then I executed:
Code:

lsmod | grep wl

wl                  2406019  0
lib80211                3262  1 wl

Now I only have the wl driver running.

BCM43222 isn't working yet for Slackware 13.37

FreeOS-LuvR 05-10-2012 12:15 PM

Greetings,

** These files were copied before my initial post in this forum **

In my attempt to get the BCM43222 wireless card to work
on Slackware 13.37 ... I had copied the two files below:
Code:

total 0
-rw-r--r-- 1 masters masters 0 May  8 10:13 brcm_bcm43xx-0.fw
-rw-r--r-- 1 masters masters 0 May  8 10:13 brcm_bcm43xx_hdr-0.fw

into /lib/firmware/brcm/

NOTE: the directory 'brcm' did not exist prior.

The instructions came from:
http://althafkbacker.blogspot.com/20...-14e44727.html

Due to the results of working with the wl.ko driver and seeing
that it's loaded once ... I've removed the two firmware files, to fully explore the
possibilities of it working.

The files and brcm directory were removed by:
Code:

rm -r /lib/firmware/brcm/

onebuck 05-10-2012 07:56 PM

Member response
 
Hi,

Slackware 13.0 RC2 X86_64 Broadcom bcm4312 problems' may help you with some of the posted information, dated but should help.

Linux Wireless should be useful to find 'Broadcom Corporation Device 04d2' ID for correct driver. Which I thinks will be the 'b43'.

Another point is that a newer kernel (3.2) does provide support for more Broadcom drivers & firmware. You would get the new kernel & firmware file and then compile for your system.

The above linked thread does provide some early 'wl' issues.

You did try the broadcom-sta from slackbuilds and blacklisted the 'b43' as instructed?

How about trying b43-fwcutter & b43-firmware for 13.37 from Slackbuilds?

Obviously you have found where to place the firmware. :)

I would probably try the b43-fwcutter & b43-firmware route since you would be using the current source from broadcom-wl-4.178.10.4.tar.bz2

Broadcom can be a pain at times but when you get it working things are stable.


All times are GMT -5. The time now is 11:58 AM.