Broadcom issues
I am having issues with my wireless. I have a Dell Latitude 120L with a updated fresh install of Fedora 7 kernel 2.6.21 or 22 not sure. Not being too familiar with the command line in Linux I have read what other people have tried with and without some success and therefore am able to post the following information.
when login as root and issue the command lspci I get the following output Code:
[root@localhost ~]# lspci My card is there my machine and Fedora sees the card this is obvious. Now I have tried the latest ndiswrapper with no success and have tried the bcm43xx-fwcutter with no success. When I got the laptop it was a windows machine and has the keyboard that has the special keys that turn the volume up and down, there is also a special key that enables the wireless card. I have tried to map my keyboard with some success. I got the volume keys to work and the suspend key to work but not the wireless key. I don't know if that has anything to do with it or not. I am stuck and have no clue on how to fix this. If anyone can help me i would appreciate it. I have also tried the infomation from the GNOME NetworkManager at [HTML]http://bcm43xx.berlios.de/[/HTML] I get commandline errors when trying the 'git' command. I am slowly learning commandline utilities but still have some trouble. |
Quote:
Quote:
|
If I have already done the firmware cutter (assuming thats what the 'fw' is for) will that mess me up. If so how do I get rid of it. I gone through the steps on some of the threads I have seen about ndiswrapper and somewhere along the way I usually end up with an error or a bad command in the terminal. It's getting to the point where I am about to go buy a usb wireless thing and quit messing with this. It is really really starting to pi$$ me off I follow the threads that seem to have the most positive results and I end up getting errors. I guess what I really need is a really easy to follow dummies guide to doing this ndiswrapper. Also the last time I tried it I got that the driver that went with my card according to Sourceforge was an invalid driver according to an lspci -l command. I don't want to give up and I dont want to say that I have tried everything I know there is something that will work but alot of the stuff thats out there I have attempted without success.
|
Quote:
Quote:
Quote:
Quote:
Quote:
If you want to pursue this, the best course is to decide what driver you're using and then post details about what you've done and where it is causing trouble. The decision you're facing isn't an easy one however because the 4318 chipset doesn't work very well with the b43/bcm43xx driver and Fedora is probably the most ndiswrapper unfriendly distro there is. If you haven't invested too much in this Fedora install, and if wireless is important, I'd give serious consideration to switching to a different distro. |
Okay in this process I have run across the following errors. i got a version that is known to work with the make of my laptop and the make of my card. I get to the point of putting installing the .inf file and it kicks this out to me
Code:
[root@localhost ~]# tar -zxvf ndiswrapper-1.23.tar.gz |
You very probably need kernel sources/headers installed before you go about compiling ndiswrapper. Either get those, and start all over, or get ndiswrapper binary package (version 1.47 works for that Broadcom card for sure, newers should also). If you plan installing binary packages, remember to get ndiswrapper and ndiswrapper-utils if they are in separate packages. Anyway, your first goal is to get ndiswrapper installed. After that use ndiswrapper -i to install the driver just like you tried ('ndiswrapper -i filename.inf'). Note that ndiswrapper executable may be in /sbin and that might not be in your $PATH variable, so either use "su -" to become root or execute it with full path, like /sbin/ndiswrapper if it got there. After installing ndiswrapper, installing the driver with it and making sure ndiswrapper module gets loaded during boot, you very probably still need to reboot for this all to work -- and before doing so, blacklist the native bcm43xx or b43 driver so that it does not get loaded during boot. If it does, there's a chance it'll interfere with ndiswrapper and then your card won't work.
That card is easy to get working with ndiswrapper, but you need to do it carefully. 1) either install ndiswrapper (and -utils) binaries, or install kernel source/headers and compile ndiswrapper like you tried to do (see the error). 2) after that blacklist the native driver, "echo blacklist b43 >> /etc/modprobe.d/blacklist" or equivalent 3) make sure modprobe.conf (or whatever you use) loads 'ndiswrapper' module during boot 4) install the Windows driver with ndiswrapper 5) reboot and try if it works - should |
Is there somewhere I can find out how to do the kernel headers that you mentioned. I am not sure on how do to do that.
|
Well this ndiswrapper thing isnt working, I have tried it on three or 4 different installs. Would be nice if there was like a step by step for this thing or a way it could become fool proof. I imagine it has something to do with what Im doing. It's getting to the point I am about ready to switch back to windows.
|
You missed a REAL important step in compiling this. I went through the results you posted and you ran like this:
make distclean make install The problem is you never ran make, which means that nothing actually compiled. What should have happened is: make distclean make make install As for the kernel source code, yes it needs to be installed, and there should be an RPM for your kernel available either on your install CD/DVD or from a Fedora repository. |
Thank you Hangdog actually the link to your page was a big help I was able to search for what the info I needed on the kernel headers and source.
|
compiling the kernel
I think I am on the right track with getting this figured out. As I understand I have to get the kernel source and header files, recompile the kernel and take the native b43 driver that is throwing the error when I try to activate my wireless card. I did manage to find out that with my Fedora installation there was not a kernel src installed. I got the source from the repo and have attempted to apply it. When I made my ISO it was Kernel version 2.6.21 so since when I boot my system up I see 2.6.22 there has been an update this is where the native b43 comes into play. So the Kernel source rpm that I downloaded from Fedora. I attemtped to install the source code and the following is my output with one error, sorry for the long post...
Code:
|
I have another question that is along the same lines. I should not have done this but hindsight is 20/20. some where I had read that wlan0=up would help or something to that effect and I found a file that has something to do with the loading of the kernel and when you boot up you can get the messages and I need to take that out. I think it is interfereing
|
Quote:
What you need to take care about is not having b43 and ndiswrapper modules loaded at the same time. Practically, that means that before loading the ndiswrapper module, you need to either remove the b43 module (with the modrpobe -r command) or you need to blacklist it so it doesn't load in the first place. I believe that there are actually two kernel modules that have to be blacklisted for b43 to be really blacklisted, and there are details in the threads I linked to in my first post. Quote:
Quote:
Quote:
By the way, since ndiswrapper is a kernel module, every time your kernel is upgraded it is likely that you will need to recompile ndiswrapper. Quote:
ifup wlan0 The ifup command runs the DHCP client and requests an IP address and then brings the interface up for use. |
Thank you for clearing things up, there is still a little bit I am fuzzy on but I think I am slowly learning as I go along. I am a little unclear on what this means
Quote:
Quote:
|
Lets see if I can clear some of this up.....
The directory /lib/modules/KERNELVERION is where all of the compiled modules are stored for that version of the kernel. So say you're running a 2.6.5 kernel, the compiled modules would be stored in /lib/modules/2.6.4/. If you then upgrade to 2.6.22, a new directory would be created (/lib/modules/2.6.22) to hold all of the compiled modules for 2.6.22 but /lib/modules/2.6.4/ would remain untouched. This is how you can have multiple kernels available to boot, and also why you have to recompile ndiswrapper every time you switch kernels. A running kernel is aware of what directory it should use when looking for modules, so if you went through this kernel switch without recompiling ndiswrapper, there would be ndiswrapper in /lib/modules/2.6.4 but not in /lib/modules/2.6.22 so the 2.6.22 kernel wouldn't be able to use it. Quote:
The make command actually causes the source code to be compiled into functional programs (or in this case, a kernel module). However, the make command leaves all of the newly compiled files in the directory containing the source code. The make install command is responsible for moving the binary files created in the make step to the proper directories in the rest of the system. Usually this is the only command in this series of steps that must be run as root since you're usually installing the program to privileged parts of the system like /usr, /etc or /bin. I'm guessing that their adding the /lib/modules/2.6.22-76.fc7 bit in an attempt to tell make install exactly where to put things, however usually that isn't necessary. By default, the make install step for ndiswrapper installs into the /lib/modules/kernelversion directory for the running kernel, so unless you are compiling for a different kernel, you probably don't have to worry about adding anything to make install. All of these variations of the make command derive their "intelligence" from the Makefile you'll find in the top level of the directory with the source code. This file contains all of the instructions for how the program is to be compiled and where to put things. For something relatively simple like a kernel module, Makefiles are usually fairly simple and can be pre-configured by the team developing the kernel module. For stand-alone programs where there are likely to be dependencies on other things like libraries, before you can run any of the make steps, you first have to run a ./configure program which will inventory your system for available libraries and then create a custom Makefile for that program on your system. Quote:
|
Thank you for the 101, this believe it or not has been very helpful. When I had my class on Linux Systems the Linux OS we setup was FC4 and unfortunately the instructor was some what lazy so I walked away from the class only learning that it was different operating system. Shows you learn more if you get in it and teach your self.
|
Another quick question. If I login as Root and do all this for the ndiswrapper and then login under my username will that affect anything?
|
Quote:
That said, one of the Linux habits you should consider picking up is only using root when you absolutely, positively have to. That gets you using tools like su or sudo. |
Quote:
NDISwrapper isn't distribution-specific. It's installation is, but it should not be a problem. Once it's installed properly, it's usage is (including wpa_supplicant now that I studied it a bit) very easy. I know the frustration that comes when you don't get it working, you don't understand it well enough to figure out what's wrong (especially with wpa_supplicant) and in the end just start thinking it's crap (no it isn't). If I find enough time somewhere (still looking) I'll try to write a clean, short and understandable how-to for ndiswrapper installation and usage (maybe I'll use bcm43xx as an example card, because it seems to be problematic for many people -- though it isn't when you learn how it's done). Until then you can feel free to IM me and I'll give you step-by-step instructions in real time, as long as I'm not in a rush at that moment. I even happen to have the source packages for ndiswrapper (and Broadcom 43xx Windows driver files), so if there are no binaries available for your distribution it can still be sorted out. Your primary place to get packages is your package manager - yumex/yum (Fedora), synaptic/apt-get (Ubuntu, Debian) and so on. Be it kernel source/headers or ndiswrapper[-utils], that's the place to go. And if you can't find anything there, then you'll start working with the source code.. |
Got it installed
Okay I got the kernel stuff taken care of and all that got the ndiswrapper installed cause when I do ndiswrapper -l i get
Code:
[root@localhost modprobe.d]# ndiswrapper -l |
A few questions:
- Where did you get the drivers? If you look your card up on the ndiswrapper wiki, they will likely link to a driver known to work. If that comes up dry, try getting the latest XP drivers from the manufacturers web site. - Were there any errors when you ran ndiswrapper -i? Were the bcmwl5.inf and bcmwl5.sys files in the same directory when you ran ndiswrapper -i? - Are there any errors when you load the ndiswrapper module? Also be sure to look in your system logs (/var/log/syslog and /var/log/messages) and the output of the dmesg command and see if ndiswrapper is complaining about anything. More than likely you've just got a version of the Windows driver that ndiswrapper doesn't like. That used to happen a LOT with ndiswrapper. |
So close, well I will give these a look later on tonight its time for me to fight the traffic thanks for the help guys I will get a chance to look at these later on tonight.
|
Digging through the log files
At the advice of Hangdog to look through the log files particularly syslog and messages. I looked in /var/log unfortunately I only saw one of the former '/var/log/messages' looking through this I did find out some of the error messages that I see have detailed explanations.
Quote:
Quote:
There were no messages about ndiswrapper. when I ran the install it did throw some messages about kmod but i took care of that by using the 1.47 not 1.46 I had a friend that was helping me with the other stuff for the kernel and he had stated was worried about the 4k stack so try the 1.46 |
Quote:
Quote:
Quote:
The good news: The most common "symptom" of a 4K stack problem is a complete system lock-up when you load the ndiswrapper module. That doesn't seem to be happening to you (at least not yet) so I don't think we have to worry about it right now. The bad news: If it becomes a problem, you'll have to either install a new kernel that has a bigger stack (there are some 3rd party kernels for Fedora that do this, particularly the NTFS kernels) or you'll have to compile your own kernel. Or throw Fedora in the nearest dustbin and try a better distro. So at this point, I would try a couple of different Windows drivers and see if one works. |
Trying different drivers
Whats wild is that I downloaded that driver from the Dell website put in the model and the Xp os there were two version of drivers for the card. Intel(PROWireless) and the Broadcom. I guess I'll try the Intel one this time see if it works. I have the kind of keyboard that has the 'fn' key and it turns on like the volume and the wireless in xp there a tool or util to turn this function on for my keyboard.
|
Windows Drivers
I downloaded these drivers for the intel and extracted them to a folder on the desktop. there are two '.inf' and '.sys' files.
Code:
inflating: XP/Drivers/DPInst32.EXE |
somewhat working
this would have been alot easier if I had known the mistakes I was making in the beginning. So, needless to say I am at the point I have the driver installed it see's it and doesn't throw any errors below is the output of 'ndiswrapper -i bcmwl5.inf'
Quote:
Quote:
|
This is starting to look good!
As for the mail message, that is likely spurious, but logging in as root and checking your mail might be useful. Or not. The big things are: 1) is ndiswrapper in the lsmod output after you've loaded it and 2) do you have a wireless card visible to iwconfig? If you do, try configuring it for your AP and see if you can connect. |
lsmod output
according to the output from lsmod there is only b44 which if I am not mistaken that is the module for my lan port. the wiki from the ndiswrapper faq states that if there is an alternate driver to run rmmod. i ran this command
Quote:
|
Working but can't connect to encrypted network
not sure what happened but it works now. I have a wireless config in my wired network. It is displaying 5 different available networks, tried connecting to my offices' wireless network with the shared key enabled and put in the network key but it wouldn't let me on. This however is a much better state then what it was before. My only question is do I have to do the 'modprobe ndiswrapper' everytime I boot my machine up and want to use my wireless card?
|
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
|
Thanks for your help Hangdog42. This is a big help now I can use my schools AP. SWEET! thanks again
|
Hey, you did all the heavy lifting. Pat yourself on the back for sticking with it.
|
All times are GMT -5. The time now is 06:29 PM. |