LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Wireless Networking (https://www.linuxquestions.org/questions/linux-wireless-networking-41/)
-   -   I cannot get my WiFi to work in FC6 [Broadcom 4318] (https://www.linuxquestions.org/questions/linux-wireless-networking-41/i-cannot-get-my-wifi-to-work-in-fc6-%5Bbroadcom-4318%5D-510131/)

MangoFresh 12-13-2006 02:23 PM

I cannot get my WiFi to work in FC6 [Broadcom 4318]
 
***Update***
I really want to send you guys the warmest "thank you"s I possibly can! PTrenholme, jschiwal, and shess01 thank you for your time and great patience with me.

Unfortunately I'm not as patience as you guys, and after exhausting (in my opinion) all solutions I decided to dump Fedora and give openSUSE 10.2 a try after reading so many good things about it. Believe it or not but the bcm43xx driver worked out of the box in openSUSE.

Thank you!

***Update***


Ok, so I've tried a lot of walk-thrus to try and get my WiFi to work in a fresh install of FC6. Here are a list of a few that I've tried following:

http://www.hoflink.com/~turajb/linux_acer3k2_fc6.htm
http://www.gagme.com/greg/linux/compaqr3000z-fc6.php
http://www.linuxquestions.org/questi...d.php?t=463002
http://www.linuxquestions.org/linux/...tu_Dappe_Drake

I payed more attention to this way of doing it:

http://fedoranews.org/mediawiki/inde...ng_Ndiswrapper

Here's my problem:

Still no WiFi!

One thing of note, when following the tutorial when it says to enter:

/usr/sbin/ndiswrapper -l

I didn't get this (what it says will be outputted):

Installed ndis drivers:
bcmwl5 driver present, hardware present

Instead I get this:

installed drivers:
bcmwl5 driver installed, hardware (14E4:4318) present (alternate driver: bcm43xx)

Which I assume means the generic driver is still being used, so following one of the other tutorials I tried blacklisting bcm43xx but I'm not sure it helped the situation.

I've gotten the WiFi to work before but I swear I cannot remember, for the life of me, what tutorial I followed, or how I did it.

Thanks in advance!

PTrenholme 12-13-2006 02:48 PM

Try (as su) a modprobe -r bcm43xx to remove the bcm43xx driver from the kernel. (The "alternate driver" message from ndiswrapper is only informational.) You can't have both drivers active at the same time.

Personally, I've found ndiswrapper provides better WiFi access, but Fedora is constrained to use open source drivers by its policy. (The 11 MB/sec. limitation on the bcm43xx is seldom of any significance unless you've got a hot access point and a large data transfer.)

Oh, by the way, installing the NetworkManager packages (and knetworkmanager if you're using the KDE desktop) makes things go much smoother, and installing wpa_supplicant is, I think, still needed for access to WPA and WPA2 encrypted sites, even with the 2.6.18 kernels.

MangoFresh 12-13-2006 03:08 PM

Quote:

Originally Posted by PTrenholme
Try (as su) a modprobe -r bcm43xx to remove the bcm43xx driver from the kernel. (The "alternate driver" message from ndiswrapper is only informational.) You can't have both drivers active at the same time.

First off, thank you for such a quick response. Could you (or someone else) please explain what "su" is? How do I make sure to run that as su?

PTrenholme 12-13-2006 07:26 PM

Just run the su command in a terminal window vis: su - (if you don't use the "-" you'll be in your login context, not the "root" context, so the value of $PATH will be the user default instead of the super-user default.)

For this, and most other commands, you can find a quick overview with the man su (where the command you want explained is where the su is in that line.) For a longer explanation a info su will often work.

man man and info info will explain those two commands, and -- if a man explanation is too long for a screen, "pipe" into the less command like this:
Code:

man less | less

MangoFresh 12-14-2006 02:23 AM

Ok, so I read up on the su - command and I get that, now. I've actually wondered why I couldn't just login as root from my personal account (which I guess makes sense :) ) I then ran the command modprobe -r bcm43xx which didn't give any type of feedback text. I rebooted and tried the /usr/sbin/ndiswrapper -l command and still get the same result (refers to bcm43xx).

I wish I could remember what I did before to get it to work.:-\

PTrenholme 12-14-2006 09:35 AM

The modprobe -r just removes it from the current session so you can check to see if it works when it's removed.

My /etc/modprobe.conf looked like this when I was using bcm43xx:
Code:

$ cat /etc/modprobe.conf~
alias eth0 sky2
alias snd-card-0 snd-atiixp
options snd-card-0 index=0
options snd-atiixp index=0
remove snd-atiixp { /usr/sbin/alsactl store 0 >/dev/null 2>&1 || : ; }; /sbin/modprobe -r --ignore-remove snd-atiixp
alias wlan0 bcm43xx

and like this:
Code:

$ cat /etc/modprobe.conf
alias eth0 sky2
alias snd-card-0 snd-atiixp
options snd-card-0 index=0
options snd-atiixp index=0
remove snd-atiixp { /usr/sbin/alsactl store 0 >/dev/null 2>&1 || : ; }; /sbin/modprobe -r --ignore-remove snd-atiixp
alias eth1 wlan0

now. And my system-config-network defines eth1 as the Broadcom device. (The snd stuff you can ignore since it's defining my sound card. And the eth0 defines my wired ethernet connection.)

IIRC, I did the modprobe -r, then the system-config-network to define eth1, verified that it was working (using knetworkmanager), and then changed /etc/modeprobe.config to correspond. (Like you, it's been a while since I did this, so I may not recall correctly.)

MangoFresh 12-14-2006 08:24 PM

Ok, well the bcm43xx driver has become the thorn in my side that I wish I could remove. I did the modprobe -r bcm43xx and checked out /etc/modprobe.conf and at the bottom it reads

alias wlan0 bcm43xx

It seems like nothing I do can remove this sucker. Why is that every forum I read that refers to the blacklist bcm43xx dozens of people chime in saying that that worked for them. It seems like it does nothing for me.

I'm honestly to the point that I want to reinstall Fedora again and give it another shot from the beginning. Maybe I've tried too many different ways to get this to work?

MangoFresh 12-14-2006 08:34 PM

Actually I just noticed another line that caught my attention, let me know what you think it means or if it is of any significance.

alias eth1 8139too
alias snd-card-0 snd-atiixp
options snd-card-0 index=0
options snd-atiixp index=0
remove snd-atiixp { /usr/sbin/alsactl store - >/dev/null 2>&1 || : ; }; /sbin/
modprobe -r --ignore-remove snd-atiixp
alias wlan0 bcm43xx

I guess it wouldn't have anything to do with my wireless card as I'm assuming that's something to do with a sound driver...still I didn't see that in any of your .conf files so I guess I'm just wondering what that means.

jschiwal 12-14-2006 09:01 PM

You could replace the bcm43xx line with "alias wlan0 ndiswrapper". That is what my computer has. It uses the "Broadcom Corporation BCM4306" controller chip. Also add a "blacklist bcm43xx" entry so that any internal bcm43xx aliases will be ignored.

MangoFresh 12-14-2006 10:01 PM

Ok, since my last post I have found this How to:
http://www.linuxquestions.org/questi...d.php?t=473194

So I did a fresh install (to remove all changes I may have done in the many attempts I've made to rid myself of bcm43xx). I then proceeded to do exactly as the how to says to. I still get this whenever I execute ndiswrapper -l

installed drivers:
bcmwl5 driver installed, hardware (14E4:4318) present (alternate driver : bcm43xx)

This is after blacklisting it and after running ndiswrapper -e bcm43xx. I'm supposed to get driver installed, hardware installed.

Anyone with a clue on how to fix this? Your time is much appreciated! Thanks!


PS. In Network Configuration when I try to activate wlan0 I get this error:

ndiswrapper device wlan0 does not seem to be present, delaying initialization.

jschiwal 12-15-2006 05:49 AM

Look at lsmod to see if the bcm43xx module is loaded. If it isn't, then modprobe the ndiswrapper driver.

MangoFresh 12-15-2006 07:19 AM

lsmod produces
ieee80211softmac 37313 1 bcm43xx
ieee80211 34953 2 bcm43xx, ieee80211softmac


I'm not sure if I need to do any kind of command with modprobe, though (as in -r, -i etc. etc). Because modprobe ndiswrapper alone does nothing to change the above.

shess01 12-15-2006 09:34 AM

I had some problems also with FC6 ( and Sabayon 3.2 ) for that matter with my internal bcm4318 wireless. I ran though "darkmage's" fwcutter procedure at: http://forums.fedoraforum.org/forum/...m43xx+fwcutter , and was getting a connection, but I was losing packets and getting duplicate pings when I pinged any address, default router, dns,etc... I ripped that put and tried the ndiswrapper method. Same. tried re-installing. Same. WTF! I can't tell you how frustrating this was.. If you go over to the fedoraforums site and do a search for "duplicate pings" you will see my posts (and no replies). I could not believe that no-one was having the trouble I was having, the broadcom chipset is fairly common. I could switch back to my FC5 drive and wireless worked perfectly. Normally I do use ndiswrapper, and I dannot tell you how many times I have set up wireless on different distributions using the same method. I got it fixed now and here is what I think is the root problem.
First, there are many different versions of the broadcom chipset... do an "lspci", mine shows:

Quote:

02:03.0 Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 02)
Take this chip/firmware and the 2.6.18 kernel and the bcm43xx kernel module and I think you are going to have a problem. My laptop and chip/card are > 3 years old now, many people have newer hardware <THEORY AND CONJECTURE> and that is the reason they are not having trouble with this procedure <THEORY AND CONJECTURE>. Fine go with ndiswrapper, only, I was having the same problem.

Just so happens I have made a couple of linux converts here at work. And as I was surfing for distros for them to try I found Sabayon 3.2. Looks cool, loaded it up. Going with ndiswrapper, had the same issue. OK. This is definitely a 2.6.18 issue. Hmmmmm... Searching far and wide I decided to look at the driver I was using. Going to Broadcom they will advise you to shuffle off to your pc/laptop manufacture (HP for me) and get the latest driver from them. Turns out the driver I was using (w/o and issues to this point) was from 2004, and an updated driver was available from May,2005.
SO.
the bcm43xx kernel module does not my broadcom hw/fw revision on kernel 2.6.18

kernel 2.6.18 does not like my OLD driver.

Why the long winded explaination? Because this was PAIN and it took several weeks to figure out. I just looked, 149 views and NO replies. Hell, I could even be wrong, but you would have to prove it to me.

OK.
#1 -- go get your latest windows driver from your hw reseller(HP for me).
Put the file in it's own folder, not just on your desktop unless you want a pile of miscellaneous windows files on your desktop.

#2 if you do not have "cabextract", go get it too

Quote:

yum -y install cabextract
#3 get rid of that bcm43xx kernel module. I have not used the "modprobe -r" method used above, that might not hurt, But also add the following line:

blacklist bcm43xx

the "/etc/modprobe.d/blacklist" file. here is mine...
Quote:

[stephen@macbeth modprobe.d]$ cat blacklist
#
# Listing a module here prevents the hotplug scripts from loading it.
# Usually that'd be so that some other driver will bind it instead,
# no matter which driver happens to get probed first. Sometimes user
# mode tools can also control driver binding.

#
# Syntax: driver name alone (without any spaces) on a line. Other
# lines are ignored.
#

# watchdog drivers
blacklist i8xx_tco

# framebuffer drivers
blacklist aty128fb
blacklist atyfb
blacklist radeonfb
blacklist i810fb
blacklist cirrusfb
blacklist intelfb
blacklist kyrofb
blacklist i2c-matroxfb
blacklist hgafb
blacklist nvidiafb
blacklist rivafb
blacklist savagefb
blacklist sstfb
blacklist neofb
blacklist tridentfb
blacklist tdfxfb
blacklist virgefb
blacklist vga16fb
blacklist bcm43xx

# ISDN - see bugs 154799, 159068
blacklist hisax
blacklist hisax_fcpcipnp


#4 Go to the folder where you have stuck your windows driver. In a console, run:

cabextract <your_file_here>

what you are looking for is the bcmwl5.inf and bcmwl5.sys files you can delete all the rest if you want. Those are the only two that you need. Move that folder to your home directory.

#5 Load the driver with ndiswrapper, giving the appropriate path to the bcmwl5.inf file.

ndiswrapper -i /path/to/your/driver/bcmwl5.inf

#6 Verify the driver is loaded.

ndiswrapper -l

#7 Add the line to modprobe.conf, you may already have it but if you run this again, can't hurt.

ndiswrapper -m


#8 Run the following commands to generate your module dependencies for hotplug

depmod -a
modprobe ndiswrapper


Now you should be all set. Do a reboot for good measure. When you come back up do a

iwconfig eth1 essid <your_accesspoint_essid_here>

If you are using encryption, run this command.. If you don't know what this is, skip it.

iwconfig eth1 key <your_key_here>

Now grab your ip for the interface...

dhclient eth1

Now, you should be good to go... A couple more commands you may want to be familiar with, run these and look at the output

ifconfig -a ----- lists all available network interfaces and their settings. here is mine...

[root@macbeth ~]# ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:C0:9F:2B:14:67
inet addr:192.168.1.33 Bcast:255.255.255.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:12867 errors:0 dropped:0 overruns:0 frame:0
TX packets:6247 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4433361 (4.2 MiB) TX bytes:799249 (780.5 KiB)
Interrupt:225 Base address:0xc800

eth1 Link encap:Ethernet HWaddr 00:90:4B:44:99:3C
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:217 Memory:d2004000-d2006000

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:1747 errors:0 dropped:0 overruns:0 frame:0
TX packets:1747 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:3470352 (3.3 MiB) TX bytes:3470352 (3.3 MiB)

netstat -rn ----- lists your kernel routing table. Here is mine

[root@macbeth ~]# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 eth0

the 0.0.0.0 destination is your default router, if you do not have an entry here, you will not be able to connect

also take a look at /etc/resolv.conf, this is the file that holds your DNS servers...

Quote:

[stephen@macbeth ~]$ cat /etc/resolv.conf
; generated by /sbin/dhclient-script
nameserver 205.152.37.23
nameserver 205.152.132.23
One last tip. Konquerer will display man pages in a format MUCH easier to read than just typing "man" at a terminal. Just type "man:depmod" and you will get the man page displayed for you.

That should do it..

Good Luck.

jschiwal 12-15-2006 05:03 PM

Have you rebooted since making the depmod.conf edits? I would think that being blacklisted the module wouldn't be used. You may need to change shess01's examples, substituting "wlan0" for "eth1". You could try unloading the module, but rebooting might be easier.

I wonder if the bcm43xx module was included in your initrd file. After the modprob.conf edits, perhaps you need to run "depmod -a" followed by "mkinitrd".

shess01 12-15-2006 06:01 PM

The interface in FC5 defaults to wlan0, in FC6 it is eth1. I imagine you could force it to one or the other in whatever distro/version, but I don't know how you would do it. Anyway, on FC6 I believe you should be using eth1. Also in some of the how-to's I see them adding the interface in NetworkManager. I never did that step as Net Mgr is a gnome app. On the "Administration" menu about 1/2 way down you should have n application "Network" ( or you can load it by "system-config-network" ). The eth1 interface is already there, highlight eth1, select edit, go to the "Wireless Settings" tab and you can set essid, wep key, etc...

Quote:

So I did a fresh install (to remove all changes I may have done in the many attempts I've made to rid myself of bcm43xx). I then proceeded to do exactly as the how to says to. I still get this whenever I execute ndiswrapper -l

installed drivers:
bcmwl5 driver installed, hardware (14E4:4318) present (alternate driver : bcm43xx)

This is after blacklisting it and after running ndiswrapper -e bcm43xx. I'm supposed to get driver installed, hardware installed.

Anyone with a clue on how to fix this? Your time is much appreciated! Thanks!
Don't worry about the term "present" in your ndiswrapper -l response, that's what mine looked like too..

[root@macbeth ~]# ndiswrapper -l
installed drivers:
bcmwl5 driver installed, hardware (14E4:4324) present (alternate driver: bcm43xx)

Alright, I am going to be flying out tomorrow and will not be back online until Sunday night or Monday. If you follow the instructions I left previously you should be good. If you are somewhere in the middle, I don't think you would have to do a fresh install in order complete the procedure below. As long as you have not screwed up your wired lan and can still connect with eth0, then you should be OK... ;-)


All times are GMT -5. The time now is 08:57 PM.