LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   wireless help - broadcom 4312 (https://www.linuxquestions.org/questions/slackware-14/wireless-help-broadcom-4312-a-793674/)

mattca 03-06-2010 03:37 PM

wireless help - broadcom 4312
 
I have a new laptop with a broadcom 4312 wireless card, and I'm having a hard time getting it to work.

ifconfig and iwconfig don't seem to be aware that the device is present:
Code:

iwconfig

lo        no wireless extensions.

eth0      no wireless extensions.

ifconfig -a

eth0      Link encap:Ethernet  HWaddr 00:26:22:d9:49:d8 
          inet addr:169.254.183.224  Bcast:169.254.255.255  Mask:255.255.0.0
          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:17

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:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

so I assumed I'd have to install the driver.

but, /var/log/messages says that the driver is loaded:
Code:

Mar  6 16:13:12 darkstar kernel: Broadcom 43xx driver loaded [ Features: PMLR, Firmware-ID: FW13 ]
any ideas?

Thanks!

reed9 03-06-2010 04:02 PM

You need the broadcom wl driver.

http://slackbuilds.org/repository/13.../broadcom-sta/

slackwaredanny 03-06-2010 04:13 PM

You need the broadcom-sta slackbuild for it to work,just grab it of slackbuilds.org or sbopkg install it with pkgtool reboot and it should work.
i have it too its not easy to compile from source on slack (my opinion) but broadcom has it availiable for download .
b43,ssb,ndiswrapper dont work for 4312 on slack or too my knowledge on any dist,there are different types of cards with the same number 4312 and i have the one with integrated bluetooth and is running slack 13 32bit but i know they are alot of treads here on the subject and onebuck had one for 64bit.
just wrote this answer in general for i know that ther is a lot of new slackware users (like my self) having trouble to get this card too work.

mattca 03-06-2010 05:11 PM

thanks guys, I got it working now :D

mattca 03-06-2010 07:08 PM

I think I spoke too soon.

It works, but very inconsistently. It hasn't worked on reboot once yet, and when it does work it seems to do so randomly. I can't find a pattern that makes it work each time.

I reboot, polling for DHCP times out and iwconfig is missing my essid and key & the access point is not associated.

I try setting the essid, no change in iwconfig. Same when I try setting the key. I try again, and again randomly, then it will suddenly work for no apparent reason. Oddly though, my key never shows up (always says "off"). On all my other computers, the key is displayed in iwconfig.

I'm really at a loss here, and I really hope this isn't indicative of what I can expect from this laptop :(

piratesmack 03-07-2010 03:03 AM

Try adding this to /etc/modprobe.d/blacklist.conf
Code:

blacklist b43
blacklist ssb

Also, this card is supposed to be supported by the b43 driver in kernel 2.6.32 and later (Though it isn't working quite right for me)
http://linuxwireless.org/en/users/Drivers/b43#fw-b43-lp

andrew.46 03-07-2010 03:42 AM

There seems to be a few different opinions but I can say that I have this chip as well:

Code:

root@skamandros/home/andrew# lspci | grep Broadcom
02:00.0 Ethernet controller: Broadcom Corporation BCM4401-B0 100Base-TX (rev 02)
0c:00.0 Network controller: Broadcom Corporation BCM4312 802.11a/b/g (rev 01)

and I have had it working flawlessly for quite some time (Slackware 12 and 13) with the b43 firmware + fwcutter packages from Slackbuilds.org and wicd as network manager.

All the best,

Andrew

reed9 03-07-2010 04:42 AM

Quote:

Originally Posted by andrew.46 (Post 3888996)
There seems to be a few different opinions but I can say that I have this chip as well:

Code:

root@skamandros/home/andrew# lspci | grep Broadcom
02:00.0 Ethernet controller: Broadcom Corporation BCM4401-B0 100Base-TX (rev 02)
0c:00.0 Network controller: Broadcom Corporation BCM4312 802.11a/b/g (rev 01)

and I have had it working flawlessly for quite some time (Slackware 12 and 13) with the b43 firmware + fwcutter packages from Slackbuilds.org and wicd as network manager.

All the best,

Andrew

There are two different chipsets that both appear as BCM4312. You have to look at the pci id.

The 14e4:4312 is supported by the b43 driver and firmware.
The 14e4:4315 is not until 2.6.32, and need the wl driver.

mattca 03-07-2010 11:15 AM

Quote:

Originally Posted by piratesmack (Post 3888979)
Try adding this to /etc/modprobe.d/blacklist.conf
Code:

blacklist b43
blacklist ssb

Also, this card is supposed to be supported by the b43 driver in kernel 2.6.32 and later (Though it isn't working quite right for me)
http://linuxwireless.org/en/users/Drivers/b43#fw-b43-lp

Thanks, I added the above to my blacklist.conf. We'll see what happens next time I reboot.

I will say though that I checked lsmod immediately after boot and neither of those modules were listed.

[edit: you say you're using 2.6.32 and the driver isn't working quite right.. what's it doing, or not doing? I wonder if it would be less hassle than what I'm dealing with now..]

mattca 03-07-2010 11:20 AM

Quote:

Originally Posted by reed9 (Post 3889033)
There are two different chipsets that both appear as BCM4312. You have to look at the pci id.

The 14e4:4312 is supported by the b43 driver and firmware.
The 14e4:4315 is not until 2.6.32, and need the wl driver.

Thanks. Yeah, I have 4315:

Code:

        [root@hopper] $ lspci -vnn | grep -i broad         
04:00.0 Network controller [0280]: Broadcom Corporation BCM4312 802.11b/g [14e4:4315] (rev 01)
        Subsystem: Broadcom Corporation Device [14e4:04b5]
07:00.0 Ethernet controller [0200]: Broadcom Corporation NetLink BCM5906M Fast Ethernet PCI Express [14e4:1713] (rev 02)

So, my card is supposed to be supported by the 2.6.32 kernel.. what's the verdict? Is it worthwhile to upgrade my kernel?

I guess there's no harm in giving it a try :)

reed9 03-07-2010 11:37 AM

I have the same chipset in my Dell Mini 9. So far I've always used the broadcom wl driver and never had trouble. That's under Arch, so it's been a variety of driver releases and kernel releases that worked under. Current kernel is 2.6.32.9, so maybe I'll give the b43 a try and see how it's doing.

mattca 03-07-2010 11:56 AM

Quote:

Originally Posted by reed9 (Post 3889311)
Current kernel is 2.6.32.9, so maybe I'll give the b43 a try and see how it's doing.

If you do, a report here would be most appreciated :D

reed9 03-07-2010 12:00 PM

Just did. So far, the b43 is working fine and dandy. Obviously, it's only been a few minutes, so maybe something will crop up with heavier use. But there's no indication of trouble lurking.

Oh, I noticed that before, I had specified both the lib80211 and wl modules to load. When you're having trouble, have you seen if lib80211 was loading as well? And maybe do a depmod -a for good measure.

mattca 03-07-2010 01:23 PM

Quote:

Originally Posted by reed9 (Post 3889336)
Just did. So far, the b43 is working fine and dandy. Obviously, it's only been a few minutes, so maybe something will crop up with heavier use. But there's no indication of trouble lurking.

Exellent :) If you start to have trouble, a report would be appreciated.

Maybe I'll try upgrading my kernel sometime soon.

Quote:

Oh, I noticed that before, I had specified both the lib80211 and wl modules to load. When you're having trouble, have you seen if lib80211 was loading as well? And maybe do a depmod -a for good measure.
Yes, the lib80211 module seems to load on boot, with the wl. This command was issued immediately after booting (with non-functioning wireless):

Code:

lsmod

Module                  Size  Used by
snd_seq_dummy          2464  0
snd_seq_oss            29792  0
snd_seq_midi_event      5980  1 snd_seq_oss
snd_seq                47984  5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
snd_seq_device          6088  3 snd_seq_dummy,snd_seq_oss,snd_seq
snd_pcm_oss            37728  0
snd_mixer_oss          14300  1 snd_pcm_oss
pcmcia                33772  0
pcmcia_core            32016  1 pcmcia
cpufreq_ondemand        6632  2
speedstep_lib          3840  0
acpi_cpufreq            7500  0
freq_table              3420  2 cpufreq_ondemand,acpi_cpufreq
ppdev                  7200  0
lp                      9316  0
parport_pc            24036  0
parport                30700  3 ppdev,lp,parport_pc
joydev                  9504  0
fuse                  54008  1
snd_hda_codec_conexant    19804  1
lib80211_crypt_tkip    8572  0
snd_hda_intel          23624  0
snd_hda_codec          53788  2 snd_hda_codec_conexant,snd_hda_intel
uvcvideo              58184  0
wl                  1962468  0
snd_hwdep              6816  1 snd_hda_codec
snd_pcm                68128  3 snd_pcm_oss,snd_hda_intel,snd_hda_codec
thermal                15096  0
videodev              38688  1 uvcvideo
intel_agp              25628  1
snd_timer              19108  2 snd_seq,snd_pcm
processor              38600  4 acpi_cpufreq,thermal
snd                    50820  11 snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_hda_codec_conexant,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_timer
rtc_cmos              10124  0
video                  16492  0
rtc_core              15992  1 rtc_cmos
agpgart                29256  1 intel_agp
v4l1_compat            13184  2 uvcvideo,videodev
thermal_sys            10756  3 thermal,processor,video
output                  2396  1 video
tg3                  109024  0
rtc_lib                2332  1 rtc_core
psmouse                41676  0
i2c_i801                8784  0
soundcore              5824  1 snd
ac                      3840  0
battery                9856  0
button                  5708  0
hwmon                  2104  1 thermal_sys
snd_page_alloc          7972  2 snd_hda_intel,snd_pcm
libphy                17756  1 tg3
serio_raw              5024  0
lib80211                5216  2 lib80211_crypt_tkip,wl
evdev                  9152  8
sg                    24912  0

Any idea about lib80211_crypt_tkip? Should that be there as well?

Thanks again.

andrew.46 03-07-2010 03:25 PM

Hi reed9,

Quote:

Originally Posted by reed9 (Post 3889033)
The 14e4:4312 is supported by the b43 driver and firmware.
The 14e4:4315 is not until 2.6.32, and need the wl driver.

Thanks for this, I was not aware how lucky I have been:

Code:

root@skamandros/home/andrew# lspci -vnn | grep -i broad
02:00.0 Ethernet controller [0200]: Broadcom Corporation BCM4401-B0 100Base-TX [14e4:170c] (rev 02)
0c:00.0 Network controller [0280]: Broadcom Corporation BCM4312 802.11a/b/g [14e4:4312] (rev 01)

Andrew

reed9 03-07-2010 03:37 PM

Quote:

Originally Posted by mattca (Post 3889393)
Exellent :) If you start to have trouble, a report would be appreciated.

Maybe I'll try upgrading my kernel sometime soon.



Yes, the lib80211 module seems to load on boot, with the wl. This command was issued immediately after booting (with non-functioning wireless):

Any idea about lib80211_crypt_tkip? Should that be there as well?

Thanks again.

That all looks fine as far as I can tell. When it isn't working, check the output of dmesg for errors with the wireless. Might give some clue.

What kind of encryption are you using? How are you managing the network? If you're not, I would recommend trying WICD to manage your connections and see if that helps.

Geriao 03-07-2010 04:13 PM

If you use WPA/WPA2, I highly recommend reading Alien's wiki on that. It solved my problems, which were similar to yours.

piratesmack 03-07-2010 04:56 PM

Quote:

Originally Posted by mattca (Post 3889288)
[edit: you say you're using 2.6.32 and the driver isn't working quite right.. what's it doing, or not doing? I wonder if it would be less hassle than what I'm dealing with now..]

In kernel 2.6.33 (Slackware-Current), the b43 driver gives fatal DMA errors. It *kinda* works if I load wl first, unload wl, and then load b43.

With the 2.6.32.x kernels, the b43 driver caused very high CPU usage for me.

Update: Kernel 2.6.34-RC1: Works for about 20 seconds, then disconnects and won't reconnect

My PCI-ID is also 14e4:4315, btw.

If you decide to try kernel 2.6.33, the broadcom-sta driver needs to be patched or else it won't compile

Code:

--- src/include/linuxver.h.orig        2010-03-07 15:52:49.861196761 -0700
+++ src/include/linuxver.h        2010-03-07 15:54:11.872197040 -0700
@@ -20,7 +20,7 @@
 #if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 0))
 #include <linux/config.h>
 #else
-#include <linux/autoconf.h>
+#include <generated/autoconf.h>
 #endif
 #include <linux/module.h>


Geriao 03-08-2010 07:23 AM

Quote:

Originally Posted by piratesmack (Post 3889560)

Also, if you decide to try kernel 2.6.33 the broadcom-sta driver needs to be patched or else it won't compile

Code:

--- src/include/linuxver.h.orig        2010-03-07 15:52:49.861196761 -0700
+++ src/include/linuxver.h        2010-03-07 15:54:11.872197040 -0700
@@ -20,7 +20,7 @@
 #if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 0))
 #include <linux/config.h>
 #else
-#include <linux/autoconf.h>
+#include <generated/autoconf.h>
 #endif
 #include <linux/module.h>


That's a more elegant solution. What I did to recompile wl was to make a symbolic link in /usr/src/linux/include/ to ../generated/linuxver.h. :p

slackwaredanny 03-09-2010 07:40 PM

hope you get it to work okay,and if anybody got the bluetooth working please share!

mattca 03-11-2010 08:25 PM

Thanks for all the input everyone.

I seem to have gotten it sorted out. First, I found a command sequence that seemed to make it work consistently:

Code:

iwconfig eth1 essid <my essid>
iwconfig eth1 key <my key>
ifconfig eth1 down
ifconfig eth1 up
/etc/rc.d/rc.inet1 eth1_start

Then today at work I noticed that on my work laptop my essid & key were in rc.wireless.conf, not rc.inet1.conf (as it was on this laptop). I moved the settings to rc.wireless.conf, and it worked. I've rebooted 5 times, and it's worked each time.

I remember reading somewhere that rc.wireless.conf was being phased out, and that using rc.inet1.conf was preferred. Can someone explain what's going on here?

And, slackwaredenny, you'll probably have more luck if you start a new post with your question.

vss2094 03-13-2010 02:26 PM

@ piratesmack

I too found it not compiling properly on kernel 2.6.33.
But this patch made it running well.:twocents:

Right now posting from my HP Pavilion dv2000 with 14e4:4315.

thanks everybody


All times are GMT -5. The time now is 02:40 PM.