Linux - Wireless NetworkingThis forum is for the discussion of wireless networking in Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Snipersnest dropped me an email that looks like bcm43xx might actually be working a bit. Firmware has been loaded and the card shows up in iwconfig. This is good.
However, one thing does rear its ugly head, and that is that this card (if iwconfig is reporting it right) has a 4311 chipset. According to the bcm43xx supported devices page support for that chipset started with kernel version 2.6.20.6. So before we all go get excited, Snipersnest, can you tell us what kernel version your running?
@pappy_mcfae
I'm always glad to have more people thinking about a problem!
So before we all go get excited, Snipersnest, can you tell us what kernel version your running?
Stock 2.6.20-15 from Ubuntu install. Ok after I emailed you I did some more tweaking with that GRUB start options. I have a bad feeling that my start options are keeping a LOT of my hardware from working correctly.
I was able to get the wireless to at least say its there by uninstalling ndiswrapper and using the packaged version of fwcutter. I even found a tutorial for using fwcutter with a driver that works. This allowed iwconfig to show eth1 as my wireless card.
However I never could get it to talk. So I started looking at GRUB options. Here's a cut of the main parts of my start options for default and the current kernel I load.
Code:
## additional options to use with the default boot option, but not with the
## alternatives
## e.g. defoptions=vga=791 resume=/dev/hda5
# defoptions=quiet no acpi pnpbios=off acpi=off nolapci pci=assign-busses irqpoll
title Ubuntu, kernel 2.6.20-15-generic
root (hd0,5)
kernel /boot/vmlinuz-2.6.20-15-generic root=UUID=cec2440a-730c-4f63-a18b-e1b172f99f1e ro quiet acpi=off no acpi nolapic pnpbios=off irqpoll pci=assign-busses
initrd /boot/initrd.img-2.6.20-15-generic
quiet
Without those options at the end of GRUB my laptop does strange things. If I remove the irqpoll and pci=assign-busses and no acpi I get the same results from removing 1 at a time or all 3. They all work together or not all for me.
IF you take those 3 out and boot the system. GDM starts ALSA lags and lags the user box comes up with ALSA still lagging. The good new here is my wireless light is BLUE not orange! But once you login the system freeze and you have to kill X and then the system is to unstable to do anything.
Just to keep everybody update to date.. I'm using an HP dv9010us laptop with an AMD X2 processor, nvidia video, Ubuntu Fiesty Fawn 7.04, with a dualboot of XP MCE.
Pappy_mcfae - I used your tutorial on my last fresh install but didn't have any success with it. I get to the same point with ndiswrapper everytime.. it doesn't find my hardware. fwcutter did though
Last edited by Snipersnest; 07-30-2007 at 08:40 AM.
(*%$&#((*%$& numbering schemes....... OK, I think that kernel is a 2.6.20, which would be too old. I believe that the -15 refers to something like the 15th compile Ubuntu did on it, or something like that. You may have to ask the Ubuntu crowd about this however because I may be wrong.
Now for your boot parameters, I'm seeing some typos and some errors. Are those things you added or were they set when you installed Ubuntu? The typo is the nolapic, which should be noapic. Also no apci isn't correct, it should be pci=noapci and that might be redundant with apci=off. I have no idea how the kernel behaves if it gets parameters it doesn't understand, but at very least it might not be doing what you think it is doing.
From the googling I've done, the pnpbios, irqpoll and pci=assign-busses options seem to be aimed at various BIOS problems. Have you done an upgrade of the BIOS on this machine? You'd have to search on the HP site, but if they have a BIOS upgrade available, that might be a good idea.
(*%$&#((*%$& numbering schemes....... OK, I think that kernel is a 2.6.20, which would be too old. I believe that the -15 refers to something like the 15th compile Ubuntu did on it, or something like that. You may have to ask the Ubuntu crowd about this however because I may be wrong.
Ok I'll look into that. I'm thinking about scrapping this install and redoing it with Ubuntu 7.10 Gusty. Not sure if this matter but the newer packaged kernel headers I can download are 2.6.10-16.29 - I'm using 2.6.20-15.27.
Quote:
Now for your boot parameters, I'm seeing some typos and some errors. Are those things you added or were they set when you installed Ubuntu? The typo is the nolapic, which should be noapic. Also no apci isn't correct, it should be pci=noapci and that might be redundant with apci=off. I have no idea how the kernel behaves if it gets parameters it doesn't understand, but at very least it might not be doing what you think it is doing.
Ok I cleaned this file up after reading this.. I only have pci=noacpi and pnpbios=off left here.
Quote:
From the googling I've done, the pnpbios, irqpoll and pci=assign-busses options seem to be aimed at various BIOS problems. Have you done an upgrade of the BIOS on this machine? You'd have to search on the HP site, but if they have a BIOS upgrade available, that might be a good idea.
I'm using the latest version of the BIOS posible from the HP site. They acctually just release a new version a few days ago. F.38 to be exact. Theres no options in my BIOS other than boot order and the time. Rather cut and dry.
After cleaning up the GRUB menu.lst and checking my iwconfig to make sure my eth1 is there I found these lines in my /var/log/syslog -
Code:
Jul 30 14:13:39 nate-laptop kernel: [ 2642.096000] bcm43xx: IRQ_READY timeout
Jul 30 14:13:43 nate-laptop NetworkManager: <WARNING>^I nm_device_802_11_wireless_scan (): could not trigger wireless scan on device eth1: No such device
It does that about every 2 minutes. Am I missing something anywhere else?
Not sure if this matter but the newer packaged kernel headers I can download are 2.6.10-16.29 - I'm using 2.6.20-15.27.
You can usually get by with older headers than your actual kernel. The kernel headers pretty much there to provide information to other programs when they are compiled. In your particular case, any bug fixes for the 4311 that were introduced in the 2.6.20.6 kernel are unlikely to have affected the header files. I'd pay attention to the kernel version and not worry about the kernel headers.
Since you can see the card in iwconfig now, what happens if you try to configure it? Try to set the SSID with the iwconfig command and see if it takes.
Quote:
It does that about every 2 minutes. Am I missing something anywhere else?
Well, its pretty clear that Ubuntu's network manager is having trouble seeing the card. That could mean either that the driver simply isn't working or that the network manager is screwy. Try messing with the card at the console level, at least that is likely to generate errors if something is wrong. It is also possible that this is a symptom of your kernel being older than recommended.
If you're feeling really adventurous, you could download the source for a new kernel and compile it yourself. If you run make oldconfig, that should get you the same configuration as your existing kernel. If you go this way just be sure you've got a functional kernel available from GRUB so that if the compile goes badly, you can still boot.
You can usually get by with older headers than your actual kernel. The kernel headers pretty much there to provide information to other programs when they are compiled. In your particular case, any bug fixes for the 4311 that were introduced in the 2.6.20.6 kernel are unlikely to have affected the header files. I'd pay attention to the kernel version and not worry about the kernel headers.
Since you can see the card in iwconfig now, what happens if you try to configure it? Try to set the SSID with the iwconfig command and see if it takes.
Well push come to shove...I'll go with Ubuntu 7.10 and see if that helps. I've been reading its doing better in a lot of areas for people with major problems like mine. I mainly want to showcase my laptop to people that know nothing about Linux
Code:
sudo iwconfig eth1 essid nateshouse
Is that the correct command? I've never made it this far lol. If that is correct it only takes the N from nateshouse. If I put -nateshouse it takes all of it.
ok so after thinking about the kernel being wrong and the errors I was getting in my system log I decided to trash that install all together and go with the new Ubuntu running the 2.6.22 kernel. The reason I'd just trash an install is because I'm a novice and compiling a new kernel is not on my level of linux experience. This kernel has some new wireless stuff built in already. Heres a link to the wireless part http://kernelnewbies.org/Linux_2_6_2...e7ebe8d84847cc
I also posted about the pci=noacpi option.. It appears from some reading. This option doesn't let resource share each other. So that could be why my wireless was always on IRQ 0 since it couldn't share IRQ 7 like it wanted. Also this post tells me to use nolapic rather than noapci. It works perfectly this way. Heres that post. http://www.linuxquestions.org/questi...d.php?t=573556
On the new kernel everything loads up right out of the box mostly. My wireless says its on IRQ 7 now but I still get the bcm43xx warnings when booting the computer. I'm guessing I now would be a good time to use fwcutter to put the firmware in /lib/firmware since its warning me about that?
Sample of my new syslog file AFTER I disabled wireless in GDM.
Code:
Jul 31 14:00:30 ubuntu firmware_helper[8825]: main: error loading '/lib/firmware/bcm43xx_microcode5.fw' for device '/class/firmware/0000:03:00.0' with driver 'bcm43xx'
Jul 31 14:00:36 ubuntu NetworkManager: <WARN> nm_device_802_11_wireless_scan(): could not trigger wireless scan on device eth1: No such device
Jul 31 14:00:56 ubuntu firmware_helper[8853]: main: error loading '/lib/firmware/bcm43xx_microcode5.fw' for device '/class/firmware/0000:03:00.0' with driver 'bcm43xx'
Jul 31 14:00:56 ubuntu kernel: [ 290.796324] bcm43xx: Error: Microcode "bcm43xx_microcode5.fw" not available or load failed.
Jul 31 14:01:00 ubuntu NetworkManager: <WARN> nm_device_802_11_wireless_scan(): could not trigger wireless scan on device eth1: No such device
Jul 31 14:02:54 ubuntu NetworkManager: <info> Deactivating device eth1.
Jul 31 14:02:54 ubuntu NetworkManager: <info> nm_policy_device_change_check:: old_dev has_link? 1
Jul 31 14:02:54 ubuntu NetworkManager: <info> nm_policy_device_change_check:: old_dev && new_dev!!
Jul 31 14:03:14 ubuntu kernel: [ 381.202080] irq 7: nobody cared (try booting with the "irqpoll" option)
Jul 31 14:03:14 ubuntu kernel: [ 381.202087]
Jul 31 14:03:14 ubuntu kernel: [ 381.202088] Call Trace:
Jul 31 14:03:14 ubuntu kernel: [ 381.202091] <IRQ> [__report_bad_irq+30/128] __report_bad_irq+0x1e/0x80
Jul 31 14:03:14 ubuntu kernel: [ 381.202120] [note_interrupt+643/704] note_interrupt+0x283/0x2c0
Jul 31 14:03:14 ubuntu kernel: [ 381.202130] [handle_edge_irq+224/336] handle_edge_irq+0xe0/0x150
Jul 31 14:03:14 ubuntu kernel: [ 381.202139] [do_IRQ+123/256] do_IRQ+0x7b/0x100
Jul 31 14:03:14 ubuntu kernel: [ 381.202142] [default_idle+0/64] default_idle+0x0/0x40
Jul 31 14:03:14 ubuntu kernel: [ 381.202148] [ret_from_intr+0/10] ret_from_intr+0x0/0xa
Jul 31 14:03:14 ubuntu kernel: [ 381.202151] <EOI> [unix_poll+0/176] unix_poll+0x0/0xb0
Jul 31 14:03:14 ubuntu kernel: [ 381.202164] [default_idle+41/64] default_idle+0x29/0x40
Jul 31 14:03:14 ubuntu kernel: [ 381.202170] [cpu_idle+112/192] cpu_idle+0x70/0xc0
Jul 31 14:03:14 ubuntu kernel: [ 381.202188]
Jul 31 14:03:14 ubuntu kernel: [ 381.202190] handlers:
Jul 31 14:03:14 ubuntu kernel: [ 381.202192] [_end+127687176/2130332920] (usb_hcd_irq+0x0/0x60 [usbcore])
Jul 31 14:03:14 ubuntu kernel: [ 381.202215] Disabling IRQ #7
Jul 31 14:03:17 ubuntu dhclient: DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 6
Jul 31 14:03:17 ubuntu dhclient: send_packet: Network is down
Jul 31 14:03:23 ubuntu dhclient: DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 9
Jul 31 14:03:23 ubuntu dhclient: send_packet: Network is down
Jul 31 14:03:32 ubuntu dhclient: DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 10
Jul 31 14:03:32 ubuntu dhclient: send_packet: Network is down
Jul 31 14:03:42 ubuntu dhclient: DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 6
Jul 31 14:03:42 ubuntu dhclient: send_packet: Network is down
Jul 31 14:03:48 ubuntu dhclient: No DHCPOFFERS received.
Jul 31 14:03:48 ubuntu dhclient: No working leases in persistent database - sleeping.
Jul 31 14:03:48 ubuntu firmware_helper[8969]: main: error loading '/lib/firmware/bcm43xx_microcode5.fw' for device '/class/firmware/0000:03:00.0' with driver 'bcm43xx'
Jul 31 14:03:48 ubuntu avahi-autoipd(eth1)[8966]: SIOCSIFFLAGS failed: No such file or directory
Jul 31 14:03:48 ubuntu kernel: [ 397.648865] bcm43xx: Error: Microcode "bcm43xx_microcode5.fw" not available or load failed.
iwconfig also shows the wireless device right out of the box on Ubuntu 7.10 (2.6.22). So my next question, Do I go ahead with fwcutter or do I try and battle ndiswrapper all over on my clean install?
Last edited by Snipersnest; 07-31-2007 at 09:29 AM.
Do I go ahead with fwcutter or do I try and battle ndiswrapper all over on my clean install?
I'd install the firmware with fwcutter. The errors your seeing are because the firmware isn't there, and since you need bcm43xx AND firmware to have a functional card, it isn't working.
Quote:
Also this post tells me to use nolapic rather than noapci. It works perfectly this way.
Hey, if it works, go with it. I've never seen the nolapic flag before, so I assumed it was a typo. Bad assumption on my part, sorry.
Great news! IT WORKS! ...kinda.. I'm still getting an error. I was able to get the wireless working by install Ubuntu 7.10 Gusty and using the packaged bcm43xx-fwcutter. My wireless starts up perfectly and I can see my ESSID and signal level via KDM/GDM. But I can't use my WPA1 TKIP security. It only works if I disable my security.
WEP works fine but not WPA. But heres the error message I get when the wireless is working. When it works I can't see any of the signal levels or adjust it...
This errors might not all be linked to the wireless card. But could also be from it sharing eth1 and eth0 resources. (at least thats my guess) If you have any ideas on how to get WPA TKIP to work please let me know or on these errors. Also can i blacklist eth0 to save the resources for eth1 (wlan) ?
But I can't use my WPA1 TKIP security. It only works if I disable my security.
To handle WPA encryption, you have to install a program called wpa_supplicant. Ubuntu must have a package for this if it isn't already installed. Once it is installed, you need to edit the /etc/wpa_supplicant.conf file and add the information for the networks you need to connect to. Wpa_supplicant can handle both WPA and WEP encryption. Once you've got the configuration file created, you'll need to start the wpa_supplicant program. I've got a section on doing all of this on my help site, so have a look and post back here with any questions you've got.
To handle WPA encryption, you have to install a program called wpa_supplicant. Ubuntu must have a package for this if it isn't already installed. Once it is installed, you need to edit the /etc/wpa_supplicant.conf file and add the information for the networks you need to connect to. Wpa_supplicant can handle both WPA and WEP encryption. Once you've got the configuration file created, you'll need to start the wpa_supplicant program. I've got a section on doing all of this on my help site, so have a look and post back here with any questions you've got.
Thank you for your help!! I will post this thread on the Ubuntu forums incase somebody else has the same problems I did. I've changed my router back to WEP since its supported by default. Theres also a new package in my Synaptic called "kwlan" that takes over your network-manager and all that to use WPA_Supplicant in GUI form. It claims to allow you to connect directly without the hassles of doing your own configuring.
One final question... is the reason my card is only running at 22mbps because of an old driver? I won't be able to do any gaming at 22mbps. Or is there a signal booster thing I'm not aware of? I'm sitting directly next to the router and it says I'm getting 76 signal strength. Seems low for so close. Thanks again!
One final question... is the reason my card is only running at 22mbps because of an old driver?
Unfortunately, bcm43xx still only runs at 802.11b speeds. If you need to run faster than that, you'll need to install ndiswrapper and hope that the Windows drivers will function decently. This driver (bcm43xx) has been created by reverse engineering, so I guess they haven't figured out how to get the faster speeds.
If I was willing to try ndiswrapper on this new 2.6.22 kernel is there an easy way to disable bc43xx? Will blacklisting it work well enough to where I won't have to redo all my work?
Also.. does ndiswrapper work better with wpa_supplicant or is it about the same?
I'm sorry I keep asking questions but I'm learning from every answer.
If I was willing to try ndiswrapper on this new 2.6.22 kernel is there an easy way to disable bc43xx? Will blacklisting it work well enough to where I won't have to redo all my work?
Blacklisting is a safe way to disable bcm43xx since all it is doing is stopping the module from being loaded. It doesn't actually affect the module itself in any way, so if you remove it from the blacklist, it can be used just like before. You can also use the modprobe -r command to remove the module and then load ndiswrapper. Personally, I've got a couple of scripts that use modprobe -r to remove bcm43xx and then load ndiswrapper and configure it for whatever network I'm attaching to. Of course I'm kind of a command line junkie, so this just fits my style.
Quote:
Also.. does ndiswrapper work better with wpa_supplicant or is it about the same?
It should work about the same. One thing to look out for is that wpa_supplicant uses its own "driver" that is separate from ndiswrapper or bcm43xx and is loaded when you start wpa_supplicant. For ndiswrapper, you can choose ndiswrapper or wext, but for bcm43xx the only option is the wext driver. Since wext works with both (and is a more generic interface anyway) it is probably best to use that.
Quote:
I'm sorry I keep asking questions but I'm learning from every answer.
No need to apologize for asking questions, that's why this site is here. Besides, if asking questions gets you up to speed on Linux wireless, its one more person who can help answer questions here. The wireless forum has attracted a really sharp crowd, but there is always room for more!
So it seems I got NDISwrapper working by compiling the 1.48rc1 version. However I've ran into a large problem. The system is extremly laggy now and it takes forever to change settings and options. As always you disable the card plugin the cat5 to make sure thats the problem. With the wireless disabled the system runs smooth as glass again.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.