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? |
Quote:
Quote:
|
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.
|
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. |
Quote:
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 Code:
bcmwl5 driver present So ... I'm lost. Don't know what I'm doing. Can't get it to work ... Help ... :confused: |
Quote:
Quote:
So far your ndiswrapper output looks fine, so once you've removed bcm43xx, try configuring the card and requesting an IP address. |
hangdog, great information. Learning a lot here.
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. Issuing 'ifup eth1' tells me it can't retrieve an IP. |
Quote:
Quote:
|
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. |
Quote:
Quote:
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. |
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. Here is my blacklist: Code:
# mode tools can also control driver binding. Code:
modprobe -r bcm43xx However, I do need to manually issue both commands each time the system is booted. |
Quote:
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. |
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.
|
Quote:
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? |
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.
|
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?
|
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.
|
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 |
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?
|
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. |
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? |
Quote:
|
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. |
Quote:
Quote:
|
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.
|
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 |
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. |