PDA

View Full Version : Ateros Wireless/Poor performance


jml
06-02-2007, 06:49 PM
I've researched this question on this and other forums along with a general search on Google and still have some questions.

First, some obsrevations. With all variables being as equal as I can make them, it seems that my systems using Atheros based cards with mad-wifi drivers have poorer performance than other setups. Some examples:

Base Station: Linksys WRT54G wirelless access point and router using WPA -PSK encryption. Works well with WinXP and Mac OSX computers.

Laptops:

HP nx6110 with a Broadcom wireless card using fwcutter gives me excellent performance (four bars as reported by network manager.) and rock solid connectivity using Etch.

IBM Thinkpad R40e using Debian Etch gets 1 to 2 bars of signal strength using the Mad-Wifi drivers and a Cisco Aironet 802.11 a/b/g card from the same location as my HP. At times the signal degrades enough to break the connection.

If I use a NetGear WG 511T, or a Dlink card I get two bars of signal strength on the same ThinkPad and more reliable connections. Connection reliability and speed is satisfactory but not ideal. I'm using that set up now to write this.

I would rather use the cards with the Atheros chipsets, but I have read in many places that there are documented performance (ie signal strength,) issues with the Atheros/Mad-Wifi combination. I have found no solutions for this in my research. Does anyone have any insights/suggestions on how to improve the performance of this combination? Thanks in advance for your help.

Joe

uteck
06-02-2007, 07:58 PM
Are you using version 9.3 of Mad-wifi (madwifi-ng)? How about compiling it from source; svn checkout http://svn.madwifi.org/trunk madwifi

Have you tried something besides Mad-Wifi, like Ndiswrapper? http://en.opensuse.org/Atheros_ndiswrapper

jml
06-02-2007, 11:25 PM
Thanks for the quick reply, uteck. I am using the version that is included in the Etch repository. A quick check with Synaptic reports version 1:0.9.2. And that is listed as the most recent version available in the repo. I've never compiled anythig from source yet, but I will check out the link you posted. As for using ndiswrapper, that is a definite possibility. I've read that wireless using ndiswrapper can have better performance. I'm typing this on my HP which has the dreaded Broadcom chipset. I got it running with ndiswrapper and fwcutter and it shows four bars of signal strength.

Joe

jml
06-25-2007, 02:11 PM
Just posting to close the circle on my original post. After digging a bit deeper, and a helpful response from a poster on a different forum, it turns out that the "problem" I was reporting is a known issue with the Mad Wi-Fi drivers and the Gnome-NetworkManager applet. It turns out that the "signal strength" displayed by the NetworkManager applet is generated by using an arbitrary reference signal strength of 94 in the denominator of the calculation. One needs to actually run iwconfig and pay attention to the value in the numerator. Anything over 40 is good, anything below 10 is weak. Just proves that one can't always go by secondary indicators. It turned out that the performance was comparable to my laptop using a Broadcom Chipset.

Joe

jorj
06-27-2007, 02:22 PM
I have installed Debian4 on my desktop (AMD64/K8) and on my new Sony VAIO laptop (i86). My laptop has an Atheros wireless card which is not found at boot up.

lspci finds it in the listing as an Atheros device, but otherwise unknown.

I am going to have to compile my kernel, according to the instructions from MadWifi.org. Which leads to my question. All the literature that I have read says the one must go to /usr/src to alter the kernel with make and make config. On both the destop and the laptop /usr/src is now empty. The last kernel I recompiled was on Libranet3, so it was sometime ago. I did a search with locate, using the the name and version found with uname -a, and got a myriad of responses.

Where is my kernel?

jorj

jorj
06-27-2007, 03:53 PM
Now I feel like an idiot. In debian4, I went to Places>>Search for files, and looked for files containing 2.6.18-4 in the filesystem. On both the laptop and desktop the kernel-image-2.6.18-4 showed up in /usr/share/doc.
Now I'll have to figure out the next step.

jorj

bluesdog
06-28-2007, 04:12 AM
Have you tried just building the module? You'll need at least the headers # apt-get install linux-headers-$(uname -r)Then you could try module-assistant, to see if it will build the madwifi module for you.

If you do need to build the kernel, in order to recompile, you'll need the kernel source# apt-get install linux-source-2.6.18A few other tools are handy, too

You should have most of these installed:
debhelper
modutils
kernel-package
libncurses5-dev(or ncurses-dev)
bzip2
module-init-tools
initrd-tools
initramfs-tools
yaird
procps
binutils
libqt3-mt-devYou will also need the GNU Compiler, g++, in order to compile the kernel.
To find out if you already have some of these installed, do, on one line in a terminal:# apt-get install debhelper modutils kernel-package libncurses5-dev bzip2 module-init-tools initrd-tools initramfs-tools yaird procps binutils libqt3-mt-dev g++make a backup of /etc/kernel-img.conf# cp /etc/kernel-img.conf /etc/kernel-img.conf.backupbackup /boot/grub/menu.lst, while you're at it # cp /boot/grub/menu.lst /boot/grub/menu.backupthen use your favourite text editor to modify /etc/kernel-img.conf.
Example: # nano /etc/kernel-img.conf Edit it to look something like this:# Kernel Image management overrides
# See kernel-img.conf(5) for details
do_symlinks = Yes
warn_initrd = no
ramdisk = /usr/sbin/mkinitrd.yaird /usr/sbin/mkinitramfs /usr/sbin/mkinitrd
do_bootloader = no
do_bootfloppy = no
link_in_boot = no
postinst_hook = /sbin/update-grub
postrm_hook = /sbin/update-grubcd to the folder containing the newly installed kernel source: # cd /usr/src/linux-2.6.18launch the xconfigurator# make xconfig(If you are not in the src group, as regular user type xhost + in a console before doing ’su’ to become root, otherwise you will not be allowed access to run the xconfig gui)

If you have a fairly recent, working kernel, you can use the configuration file, located at /boot/ as a starting point.
Locate and load the configuration file, using xconfig’s file browser. Example: /boot/config-2.6.18-4.
Note the newer kernels handle things like SATA differently. If you have a SATA drive, make sure you know what module it requires, and make sure you select the one you need in the configuration.

There are a few other tweaks you may wish to make:
Input device support > Event debugging. Turn if off! Unless you have a particular need, just deactivate this, and don’t even build the module for it.
Event debugging (INPUT_EVBUG) <-- just san no!

Processor type and features > Timer frequency. Increase Timer frequency to 1000 HZ!
1000 HZ is the preferred choice for desktop systems and other
systems requiring fast interactive responses to events.
The default is 250 HZ
250 HZ (HZ_250)
Note: The 1000HZ setting is required for some advanced audio applictions, such as rosegarden, and is generally advisable for desktop systems.

Once you are satisfied with your new configuration, save and exit xconfig.
Now build the new kernel image
First, reset make-kpkg to its defaults
# make-kpkg cleanthen issue the command to build the kernel deb package, along with the headers, documents, compiled source, etc, which may come in useful later..

# make-kpkg binary --initrd --revision=<somedistinguishingname> --append-to-version -<somedistinguishingcode> kernel_image
You can even automagically build extra modules, like madwifi, if the unpacked source is in /usr/src/modules.
For example # make-kpkg binary --initrd --revision=mynew.1.a --append-to-version -k7 kernel_image modules_imageOnce the build is finished, without errors, go ahead and install the newly compiled kernel, make sure /boot/grub/menu.lst updates correctly, and try out your new kernel.
If it fails, you can always boot into the previous one..
In the example given, the new kernel package would be something like linux-image-2.6.18-4-k7_mynew.1.a_i386.deb
To install it:
# dpkg -i linux-image-2.6.18-4-k7_mynew.1.a_i386.debGood luck

jorj
06-29-2007, 06:55 PM
Thanks bluesdog. I downloaded the kernel-headers (couldn't get the source,but didn't need it after all) using
# apt-get install linux-headers-$(uname -r)
Had a little problem until I realized the $ was a typo.

I should have "googled" a little deeper before asking for help. I found the Debian MadWifi Packages. I installed them and then used module-assistant (m-a prepare) which worked flawlessly.

Thanks again. I shall preserve your response as a "howto". I greatly appreciate the your taking the time to generate it.

As an aside I feel that the Debian4>Desktop>Preferences>Networking is as good and easy to use as the Xadminmenu network section in Libranet3. My new Sony VAIO is now connected with wireless. The Sony had Vista Home Premium installed when I bought it Of course Home Premium doesn't have the system recovery on it, so Vista lasted 27 hrs. It never came back after I shrunk the main partition from 105 Gb to 50 Gb to make room for Debian. Everything Vista offered was only good for 30 or 60 days; even the Spiderman movies required a credit card so who needs it?

jorj

bluesdog
06-30-2007, 02:27 PM
Typo? afaik, this should work..# apt-get install linux-headers-$(uname -r)
Glad you got it working ok, anyway
:)

module-assistant rules, yes?

lisi
06-30-2007, 05:47 PM
Typo? afaik, this should work..# apt-get install linux-headers-$(uname -r)
Glad you got it working ok, anyway
:)

module-assistant rules, yes?

Bluesdog -

I think that jorj perhaps hasn't come across the $ sign as meaning "variable" (i.e., in this case, "put the number of your kernel version here").

Lisi

bluesdog
06-30-2007, 06:38 PM
Ah.

On my box, the command as typed seems to work: [alj@debbie:~]$ sudo apt-get install linux-headers-$(uname -r)
Reading package lists... Done
Building dependency tree... Done
linux-headers-2.6.20-rt8-k7 is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 12 not upgraded.or this one, using the "`" grave accent/lower-case 'tilde' key:
[alj@debbie:~]$ sudo apt-get install linux-headers-`uname -r`
Reading package lists... Done
Building dependency tree... Done
linux-headers-2.6.20-rt8-k7 is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 12 not upgraded.:confused:

lisi
07-01-2007, 03:37 AM
And on mine.

Lisi

jorj
07-01-2007, 01:08 PM
I apologize bluesdog for accusing you of the typo as the mistake was mine in putting a space between the dollar sign and the opening parenthesis. Lisi, you are correct; I didnt know that $ could sustitute for a variable.

I have no programming abilities or talents. After spending my working life in designing applications for analog ,serial, and parallel computers at the Jet Propulsion Laboratory, I just never expanded my horizons enough to go beyond programming "Hello World" in C.

Thanks again for the help jorj

fos
07-01-2007, 10:23 PM
working at JPL....

Robotics and space exploration, that must be a great place to work!!!!

As an amateur radio operator, I am always amazed at the low signal communications over such vast distances. Now that is QRP!


72, fos