LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Wireless Networking (https://www.linuxquestions.org/questions/linux-wireless-networking-41/)
-   -   Broadcom wireless PCI card in Fedora 6 (https://www.linuxquestions.org/questions/linux-wireless-networking-41/broadcom-wireless-pci-card-in-fedora-6-a-550812/)

SlowCoder 05-02-2007 08:05 PM

Broadcom wireless PCI card in Fedora 6
 
I have a Belkin F5D7001 (Broadcom BCM4318 chip) PCI wireless card installed in my test PC. Fedora 6 recognizes it in lspci, and I can configure it in the Gnome network manager. However, I am unable to establish a connection to my wireless router.

If it shows in lspci, does that mean the driver has been selected and loaded in the kernel?

Where should I start in troubleshooting my situation?

Also, in the Gnome network configuration manager, there are no wireless settings available for choosing WEP/WPA, etc. Is there a way to do this?

osor 05-02-2007 08:24 PM

Quote:

Originally Posted by SlowCoder
If it shows in lspci, does that mean the driver has been selected and loaded in the kernel?

No, but if it shows in lsmod, it does.
Quote:

Originally Posted by SlowCoder
Where should I start in troubleshooting my situation?

First, use “iwconfig” to see if you have a configurable interface. If so, use iwconfig to configure your interface too (depending on the card, you might use iwconfig or iwpriv for WPA keys). After that, use ifconfig (or dhclient) to set up the networking part. After you see everything is working, then I would suggest troubleshooting the GUI interface.

sparc86 05-02-2007 08:49 PM

I know this card. You're gonna need an external module. Google for it and then install this module to your kernel and then recompile your kernel with the new module.

Hangdog42 05-03-2007 06:37 AM

This card can use one of two drivers, bcm43xx (which is a native linux driver) and ndiswrapper. I would suggest using ndiswrapper as the 4318 chipset doesn't work very well with bcm43xx.

I would bet that Fedora is picking up your card based on bcm43xx. The problem is that Fedora doesn't distribute the firmware needed for this card to run. For that you need to use a program called fwcutter and a Windows driver. I've got instructions on how to create and install firmware on my help site. However, as I said, for this chipset you are much better off using ndiswrapper and there are good install instructions on the ndiswrapper wiki. Just be sure to blacklist the bcm43xx module as having both drivers loaded will cause conflicts.

SlowCoder 05-03-2007 08:26 PM

Quote:

Originally Posted by Hangdog42
Just be sure to blacklist the bcm43xx module as having both drivers loaded will cause conflicts.

How do I go about doing this? 'modprobe -r bcm43xx'? I've not done this before and don't want to blow away my system.

Update: I've tried the instructions from this site: http://fedoranews.org/mediawiki/inde...ng_Ndiswrapper
I've downloaded and tried a couple of different driver versions.
When I get to the "View Installation of Driver" portion of the instructions, I don't get
Code:

bcmwl5          driver present, hardware present
Instead, I get
Code:

bcmwl5      driver present
device (14E4:4318) present (alternate driver: bcm43xx)

I've tried removing the bcm43xx module using "modprobe -r bcm43xx", which seems to temporarily remove it from lsmod, but I continue to get /lib/modules/2.6.18-1.2798.fc6/kernel/drivers/net/wireless/bcm43xx/bcm43xx.ko listed in modprobe.

So ... I'm lost. Don't know what I'm doing. Can't get it to work ...
Help ... :confused:

Hangdog42 05-04-2007 06:51 AM

Quote:

How do I go about doing this? 'modprobe -r bcm43xx'? I've not done this before and don't want to blow away my system.
Modprobe -r won't blow away your system. It just removes a module from use for that session and can be reversed either by using modprobe to reload the module or by a reboot. A more permanent solution is to add the bcm43xx module to your /etc/modprobe.d/blacklist file. That tells the system to never load that module. And since it is a text file, it can easily be reversed if you later decide to use bcm43xx.


Quote:

I've tried removing the bcm43xx module using "modprobe -r bcm43xx", which seems to temporarily remove it from lsmod, but I continue to get /lib/modules/2.6.18-1.2798.fc6/kernel/drivers/net/wireless/bcm43xx/bcm43xx.ko listed in modprobe.
The modprobe command just shows the modules that are available, and doesn't speak to whether or not they are in use. If lsmod lists the module, then it is in use. So NOT having bcm43xx in lsmod but seeing it in modprobe is fine. It is lsmod that is the important one here.

So far your ndiswrapper output looks fine, so once you've removed bcm43xx, try configuring the card and requesting an IP address.

SlowCoder 05-04-2007 10:05 AM

hangdog, great information. Learning a lot here.

Quote:

Originally Posted by Hangdog42
So far your ndiswrapper output looks fine, so once you've removed bcm43xx, try configuring the card and requesting an IP address.

I can view the card's config using iwconfig, but when I view ifconfig, it's not listed.

Using iwconfig, I've tried configuring the mode to "managed", because it's connecting to a router, matching the frequency to the router, turned off encryption (open) in the router, and on the card.

Issuing 'ifup eth1' tells me it can't retrieve an IP.

Hangdog42 05-04-2007 01:42 PM

Quote:

Using iwconfig, I've tried configuring the mode to "managed", because it's connecting to a router, matching the frequency to the router, turned off encryption (open) in the router, and on the card.
Do you ever set the essid value to match the SSID of the router? That is critical to getting the card to associate with the router, and you can't get an IP without associating. Post the output of iwconfig if you've got questions about what you're seeing.

Quote:

I can view the card's config using iwconfig, but when I view ifconfig, it's not listed.
That's actually pretty normal. You usually have to issue and ifconfig eth1 up or ifup eth1 before it shows up in ifconfig. Also, if ifup isn't getting an IP address, have a look in your log files (/var/log/messages, /var/log/syslog and the output of the dmesg command) and see if there is any complaining.

SlowCoder 05-04-2007 11:16 PM

Grrr ...

I have gone so far as to completely reinstall FC6 here. It's a test box, so I don't care.

Where I am ...
FC6 with full updates
Installed livna repo
Installed ndiswrapper with yum
Added 'blacklist bcm43xx' to /etc/modprobe.d/blacklist AND /etc/modprobe.d/blacklist-compat (for completeness)
Ran ndiswrapper -i [driver] to install driver.
Rebooted

Running 'lsmod' at this point still shows bcm43xx running!
Running 'ndiswrapper -l' still indicates that it's using the alternate bcm43xx driver.

Hangdog42 05-05-2007 07:32 AM

Quote:

Running 'ndiswrapper -l' still indicates that it's using the alternate bcm43xx driver.
I'm pretty sure that is ndiswrapper just stating that there is an alternative driver to be aware of. It doesn't indicate that the alternate driver is actually loaded or being used. My rig does the same thing when I know bcm43xx isn't loaded.

Quote:

Running 'lsmod' at this point still shows bcm43xx running!
OK, that is a problem. That does show bmc43xx is loaded and functioning. A couple of things to try:

1) Post the relevant section of your blacklist. Maybe there is a syntax error.
2) Use modprobe -r bcm43xx followed by modprobe ndiswrapper to get ndiswrapper running all by itself.

Once that is done and you've configured your card, post your iwconfig and ifconfig output along with the commands (and any errors) of the configuration.

SlowCoder 05-05-2007 02:30 PM

Code:

I'm pretty sure that is ndiswrapper just stating that there is an alternative driver to be aware of. It doesn't indicate that the alternate driver is actually loaded or being used. My rig does the same thing when I know bcm43xx isn't loaded.
Yes, I think you're right. But it was misleading to me.

Here is my blacklist:
Code:

# mode tools can also control driver binding.
#
# Syntax:  driver name alone (without any spaces) on a line. Other
# lines are ignored.
#

blacklist bcm43xx

# 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

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

Yes, it appears that issuing
Code:

modprobe -r bcm43xx
modprobe -i ndiswrapper

works! I'm on the network. This makes me feel much better!
However, I do need to manually issue both commands each time the system is booted.

sparc86 05-06-2007 01:10 AM

Quote:

However, I do need to manually issue both commands each time the system is booted.
No you don't.
Just write a small script with these commands inside, set + permission to the script and be happy! :D

Eg:

#touch script.sh
#echo modprobe ndiswrapper > script.sh
------------------------------------------

However, if you're sure you're not going to use the bcm43xx module, you should uninstall it from your system, despite unloading it everytime you boot-up the system.

Hangdog42 05-06-2007 08:01 AM

If that blacklist isn't working, you'll probably need to go with sparc86's suggestion and write a little script so that getting the card up and running is a one command deal. Honestly, I don't know why that blacklist isn't working. It looks good to me.

SlowCoder 05-06-2007 07:45 PM

Quote:

Originally Posted by Hangdog42
If that blacklist isn't working, you'll probably need to go with sparc86's suggestion and write a little script so that getting the card up and running is a one command deal. Honestly, I don't know why that blacklist isn't working. It looks good to me.

Yes, I'd thought of that, and considered it.

However, this raises a new question: Why isn't the blacklist working? I'm wondering if there could be a larger issue here, non-related to the original post?

Hangdog42 05-07-2007 08:11 PM

It certainly is possible that there is some larger problem here. You might want to start a thread in the Fedora forum and ask about blacklisting modules, because from my perspective it looks as if you did it correctly. I know that Fedora is including some security stuff like SELinux and some virtualization stuff like Xen, that have caused various odd problems and it could be one of those is interfering with the blacklist.

rcx11 05-09-2007 08:03 PM

I'm having a similar problem with Ubuntu. The original problem is identical, but I'm having complications with the solution. I've followed the directions given here, but instead of it working, the card disappears completely from ifconfig and iwconfig. ndiswrapper -l shows the driver is installed and the hardware is present. Any ideas?

Hangdog42 05-10-2007 04:19 PM

Is ndiswrapper loaded (check the output of lsmod)? If it is, you'll have to check your log files and see if something is going wrong when ndiswrapper loads.

rcx11 05-12-2007 03:29 PM

Output of "lsmod" before removal of bcm43xx

Module Size Used by
sg 44584 0
sd_mod 25728 2
usb_storage 89792 1
libusual 21544 1 usb_storage
battery 14088 0
ac 8328 0
thermal 19472 0
fan 7432 0
button 9888 0
bcm43xx 148500 0
ieee80211softmac 40704 1 bcm43xx
ieee80211 39112 2 bcm43xx,ieee80211softmac
ieee80211_crypt 9216 1 ieee80211
8139too 34816 0
ipv6 334432 8
binfmt_misc 16012 1
rfcomm 51360 0
l2cap 31744 5 rfcomm
bluetooth 64644 4 rfcomm,l2cap
powernow_k8 16576 0
cpufreq_userspace 6560 0
cpufreq_stats 9312 0
freq_table 7104 2 powernow_k8,cpufreq_stats
cpufreq_powersave 3456 0
cpufreq_ondemand 10928 1
cpufreq_conservative 11272 0
video 22920 0
tc1100_wmi 10632 0
sony_acpi 7704 0
sbs 20928 0
pcc_acpi 19968 0
i2c_ec 7808 1 sbs
i2c_core 29312 1 i2c_ec
hotkey 14536 0
dev_acpi 17540 0
container 6656 0
asus_acpi 21924 0
nls_iso8859_1 6912 1
nls_cp437 8704 2
vfat 17920 2
fat 65456 1 vfat
nls_utf8 3840 3
ntfs 109128 2
af_packet 29452 2
joydev 14208 0
tsdev 11136 0
sbp2 29448 0
scsi_mod 181424 4 sg,sd_mod,usb_storage,sbp2
parport_pc 43560 0
lp 16584 0
parport 49932 2 parport_pc,lp
pcmcia 49048 0
8139cp 29696 0
evdev 14592 2
tifm_7xx1 11264 0
tifm_core 12928 1 tifm_7xx1
psmouse 51088 0
mii 8192 2 8139too,8139cp
yenta_socket 33420 1
rsrc_nonstatic 16896 1 yenta_socket
sdhci 22796 0
mmc_core 40840 1 sdhci
pcspkr 5248 0
serio_raw 10244 0
pcmcia_core 52772 3 pcmcia,yenta_socket,rsrc_nonstatic
snd_atiixp_modem 21900 0
snd_atiixp 26644 1
snd_ac97_codec 127064 2 snd_atiixp_modem,snd_atiixp
snd_ac97_bus 4352 1 snd_ac97_codec
snd_pcm_oss 57344 0
snd_mixer_oss 22784 1 snd_pcm_oss
snd_pcm 108168 4 snd_atiixp_modem,snd_atiixp,snd_ac97_codec,snd_pcm_oss
snd_timer 31112 1 snd_pcm
shpchp 49068 0
pci_hotplug 38912 1 shpchp
snd 79016 9 snd_atiixp_modem,snd_atiixp,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer
soundcore 14112 1 snd
snd_page_alloc 13200 3 snd_atiixp_modem,snd_atiixp,snd_pcm
ext3 164624 1
jbd 74024 1 ext3
ohci1394 40776 0
ieee1394 387704 2 sbp2,ohci1394
ehci_hcd 40456 0
ohci_hcd 25988 0
usbcore 167840 5 usb_storage,libusual,ehci_hcd,ohci_hcd
ide_generic 2944 0
ide_cd 39584 0
cdrom 43816 1 ide_cd
ide_disk 21248 6
generic 7428 0
atiixp 9232 1
processor 38280 2 thermal,powernow_k8
vesafb 11048 0
capability 7304 0
commoncap 10752 1 capability
vga16fb 16656 1
cfbcopyarea 5376 2 vesafb,vga16fb
vgastate 10368 1 vga16fb
cfbimgblt 4352 2 vesafb,vga16fb
cfbfillrect 6272 2 vesafb,vga16fb
fbcon 45824 73
tileblit 4736 1 fbcon
font 10240 1 fbcon
bitblit 8064 1 fbcon
softcursor 3968 1 bitblit

Output of "ndiswrapper -l"

Installed drivers:
bcmwl5 driver installed, hardware present

Output of "lsmod" after "modprobe ndiswrapper"

Module Size Used by
ndiswrapper 284824 0
sg 44584 0
sd_mod 25728 2
usb_storage 89792 1
libusual 21544 1 usb_storage
battery 14088 0
ac 8328 0
thermal 19472 0
fan 7432 0
button 9888 0
8139too 34816 0
ipv6 334432 8
binfmt_misc 16012 1
rfcomm 51360 0
l2cap 31744 5 rfcomm
bluetooth 64644 4 rfcomm,l2cap
powernow_k8 16576 0
cpufreq_userspace 6560 0
cpufreq_stats 9312 0
freq_table 7104 2 powernow_k8,cpufreq_stats
cpufreq_powersave 3456 0
cpufreq_ondemand 10928 1
cpufreq_conservative 11272 0
video 22920 0
tc1100_wmi 10632 0
sony_acpi 7704 0
sbs 20928 0
pcc_acpi 19968 0
i2c_ec 7808 1 sbs
i2c_core 29312 1 i2c_ec
hotkey 14536 0
dev_acpi 17540 0
container 6656 0
asus_acpi 21924 0
nls_iso8859_1 6912 1
nls_cp437 8704 2
vfat 17920 2
fat 65456 1 vfat
nls_utf8 3840 3
ntfs 109128 2
af_packet 29452 2
joydev 14208 0
tsdev 11136 0
sbp2 29448 0
scsi_mod 181424 4 sg,sd_mod,usb_storage,sbp2
parport_pc 43560 0
lp 16584 0
parport 49932 2 parport_pc,lp
pcmcia 49048 0
8139cp 29696 0
evdev 14592 2
tifm_7xx1 11264 0
tifm_core 12928 1 tifm_7xx1
psmouse 51088 0
mii 8192 2 8139too,8139cp
yenta_socket 33420 1
rsrc_nonstatic 16896 1 yenta_socket
sdhci 22796 0
mmc_core 40840 1 sdhci
pcspkr 5248 0
serio_raw 10244 0
pcmcia_core 52772 3 pcmcia,yenta_socket,rsrc_nonstatic
snd_atiixp_modem 21900 0
snd_atiixp 26644 1
snd_ac97_codec 127064 2 snd_atiixp_modem,snd_atiixp
snd_ac97_bus 4352 1 snd_ac97_codec
snd_pcm_oss 57344 0
snd_mixer_oss 22784 1 snd_pcm_oss
snd_pcm 108168 4 snd_atiixp_modem,snd_atiixp,snd_ac97_codec,snd_pcm_oss
snd_timer 31112 1 snd_pcm
shpchp 49068 0
pci_hotplug 38912 1 shpchp
snd 79016 9 snd_atiixp_modem,snd_atiixp,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer
soundcore 14112 1 snd
snd_page_alloc 13200 3 snd_atiixp_modem,snd_atiixp,snd_pcm
ext3 164624 1
jbd 74024 1 ext3
ohci1394 40776 0
ieee1394 387704 2 sbp2,ohci1394
ehci_hcd 40456 0
ohci_hcd 25988 0
usbcore 167840 6 ndiswrapper,usb_storage,libusual,ehci_hcd,ohci_hcd
ide_generic 2944 0
ide_cd 39584 0
cdrom 43816 1 ide_cd
ide_disk 21248 6
generic 7428 0
atiixp 9232 1
processor 38280 2 thermal,powernow_k8
vesafb 11048 0
capability 7304 0
commoncap 10752 1 capability
vga16fb 16656 1
cfbcopyarea 5376 2 vesafb,vga16fb
vgastate 10368 1 vga16fb
cfbimgblt 4352 2 vesafb,vga16fb
cfbfillrect 6272 2 vesafb,vga16fb
fbcon 45824 73
tileblit 4736 1 fbcon
font 10240 1 fbcon
bitblit 8064 1 fbcon
softcursor 3968 1 bitblit


Any ideas? The specific distro is Ubuntu 6.10 x86_64

Hangdog42 05-12-2007 03:33 PM

Well, the kernel modules look fine so the trouble must be elsewhere. After you've loaded ndsiwrapper, what is the output of iwconfig (I know you said it is gone, but humor me)? And have you looked through your logs for errors from ndiswrapper after you load the module?

SlowCoder 05-12-2007 05:16 PM

THREAD STEALER!! Hehe, just kidding. :p I'm glad my thread was somewhat useful, and I hope you get it fixed.

One thing I learned here is that you need to remove bcm43xx BEFORE adding ndiswrapper to modprobe. This might not be the solution for you. Just throwing in my 2 cents.

rcx11 05-12-2007 09:18 PM

For that last post, I have been removing bcm43xx before loading ndiswrapper. As for the iwconfig, this isn't a copy and paste, so exact syntax may differ, but this is how it looks.

lo No wireless extensions.

eth0 No wireless extensions.

sit0 No wireless extensions.


That is it for that. And no, I forgot to check the logs, but that's something I'll do next. There was something that I was wondering about the two outputs of lsmod. In the first one with bcm43xx, it says that ieee80211softmac, ieee80211, and ieee80211_crypt are used by bcm43xx. In the ndiswrapper output, it only says that usbcore is being used by ndiswrapper. Is this normal, or is that possibly where the problem is?

Hangdog42 05-13-2007 08:31 AM

Quote:

In the first one with bcm43xx, it says that ieee80211softmac, ieee80211, and ieee80211_crypt are used by bcm43xx. In the ndiswrapper output, it only says that usbcore is being used by ndiswrapper. Is this normal, or is that possibly where the problem is?
Actually that is normal. The bcm43xx driver uses a number of other kernel modules, but ndiswrapper really doesn't. But USB wireless cards are a special kind of pain in the posterior so also check your logs for errors in the USB system when you plug the card in.

rcx11 05-13-2007 02:35 PM

Actually, I never plug this card in. It's internal on my laptop. I ran dmesg, and here is the output.

"dmseg | grep ndiswrapper"

[ 104.760083] ndiswrapper version 1.22 loaded (preempt=no,smp=yes)
[ 104.802047] ndiswrapper (check_nt_hdr:149): kernel is 64-bit, but Windows driver is not 64-bit;bad magic: 010B
[ 104.802053] ndiswrapper (load_sys_files:215): couldn't prepare driver 'bcmwl5'
[ 104.802391] ndiswrapper (load_wrap_driver:113): loadndiswrapper failed (65280); check system log for messages from 'loadndisdriver'

Judging by what's here, I'd guess I have to find the 64-bit Windows driver for this to work right.

Hangdog42 05-14-2007 06:56 AM

Quote:

[ 104.802047] ndiswrapper (check_nt_hdr:149): kernel is 64-bit, but Windows driver is not 64-bit;bad magic: 010B
That is your problem right there. If you are running a 64 bit OS, you MUST (as in there is absolutely, positively no way around it) use a 64 bit Windows driver. Check out the ndiswrapper wiki for driver suggestions or visit the manufacturers website. Note that XP drivers are probably better than Vista drivers. I know that the ndiswrapper team was working on supporting Vista drivers, but I don't know if they are yet.

Quote:

And this may seem stupid, but I hadn't completely done my research on this, and I was just suddenly overcome with doubt about if this is acutally a Broadcom 43xx device. The Window$ driver is bcmwl5.sys. I was assuming that since the module in linux was bcm43xx, then it was a 43xx device
That is a perfectly legitimate doubt, and hopefully easily taken care of. Try running lspci (you'll probably need to be root) and see if your card is listed in the output. Frequently the chipset is listed as well. Otherwise you might try installing lshw which is a nice tool for identifying hardware.

rcx11 05-14-2007 05:28 PM

Do you know of any locations for the 64-bit Window$ driver? I looked at iwconfig after my most recent restart. I haven't blacklisted the bcm43xx module (again) and it showed it to be a Broadcom 4318. I've been searching all day and either the drivers I find don't work or the link is broken to be able to download them. The SuSE 10 x86_64 project says that only the 4318 drivers downloaded from Acer work with that distro. I can't confirm it on mine because the link to that download is broken.

rcx11 05-14-2007 11:29 PM

New update. I found a 64 bit Window$ driver for a Broadcom 43xx card, however I don't know the exact model. I obtained it from ftp://ftp.support.acer-euro.com/note...er/winxp64bit/ using logical deduction from the SuSE forums I ran across. It still isn't working, but for a different reason this time. Perhaps you could shed a light on it.

After running "ndiswrapper -i ..." and "modprobe ndiswrapper

"dmesg | grep ndiswrapper"

[ 89.020352] ndiswrapper version 1.22 loaded (preempt=no,smp=yes)
[ 89.043194] ndiswrapper (load_pe_images:573): fixing KI_USER_SHARED_DATA address in the driver
[ 89.044342] ndiswrapper: driver bcmwl5 (Broadcom,02/11/2005, 3.100.64.0) loaded
[ 89.048103] ndiswrapper (NdisWriteErrorLogEntry:241): log: 0C7799B0, count: 1, return_address: ffffffff8843f13e
[ 89.048108] ndiswrapper (NdisWriteErrorLogEntry:244): code: 267
[ 89.048153] ndiswrapper (miniport_init:264): couldn't initialize device: C0000001
[ 89.048159] ndiswrapper (pnp_start_device:428): Windows driver couldn't initialize the device (C0000001)
[ 89.048173] ndiswrapper (miniport_halt:327): device ffff81000c6ca500 is not initialized - not halting
[ 89.048180] ndiswrapper: device eth%d removed
[ 89.048202] ndiswrapper: probe of 0000:06:02.0 failed with error -22

Hangdog42 05-15-2007 07:18 AM

My only suggestion is to spend some quality time on the ndiswrapper wiki. I know that 64 bit drivers were giving them fits, but since I'm on a 32 bit system, I don't have any direct experience with it.

From the looks of what you posted, the Windows river and ndiswrapper are not compatible. Also, you're using ndiswrapper version 1.22, and the latest is version 1.43. I would definitely download and install the latest version before you try anything else.


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