-
Comprehensive ndiswrapper troubleshooting guide
2013-12-29: Ndiswrapper used to be the standard solution to a lot of problems regarding wireless cards. However, today the native Buntu drivers for a number of cards have improved, and Ndiswrapper should be seen as last resort.
Be careful if you find old advice pointing you to Ndiswrapper. Usually the best approach is googling for results younger than two years.
/Mörgæs
= = = = = = =
Introduction
There are plenty of good how-tos on ndiswrapper out there, but many of them lack thorough troubleshooting sections or omit important information. This guide is intended to diagnose and solve the most common issues that prevent ndiswrapper from working, even after it appears to be successfully installed and configured.
This guide assumes that you've followed ndiswrapper instructions somewhere and as far as you know completed all steps successfully, but still are unable either to see wireless networks (using the "iwlist scan" command) or make your system detect your wireless interface at all. (If you can see networks but can't manage to connect for some reason, steps 5 and up may be useful, although they were not written specifically for your situation.) If that describes your troubles, start at the top of this guide and work your way down; hopefully you'll discover the source of your problem and be able to resolve it.
Please note that this is not intended to be another guide to installing and setting up ndiswrapper, as that would be redundant. If you need help getting started with ndiswrapper, refer to the community documentation or do a Google search.
1. check whether ndiswrapper recognizes your wireless card
ndiswrapper won't work until it thinks that your Windows drivers have been properly installed and that they are the appropriate ones for your wireless card. You can run the command:
(that's a lowercase L, not a 1) to find out whether it recognizes your card properly (make sure your wireless card is plugged in and turned on before running that command). If you get a message like:
Code:
netwg111 : driver installed
device (0846:4240) present (alternate driver: p54usb)
then ndiswrapper detects your card correctly and believes that you have installed the appropriate Windows drivers for it. In that case, go on to check #2 below. If ndiswrapper mentions an "alternate driver" (p54usb in the example above) and you haven't already blacklisted it, you may want to do so now; see check #3 below for instructions on how to blacklist modules that may interfere with ndiswrapper. (Note that the "alternate driver" message doesn't necessarily mean that a conflicting driver is causing ndiswrapper not to work. To determine for sure whether a conflicting driver is the problem, you need to look at the output of lshw -C Network; see check #3 below for details.)
'invalid driver!' message
If ndiswrapper -l complains about an invalid driver, it most likely means that it was unable to find a .sys file corresponding to the .inf file that you loaded into ndiswrapper. The .sys file (which usually, but not always, has the same name as the .inf file) needs to be in the same directory as the .inf when you install the Windows driver. So if ndiswrapper is telling you that an invalid driver is installed, try installing your Windows driver again, and make sure that the .sys file is in the same folder as the .inf that you install into ndiswrapper.
finding the right drivers: Note: the ndiswrapper database is currently down; please see the notice below for more information
If the output of 'ndiswrapper -l' says that a driver is installed but doesn't mention either device XXXX:XXXX present or invalid driver, then something's wrong: most likely you installed the wrong Windows driver.
The most reliable way to locate the appropriate Windows drivers for your wireless device is to search the ndiswrapper site for your wireless card's device ID and chipset model. To get the device ID and chipset model of your card, run the command:
or, if your wireless card is an external USB stick, use:
The output of the 'lspci' or 'lsusb' command should include a line describing your wireless card (note that the relevant line may not necessarily include the word "wireless"; it may mention only "ethernet" or "network communications device" or something similar), including its device ID. For example, here is a line for an Atheros PCI wireless card, with the important information in bold:
Code:
01:01.0 Ethernet controller [0200]: Atheros Communications Inc. AR2413 802.11bg NIC [168c:001a] (rev 01)
and here's the line for a Netgear WG111v2 USB wireless card (in this example, the chipset model is not mentioned...but you should always at least see the device ID number):
Code:
Bus 001 Device 003: ID 0846:4240 NetGear, Inc. WG111 WiFi (v2)
Once you've determined the device ID of your wireless card, use Google to search the ndiswrapper site (the built-in search function of the site doesn't work very well). Search for site:ndiswrapper.sourceforge.net [device ID] or site:ndiswrapper.sourceforge.net [chipset name], e.g.:
or:
IMPORTANT NOTE: as of early October, the ndiswrapper database has been broken for some time--it returns blank pages when you try to access it. It's not clear when this is going to be resolved. As a result, I copied Google's cache of the database pages to my personal website. You can access them here. Put your wireless card's name or device ID into the search function of that site, and any relevant pages in the database will be brought up.
The result should return a link to the ndiswrapper wiki with information on where to find good Windows drivers for your card. For instance, the search above (for device ID 168c:001a) leads to a page with this information:
Quote:
* Chipset: Atheros AR5007EG (rev 01)
* PCI ID: 168c:001c
* Driver:
ftp://ftp.work.acer-euro.com/noteboo...s_v5_1_1_9.zip
* ndiswraper version : > 1.45
* other : need to uninstall all madwifi kernel module before use ndiswrapper
* other : if you can’t get any AP signal, try to enable wifi radio through wlan switch (it’s look like nothing happened when you try to enable through wifi, because the LED is not compatible with linux(i’m using ubuntu 7.04), but if you try ‘iwlist wlan0 scan’ you’ll see some AP information
* other : 64-bit XP driver is available at
http://www.giga-byte.com.tw/Support/...Name=GN-WI01GT
which nicely outlines where to find Windows drivers for the card in question, and special tweaks that may be required to make the card work.
If your wireless card is very new, you may not find any references to it on the ndiswrapper site. If that's the case, try using the Windows drivers that came on a CD with your wireless card, or download drivers from the manufacturer's site. You may have to try a few different versions of the Windows drivers before you get one that works.
what if the Windows drivers are inside a .exe file?
Increasingly, wireless-card vendors are releasing Windows drivers in .exe format, making it difficult to extract the .inf and .sys files that you need to load into ndiswrapper (loading the whole exe. won't work). On Linux, you can sometimes extract .exe packages using the commands 'unzip' or 'cabextract' (needs to be installed first with sudo apt-get install cabextract), or use 7-zip in Windows to break the .exe open. If that doesn't work, try running the .exe installer using wine; it should extract the driver files to a directory at some point, at which time you can copy them over elsewhere, then kill the installer (the Windows installer will not make your wireless card work on Linux, even if it appears to install everything properly; don't bother trying). In a worst case, install the .exe package on a Windows machine, and the .inf and .sys files that you need should be copied into c:\windows\system32 (or system64), from whither you can copy them to your Linux system.
forcing device recognition:
In rare cases, ndiswrapper doesn't recognize wireless cards even when the correct Windows drivers are installed. If this happens, you can force ndiswrapper to try to use a certain driver for a given device with the command sudo ndiswrapper -a device-id driver, e.g.:
Code:
sudo ndiswrapper -a 0846:4240 netwg111
Note that there is a small chance that forcing ndiswrapper to use the wrong driver can cause physical damage to your wireless card, so you should not use the -a argument unless you have a good reason to believe that the Windows driver that you're selecting is the right one for your card, even though ndiswrapper disagrees.
2. check machine architecture
An important caveat to ndiswrapper, and one that many tutorials fail to mention, is that the architecture of the Windows drivers that you use with ndiswrapper needs to match that of your Linux kernel--no exceptions. In other words, if you're running 64-bit Ubuntu, the Windows drivers that you use need to be built for 64-bit Windows. If ndiswrapper -l reports "device present" but you still can't get your wireless card to work, this is the likely culprit--ndiswrapper will still report "device present" even if the Windows drivers are not the right architecture.
If you don't know whether your kernel is 32 or 64-bit, run the command:
If the output is 'i686' (or possibly 'i586' or 'i486' on older machines), you have a 32-bit kernel; if it's 'x86_64,' you're using 64-bit. If the output is anything else, you don't have an x86-compatible processor and you can't use ndiswrapper (because Windows doesn't support platforms other than x86).
If you installed Windows drivers built for the wrong architecture, find the appropriate ones and install them (you will need to remove the bad ones first with the sudo ndiswrapper -r driver-name command). Refer to check #1 above for information on locating good Windows drivers.
Keep in mind that for some wireless cards, 64-bit Windows drivers were never released. If this is the case for your device and you want to use a 64-bit Linux kernel, you're probably out of luck. You could complain to your wireless-card vendor and demand 64-bit Windows drivers, or you could check to see if any native Linux driver will support your card. Otherwise, your only option is to switch to a 32-bit kernel.
3. resolve conflicts with competing wireless drivers
If ndiswrapper -l looks good and you're sure that your Windows drivers are built for the right architecture, but you still can't get the system to recognize your wireless device, it could be because another wireless driver is trying to control the card. Some native Linux wireless drivers (many of which are built into the Ubuntu Linux kernel by default) will claim a device even though they're not capable of driving it successfully.
To check whether another driver is trying to claim your device, use the command lshw -C Network. Here's an example of the output:
Code:
*-network:0
description: Wireless interface
product: AR2413 802.11bg NIC
vendor: Atheros Communications Inc.
physical id: 1
bus info: pci@0000:01:01.0
logical name: wifi0
version: 01
serial: 00:19:e0:67:8a:f1
width: 32 bits
clock: 33MHz
capabilities: pm bus_master cap_list logical ethernet physical wireless
configuration: broadcast=yes driver=ath_pci ip=192.168.1.3 latency=168 maxlatency=28 mingnt=10 module=ath_pci multicast=yes wireless=IEEE 802.11g
In bold is information about which driver (module) is controlling the device in question (if you don't see any drivers or modules mentioned and the first line of lshw mentions UNCLAIMED, move on to check #4). In the example above, the driver is ath_pci, which is a native Linux driver for Atheros-based wireless cards. Other common drivers that may conflict with ndiswrapper are 'b43' (Broadcom chipsets), 'ssb' (Broadcom), 'bcm43xx' (Broadcom), 'iwl3945' (Intel), 'iwl4965' (Intel) and 'rt2x00' (Ralink).
ndiswrapper won't work until you tell the system not to use the module that's trying to claim the card. You can prevent the system from loading modules by adding them to '/etc/modprobe.d/blacklist' (in Ubuntu 9.04 and later, this file is named /etc/modprobe.d/blacklist.conf' instead of just 'blacklist'). Open up the blacklist file with:
Code:
sudo gedit /etc/modprobe.d/blacklist
(or 'sudo gedit /etc/modprobe.d/blacklist.conf' if you're using Ubuntu 9.04 or later) and add to the bottom of the file a line to blacklist each module that you want the system to ignore. For example, to blacklist 'ath_pci,' add the line:
Then save the file and run this command:
Code:
sudo update-initramfs -k all -u
Now reboot. Thereafter, the system will not load ath_pci until you remove it from the blacklist, and ndiswrapper should be free to claim the wireless card.
module-dependency issues:
Once in a while, the system will load a module even though it's on the blacklist. This happens because the module is a dependency of another module that's not on the blacklist--for example, 'b44,' an ethernet driver, requires the 'ssb' module and won't allow it to be unloaded, so you have to also add 'b44' to the blacklist in order to force the system to ignore 'ssb.'
If after a reboot lshw -C Network still shows a module other than ndiswrapper claiming your wireless card, use the rmmod command to remove the module. For example, to remove 'ssb,':
If the system doesn't want to unload the module because of dependency issues, it will tell you which modules are at the root of the dependency, so that you can blacklist them too. If 'ssb' cannot be unloaded because of 'b44,' for example, then the command above would output:
Code:
ERROR: Module ssb is in use by b44
Then you could blacklist 'b44' as per the instructions above (don't forget to run update-initramfs -k all -u after editing your /etc/modprobe.d/blacklist file) and everything would be great (except your ethernet may not work, but that's another issue).
module-alias problems:
If you still find the conflicting module being loaded and you're sure that module-dependency issues are not the problem, it's probably because an alias of the module in question needs also to be blacklisted (thanks to caljohnsmith for pointing this out). To find out if the module that you want to blacklist has aliases, run the command:
Code:
depmod -n | grep alias | grep -v ':' | grep -i [module name]
e.g.:
Code:
depmod -n | grep alias | grep -v ':' | grep -i p54usb
would list aliases for the module p54usb, a driver for Prism-based USB wireless cards. The output from the example above would tell you that p54usb has the alias prism54usb, so in order to blacklist p54usb effectively, you would need also to add the line blacklist prism54usb to your /etc/modprobe.d/blacklist file.
*many thanks to nightmarelord for pointing out the bit about running sudo update-initramfs -k all -u after updating the blacklist file.
4. check that the ndiswrapper module is loaded
If the lshw -C Network output for your wireless card looks like:
Code:
*-network:0 UNCLAIMED
description: Ethernet controller
product: AR2413 802.11bg NIC
vendor: Atheros Communications Inc.
physical id: 1
bus info: pci@0000:01:01.0
version: 01
width: 32 bits
clock: 33MHz
capabilities: pm cap_list
configuration: latency=168 maxlatency=28 mingnt=10
then no driver, including ndiswrapper, is trying to claim the card. This is bad, because you want ndiswrapper to claim it.
If you've run through all of the checks above but lshw -C Network still reports your wireless card as unclaimed, the most likely cause is that the ndiswrapper module is not being loaded by the system. To check whether it's present, run the command:
If the output returns nothing, the ndiswrapper module is not being loaded for some reason. Try running this command to load it:
Code:
sudo modprobe ndiswrapper
Then wait a few seconds and see if your wireless card is detected. If so, great; keep reading for steps on making the system load ndiswrapper automatically. Otherwise, move on to check #5.
Loading ndiswrapper automatically at boot:
In modern versions of Ubuntu, ndiswrapper is supposed to be loaded automatically at boot. Sometimes for various reasons that fails to happen, however. If this appears to be your problem, run this command:
Code:
echo 'ndiswrapper' | sudo tee -a /etc/modules
and the problem should be resolved. This command tells the system explicitly to load the ndiswrapper module while booting, no matter what.
5. check dmesg output
dmesg prints messages from the kernel. If you've run through all of the stuff above but still can't get ndiswrapper to work, it may be because something weird is going on (e.g., a bug in ndiswrapper or the Windows driver); dmesg should provide some insight into the problem. You can get dmesg information related to ndiswrapper with the command:
Code:
dmesg | grep -e ndis -e wlan
Normal output for a working ndiswrapper configuration should look similar to:
Code:
[ 507.517874] ndiswrapper version 1.52 loaded (smp=yes, preempt=no)
[ 507.555668] ndiswrapper: driver net5211 (,05/02/2007,5.3.0.45) loaded
[ 507.969072] ndiswrapper: using IRQ 20
[ 508.055020] wlan0: ethernet device 00:1f:3a:8f:13:96 using serialized NDIS driver: net5211, version: 0x50003, NDIS version: 0x501, vendor: 'NDIS Network Adapter', 168C:001C.5.conf
[ 508.060224] wlan0: encryption modes supported: WEP; TKIP with WPA, WPA2, WPA2PSK; AES/CCMP with WPA, WPA2, WPA2PSK
[ 508.060642] usbcore: registered new interface driver ndiswrapper
[ 508.139154] ADDRCONF(NETDEV_UP): wlan0: link is not ready
If dmesg doesn't mention ndiswrapper at all, run sudo modprobe ndiswrapper and then try dmesg | grep -e ndis -e wlan again, or go back to check #4 to verify that the ndiswrapper module is being loaded by the system.
If your dmesg output contains error messages related to ndiswrapper, try googling them (leave out the numbers in brackets at the beginning of each line, which are timestamps and will throw off your Google search) to see if you can figure out a fix. Unfortunately, it's impossible here to cover every kind of strange problem with ndiswrapper that dmesg may reveal, but Google may be able to help.
In addition, below are some of the most common error messages that you may encounter in dmesg, and their meaning:
If dmesg complains about "bad magic," you probably installed drivers for the wrong architecture (e.g., 32-bit Windows drivers on 64-bit Linux). Refer back to check #2.
If dmesg mentions something like "radio disabled by hardware," you probably need to turn your wireless card on; see check #6 below.
If dmesg contains a lot of errors that begin with "unknown symbol," it probably means that the Windows driver that you installed is either corrupted or that ndiswrapper doesn't like it for some reason. It may help to reinstall the Windows driver, or choose a different version of it (e.g., try the Windows 2000 driver instead of the XP one, or try version 1.0 of the driver instead of 2.0). Sometimes it's the case that a certain release of the Windows driver doesn't agree with ndiswrapper, even though it should. It can also happen that the Windows drivers that you downloaded were corrupted in transit, so downloading them a second time (and checking the md5 sum if possible) may help.
Again, if your error message is not listed above, remember: Google (and, failing that, the Ubuntu forums) is your friend.
6. make sure the wireless is turned on
Some computers, particularly laptops, have switches for enabling and disabling wireless cards. Usually this is either a physical button on the outside of the computer, or a software switch that you toggle using key combinations, like function+F2. More often than you might think, wireless issues come down to the card being physically disabled, so if nothing above has helped you yet, make sure that your wireless is turned on.
In rare cases, your wireless card (or the PCI bus holding it) may be disabled in your computer's BIOS for some reason, so if you can't seem to get the system to detect a wireless device at all (even an unclaimed one in the output of lshw -C Network), check BIOS.
7. reinstall ndiswrapper from source
Most people use the Ubuntu repositories (Synaptic or "apt-get") to install ndiswrapper using a Debian package. Sometimes, it's helpful to compile the program from source, which will ensure that the build of ndiswrapper that you're using matches your system's characteristics as exactly as possible. Compiling from source also usually gives you a more up-to-date version of ndiswrapper than the one available in the repositories. To compile ndiswrapper from source, follow these steps:
First, remove Ubuntu's version of ndiswrapper by typing:
Code:
sudo apt-get remove --purge ndiswrapper-common
Next, download the latest stable release of the ndiswrapper source code from the ndiswrapper site and save it to your desktop (if you don't have a wired Internet connection available for this step, download the ndiswrapper .tar.gz file on another computer and transfer it over via a USB stick or CD). Note: Ubuntu 8.10 (Intrepid) users should download ndiswrapper version 1.54 or later, as earlier versions won't compile on Intrepid.
Additionally, if you are using Ubuntu 10.10 (Maverick) or later, you will also need to apply a patch in order for the source to compile. To grab the patch, go here, click the "Attached File" link, then click the "Download" link. Save the downloaded file to your desktop.
Finally, extract the source and compile it (these commands assume that the ndiswrapper. tar.gz file is saved on your desktop, along with the file ndiswrapper-2.6.35.patch if you need the patch):
Code:
cd ~/Desktop
sudo -s
apt-get install build-essential patch
tar -xzvf ndiswrapper*
cd ndiswrapper*
patch -p0 < ndiswrapper-2.6.35.patch ### Only run this command if you need the patch; otherwise, if you are using Ubuntu 10.04 or earlier, ignore this line
make
make install
After that, you will need to reinstall the appropriate Windows drivers into ndiswrapper, and then reboot for good measure. Your wireless will then hopefully be working.
8. none of the above helped :(
If you've gone through all of the checks above and still have no idea why ndiswrapper won't work, the first thing to do is google a lot for ndiswrapper + ubuntu + [your wireless card name] or ndiswrapper + ubuntu + [your wireless card device ID]. In many cases, this will lead to a solution: remember, you're probably not the first person in the world to run into trouble with ndiswrapper with your particular wireless card (although it's possible if your card is really new). There may be some special hacking required to get it to work, and that should be documented somewhere on the Internet.
If you're still at a total loss, start a new thread in the Networking and Wireless subforum of this site, or post below. Include results from the checks above, and hopefully someone will be able to help you figure out what's wrong and make your wireless work.
---
This is a working guide. If you have suggestions for improvement, please tell me. If this guide helps you, I would also be grateful if you'd let me know.
-
Re: Comprehensive ndiswrapper troubleshooting guide
Pytheas22, thanks for writing up a great guide for troubleshooting ndiswrapper! :) I just have a few suggestions that you might want to consider:
Quote:
Originally Posted by
pytheas22
Code:
netwg111 : driver installed
device (0846:4240) present (alternate driver: p54usb)
then ndiswrapper detects your card correctly and believes that you have installed the appropriate Windows drivers for it. In that case, go on to check #2 below.
This is just an idea, but I think that if the user gets the above results from ndiswrapper, the next thing they should do would be to blacklist the "p54usb" module, because that is being used instead of ndiswrapper according to the above output. That may be the only thing they need to do to get ndiswrapper working, and they wouldn't need to go through the next steps.
Also, when they go to blacklist the module, it is important that they check for "aliases" of the module. Just as an example, "ndiswrapper -l" and "lsmod" may both show that the "prism54pci" module is being used for a particular PCI wireless card, and yet blacklisting "prism54pci" does no good because the prism54pci module is actually just an alias for the p54pci module. You have to blacklist the p54pci module instead of the prism54pci module to prevent it from interfering with ndiswrapper.
So how do you figure out if the module reported by "lsmod" or "ndiswrapper -l" is just an alias? Here's one way of doing it:
Code:
depmod -n | grep alias | grep -v ':' | grep -i <module name>
Where <module name> can be a substring, like as follows:
Code:
john@TECH5321:~$ depmod -n | grep alias | grep -v ':' | grep -i 54
alias prism54usb p54usb
alias prism54pci p54pci
alias prism54common p54common
As seen above, prism54pci is just an alias for p54pci. You would want to blacklist "p54pci" and not "prism54pci", as blacklisting the latter will do nothing.
Quote:
Originally Posted by
pytheas22
For example, here is a line for an Atheros PCI wireless card, with its device ID in bold:
Code:
01:01.0 Ethernet controller [0200]: Atheros Communications Inc. AR2413 802.11bg NIC [168c:001a] (rev 01)
Actually the relevant info I think is the "AR2413" and not the PCI ID "168c:001a", because the AR2413 is the chipset of the card. Ultimately, ndiswrapper cares only about the wireless chipset used, because that determines which Windows driver should be used with ndiswrapper. :)
Anyway, those are just some ideas, and thanks again for writing a great troubleshooting guide. :)
-
Re: Comprehensive ndiswrapper troubleshooting guide
Thanks a lot for the suggestions.
Quote:
This is just an idea, but I think that if the user gets the above results from ndiswrapper, the next thing they should do would be to blacklist the "p54usb" module, because that is being used instead of ndiswrapper according to the above output. That may be the only thing they need to do to get ndiswrapper working, and they wouldn't need to go through the next steps.
Check #3 is supposed to cover dealing with competing native drivers, but I agree that it would make more sense to blacklist the competing driver from the outset if ndiswrapper detects one. I'll add that in to check #1 (I may not get a chance to do so till tomorrow).
Quote:
As seen above, prism54pci is just an alias for p54pci. You would want to blacklist "p54pci" and not "prism54pci", as blacklisting the latter will do nothing.
This is a good point. But I've never seen a situation where the alternate driver referred to by 'ndiswrapper -l,' or the driver controlling a card according to 'lshw,' is named something other than what needs to be added to the blacklist. Have you run into that problem or can you think of an example? If so, I'll add that in, but I'm not sure whether it's necessary, and I wanted to keep this guide as short as possible (it's bloated enough already) so as to avoid overwhelming new users. If you think that this is important, though, then let me know and I'll definitely put it in.
Quote:
Actually the relevant info I think is the "AR2413" and not the PCI ID "168c:001a", because the AR2413 is the chipset of the card. Ultimately, ndiswrapper cares only about the wireless chipset used, because that determines which Windows driver should be used with ndiswrapper.
As far as I know, the XXXX:XXXX device ID is a unique identifier for every kind of chipset out there (I don't think it has to do with the PCI bus, which is a different number in lspci). All cards with the same chipset model, regardless of what name they're sold under, share the same device ID and need the same Windows driver in ndiswrapper to work (but correct me if that's wrong).
Identifying cards by their chipset name (like AR2413 above) works almost as well as the device ID, but in some cases, there are multiple revisions (e.g. AR2413 rev 01 vs. AR2413 rev 02). I think that this usually doesn't matter--usually the cards use the same Windows driver--but just in case there's a difference, I think it makes more sense to go by device ID.
Thanks again for the feedback, and please let me know if you think of anything else.
-
Re: Comprehensive ndiswrapper troubleshooting guide
Quote:
Originally Posted by
pytheas22
This is a good point. But I've never seen a situation where the alternate driver referred to by 'ndiswrapper -l,' or the driver controlling a card according to 'lshw,' is named something other than what needs to be added to the blacklist. Have you run into that problem or can you think of an example? If so, I'll add that in, but I'm not sure whether it's necessary, and I wanted to keep this guide as short as possible (it's bloated enough already) so as to avoid overwhelming new users. If you think that this is important, though, then let me know and I'll definitely put it in.
I feel exactly the way you do, Pytheas22; if it wasn't because I actually ran into a case of the module being called something other then the name necessary for blacklisting, I didn't know such a thing could happen. :) Here's an example of how it actually happened:
http://ubuntuforums.org/showthread.php?t=876205
Note that Tijmz's "ndiswrapper -l" output showed that the "prism54" module was being used instead of ndiswrapper. It wasn't until he tried blacklisting the "p54pci" module that he fixed his problem. So I dug into it deeper, and that's when I found out about the whole aliasing business.
Quote:
Originally Posted by
pytheas22
As far as I know, the XXXX:XXXX device ID is a unique identifier for every kind of chipset out there (I don't think it has to do with the PCI bus, which is a different number in lspci). All cards with the same chipset model, regardless of what name they're sold under, share the same device ID and need the same Windows driver in ndiswrapper to work (but correct me if that's wrong).
I'm certainly not an ndiswrapper authority, but let's again look at your previous example:
Code:
01:01.0 Ethernet controller [0200]: Atheros Communications Inc. AR2413 802.11bg NIC [168c:001a] (rev 01)
If you go to the Ndiswrapper Wiki page under "A", if you search for "168c:001a" you will find two instances:
Code:
Laptop: Acer Travelmate 2310
* Chipset: Atheros ar5211, labelled as AR5005G (168c:001a)
* Driver: from Acer (generic drivers do NOT work) ftp://ftp.work.acer-euro.com/notebook/travelmate_2310/driver/802bg.zip
Card: Atheros AR2413 / AR5005G
* Chipset: Atheros Communications, Inc. AR2413 802.11bg NIC (rev 01) (by lspci command)
* pciid: 168c:001a
* Driver: net5211 - 802bg.zip (from ftp://ftp.work.acer-euro.com/notebook/travelmate_2310/driver/802bg.zip or try other in http://support.acer-euro.com/drivers/notebook/tm_2410.html. Original from Toshiba doesn’t recognized by ndiswrapper. There are others from other sources, but this one is already working good for me)
So even though both cards have the exact same "pciid" (PCI ID), they have entirely different chipsets and require different drivers. Or at least that is how I've always understood it, and I could be wrong.
Best wishes, great guide. :)
-
Re: Comprehensive ndiswrapper troubleshooting guide
Thanks for the suggestions again, and especially for pointing out the module-alias stuff. I had never heard of that causing problems, so it's definitely good to know.
I added a section about dealing with module aliases. I also put in instructions to search for Windows drivers according to either the chipset model or the device ID. I think that giving users the option to do either is best (also, lsusb usually doesn't mention chipset names). Hopefully if they can't find good Windows drivers with one, the other will lead them to the right download.
Thanks again for the support, and let me know if you ever think of anything else!
-
Re: Comprehensive ndiswrapper troubleshooting guide
You wrote a beautiful guide, but it didn't solve my problem. I have read loads of threads and tips with no luck.
I have a Toshiba A205-S5843 with an atheros wireless. It came with windows but I immediately loaded ubuntu 8.04.
I am submitting some of my outputs from your article:
joeradtke@joeradtke-laptop:~$ ndiswrapper -l
netathw : driver installed
device (168C:001C) present (alternate driver: ath_pci)
lspci -nn
05:00.0 Ethernet controller [0200]: Atheros Communications Inc. AR242x 802.11abg Wireless PCI Express Adapter [168c:001c] (rev 01)
joeradtke@joeradtke-laptop:~$ uname -m
i686
joeradtke@joeradtke-laptop:~$ lshw -C network
WARNING: you should run this program as super-user.
*-network
description: Ethernet interface
product: RTL8101E PCI Express Fast Ethernet controller
vendor: Realtek Semiconductor Co., Ltd.
physical id: 0
bus info: pci@0000:04:00.0
logical name: eth0
version: 01
serial: 00:1e:ec:33:73:4a
width: 64 bits
clock: 33MHz
capabilities: bus_master cap_list ethernet physical
configuration: broadcast=yes driver=r8169 driverversion=2.2LK ip=192.168.1.177 latency=0 module=r8169 multicast=yes
*-network
description: Ethernet controller
product: AR242x 802.11abg Wireless PCI Express Adapter
vendor: Atheros Communications Inc.
physical id: 0
bus info: pci@0000:05:00.0
version: 01
width: 64 bits
clock: 33MHz
capabilities: bus_master cap_list
configuration: driver=ndiswrapper latency=0 module=ndiswrapper
I have blacklisted ath_pci, ath_hal and ath5k.
I did the depmod thing and found no aliases
joeradtke@joeradtke-laptop:~$ lsmod |grep ndis
ndiswrapper 192920 0
usbcore 146028 5 ndiswrapper,usbhid,ehci_hcd,uhci_hcd
my guess is the problem lies below:
joeradtke@joeradtke-laptop:~$ dmesg | grep -e ndis -e wlan
[ 37.928644] ndiswrapper version 1.52 loaded (smp=yes, preempt=no)
[ 38.425015] ndiswrapper (link_pe_images:604): DLL initialize failed for athw.sys
[ 38.425046] ndiswrapper: driver netathw (,06/27/2008,7.6.0.239) loaded
[ 38.425340] ndiswrapper (mp_init:207): assuming WDM (non-NDIS) driver
[ 38.425396] usbcore: registered new interface driver ndiswrapper
The other thing which perplexes me as that most of the things I have researched refer to a logical name for the wireless device such as wlan0, wifi0, ath0 or eth1. None of this exists on my system although the hardware appears to be recognized at some level.
I have turned the device on and off numerous times. I have reinstalled all the stuff a few times.
HELP!!!!
Joe Radtke
-
Re: Comprehensive ndiswrapper troubleshooting guide
Joe,
It looks like ndiswrapper doesn't like the Windows driver that you loaded. Where did you get it from? The driver from here should work for your card. Please uninstall the current driver and install the .inf from that link, and see if it makes a difference.
If not, I believe that you can now also get your card working using native drivers, so that may be another route to explore if ndiswrapper really won't work. But I'm sure that ndiswrapper works for 168C:001C, based on this thread which I was involved in a few weeks back.
-
Re: Comprehensive ndiswrapper troubleshooting guide
Nice guide! Very well written.
-
Re: Comprehensive ndiswrapper troubleshooting guide
I got the driver from the Atheros Czech site that was cited in many threads. I tried your driver, rebooted and everything works.
Thank you a thousand times; I have been fooling with this thing for two weeks.
Joe
-
Re: Comprehensive ndiswrapper troubleshooting guide
Hi, I've managed to set up ndiswrapper with a windows wireless driver without any problems. I realised my wired ethernet stopped working, so I installed a windows driver for my wired ethernet card, under ndiswrapper.
It works fine except that every time I reboot, the wired ethernet stops working. To fix this I use the "Windows wireless drivers" ndiswrapper GUI to uninstall then reinstall the wired ethernet driver every time. This is annoying. Can someone please tell me how to get it working better?
here is the result of doing dmesg | grep -e ndis -e wlan
results of
Quote:
[ 20.084000] ndiswrapper version 1.45 loaded (smp=yes)
[ 20.340000] ndiswrapper: driver bcmwl5 (Broadcom,10/12/2006, 4.100.15.5) loaded
[ 20.344000] ndiswrapper: using IRQ 16
[ 20.712000] wlan0: ethernet device 00:1c:26:ab:85:02 using NDIS driver: bcmwl5, version: 0x4640f05, NDIS version: 0x501, vendor: 'NDIS Network Adapter', 14E4:4311.5.conf
[ 20.712000] wlan0: encryption modes supported: WEP; TKIP with WPA, WPA2, WPA2PSK; AES/CCMP with WPA, WPA2, WPA2PSK
[ 20.732000] usbcore: registered new interface driver ndiswrapper
[ 20.756000] ndiswrapper: changing interface name from 'wlan0' to 'eth1'
[ 20.756000] udev: renamed network interface wlan0 to eth1
[ 438.088000] ndiswrapper: device eth1 removed
[ 438.088000] usbcore: deregistering interface driver ndiswrapper
[ 438.100000] ndiswrapper version 1.45 loaded (smp=yes)
[ 438.128000] ndiswrapper: driver bcmwl5 (Broadcom,10/12/2006, 4.100.15.5) loaded
[ 438.136000] ndiswrapper: using IRQ 16
[ 438.500000] wlan0: ethernet device 00:1c:26:ab:85:02 using NDIS driver: bcmwl5, version: 0x4640f05, NDIS version: 0x501, vendor: 'NDIS Network Adapter', 14E4:4311.5.conf
[ 438.500000] wlan0: encryption modes supported: WEP; TKIP with WPA, WPA2, WPA2PSK; AES/CCMP with WPA, WPA2, WPA2PSK
[ 438.500000] ndiswrapper: changing interface name from 'wlan0' to 'eth1'
[ 438.500000] udev: renamed network interface wlan0 to eth1
[ 438.508000] ndiswrapper: driver b44win (Broadcom,11/21/2006, 4.60.0.0) loaded
[ 438.524000] ndiswrapper: using IRQ 22
[ 438.724000] wlan0: ethernet device 00:1c:23:a2:12:02 using NDIS driver: b44win, version: 0x4003c, NDIS version: 0x501, vendor: 'NDIS Network Adapter', 14E4:170C.5.conf
[ 438.724000] ndiswrapper: changing interface name from 'wlan0' to 'eth0'
[ 438.724000] udev: renamed network interface wlan0 to eth0
[ 438.728000] usbcore: registered new interface driver ndiswrapper
[ 440.400000] ndiswrapper (NdisWriteErrorLogEntry:192): log: 40050009, count: 0, return_address: f8bdb1af
What is really happening here?
Also, when does Network Manager applet 7 get released for Ubuntu? I've heard it allows multiple connections at once which would be really useful as I'm trying to set up wireless in our house at uni.
-
Re: Comprehensive ndiswrapper troubleshooting guide
John164918a,
I'm not sure exactly what's going on--the errors seem pretty generic--but perhaps the easiest solution would be to write a boot script that would automatically reinstall the Windows driver into ndiswrapper each time you boot your computer, since you say that doing that manually is the trick to getting the connection working.
To test that that solution would actually work, please try running these commands (before doing anything else) after the next reboot where the wired connection is not working:
Code:
sudo rmmod ndiswrapper
sudo ndiswrapper -r b44win
sudo ndiswrapper -i /path/to/b44win.inf
sudo modprobe ndiswrapper
(note that you have to give the correct path to the location of the b44win.inf file). After that, hopefully the wired connection will work.
If that doesn't work, please post the output of:
Code:
lshw -C Network
ndiswrapper -l
By the way, are you sure that you really need ndiswrapper in order to drive your ethernet card? I know it's possible to use ndiswrapper for ethernet, but I've never heard of anyone actually doing so, as virtually every ethernet card in the world should be supported by a native driver (b44 in your case, I think)--although perhaps your problem results from blacklisting issues with b44, which you probably needed to add to the blacklist in order to allow ndiswrapper (and not b43/ssb) to control your wireless card, which also has a Broadcom chip.
-
Re: Comprehensive ndiswrapper troubleshooting guide
I tried following this guide but I still cannot get onto my wireless.
I had gotten on just fine before but when I updated I no longer could and I have no idea why. It's incredibly annoying and very stupid.
I typed
ndiswrapper -l
and got
bcmwl5 : driver installed
device (14E4:4311) present (alternative driver: bcm43xx)
in return.
I think, according to the guide, that means that I have an alternative driver rather than the ndiswrapper trying to control the card, or something. I tried to blacklist it but when I tried to and then saved I got this message
"could not save the file /etc/modprobe.c.blacklist.
you do not have the permissions necessary to save the file.
please check that you typed the location correctly and try again."
I also noticed that "bcm43xx" was already blacklisted.
Why can I not save that and why is "bcm43xx" trying to drive the card if it's already blacklisted?
~Zar4
-
Re: Comprehensive ndiswrapper troubleshooting guide
Quote:
I tried following this guide but I still cannot get onto my wireless.
I had gotten on just fine before but when I updated I no longer could and I have no idea why. It's incredibly annoying and very stupid.
I typed
ndiswrapper -l
and got
bcmwl5 : driver installed
device (14E4:4311) present (alternative driver: bcm43xx)
in return.
I think, according to the guide, that means that I have an alternative driver rather than the ndiswrapper trying to control the card, or something. I tried to blacklist it but when I tried to and then saved I got this message
"could not save the file /etc/modprobe.c.blacklist.
you do not have the permissions necessary to save the file.
please check that you typed the location correctly and try again."
I also noticed that "bcm43xx" was already blacklisted.
Why can I not save that and why is "bcm43xx" trying to drive the card if it's already blacklisted?
Actually the module that's probably conflicting with ndiswrapper is called b43, not bcm43xx (bcm43xx is an older module; now it's blacklisted by default in Hardy). So open up the blacklist for editing (you couldn't save it before because you didn't use 'sudo' to open it):
Code:
sudo gedit /etc/modprobe.d/blacklist
and add these lines to that file:
Code:
blacklist b43
blacklist ssb
blacklist b43legacy
blacklist b43 ssb
Then save the file, and reboot. Does your wireless work? If not, check lshw -C Network again. Which module is driving the wireless? And does this command return anything:
Code:
lshw -C Network | grep b44
-
Re: Comprehensive ndiswrapper troubleshooting guide
I tried what pytheas22 suggested and I still do not have wireless.
I typed in lshw -C Network and only got information for my ethernet interface and network controller. Before when I'd type that in there's be a third catagory for my wireless network. That's no longer there.
When I type in
lshw -C Network | grep b44
I get
WARNING: you should run this program as super-user.
configuration: broadcast=yes driver=b44 driverversion=2.0 latency=64 module=ssb multicast=yes
I still do not understand what my problem is and why it randomly stopped working after I updated.
~Zar4
-
Re: Comprehensive ndiswrapper troubleshooting guide
Quote:
I tried what pytheas22 suggested and I still do not have wireless.
I typed in lshw -C Network and only got information for my ethernet interface and network controller. Before when I'd type that in there's be a third catagory for my wireless network. That's no longer there.
When I type in
lshw -C Network | grep b44
I get
WARNING: you should run this program as super-user.
configuration: broadcast=yes driver=b44 driverversion=2.0 latency=64 module=ssb multicast=yes
I still do not understand what my problem is and why it randomly stopped working after I updated.
I know what's going on. It's a problem with conflicts caused by the b44 driver (an ethernet driver) and the ssb module, which is a dependency of b43. ssb won't unload if b44 is active, even if ssb is on the blacklist.
The solution is to rmmod b44 before unloading ssb. If you type these commands, does your wireless work:
Code:
sudo rmmod b44
sudo rmmod b43
sudo rmmod b43legacy
sudo rmmod ssb
sudo rmmod ndiswrapper
sudo modprobe ndiswrapper
sudo ifconfig wlan0 up
If you get any error messages besides "warning: module XXX does not exist in /proc/modules" (this error can be ignored), please post them here. Otherwise, the steps above should allow ndiswrapper to claim your card.
Note that removing b44 will kill your wired connection, if you have one, until the next reboot.
-
Re: Comprehensive ndiswrapper troubleshooting guide
I typed this in
sudo ifconfig wlan0 up
and got this error
wlan0: ERROR while getting interface flags: No such device
~Zar4
-
Re: Comprehensive ndiswrapper troubleshooting guide
Quote:
I typed this in
sudo ifconfig wlan0 up
and got this error
wlan0: ERROR while getting interface flags: No such device
After you type these commands:
Code:
sudo rmmod b44
sudo rmmod b43
sudo rmmod b43legacy
sudo rmmod ssb
sudo rmmod ndiswrapper
sudo modprobe ndiswrapper
look at the output of lshw -C Network. You want it to say that, according to lshw, ndiswrapper is claiming the wireless card (there will be a line in the output text that says something like "driver=ndiswrapper+[some windows driver]". You do not want to see any mention of "b43" or "ssb" anywhere.
If lshw looks alright, then run dmesg | grep -e ndis -e wlan and look at the output. Do you see any errors mentioned?
-
Re: Comprehensive ndiswrapper troubleshooting guide
I typed in
lshw -C Network
and I got this reply
david@Patton:~$ lshw -C Network
WARNING: you should run this program as super-user.
*-network
description: Network controller
product: BCM94311MCG wlan mini-PCI
vendor: Broadcom Corporation
physical id: 0
bus info: pci@0000:0b:00.0
version: 01
width: 32 bits
clock: 33MHz
capabilities: bus_master cap_list
configuration: driver=b43-pci-bridge latency=0 module=ssb
*-network
description: Ethernet interface
product: BCM4401-B0 100Base-TX
vendor: Broadcom Corporation
physical id: 0
bus info: pci@0000:03:00.0
logical name: eth0
version: 02
serial: 00:1c:23:a0:0a:55
width: 32 bits
clock: 33MHz
capabilities: bus_master cap_list ethernet physical
configuration: broadcast=yes driver=b44 driverversion=2.0 latency=64 module=ssb multicast=yes
david@Patton:~$
There's no mention of a wireless network or the ndiswrapper anywhere.
I've typed that in before and there was always a third catagory for the wireless network after the ethernet one. I do not know what happened.
It still mentions "b43" and ssb" and so on.
~Zar4
-
Re: Comprehensive ndiswrapper troubleshooting guide
Quote:
There's no mention of a wireless network or the ndiswrapper anywhere.
I've typed that in before and there was always a third catagory for the wireless network after the ethernet one. I do not know what happened.
It still mentions "b43" and ssb" and so on.
Yes, b43 is still preventing ndiswrapper from claiming the card.
Please reboot. Immediately after rebooting, run these commands:
Code:
sudo rmmod b44
sudo rmmod b43
sudo rmmod b43legacy
sudo rmmod ssb
sudo rmmod ndiswrapper
sudo modprobe ndiswrapper
sudo ifconfig wlan0 up
dmesg | grep -e wlan -e ndis
iwlist scan
And please post all of the output here. I was trying to avoid making you do that since I'm sure it's inconvenient, as you don't seem to have any Internet connection on Ubuntu right now, so I'm assuming that you have to copy and paste the text out to another computer in order to post it here. But please post all of that stuff so that we can figure out concretely what's going on. I'm sorry it's not working as well as it should, but thanks for staying positive.
-
Re: Comprehensive ndiswrapper troubleshooting guide
THANK YOU!
THANK YOU, THANK YOU!
It worked like a charm.
Thank you very much for going that extra bit to help me out with this. I sure the communuty would be very different if there weren't people willing to help.
FYI, this was the printout from the terminal.
david@Patton:~$ sudo rmmod b44
[sudo] password for david:
david@Patton:~$ sudo rmmod b43
ERROR: Module b43 does not exist in /proc/modules
david@Patton:~$ sudo rmmod b43legacy
ERROR: Module b43legacy does not exist in /proc/modules
david@Patton:~$ sudo rmmod ssb
david@Patton:~$ sudo rmmod ndiswrapper
david@Patton:~$ sudo modprobe ndiswrapper
david@Patton:~$ sudo ifconfig wlan0 up
wlan0: ERROR while getting interface flags: No such device
david@Patton:~$ dmesg | grep -e wlan -e ndis
[ 51.561921] ndiswrapper version 1.52 loaded (smp=yes, preempt=no)
[ 51.673907] usbcore: registered new interface driver ndiswrapper
[ 336.749100] usbcore: deregistering interface driver ndiswrapper
[ 346.997018] ndiswrapper version 1.52 loaded (smp=yes, preempt=no)
[ 347.098975] ndiswrapper (link_pe_images:576): fixing KI_USER_SHARED_DATA address in the driver
[ 347.104622] ndiswrapper: driver bcmwl5 (Broadcom,10/12/2006, 4.100.15.5) loaded
[ 347.112975] ndiswrapper: using IRQ 17
[ 347.478786] wlan0: ethernet device 00:1d:60:96:ee:ee using NDIS driver: bcmwl5, version: 0x4640f05, NDIS version: 0x501, vendor: 'NDIS Network Adapter', 14E4:4311.5.conf
[ 347.478896] wlan0: encryption modes supported: WEP; TKIP with WPA, WPA2, WPA2PSK; AES/CCMP with WPA, WPA2, WPA2PSK
[ 347.488045] ndiswrapper: changing interface name from 'wlan0' to 'eth1'
[ 347.488562] udev: renamed network interface wlan0 to eth1
[ 347.491222] usbcore: registered new interface driver ndiswrapper
david@Patton:~$ iwlist scan
lo Interface doesn't support scanning.
eth1 Scan completed :
Cell 01 - Address: 00:16:B6:F5:A9:7F
ESSID:"linksys"
Protocol:IEEE 802.11g
Mode:Managed
Frequency:2.412 GHz (Channel 1)
Quality:45/100 Signal level:-67 dBm Noise level:-96 dBm
Encryption key:off
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 6 Mb/s; 9 Mb/s
11 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
48 Mb/s; 54 Mb/s
Extra:bcn_int=100
Extra:atim=0
Cell 02 - Address: 00:1C:10:39:07:4F
ESSID:"Jerofkehome"
Protocol:IEEE 802.11g
Mode:Managed
Frequency:2.462 GHz (Channel 11)
Quality:3/100 Signal level:-94 dBm Noise level:-96 dBm
Encryption key:on
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 18 Mb/s
24 Mb/s; 36 Mb/s; 54 Mb/s; 6 Mb/s; 9 Mb/s
12 Mb/s; 48 Mb/s
Extra:bcn_int=100
Extra:atim=0
IE: WPA Version 1
Group Cipher : TKIP
Pairwise Ciphers (1) : TKIP
Authentication Suites (1) : PSK
david@Patton:~$
Now I just need to get my sound working...
^_^;
Thanks again.
~Zar4
-
Re: Comprehensive ndiswrapper troubleshooting guide
I'm glad it worked :)
You should now write a boot script so that those commands get run automatically each time you start your computer (otherwise you would have to run them manually after each reboot). To write the script, first type:
Code:
sudo gedit /etc/init.d/wifi-fix.sh
A blank file will open. Add these lines to it:
Code:
#!/bin/bash
rmmod b44
rmmod b43
rmmod b43legacy
rmmod ssb
rmmod ndiswrapper
modprobe ndiswrapper
ifconfig wlan0 up
Then save and close the file.
Now run this so that the script will get run at boot:
Code:
cd /etc/init.d
sudo -s
chmod +x wifi-fix.sh
update-rc.d wifi-fix.sh
That should allow you to reboot your computer and have your wireless going with no problems. Let me know if you have any more trouble; otherwise, enjoy Ubuntu!
Also as for sound: I don't know very much about sound on Linux myself, but a good place to start if you have problems is the community-documentation guide to sound troubleshooting.
-
Re: Comprehensive ndiswrapper troubleshooting guide
So...
I restarted my computer before reading your post on what to type in before I restart. >_<
I tried typing in what you said in you last post, post # 21, and it did not seem to do the trick.
I went back to your post before that, post #19, and everything was going well until I entered
iwlist scan
the response was
lo Interface doesn't support scanning.
Wlan0 No scan results
Sorry to be a pain...
~Zar4
-
Re: Comprehensive ndiswrapper troubleshooting guide
Sorry it broke again; I'm sure it's disappointing. Maybe there was a problem with the script.
To sort out the problem, please reboot, then (before doing anything else) run these commands and post the output:
Code:
lsmod | grep -e b43 -e b44 -e ssb -e ndis
sudo /etc/init.d/wifi-fix.sh
cat /etc/init.d/wifi-fix.sh
ls -al /etc/init.d/wifi-fix.sh
dmesg | grep -e wlan -e ndis
If your wireless still doesn't work at this point, please also run this and post the output:
Code:
sudo rmmod b44
sudo rmmod b43
sudo rmmod b43legacy
sudo rmmod ssb
sudo rmmod ndiswrapper
sudo modprobe ndiswrapper
sudo ifconfig wlan0 up
dmesg | grep -e wlan -e ndis
iwlist scan
Sorry to make you post so much, but this should help figure out why it doesn't want to work.
-
Re: Comprehensive ndiswrapper troubleshooting guide
Thank you very much, again. That did the trick!
Question, will I need to re-run the script from post #21 to have the wireless work after I restart or am I good to go for good?
Oh, and for good measure, what I entered and the results.
Quote:
david@Patton:~$ lsmod | grep -e b43 -e b44 -e ssb -e ndis
ndiswrapper 243872 0
b44 33168 0
mii 7552 1 b44
ssb 37252 1 b44
usbcore 169904 4 ndiswrapper,ehci_hcd,ohci_hcd
david@Patton:~$ sudo /etc/init.d/wifi-fix.sh
[sudo] password for david:
ERROR: Module b43 does not exist in /proc/modules
ERROR: Module b43legacy does not exist in /proc/modules
wlano: ERROR while getting interface flags: No such device
david@Patton:~$ cat /etc/init.d/wifi-fix.sh
#!/bin/bash
rmmod b44
rmmod b43
rmmod b43legacy
rmmod ssb
rmmod ndiswrapper
modprobe ndiswrapper
ifconfig wlano up
david@Patton:~$ ls -al /etc/init.d/wifi-fix.sh
-rwxr-xr-x 1 root root 116 2008-09-09 15:37 /etc/init.d/wifi-fix.sh
david@Patton:~$ dmesg | grep -e wlan -e ndis
[ 51.032677] ndiswrapper version 1.52 loaded (smp=yes, preempt=no)
[ 51.076648] usbcore: registered new interface driver ndiswrapper
[ 198.128410] usbcore: deregistering interface driver ndiswrapper
[ 198.182453] ndiswrapper version 1.52 loaded (smp=yes, preempt=no)
[ 198.215523] ndiswrapper (link_pe_images:576): fixing KI_USER_SHARED_DATA address in the driver
[ 198.217430] ndiswrapper: driver bcmwl5 (Broadcom,10/12/2006, 4.100.15.5) loaded
[ 198.219770] ndiswrapper: using IRQ 17
[ 198.385924] wlan0: ethernet device 00:1d:60:96:ee:ee using NDIS driver: bcmwl5, version: 0x4640f05, NDIS version: 0x501, vendor: 'NDIS Network Adapter', 14E4:4311.5.conf
[ 198.385968] wlan0: encryption modes supported: WEP; TKIP with WPA, WPA2, WPA2PSK; AES/CCMP with WPA, WPA2, WPA2PSK
[ 198.390703] usbcore: registered new interface driver ndiswrapper
[ 198.405341] ndiswrapper: changing interface name from 'wlan0' to 'eth1'
[ 198.405447] udev: renamed network interface wlan0 to eth1
david@Patton:~$
-
Re: Comprehensive ndiswrapper troubleshooting guide
Aha, I see what's wrong and it was a mistake on my part--sorry. The script was not being run because it wasn't correctly initialized. Please run this so that the system will know to run the script automatically each time the computer boots:
Code:
cd /etc/init.d
sudo -s
chmod +x wifi-fix.sh
update-rc.d wifi-fix.sh defaults
(previously I had forgotten the word 'defaults' in the last command, which would screw things up).
After you run those commands once, you should be able to reboot and have the wireless work automatically from now on. Let me know.
-
Re: Comprehensive ndiswrapper troubleshooting guide
That's a brilliant post to fall back on should you have ndiswrapper problems.
I had trouble with ndiswrapper locking up the system in the not so distance past. For added annoyance, there were no logs to fall back on and figure the problem. Mine was a Broadcom chipset should that narrow things down.
So if anyone else is having that problem, I found it was down to a dodgy driver (perhaps using the wrong revision etc). Ndiswrapper still counted a wrong driver as valid and locked the system as a result when loaded. Trying different drivers eventually solved the problem.
DFlame
-
Re: Comprehensive ndiswrapper troubleshooting guide
Pytheas22, thanks for replying, I am the guy who tried to install a wired ethernet driver under ndiswrapper. You were of course right, I had b44 blacklisted, so I unblacklisted it and still my wired ethernet wont work unless I use b44win under ndiswrapper. What is ssb? Should it be blacklisted?
Also thanks for showing me how to write a boot script, it works when I run the commands once so I'll use it if I cant get the linux wired driver to work!
-
Re: Comprehensive ndiswrapper troubleshooting guide
ssb is a module upon which b44, among other drivers, depends. To be honest I'm not sure exactly what ssb does and Google doesn't say much about it, but I know that if you want to use b44, ssb also has to be loaded. I guess for you b44 doesn't work, though, for some reason. At least you have it working using the Windows driver--I am a bit impressed by that, as I'd never heard of anyone using ndiswrapper on an ethernet card before.
-
1 Attachment(s)
Re: Comprehensive ndiswrapper troubleshooting guide
I am having problems on my wireless and am trying to follow your post here but I run into trouble at step 1. When I got to the terminal and type in ndiswrapper -l I get returned immediately to my desktop. Attached is the terminal output along with what may be helpful clues you can use to tell me what I'm not doing or doing wrong.
-
Re: Comprehensive ndiswrapper troubleshooting guide
Rodney,
It looks like you have some kind of strange problem with your ndiswrapper installation (or you never loaded a Windows driver). You could try reinstalling it:
Code:
sudo apt-get remove --purge ndiswrapper*
sudo apt-get install ndiswrapper*
After that, you would need to install the Windows driver again.
HOWEVER, your card has an rt73 chipset (unless that's a different card--you don't have more than one wireless card in this computer, do you?), which should not need ndiswrapper to work. You can install a very good Linux driver for rt73 by running these commands (you will need to be connected to the Internet in some way first):
Code:
sudo -s
echo 'blacklist rt2500usb' >> /etc/modprobe.d/blacklist
echo 'blacklist rt2500pci' >> /etc/modprobe.d/blacklist
echo 'blacklist rt61pci' >> /etc/modprobe.d/blacklist
echo 'blacklist rt2x00pci' >> /etc/modprobe.d/blacklist
echo 'blacklist rt2400pci' >> /etc/modprobe.d/blacklist
echo 'blacklist rt2x00lib' >> /etc/modprobe.d/blacklist
echo 'blacklist rt2x00usb' >> /etc/modprobe.d/blacklist
apt-get install build-essential
wget http://rt2x00.serialmonkey.com/rt73-cvs-daily.tar.gz
tar -xzvf rt73*
cd rt73*
cd Module
make
make install
Then reboot, and the card should work. If not, please post the output of:
Code:
lshw -C Network
lsmod | grep rt
-
2 Attachment(s)
Re: Comprehensive ndiswrapper troubleshooting guide
No I do not have another wireless card in the computer. I tried to do the steps shown in the above post #30 and seemed to get in trouble after I typed in the
tar -xzvf rt73*
included is a copy of the terminal screen after I did that. Any suggestions.
-
Re: Comprehensive ndiswrapper troubleshooting guide
It looks like you downloaded the driver file twice, which confused the utility 'tar' a little, but it's not serious. Try opening a terminal and running:
Code:
cd rt73-cvs-2008091011
cd Module
make
sudo make install
(I assume that you ran all of the commands before you got to the 'tar' line successfully; if there were errors anywhere else, let me know please.) That should do it--reboot and see if the wireless works. If not, again, please post the output of:
Code:
iwconfig
lshw -C Network
lsmod | grep rt
dmesg | grep -e rt -e wlan
By the way, you can copy-and-paste text from the terminal by highlighting the text you want to copy, right-clicking and selecting 'copy.' Then you can paste it with control-v. For several reasons, it's better to paste your output here as text instead of attaching a screenshot, if possible.
-
1 Attachment(s)
Re: Comprehensive ndiswrapper troubleshooting guide
Thanks for your patience.
I tried to do the first part of your above post with the following results shown in the screen shot enclosed; still confused here:
-
Re: Comprehensive ndiswrapper troubleshooting guide
It worked the way it's supposed to. The error about the module being too big can be ignored. Now just finish by running:
in the same terminal (if you already closed the terminal window, run those commands from my last post again, and continue with the "sudo make install" command). Then reboot; hopefully the wireless will work.
-
Re: Comprehensive ndiswrapper troubleshooting guide
I think I followed your instructions but still no wireless. Here is a copy of the terminal activity I did:
rodney@rodney-desktop:~$ iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
wlan1 RT73 WLAN ESSID:""
Mode:Managed Frequency=2.437 GHz Bit Rate=18 Mb/s
RTS thr:off Fragment thr:off
Link Quality=61/100 Signal level:-78 dBm Noise level:-115 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
rodney@rodney-desktop:~$ lshw -C Network
WARNING: you should run this program as super-user.
*-network
description: Ethernet interface
product: RTL-8169 Gigabit Ethernet
vendor: Realtek Semiconductor Co., Ltd.
physical id: c
bus info: pci@0000:00:0c.0
logical name: eth0
version: 10
serial: 00:14:6c:c1:a0:30
width: 32 bits
clock: 66MHz
capabilities: bus_master cap_list ethernet physical
configuration: broadcast=yes driver=r8169 driverversion=2.2LK ip=192.168.2.4 latency=64 maxlatency=64 mingnt=32 module=r8169 multicast=yes
*-network DISABLED
description: Wireless interface
physical id: 2
logical name: wlan1
serial: 00:fd:07:91:aa:38
capabilities: ethernet physical wireless
configuration: broadcast=yes multicast=yes wireless=RT73 WLAN
rodney@rodney-desktop:~$ lsmod | grep rt
rt73usb 27136 0
rt2x00usb 12800 1 rt73usb
rt2x00lib 22528 2 rt73usb,rt2x00usb
rfkill 8592 1 rt2x00lib
input_polldev 5896 1 rt2x00lib
crc_itu_t 3072 1 rt2x00lib
mac80211 165652 2 rt2x00usb,rt2x00lib
rt73 216320 0
gameport 16008 2 emu10k1_gp
parport_pc 36260 1
parport 37832 3 ppdev,lp,parport_pc
agpgart 34760 1 via_agp
usbcore 146028 8 rt73usb,rt2x00usb,usblp,rt73,usb_storage,libusual, uhci_hcd
rodney@rodney-desktop:~$ dmesg | grep -e rt -e wlan
[ 0.000000] Movable zone start PFN for each node
[ 0.000000] ACPI: PM-Timer IO Port: 0x808
[ 0.000000] Allocating PCI resources starting at 20000000 (gap: 18000000:e7ff0000)
[ 21.869686] virtual kernel memory layout:
[ 22.661041] Booting paravirtualized kernel on bare hardware
[ 22.680432] ACPI: (supports S0 S1 S4 S5)
[ 22.690015] Linux Plug and Play Support v0.97 (c) Adam Belay
[ 22.693561] PCI: If a device doesn't work, try "pci=routeirq". If it helps, post a report
[ 24.522454] Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
[ 24.525991] input: Macintosh mouse button emulation as /devices/virtual/input/input0
[ 24.526658] serio: i8042 KBD port at 0x60,0x64 irq 1
[ 24.526669] serio: i8042 AUX port at 0x60,0x64 irq 12
[ 24.534282] Using IPI No-Shortcut mode
[ 26.076373] ACPI: Processor [CPU1] (supports 16 throttling states)
[ 28.333584] hub 1-0:1.0: 2 ports detected
[ 28.437248] hub 2-0:1.0: 2 ports detected
[ 28.905760] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 28.905988] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 29.686505] USB Mass Storage support registered.
[ 29.802876] swsusp: Resume From Partition 8:5
[ 29.873624] kjournald starting. Commit interval 5 seconds
[ 34.687111] scsi 2:0:0:0: Direct-Access HP Photosmart C3180 1.00 PQ: 0 ANSI: 2
[ 45.144546] Linux agpgart interface v0.102
[ 45.309389] parport_pc: VIA 686A/8231 detected
[ 45.309399] parport_pc: probing current configuration
[ 45.309419] parport_pc: Current parallel port base: 0x378
[ 45.309500] parport0: PC-style at 0x378 (0x778), irq 7, using FIFO [PCSPP,TRISTATE,COMPAT,ECP]
[ 45.351952] agpgart: Detected VIA Twister-K/KT133x/KM133 chipset
[ 45.359267] agpgart: AGP aperture is 64M @ 0xe0000000
[ 45.396611] parport_pc: VIA parallel port: io=0x378, irq=7
[ 45.709984] gameport: EMU10K1 is pci0000:00:09.1/gameport0, io 0xeff0, speed 1242kHz
[ 46.733044] input: Power Button (FF) as /devices/virtual/input/input3
[ 46.745183] input: Power Button (CM) as /devices/virtual/input/input4
[ 51.551168] rt73: init
[ 51.551281] rt73: idVendor = 0x148f, idProduct = 0x2573
[ 55.141581] rt73: using permanent MAC addr
[ 55.141593] rt73: Active MAC addr: 00:fd:07:91:aa:38
[ 55.141599] rt73: Local MAC = 00:fd:07:91:aa:38
[ 55.152041] usbcore: registered new interface driver rt73
[ 55.333152] usbcore: registered new interface driver rt73usb
[ 55.345569] udev: renamed network interface wlan0 to wlan1
[ 56.021632] lp0: using parport0 (interrupt-driven).
[ 140.687483] ppdev: user-space parallel port driver
[ 143.818582] rt73: driver version - 1.0.3.6 CVS
[ 143.940865] rt73: using net dev supplied MAC addr
[ 143.940880] rt73: Active MAC addr: 00:fd:07:91:aa:38
[ 143.940887] rt73: Local MAC = 00:fd:07:91:aa:38
[ 162.148969] wlan1: no IPv6 routers present
[ 202.549379] rt73: closed
rodney@rodney-desktop:~$
Sorry to be so much trouble, again thanks for your patience with me.
-
Re: Comprehensive ndiswrapper troubleshooting guide
I see that wlan0 is being changed to wlan1 by udev and found the following link which may help:
Linky
To quote a pertinent part:
Quote:
"...
udev: renamed network interface wlan0 to wlan1
This one had me stumped for a second but then I remembered that a few months back I had tried to get a SpeedTouch 121G Wi-Fi USB stick working which was not a success. And that udev has persistence these days so that might have something to do with choosing wlan1 over wlan0. Next I checked out /etc/udev/rules.d/70-persistent-net.rules and the ndiswrapper entry with name wlan0 for the SpeedTouch 121G was in there. I removed the entry, changed the name of the rt2500pci entry to wlan0, rebooted the box and then the rt2500pci card came up as wlan0..."
-
Re: Comprehensive ndiswrapper troubleshooting guide
It appears that, even though the new driver was installed without a problem, the old driver is still claiming the card instead. Please try running (and post output):
Code:
sudo apt-get install rutilt
sudo rmmod rt73usb
sudo rmmod rt2x00usb
sudo rmmod rt73usb
sudo rmmod rt2x00lib
sudo rmmod rt73
sudo modprobe rt73
sudo ifconfig wlan0 up
sudo ifconfig wlan1 up
sudo ifconfig wlan2 up
iwlist scan
sudo rutilt
That should open a program that will allow you to connect. Let me know if it works. If it does, we can write a script to simplify all of this so that the wireless will "just work" from now on.
-
Re: Comprehensive ndiswrapper troubleshooting guide
Here is the result of typing in the suggested inputs. Made a couple of errors but restarted as shown in the printout. Still not the expected results.
rodney@rodney-desktop:~$ sudo apt-get install rutilt
[sudo] password for rodney:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
rutilt
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 275kB of archives.
After this operation, 823kB of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com hardy/universe rutilt 0.16-0ubuntu1 [275kB]
Fetched 275kB in 1s (200kB/s)
Selecting previously deselected package rutilt.
(Reading database ... sudo rmmod rt73us116360 files and directories currently installed.)
Unpacking rutilt (from .../rutilt_0.16-0ubuntu1_i386.deb) ...
bSetting up rutilt (0.16-0ubuntu1) ...
rodney@rodney-desktop:~$ sudo rmmod rt73usb
ERROR: Module rt73usb does not exist in /proc/modules
rodney@rodney-desktop:~$ sudo apt-get install rutilt
Reading package lists... Done
Building dependency tree
Reading state information... Done
rutilt is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
rodney@rodney-desktop:~$ sudo rmmod rt73usb
ERROR: Module rt73usb does not exist in /proc/modules
rodney@rodney-desktop:~$ sudo rmmod rt2x00usb
ERROR: Module rt2x00usb does not exist in /proc/modules
rodney@rodney-desktop:~$ sudo remod rt73usb
sudo: remod: command not found
rodney@rodney-desktop:~$ sudo rmmod rt73usb
ERROR: Module rt73usb does not exist in /proc/modules
rodney@rodney-desktop:~$ sudo rmmod rt2x00lib
ERROR: Module rt2x00lib does not exist in /proc/modules
rodney@rodney-desktop:~$ sudo rmmod rt73
ERROR: Module rt73 does not exist in /proc/modules
rodney@rodney-desktop:~$ sudo modprobe rt73
rodney@rodney-desktop:~$ sudo ifconfig wlan0 up
wlan0: ERROR while getting interface flags: No such device
rodney@rodney-desktop:~$ sudo ifconfig wlan1 up
wlan1: ERROR while getting interface flags: No such device
rodney@rodney-desktop:~$ sudo ifconfig wlan2 up
wlan2: ERROR while getting interface flags: No such device
rodney@rodney-desktop:~$ iwlist scan
lo Interface doesn't support scanning.
eth0 Interface doesn't support scanning.
rodney@rodney-desktop:~$ sudo rutilt
Can't find any wireless network interface.
Code : -3
rodney@rodney-desktop:~$
-
Re: Comprehensive ndiswrapper troubleshooting guide
Rodney,
A dumb question, but are you sure that the wireless card was inserted into the USB port when you ran those commands? It looks like everything proceeded as expected, but the rt73 driver couldn't find any wireless device to drive. You may want to try running:
Then insert or reinsert your USB device (you may want to choose a different port in case there are problems with the first one), then type:
Does it still think that no wireless interfaces exist? If so, does the command:
mention your wireless card?
According to this page, rt73 is definitely the right driver for your card (with ID 148f:2573) so I don't know what else could be going on other than that the hardware was not inserted or not detected for some reason.
-
Re: Comprehensive ndiswrapper troubleshooting guide
I was guilty, did not have the USB adapter plugged in. Did the sudo modprobe rt73 with it unplugged. the plugged in the USB adapter and did the sudo rutilt command and then got the results shown in the screenshot enclosed (did not know how to show these results in any other way than the screenshot) but I am again stumped. I have no idea of what caused the critical error flag to show up.
-
1 Attachment(s)
Re: Comprehensive ndiswrapper troubleshooting guide
I did not include the screen shot so hope to enter it here.
-
1 Attachment(s)
Re: Comprehensive ndiswrapper troubleshooting guide
Right after I sent the last reply, I checked back on the terminal screen and found the following changes:
-
Re: Comprehensive ndiswrapper troubleshooting guide
Usually Rutilt gives that error about not finding the MAC address when the wireless card gets unplugged. Are you sure that it was securely in place and that you didn't accidentally move it or something? If you are sure, then please try running Rutilt again as you did before (i.e. by typing 'sudo rutilt'), and if you get the 'critical error' again, please immediately open a terminal and type:
and post the output.
Also, were you actually able to connect? In your second screenshot it looks like you're associated with a network, but don't have an IP address. Make sure that you select the box in Rutilt to use dhcp (it may be under an "advanced options" section, I believe) in order to get an IP address. Or connect to the network in Rutilt as you did before, then type in a terminal:
Code:
sudo dhclient wlan0
and you should be assigned an IP.
-
Re: Comprehensive ndiswrapper troubleshooting guide
dear pytheas22
I have an acer laptop with AMD 64 athalon processor, nVidia chipset & graphics, 1 Gb mem & an atheros AR242x wlan card. I use Ubuntu 8.04 with restricted nvidia drivers for the graphics. The Wlan was working well with ndiswrapper + windows driver. About a month ago it stopped working and I have not been able to figure out why. Using the terminal window I have run the tests you have listed including dmseg. Everything looks normal, but the wireless still does not work.
-
Re: Comprehensive ndiswrapper troubleshooting guide
Quote:
dear pytheas22
I have an acer laptop with AMD 64 athalon processor, nVidia chipset & graphics, 1 Gb mem & an atheros AR242x wlan card. I use Ubuntu 8.04 with restricted nvidia drivers for the graphics. The Wlan was working well with ndiswrapper + windows driver. About a month ago it stopped working and I have not been able to figure out why. Using the terminal window I have run the tests you have listed including dmseg. Everything looks normal, but the wireless still does not work.
It sounds like your wireless card is detected correctly by the system, but you can't connect for some reason. You can see networks, right? Did you try connecting without encryption to see if that helps? You may want to try using wicd instead of Network Manager to connect; many people have better luck with wicd.
You can also use madwifi to drive this card now instead of ndiswrapper. The version of madwifi that ships with Ubuntu doesn't work, but if you compile a later release from source, it should. If you want to give that a try, you can install the latest madwifi by running these commands (this will completely remove your current ndiswrapper installation):
Code:
echo 'blacklist ndiswrapper' | sudo tee -a /etc/modprobe.d/blacklist
echo 'ath_pci' | sudo tee -a /etc/modules
sudo apt-get remove --purge ndiswrapper*
sudo apt-get install build-essential
wget http://snapshots.madwifi.org/madwifi-hal-0.10.5.6/madwifi-hal-0.10.5.6-r3835-20080801.tar.gz
tar -zxvf madwifi-hal-0.10.5.6-r3835-20080801.tar.gz
cd madwifi-hal-0.10.5.6-r3835-20080801
sudo make
sudo make install
(then reboot for the new madwifi drivers to take effect)
If neither wicd nor compiling the latest madwifi helps (or you don't want to compile the latest madwifi), let's start a new thread to figure this out (I don't think it's a good idea to continue in this thread because things will get convoluted). Please include the output of the command:
Code:
lspci -nn | grep -e atheros
in your new thread, let me know the URL, and I'll respond there.
-
Re: Comprehensive ndiswrapper troubleshooting guide
Thanks for helping me.
So I need ssb for b44 to work. ssb isn't blacklisted, and I cant find it anywhere. I tried:
Code:
lsmod | grep -e ssb
****got nothing***
Code:
sudo modprobe ssb
FATAL: Module ssb not found.
Where has ssb gone? I must have had it at some stage, how can I bring it back? Should I even bother given that youve already given me a perfectly good solution which I am extremely grateful for?
-
1 Attachment(s)
Re: Comprehensive ndiswrapper troubleshooting guide
Quote:
Originally Posted by
pytheas22
Usually Rutilt gives that error about not finding the MAC address when the wireless card gets unplugged. Are you sure that it was securely in place and that you didn't accidentally move it or something? If you are sure, then please try running Rutilt again as you did before (i.e. by typing 'sudo rutilt'), and if you get the 'critical error' again, please immediately open a terminal and type:
and post the output.
Also, were you actually able to connect? In your second screenshot it looks like you're associated with a network, but don't have an IP address. Make sure that you select the box in Rutilt to use dhcp (it may be under an "advanced options" section, I believe) in order to get an IP address. Or connect to the network in Rutilt as you did before, then type in a terminal:
Code:
sudo dhclient wlan0
and you should be assigned an IP.
It looks like some success but still not able to run on wireless. I used a screenshot here to show both the terminal activity and one page of the RutilT screen (profiles). The last 17 lines occured after I checked the "Apply" box in the RutilT profiles box.
-
Re: Comprehensive ndiswrapper troubleshooting guide
Quote:
So I need ssb for b44 to work. ssb isn't blacklisted, and I cant find it anywhere. I tried:
Code:
lsmod | grep -e ssb
****got nothing***
Code:
sudo modprobe ssb
FATAL: Module ssb not found.
That's strange. I have no idea why ssb would not exist at all. You could try running:
which would return the exact location of the ssb module on your system, wherever it exists. Does it find anything?
I'm confused though regarding what you're trying to do. Does your ethernet work now under ndiswrapper, but you wanted to try using b44 instead? Or are you trying to load b44 in addition to ndiswrapper+b44win?
Quote:
It looks like some success but still not able to run on wireless. I used a screenshot here to show both the terminal activity and one page of the RutilT screen (profiles). The last 17 lines occured after I checked the "Apply" box in the RutilT profiles box.
Did you try pressing 'Apply' a few times? With one card Rutilt only connected me on the second try, always, for some reason. You can also try connecting manually by running:
Code:
sudo iwconfig wlan0 mode managed channel 11 essid "Rods Wireless"
sudo dhclient wlan0
Does that get you an IP?
And your router is set up for dynamic IP served via dhcp, right?
-
Re: Comprehensive ndiswrapper troubleshooting guide
Quote:
Originally Posted by
pytheas22
That's strange. I have no idea why ssb would not exist at all. You could try running:
which would return the exact location of the ssb module on your system, wherever it exists. Does it find anything?
I'm confused though regarding what you're trying to do. Does your ethernet work now under ndiswrapper, but you wanted to try using b44 instead? Or are you trying to load b44 in addition to ndiswrapper+b44win?
Did you try pressing 'Apply' a few times? With one card Rutilt only connected me on the second try, always, for some reason. You can also try connecting manually by running:
Code:
sudo iwconfig wlan0 mode managed channel 11 essid "Rods Wireless"
sudo dhclient wlan0
Does that get you an IP?
And your router is set up for dynamic IP served via dhcp, right?
Yes, when I run sudo Rutilt and check link status I get an IP address of 192.168.2.7 and when I go to Options it says:
the interface is currently UP at 54Mbps and
under site Survey says:
signal -30 Noise -256 Authorizaion WPAPSK
I do not know how to check to see if my router is set for dynamic IP served via dhcp, is there a way to check that?
I have also noted that after i run sudo Rutilt I can not reply to these forums, I restart and then I can. Now I also have an ethernet line plugged in at the same time as the USB Wireless card--can that be part of the problem. Perhaps I should disconnect from the wired interface when trying to have the wireless USB plugged in. Thanks again for being so patient with me, I know I have been a pain in the uknow what. Rodney
-
Re: Comprehensive ndiswrapper troubleshooting guide
Quote:
Yes, when I run sudo Rutilt and check link status I get an IP address of 192.168.2.7 and when I go to Options it says:
the interface is currently UP at 54Mbps and
under site Survey says:
signal -30 Noise -256 Authorizaion WPAPSK
I do not know how to check to see if my router is set for dynamic IP served via dhcp, is there a way to check that?
I have also noted that after i run sudo Rutilt I can not reply to these forums, I restart and then I can. Now I also have an ethernet line plugged in at the same time as the USB Wireless card--can that be part of the problem. Perhaps I should disconnect from the wired interface when trying to have the wireless USB plugged in. Thanks again for being so patient with me, I know I have been a pain in the uknow what. Rodney
I'm glad to help, although perhaps we should start a new thread for your issue (which doesn't really have to do with ndiswrapper) just to avoid making this one too convoluted.
If you are getting an IP address on your wireless interface and appear to have a decent signal strength yet can't load web pages, then perhaps you are having an issue with DNS. Please unplug your ethernet wire, connect to your wireless network using Rutilt, then run these commands and please post all of the output of each of them:
Code:
ifconfig wlan0
sudo iwconfig wlan0 mode managed channel 11 essid "Rods Wireless"
sudo dhclient wlan0
cat /etc/resolv.conf
wget google.com
wget 64.233.187.99
host google.com
That should help pin down any DNS possibilities. From the standpoint of the driver itself, everything looks like it's working properly.
Also as I said above, we should probably continue this discussion in another thread. So please open up a new one, post the information above in the new thread, and tell us the URL of the new thread so I can respond there.
-
Re: Comprehensive ndiswrapper troubleshooting guide
Per your suggestion, moved to a new thread titled "Zonet Problems" Hope to continue there, thanks again. Rodney
-
Re: Comprehensive ndiswrapper troubleshooting guide
I have a problem, although I'm not sure its related to ndiswrapper:
My HP Pavillion 6835 has a Broadcom chipset and I use ndiswrapper.
The problem is: wireless goes very well with WEP based encription but I cannot connect to WPA based networks.
This is repeatable: I've never found a WPA based AP to which I could connect and I am always able to connect to WEP based APs.
I've tested the connection to WPA APs under windows with the same laptop (dual boot) and it works (ie: I know the password!)
I've tried witl NetworkManager with Wlassistant and with WICD, all work the same.
When connecting to WPA APs I cannot get an IP number from dhcp the procedure stops waiting for a DHCPOFFER.
I'd appreciate any suggestion.
Here follows my ndiswrapper data:
[ 51.186526] ndiswrapper version 1.52 loaded (smp=no, preempt=no)
[ 51.397682] ndiswrapper: driver bcmwl5 (Broadcom,09/20/2007, 4.170.25.12) loaded
[ 51.411839] ndiswrapper: using IRQ 17
[ 51.724834] wlan0: ethernet device 00:21:00:08:c1:0d using NDIS driver: bcmwl5, version: 0x4aa190c, NDIS version: 0x501, vendor: 'NDIS Network Adapter', 14E4:4315.5.conf
[ 51.724940] wlan0: encryption modes supported: WEP; TKIP with WPA, WPA2, WPA2PSK; AES/CCMP with WPA, WPA2, WPA2PSK
[ 51.737935] usbcore: registered new interface driver ndiswrapper
[ 51.739041] ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 82.824035] ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 83.554338] ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[ 87.167480] wlan0: no IPv6 routers present
[ 92.444951] ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 92.828159] ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[ 94.194159] wlan0: no IPv6 routers present
-
Re: Comprehensive ndiswrapper troubleshooting guide
Quote:
Originally Posted by
lfini
I have a problem, although I'm not sure its related to ndiswrapper:
My HP Pavillion 6835 has a Broadcom chipset and I use ndiswrapper.
The problem is: wireless goes very well with WEP based encription but I cannot connect to WPA based networks.
This is repeatable: I've never found a WPA based AP to which I could connect and I am always able to connect to WEP based APs.
I've tested the connection to WPA APs under windows with the same laptop (dual boot) and it works (ie: I know the password!)
I've tried witl NetworkManager with Wlassistant and with WICD, all work the same.
When connecting to WPA APs I cannot get an IP number from dhcp the procedure stops waiting for a DHCPOFFER.
I'd appreciate any suggestion.
Here follows my ndiswrapper data:
[ 51.186526] ndiswrapper version 1.52 loaded (smp=no, preempt=no)
[ 51.397682] ndiswrapper: driver bcmwl5 (Broadcom,09/20/2007, 4.170.25.12) loaded
[ 51.411839] ndiswrapper: using IRQ 17
[ 51.724834] wlan0: ethernet device 00:21:00:08:c1:0d using NDIS driver: bcmwl5, version: 0x4aa190c, NDIS version: 0x501, vendor: 'NDIS Network Adapter', 14E4:4315.5.conf
[ 51.724940] wlan0: encryption modes supported: WEP; TKIP with WPA, WPA2, WPA2PSK; AES/CCMP with WPA, WPA2, WPA2PSK
[ 51.737935] usbcore: registered new interface driver ndiswrapper
[ 51.739041] ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 82.824035] ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 83.554338] ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[ 87.167480] wlan0: no IPv6 routers present
[ 92.444951] ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 92.828159] ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[ 94.194159] wlan0: no IPv6 routers present
Sometimes it happens that certain Windows drivers don't support WPA under ndiswrapper, even though they should. On this page there are links to different drivers for your card (search the page for the PCI ID, 14E4:4315, to find the links). You may want to try removing your current Windows driver and installing one of the ones from those links to see if it works better. If you need help installing them, or figuring out how to extract the necessary files from the .exe's, let me know.
It could also possibly help to compile the latest version of ndiswrapper from source, but not necessarily. I'd try an alternate Windows driver first.
You might also want to try switching the settings on your router--for for instance, try WPA1 instead of WPA2, or use AES encryption instead of TKIP. This may make a difference too.
Also, you may want to give this thread a try for your card. It will install a closed-source native driver from Broadcom. Not all chipsets are supported but I searched that thread and several people seem to have had success with your chipset.
-
8.04 Ndiswrapper WUSB54G v4 stop working after recent upgrade
So, I was humming along fine with Ndiswrapper, but got itchy with the little update symbol and clicked ahead to update. Now, I no longer have internet. As stated, I have a WUSB54G v4. Ndiswrapper still recognizes it and everything seems normal except for actually connecting via the new Network Manager interface. I'm running 64-bit ubuntu and am using a 64-bit windows drive under ndiswrapper. I tried reinstalling ndiswrapper with a manual compile. I tried switching back to the native RT2570 driver, but it is also no longer working. Could there be a problem with the new Network Manager? What else should I try?
-
Re: Comprehensive ndiswrapper troubleshooting guide
Quote:
So, I was humming along fine with Ndiswrapper, but got itchy with the little update symbol and clicked ahead to update. Now, I no longer have internet. As stated, I have a WUSB54G v4. Ndiswrapper still recognizes it and everything seems normal except for actually connecting via the new Network Manager interface. I'm running 64-bit ubuntu and am using a 64-bit windows drive under ndiswrapper. I tried reinstalling ndiswrapper with a manual compile. I tried switching back to the native RT2570 driver, but it is also no longer working. Could there be a problem with the new Network Manager? What else should I try?
There are a few things to try. First, can you connect if you use wicd instead of Network Manager? Second, if you boot to an older kernel (you should have several kernels to choose from at the grub boot menu that you see when you start your computer), do things work? Third, if you're using encryption, can you connect with it disabled?
Are you sure that ndiswrapper is still driving the card, not rt2570? You can tell by looking at the output of 'lshw -C Network'.
If you can't figure this out, please open up a new thread (just so that things don't get too confusing here) and let me know the URL, and I'll respond there.
-
Re: Comprehensive ndiswrapper troubleshooting guide
Quote:
Originally Posted by
pytheas22
There are a few things to try. First, can you connect if you use
wicd instead of Network Manager? Second, if you boot to an older kernel (you should have several kernels to choose from at the grub boot menu that you see when you start your computer), do things work? Third, if you're using encryption, can you connect with it disabled?
Are you sure that ndiswrapper is still driving the card, not rt2570? You can tell by looking at the output of 'lshw -C Network'.
If you can't figure this out, please open up a new thread (just so that things don't get too confusing here) and let me know the URL, and I'll respond there.
I'm working on trying more of your suggestions. Here's more of what I've done so far:
http://ubuntuforums.org/showthread.php?p=5830581
-
Re: Comprehensive ndiswrapper troubleshooting guide
Hello Pytheas22, I'm afraid I have ruined my wireless internet. Previously It was working well except for b44 not working because ssb wasn't on the list of modules that could be loaded. I was trying to use this driver instead of b44win under ndiswrapper, which you might say was pointless.
Anyway, Hardy froze randomly, and I found the problem, the grub I was using was in another linux partition, and was loading an old ubuntu kernel, 2.6.24.14 rather than 2.6.24.19. This is rectified and it no longer freezes randomly. Plus, ssb and b44 both get loaded and give me perfect wired ethernet. It also loads ndiswrapper, which then doesn't work. (I unloaded b44win but kept bcmwl6)
Code:
dmesg | grep -e ndis -e wlan
[ 32.988964] ndiswrapper version 1.52 loaded (smp=yes, preempt=no)
[ 33.132417] usbcore: registered new interface driver ndiswrapper
this is really quiet compared to the previous output, posted on the first page of this thread, which had a line about each windows driver being loaded.
Code:
ndiswrapper -l
bcmwl6 : driver installed
device (14E4:4311) present (alternate driver: bcm43xx)
so my driver is loaded.
Heres something that might be a bit suspect:
Code:
lshw -C network
WARNING: you should run this program as super-user.
*-network
description: Network controller
product: BCM4311 802.11b/g WLAN
vendor: Broadcom Corporation
physical id: 0
bus info: pci@0000:0b:00.0
version: 01
width: 32 bits
clock: 33MHz
capabilities: bus_master cap_list
configuration: driver=b43-pci-bridge latency=0 module=ssb
I've only posted the first entry here. Shouldn't the driver be ndiswrapper? Especially now that I've tried blacklisting b43-pci-bridge.
Code:
depmod -n | grep alias | grep -v ':' | grep -i b43-pci-bridge
*nothing happens*
What is going on??? Please please please help me :confused:
-
Re: Comprehensive ndiswrapper troubleshooting guide
John164918a,
Yes, b43 is still driving your card for some reason, preventing ndiswrapper from loading. Sometimes modules load even though they're on the blacklist, so that's probably what's going on.
If you type:
Code:
sudo rmmod b43
sudo rmmod b43legacy
sudo rmmod b44
sudo rmmod ssb
sudo rmmod ndiswrapper
sudo modprobe ndiswrapper
sudo ifconfig wlan0 up
then that should manually remove b43 and related modules and allow ndiswrapper to drive your card (if you get errors saying 'error: module XXX does not exist in /proc/modules', just ignore them and go on to the next command). Thereafter, the output of 'lshw -C Network' should show ndiswrapper driving it, not 'b43-pci-bridge' Does it work? If it solves the problem, you can write a boot script to remove those modules automatically each time you turn on the computer.
-
Re: Comprehensive ndiswrapper troubleshooting guide
Quote:
Originally Posted by
pytheas22
Sometimes it happens that certain Windows drivers don't support WPA under ndiswrapper, even though they should. On
this page there are links to different drivers for your card (search the page for the PCI ID, 14E4:4315, to find the links). You may want to try removing your current Windows driver and installing one of the ones from those links to see if it works better. If you need help installing them, or figuring out how to extract the necessary files from the .exe's, let me know.
It could also possibly help to compile the latest version of ndiswrapper from source, but not necessarily. I'd try an alternate Windows driver first.
You might also want to try switching the settings on your router--for for instance, try WPA1 instead of WPA2, or use AES encryption instead of TKIP. This may make a difference too.
Also, you may want to give
this thread a try for your card. It will install a closed-source native driver from Broadcom. Not all chipsets are supported but I searched that thread and several people seem to have had success with your chipset.
Many thanks for the reply.
None of the ndiswrapper related suggestion worked. I had already tested all windows driver I could find around, and a new test (including the compilation of the latest ndiswrapper (1.53) didn't help.
I could not actually test the wl driver under the lates kernel (as per suggestions) because I didn't find the linux-headers for kernel 2.6.24-21. maybe I'll try again later.
For the moment I'm covered at home because I've my own router and I can set it up with WEP, and at work where I have wire access. The problem is when travelling...
cheers,
l.f.
-
Re: Comprehensive ndiswrapper troubleshooting guide
Quote:
Many thanks for the reply.
None of the ndiswrapper related suggestion worked. I had already tested all windows driver I could find around, and a new test (including the compilation of the latest ndiswrapper (1.53) didn't help.
I could not actually test the wl driver under the lates kernel (as per suggestions) because I didn't find the linux-headers for kernel 2.6.24-21. maybe I'll try again later.
For the moment I'm covered at home because I've my own router and I can set it up with WEP, and at work where I have wire access. The problem is when travelling...
cheers,
l.f.
Sorry that none of the suggestions helped. I'm really not sure what else to try. The only other thing I would suggest is to use wicd instead of Network Manager, but you said you've already done that. You could try negotiating the connect manually from the command-line, but that's not fun and I doubt you want to spend ten minutes writing a configuration file for every new network you meet while traveling.
Also, you should be able to install the 'wl' driver if you enable the hardy-proposed repository. Are you sure that it was enabled in System>Administration>Software Sources, and that your sources list was updated afterwards (run 'sudo apt-get update' to update the list)? You need that repository enabled in order to install linux-headers for that kernel.
-
Re: Comprehensive ndiswrapper troubleshooting guide
I'm using a dell laptop with broadcom 4318.
I've followed the instructions but still get the "bcmwl5 invalid driver" message when i use "ndiswrapper -l".
in /etc/ndiswrapper there is a folder for bcmwl5, but nothing is in it.
the bcmwl5 inf and sys files are in the same folder.
where to go from here?
-
Re: Comprehensive ndiswrapper troubleshooting guide
sagesparrow,
What is the PCI ID of your card? If you're not sure, please post the output of the command:
(or if it's a USB card, post 'lsusb'). With that information I'll give you specific instructions on how to get the card working.
Please also let me know whether you currently have any way to get your Ubuntu system online (i.e. whether you have an ethernet connection available or not).
-
Re: Comprehensive ndiswrapper troubleshooting guide
I believe you mean this:
14e4:4318
yes, I have a wired connection.
thanks
-
Re: Comprehensive ndiswrapper troubleshooting guide
sparrow: please try this (this assumes that your kernel is 32-bit; if that's not the case, let me know and I'll give you instructions for 64-bit):
Code:
sudo apt-get remove --purge ndiswrapper*
sudo apt-get install cabextract
wget ftp://ftp.compaq.com/pub/softpaq/sp34001-34500/sp34152.exe
cabextract sp34152.exe
sudo ndiswrapper -i bcmwl5.inf
ndiswrapper -l
sudo depmod -a
sudo modprobe ndiswrapper
sudo cp /etc/network/interfaces /etc/network/interfaces.orig
echo -e 'auto lo\niface lo inet loopback\n' | sudo tee /etc/network/interfaces
sudo ndiswrapper -m
echo 'ndiswrapper' | sudo tee -a /etc/modules
echo 'ENABLED=0' | sudo tee -a /etc/default/wpasupplicant
Then reboot, and please let me know if the card works. If not, please post the output of:
Code:
lsmod | grep ndis
dmesg | grep -e ndis -e wlan
ndiswrapper -l
uname -m
lshw -C Network
-
Re: Comprehensive ndiswrapper troubleshooting guide
got as far as the following:
Extracting cabinet: sp34152.exe
extracting bcm1xsup.dll
extracting bcm43xx.cat
extracting bcm43xx64.cat
extracting Bcmnpf64.sys
extracting bcmwl5.inf
extracting bcmwl5.sys
extracting bcmwl564.sys
extracting bcmwliss.dll
extracting bcmwlnpf.sys
extracting bcmwlpkt.dll
extracting bcmwls.ini
extracting bcmwls32.exe
extracting bcmwls64.exe
extracting bcmwlu00.exe
extracting data1.cab
extracting data1.hdr
extracting data2.cab
extracting ikernel.ex_
extracting is.exe
extracting launcher.ini
extracting layout.bin
extracting setup.exe
extracting Setup.ini
extracting setup.inx
extracting setup.iss
extracting sp34152.cva
All done, no errors.
jk@jk-dell:~$ sudo ndiswrapper -i bcmwl5.inf
sudo: ndiswrapper: command not found
command not found? what could be the issue here?
-
Re: Comprehensive ndiswrapper troubleshooting guide
seems ndiswrapper is not installed.
i'll wait for a reply before reinstalling it.
-
Re: Comprehensive ndiswrapper troubleshooting guide
Yes, sorry, my fault: the commands I gave you had you remove ndiswrapper without installing it again. Just type:
Code:
sudo apt-get install ndiswrapper*
to install it. Then continue with the 'sudo ndiswrapper -i bcmwl5.inf' command, and the ones that follow.
Sorry about that oversight.
-
Re: Comprehensive ndiswrapper troubleshooting guide
no problem
here's the next sticking place:
jk@jk-dell:~$ sudo ndiswrapper -i bcmwl5.inf
driver bcmwl5 is already installed
jk@jk-dell:~$ ndiswrapper -l
bcmwl5 : invalid driver!
-
Re: Comprehensive ndiswrapper troubleshooting guide
hmmmm, so you weren't kidding about getting this message despite all of the files being there :)
I just downloaded that driver and installed it without a problem, so I'm not sure what's up with you. Perhaps it would help to compile ndiswrapper from source--maybe there's a bug in the package you installed. You can install from source by running:
Code:
sudo apt-get remove --purge ndiswrapper*
sudo apt-get install build-essential
wget http://downloads.sourceforge.net/ndiswrapper/ndiswrapper-1.53.tar.gz?modtime=1211931005&big_mirror=0
tar -xzvf ndiswrapper*
cd ndiswrapper*
make
sudo make install
After that, try installing the driver again (make sure you are cd'd into the directory containing the driver files). Do you have any better luck?
-
Re: Comprehensive ndiswrapper troubleshooting guide
i'll give this a try now. when installing ndiswrapper i'm asked to load the ubuntu cd (gutsy) while it loads. could this be the source of the problem, maybe something not kosher on the original disk?
(I hate to give you an easy out on this, but it's a thought.)
-
Re: Comprehensive ndiswrapper troubleshooting guide
also on the first purge step i get the following:
Removing ndiswrapper-common ...
dpkg - warning: while removing ndiswrapper-common, directory `/etc/ndiswrapper' not empty so not removed.
is this anything to consider?
-
Re: Comprehensive ndiswrapper troubleshooting guide
same thing:
NOTE: Windows driver configuration file format has changed since 1.5. You must re-install Windows drivers if they were installed before.
make[1]: Leaving directory `/home/jk/ndiswrapper-1.53/utils'
mkdir -p -m 0755 /usr/share/man/man8
install -m 644 ndiswrapper.8 /usr/share/man/man8
install -m 644 loadndisdriver.8 /usr/share/man/man8
jk@jk-dell:~/ndiswrapper-1.53$ cd /home/jk/Desktop/80211g
jk@jk-dell:~/Desktop/80211g$ sudo ndiswrapper -i bcmwl5.inf
driver bcmwl5 is already installed
jk@jk-dell:~/Desktop/80211g$ ndiswrapper -l
bcmwl5 : invalid driver!
jk@jk-dell:~/Desktop/80211g$
-
Re: Comprehensive ndiswrapper troubleshooting guide
Quote:
i'll give this a try now. when installing ndiswrapper i'm asked to load the ubuntu cd (gutsy) while it loads. could this be the source of the problem, maybe something not kosher on the original disk?
Yes, it's possible that the ndiswrapper package on your Gutsy CD was corrupted, but if you installed from source, you shouldn't have this problem--installing from source doesn't (or shouldn't) involve the CD.
Quote:
Removing ndiswrapper-common ...
dpkg - warning: while removing ndiswrapper-common, directory `/etc/ndiswrapper' not empty so not removed.
That's alright; it always says this and it's nothing to worry about.
Code:
jk@jk-dell:~/Desktop/80211g$ sudo ndiswrapper -i bcmwl5.inf
driver bcmwl5 is already installed
jk@jk-dell:~/Desktop/80211g$ ndiswrapper -l
bcmwl5 : invalid driver!
What happens if you type:
Code:
sudo ndiswrapper -r bcmwl5
sudo ndiswrapper -i bcmwl5.inf
If that doesn't change anything, what about:
Code:
sudo ndiswrapper -a 14e4:4318 bcmwl5
I'm still perplexed as to what's going on...never seen this...but we'll figure it out. I have to sleep, however, so I may not be able to respond till tomorrow.
-
Re: Comprehensive ndiswrapper troubleshooting guide
Thanks again Pytheas22, I used your commands, but I ended up with no network interfaces at all (except the loopback one)! Even after I 'completely removed' ndiswrapper in synaptic and then reinstalled it!
-
Re: Comprehensive ndiswrapper troubleshooting guide
BINGO!!
ndiswrapper -i bcmwl5.inf
does the trick!!
jk@jk-dell:~$ sudo ndiswrapper -i bcmwl5.inf
installing bcmwl5 ...
jk@jk-dell:~$ ndiswrapper -l
bcmwl5 : driver installed
device (14E4:4318) present (alternate driver: bcm43xx)
now to proceed with the rest of the instructions.