I've got CentOS 5 installed on my hp pavilion ze 5300 laptop and the network configuration UI says my wireless NIC has been correctly identified and assigned what appears to be the right Broadcom device driver on eth1. However, the inteface doesn't come up.
Google doesn't find anything recent about using Linux with Broadcom except for someone's passing remark that Ubuntu 7 beta seems to work with it successfully. Everything else points to using ndiswrappers and the Windows drivers.
Am I stuck going that route? Has anyone successfully used wireless with the stock drivers? Has anyone who had experience with ndiswrappers in earlier versions of CentOS (which I haven't) gone through the effort to get it working on CentOS5?
Clues, troubleshooting suggestions, etc. appreciated.
Quoting Bart Schaefer barton.schaefer@gmail.com:
I've got CentOS 5 installed on my hp pavilion ze 5300 laptop and the network configuration UI says my wireless NIC has been correctly identified and assigned what appears to be the right Broadcom device driver on eth1. However, the inteface doesn't come up.
Google doesn't find anything recent about using Linux with Broadcom except for someone's passing remark that Ubuntu 7 beta seems to work with it successfully. Everything else points to using ndiswrappers and the Windows drivers.
Is it a bcm43xx card? check your dmesg output and see if it needs a firmware file. If so, that's where you start. If not, ndiswrapper works :)
On 5/9/07, Steven Haigh netwiz@crc.id.au wrote:
Is it a bcm43xx card? check your dmesg output and see if it needs a firmware file. If so, that's where you start. If not, ndiswrapper works :)
Thanks for that pointer ... I got bcm43xxx-fwcutter and extracted the firmware files from the bcmwl5.sys file on my Windows partition. Now the driver loads and dmesg indicates that it is scanning for networks. It even makes an authentication request, which fails. I've attached the bit of dmesg output that shows what it's doing (MAC address of my router redacted).
I have used system-config-network to set the SSID, channel, and hex password. I set the network "Mode:" to "Auto". The dialog does not offer a choice of WEP, WPA, etc. I've looked at the RedHat docs for setting up wireless networking and I think I've done everything suggested. What do I try next?
(Apologies if this appears twice. Gmail seems to be having a glitch.)
Quoting Bart Schaefer barton.schaefer@gmail.com:
On 5/9/07, Steven Haigh netwiz@crc.id.au wrote:
Is it a bcm43xx card? check your dmesg output and see if it needs a firmware file. If so, that's where you start. If not, ndiswrapper works :)
Thanks for that pointer ... I got bcm43xxx-fwcutter and extracted the firmware files from the bcmwl5.sys file on my Windows partition. Now the driver loads and dmesg indicates that it is scanning for networks. It even makes an authentication request, which fails. I've attached the bit of dmesg output that shows what it's doing (MAC address of my router redacted).
I have used system-config-network to set the SSID, channel, and hex password. I set the network "Mode:" to "Auto". The dialog does not offer a choice of WEP, WPA, etc. I've looked at the RedHat docs for setting up wireless networking and I think I've done everything suggested. What do I try next?
This is as far as I got in trying to get this working. I just couldn't get it to connect to my wireless gear. In the end, I ended up going with ndiswrapper. Things may have changed in this respect though - as this was ~8-10 months ago.
Bart Schaefer wrote: ...
I have used system-config-network to set the SSID, channel, and hex password. I set the network "Mode:" to "Auto". The dialog does not offer a choice of WEP, WPA, etc. I've looked at the RedHat docs for setting up wireless networking and I think I've done everything suggested. What do I try next?
Is NetworkManager installed and started?
# chkconfig --list|fgrep Network
Is wpa_supplicant installed?
I have a notebook with a bcm43xx card with FC6, it works without problems. NetworkManager takes care of prompting for WPA keys, etc. Actually, it is easier to use than when booted in Windows.
Mogens
Mogens Kjaer wrote: ...
I have a notebook with a bcm43xx card with FC6, it works without problems. NetworkManager takes care of prompting for WPA keys, etc. Actually, it is easier to use than when booted in Windows.
I took a compaq evo n610c from the shelf.
Found a Linksys WPC54G ver 3.1 card on another shelf.
Installed FC6, yum update, installed bcm43xx-fwcutter, cut firmware from the driver CD,
chkconfig NetworkManager on chkconfig NetworkManagerDispatcher on
reboot, unplug network cable, log in, and I could see available wireless networks, select one, enter WPA-PSK password, and I'm on the net.
Install Centos 5 instead, bcm43xx-fwcutter (not in centos, need to get source and recompile), else as above.
The machine panics when NetworkManager starts.
If I reboot the machine without the PCMCIA card installed, NetworkManager can start, and I can log in. If I then insert the card I can see the networks in NetworkManager, however, I can't connect with the WPA password.
In the beginning I had problems in FC6, some kernels worked and some didn't. The last kernels seem to work.
Mogens
On 5/10/07, Mogens Kjaer mk@crc.dk wrote:
Is NetworkManager installed and started?
OK, getting closer. It was installed but not started. NetworkManagerDispatcher wasn't started either.
The first time I booted after "chkconfig NetworkManager on", the machine locked up immediatley after starting NetworkManager.
I rebooted single user, turned it off again, let the boot continue, then started it by hand with "service NetworkManager start". It came up fine, and now I can boot with it chkconfig'd on. I'm not sure what was up, there.
It finds the networks and will prompt me for a key (oddity: the dialog always comes up at the bottom of the window stack, so the first two or three times I didn't even notice I was being prompted because it was hidden by my terminal window). However, it does not succeed in establishing a connection. I've attached a snippet of /var/log/messages from immediately after an attempt to connect; the significant bit seems to be this:
May 10 21:19:04 sparkle kernel: SoftMAC: Unable to find matching network after scan!
Is wpa_supplicant installed?
It is, and I tried enabling it as well, but it spews a bunch of errors at boot time and exits. It's apparent I need to edit /etc/sysconfig/wpa_supplicant, but if I'm *not* using ndiswrapper I don't know what to use in the DRIVERS= assignment. So that's chkconfig'd off again.
Bart Schaefer wrote: ...
It finds the networks and will prompt me for a key (oddity: the dialog always comes up at the bottom of the window stack, so the first two or three times I didn't even notice I was being prompted because it was hidden by my terminal window). However, it does not succeed in establishing a connection. I've attached a snippet of /var/log/messages from immediately after an attempt to connect; the significant bit seems to be this:
This is what I saw as well. Broadcom wireless works in FC6, not in Centos 5.
Mogens
On Friday 11 May 2007, Mogens Kjaer wrote:
This is what I saw as well. Broadcom wireless works in FC6, not in Centos 5.
FC6 is on kernel 2.6.20 currently, and CentOS 5 is at 2.6.18. It is highly likely that the 2.6.20 bcm43xx driver will not be backported to 2.6.18 by RedHat; whether it even CAN be backported to 2.6.18 is questionable.
And, no, CentOS 5 for its entire 7 year life will not have a kernel version bump; it is forever on 2.6.18, following the upstream's model. Thus CentOS 5 will not be a good choice (RHEL5 for that matter neither!) for folks needing a good bcm43xx driver (that includes me, by the way).
If you want to stay with an RPM-based system, you might very well want to track Fedora for the laptop; if you're not married to the idea of RPM-based distributions, you might want to check out a late ubuntu version, which has a late kernel.
Before you make the attempt to run the 2.6.21 kernel in CentOS 5, understand that there can be fairly large differences in the kernels; the changes from 2.6.18 to 2.6.21 are in some areas non-trivial and could break you system in odd and intermittent ways; not to mention that by installing a custom kernel you loose the primary advantages of running CentOS in the first place. And the CentOS developers will not (and really cannot) give you any support of any kind if you run a custom kernel.
If the Linux kernel developers would just make things backwards compatible, this wouldn't be an issue. But the kernel developers as a group care nothing for backwards compatibility, and regularly break things in weird and sometimes devious ways.
On 5/12/07, Lamar Owen lowen@pari.edu wrote:
FC6 is on kernel 2.6.20 currently, and CentOS 5 is at 2.6.18. It is highly likely that the 2.6.20 bcm43xx driver will not be backported to 2.6.18 by RedHat; whether it even CAN be backported to 2.6.18 is questionable.
So evidently I need to install ndiswrapper. Any recommended places to download an RPM or a .src.rpm? RPMforge has one that requires dkms which in turn seems to mean that I have to compile something even after I install the .noarch.rpm, and if that's the case I'd rather just build it directly from the source.
On Sat, 2007-05-12 at 11:16 -0700, Bart Schaefer wrote:
On 5/12/07, Lamar Owen lowen@pari.edu wrote:
FC6 is on kernel 2.6.20 currently, and CentOS 5 is at 2.6.18. It is highly likely that the 2.6.20 bcm43xx driver will not be backported to 2.6.18 by RedHat; whether it even CAN be backported to 2.6.18 is questionable.
So evidently I need to install ndiswrapper. Any recommended places to download an RPM or a .src.rpm? RPMforge has one that requires dkms which in turn seems to mean that I have to compile something even after I install the .noarch.rpm, and if that's the case I'd rather just build it directly from the source.
It may be useful to know that (normally) DKMS packages will automatically compile the module post-install, and after each kernel update.
-- Daniel
On 5/12/07, Daniel de Kok danieldk@pobox.com wrote:
It may be useful to know that (normally) DKMS packages will automatically compile the module post-install, and after each kernel update.
Hrm. Well, that didn't seem to happen with ndiswrapper, because after installing it there was no trace of a kernel module that I could find. However, perhaps I missed some other manual step. I'll try again. Any guesses about what I might have forgotten to do?
On Sat, 12 May 2007, Bart Schaefer wrote:
On 5/12/07, Daniel de Kok danieldk@pobox.com wrote:
It may be useful to know that (normally) DKMS packages will automatically compile the module post-install, and after each kernel update.
Hrm. Well, that didn't seem to happen with ndiswrapper, because after installing it there was no trace of a kernel module that I could find. However, perhaps I missed some other manual step. I'll try again. Any guesses about what I might have forgotten to do?
One of the current problems with DKMS in RPMforge is that we provide dkms packages that are dist-agnostic (so they appear for all dists). However the source-code may not work with a newer (or older) kernel.
This obviously is problematic. The easiest way to solve this is to add kernel dependencies to what is known to work, but yum cannot handle this situation as it only considers the most recent package.
The other solution is to repackage the same dkms-module only for the distributions that ship with a kernel it works against. But this of course may break when kernels get replaced by upstream.
For CentOS5 and ndiswrapper, I can confirm it works, I just did this:
[root@rhun ~]# apt-get install dkms-ndiswrapper Reading Package Lists... Done Building Dependency Tree... Done The following NEW packages will be installed: dkms-ndiswrapper 0 upgraded, 1 newly installed, 0 removed and 0 not upgraded. Need to get 209kB of archives. After unpacking 796kB of additional disk space will be used. Get:1 http://apt.sw.be redhat/el5/en/i386/dag/ dkms-ndiswrapper 1.38-1.el5.rf [209kB] Fetched 209kB in 0s (223kB/s) Committing changes... Preparing... ########################################### [100%] 1:dkms-ndiswrapper ########################################### [100%] Done.
[root@rhun ~]# dkms status ndiswrapper, 1.38-1.el5.rf, 2.6.18-8.1.3.el5, i686: installed madwifi, 0.9.2.1-2.el5.rf, 2.6.18-8.1.3.el5, i686: installed fuse, 2.6.3-1.nodist.rf, 2.6.18-8.1.3.el5, i686: installed ntfs, 2.1.27-2.nodist.rf: added kqemu, 1.3.0-0.1.pre11.nodist.rf, 2.6.18-8.1.3.el5, i686: installed
From this list you can see that the ntfs module is the only one that is
not 'installed', because it failed to build against the kernel. The ntfs source-code in the dkms package is for a 2.6.20 or 2.6.21 kernel (FC6 or FC7). So instead of a nodist packages, this should be instead become an el5 package.
fuse however is designed to buid against 2.4 and 2.6 kernels, so the dkms-fuse packages is the perfect nodist example :)
I hope we can add more dkms packages in te future. It's not the most optimal solution for kernel modules (especially for servers), but you can binary build RPM kernel packages from a dkms-module to deploy on servers as well. So it is at least acceptable.
Kind regards, -- dag wieers, dag@wieers.com, http://dag.wieers.com/ -- [all I want is a warm bed and a kind word and unlimited power]
On 5/12/07, Bart Schaefer barton.schaefer@gmail.com wrote:
So evidently I need to install ndiswrapper.
OK, I'm really really close now ...
- Installed dkms, dkms-ndiswrapper, dkms-fuse, fuse, and fuse-ntfs-3g from RPMforge. (Thanks again, Dag.) - Mounted my Windows drive with ntfs-3g. - Located bcmwl5a.inf and installed it with ndiswrapper -i. - Changed the modprobe.conf alias for eth1 from bcm43xx to ndiswrapper. - Edited /etc/sysconfig/wpa_supplicant and set the interface to eth1 and the driver to ndiswrapper. - Copied the appropriate configuration from the examples in /usr/share/doc/ into /etc/wpa_supplicant/wpa_supplicant.conf and edited the ssid, key and auth_alg. - Shut down NetworkManager and NetworkManagerDispatcher because they were still trying to access the device with the bcm43xx driver. - Unloaded all the modules related to bcm43xx with "rmmod". - Loaded the ndiswrapper module with "modprobe". - Restarted the wpa_supplicant service.
And lo! eth0 (wired net) has been deactivated, and eth1 is up, connected to the AP, and has obtained the expected IP address (I entered the MAC addr into the router to force DHCP to return a specific address for this NIC). All wonderful so far ...
However, I can't ping any other IP address on the network (not even the AP itself); everything says "destination unreachable". There's no default route, and attempting to add one induces the DNS-related sytem crawl I've been discussing on another thread (only while the route is being added, it clears up once the route is there).
Further, /etc/sysconfig/hwconf still says the driver for eth1 is bcm43xx. I edited that manually to change it to ndiswrapper, but upon reboot it got reset back to bcm43xx. I have to manually rmmod bcm43xx and modprobe ndiswrapper before I can connect to the AP again.
So what's next? How do I stop kudzu (if that's what is doing it) from forcing the driver back to bcm43xx? Should I just leave NetworkManager off, or will it start doing the right thing once hwconf is fixed? Do I need to manually configure the default route?
And, looking ahead, what would I need to change to be able to have both the wired and wireless networks active at the same time?
On 5/12/07, Bart Schaefer barton.schaefer@gmail.com wrote:
OK, I'm really really close now ...
And now so close as to make almost no difference.
- Added "blacklist bcm43xx" to /etc/modprobe.d/ndiswrapper - chkconfig {NetworkManager,NetworkManagerDispatcher,wpa_supplicant} off - Used system-config-network-gui to configure wireless and set it to active at boot
Hey, presto! I have wireless networking.
I would sort of like to get NetworkManager working so I can choose among available networks, but this will do for now.
Side-effect of "blacklist" is that eth1 has disappeared from hwconf entirely. Any reason to be concerned about that?
And, looking ahead, what would I need to change to be able to have both the wired and wireless networks active at the same time?
This has taken care of itself: They both *are* active at the same time (though I suspect that if NetworkManager were running it would insist on turning one of them off).
In fact, even with the wired network unplugged, eth0 thinks it's up and has a route for my wired LAN. I'd rather it detected that the cable was unplugged and didn't add the route, but that's another minor nit.
Thanks everyone for your help, and of course I'd still welcome additional suggestions.
On Sat, 12 May 2007, Lamar Owen wrote:
On Friday 11 May 2007, Mogens Kjaer wrote:
This is what I saw as well. Broadcom wireless works in FC6, not in Centos 5.
If the Linux kernel developers would just make things backwards compatible, this wouldn't be an issue. But the kernel developers as a group care nothing for backwards compatibility, and regularly break things in weird and sometimes devious ways.
I guess that is the price to pay for progress. Having to drag legacy stuff with you is considered too costly (let the vendors put money into that) and slows down development.
If Linux kernel development would add the burden of proprietary QA, I bet the whole mechanisme (based on volunteers) comes to a grinding halt.
Red Hat has backported the wifi subsystem in the past for EL4, if they consider it important for their business, they may do it again for EL5 as well.
Kind regards, -- dag wieers, dag@wieers.com, http://dag.wieers.com/ -- [all I want is a warm bed and a kind word and unlimited power]
On Wed, May 9, 2007 7:59 pm, Bart Schaefer wrote:
I've got CentOS 5 installed on my hp pavilion ze 5300 laptop and the network configuration UI says my wireless NIC has been correctly identified and assigned what appears to be the right Broadcom device driver on eth1. However, the inteface doesn't come up.
Google doesn't find anything recent about using Linux with Broadcom except for someone's passing remark that Ubuntu 7 beta seems to work with it successfully. Everything else points to using ndiswrappers and the Windows drivers.
Am I stuck going that route? Has anyone successfully used wireless with the stock drivers? Has anyone who had experience with ndiswrappers in earlier versions of CentOS (which I haven't) gone through the effort to get it working on CentOS5?
Clues, troubleshooting suggestions, etc. appreciated.
Wireless (Broadcom) appeared to work fine on my Compaq Presario V2000, but the connection kept dropping every hour or so, so I gave up and reinstalled Fedora.