Author Topic: WZR-HP-AG300H Lost Wireless Authentication Ability  (Read 2576 times)

tommiy

  • Calf
  • *
  • Posts: 13
WZR-HP-AG300H Lost Wireless Authentication Ability
« on: January 01, 2013, 06:51:33 PM »

I started off trying to address a more than 9 connections issue on my router that was running 1.73 firmware. I noticed that 1.77 address this issue. However, I seem to have discovered multiple issues with the router that I'm trying to address. Assuming the 9 connection issue has been addressed I run run into the problem that seems to be mentioned alot as "Loss of Wireless Connectivity".

 

After the router has been running for a number of hours (varies) my wireless devices loose the ability to communicate with the router. Windows basically comes up with the indicator in the tray that internet access is lost. Wired connections work perfectly. If I use inSIDer v2 to exam the wireless signal from the router I see that instead of being stable on the 40M bndwidth that its doing a cuclic band change by using the nominated channel for 5 seconds and then including the extension channel for 2 seconds and then only the nominal channel for 5 seconds and so on. If I reapply the normal wireless settings everything returns to normal for a undefined period of time.

 

I see a number of others with "Loss of Wireless Connectivity" issues. I'd appreciate if someone with this issue could use inSIDer and see what the wireless signal is doing would be great.

 


tommiy

  • Calf
  • *
  • Posts: 13
Re: WZR-HP-AG300H Lost Wireless Authentication Ability
« Reply #1 on: January 01, 2013, 06:53:33 PM »

I should have said. If you have Telnet access to the router and look at the output of ifconfig you will see that it starts dropping packets when this issue occurs as well.


tommiy

  • Calf
  • *
  • Posts: 13
Re: WZR-HP-AG300H Lost Wireless Authentication Ability
« Reply #2 on: January 01, 2013, 08:27:18 PM »

looking at dmesg output, the only messages that look concerning are:

 

WAR kicks in, sending bar

and

ath_beacon_generate: cabq queue did not stop?

 

 

The first appears to be related to the ongoing DHCP requests from clients. The second is related to the Atheros drivers on the router and the beacon queue. Looking at the source code available it would appear that this is considered not to be a serious issue and that the DMA is not blocked....but I'm no expert. Issueing a

 

ifconfig ath0 down

 

followed by a

 

ifconfig ath0 up

 

restores the router to working order.

 

Finding a valid trigger to reset ath0 is a question and then how to get a script to stick during reboot etc.

 

Note this is using the friendly software. If you have professional installed you can address this through the normal WRT pages as there are corrections there for the wireless drop that will correct this as well.


drmemory

  • Big Bull
  • *****
  • Posts: 1147
Re: WZR-HP-AG300H Lost Wireless Authentication Ability
« Reply #3 on: January 02, 2013, 11:53:43 AM »

Firmware 1.78 addresses several issues:  [Changed features] 1.Removed Wireless Multicast Rate settings from top page of the Web Admin interface. [Bug fix] 1.Fixed a problem that caused wireless communication to became unstable. 2.Fixed a problem that wired communication is disconnected during transmission. 3.Fixed an incompatibility with Adblock Plus in Firefox. 4.Fixed a problem that system allows wrong entry for maximum Rwin size of Movie Engine. 5.Corrected inaccurate information and other problems in the Web Admin interface.


tommiy

  • Calf
  • *
  • Posts: 13
Re: WZR-HP-AG300H Lost Wireless Authentication Ability
« Reply #4 on: January 02, 2013, 01:52:20 PM »

After some reading on what the beacon error meant it would appear that this may be the issue of my problem and potentially tied to the device timing that i have connected via wireless. I've seen patches to this part of the code that releate to April/May last year. However, the error message from the ag300h do not exactly match those in the standard codebase so I'm assuming that either the Buffalo code is a separate fork or that its much older than that currently available.

 

Either case I could, and did write a perl script to check dmesg and automatically shut and restart the wireless if it appears. Two issues, one is the main killer, the only writable part of the filesystem is /tmp so the script will get lost upon reboot, but the bigger problem at present is being able to dissassoiciate the script with the terminal session so it will remain running in the background.


tommiy

  • Calf
  • *
  • Posts: 13
Re: WZR-HP-AG300H Lost Wireless Authentication Ability
« Reply #5 on: January 02, 2013, 09:44:21 PM »

In case someone is interested in this script for restarting the wireless interfaces on the friendly version.

 

#!/bin/perl -w## base code by Andrew Ault, www.andrewault.net## Free software. Use this as you wish.## This script solves an intermitent problem on my# Buffalo WZR-HP-AG300H wireless N radio. Every now and again# the wireless N radio has an issue and switches the 2.4G# extentsion band on and off which appears to stop the   # wireless clients from connecting. The error in dmesg is:# "ath_beacon_generate: cabq queue did not stop?". Bringing# the wireless interface down and then back up resolves the issue.  # This script monitors dmesg looking for the error and if found# restarts the wireless interfaces.#use strict;use warnings;use POSIX;# Wireless interface that disappearsmy $INTERFACELO='ath0';my $INTERFACEHI='ath10';my $ERROR='cabq queue did not stop';#my $daemonName    = "beacon_check";#my $dieNow        = 0;                                     # used for "infinte loop" construct - allows daemon mode to gracefully exitmy $sleepMainLoop = 300;                                   # number of seconds to wait between "do something" execution after queue is clearmy $aftercycle    = 60;                                    # amount to wait after shutting and starting interfaces before logging DMESGmy $logging       = 1;                                     # 1= logging is onmy $logFilePath   = "/tmp/";                               # log file pathmy $logFile       = $logFilePath . $daemonName . ".log";## daemonizeuse POSIX qw(setsid);chdir '/';umask 0;open STDIN,  '/dev/null'   or die "Can't read /dev/null: $!";open STDOUT, '>>/dev/null' or die "Can't write to /dev/null: $!";open STDERR, '>>/dev/null' or die "Can't write to /dev/null: $!";defined( my $pid = fork ) or die "Can't fork: $!";# If parentexit if $pid;## For the child# dissociate this process from the controlling terminal that started it and stop being part# of whatever process group this process was a part of.POSIX::setsid() or die "Can't start a new session.";## callback signal handler for signals.$SIG{INT} = $SIG{TERM} = $SIG{HUP} = \&signalHandler;$SIG{PIPE} = 'ignore';## turn on loggingif ($logging) {    open LOG, ">>$logFile";    select((select(LOG), $|=1)[0]); # make the log file "hot" - turn off buffering}## "infinite" loop where some useful process happensuntil ($dieNow) {    sleep($sleepMainLoop);    # Check for match against dmesg        my $dmesg=`/bin/dmesg`;        if ($dmesg=~ m/$ERROR/)        {        logEntry ("beacon queue failure detected!\n");        logEntry ("$dmesg\n");        system ("dmesg", "-c");        system ("ifconfig", "$INTERFACELO", "down");        system ("ifconfig", "$INTERFACEHI", "down");        sleep 3;        system ("ifconfig", "$INTERFACELO", "down");        system ("ifconfig", "$INTERFACEHI", "down");        #sleep $aftercycle;    }}## add a line to the log filesub logEntry {    my ($logText) = @_;    my ( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst ) = localtime(time);    my $dateTime = sprintf "%4d-%02d-%02d %02d:%02d:%02d", $year + 1900, $mon + 1, $mday, $hour, $min, $sec;    if ($logging) {        print LOG "$dateTime : $logText\n";    }}## catch signals and end the program if one is caught.sub signalHandler {    $dieNow = 1;    # this will cause the "infinite loop" to exit}## do this stuff when exit() is called.END {    if ($logging) { close LOG };}