Wireless USB Disconnects Work Around?

K

kcirevam

I've run into an unusual problem that many others have encountered -
my 802.11b wireless USB adapter disconnects randomly and without
warning. I'm using the AIN AWU2000B based on the ATMEL AT76C505
chipset.

First and foremost I have tried the normal resolutions which includes
disabling "Automatically connect to non-preferred networks" and
"Enable IEEE 802.11x authentication for this network". I've tried
multiple wireless channels, played with all available "preamble type"
and "rate" settings for the adapter, and disabled all devices that
share IRQ's with the USB host controller. I have reoriented the
wireless adapter with the exclusion of moving the computer to another
location.

The computer itself is a Shuttle XPC (SN41G2 V2 (FN41V3.X) bios
version fn41si0j) with no floppy drive and the PCI and AGP slots
empty. The Wireless connection drops have no connection to CPU
activity or ambient temperature. Since we're talking about a USB
wireless adapter I plugged it into every available USB port including
a port off of a seperate HUB. The USB host controller is USB 2.0 so I
set it to 1.1 operation in the bios. I returned the USB adapter for
an exact replacement. I updated the wireless zero service and
disabled it completely in favor of the software that came with the USB
adapter but all these things had no effect. Keep in mind that I have
successfully deployed three other identical USB wireless adapters on
other computers and they work flawlessly. Two of these computers are
based on the VIA KT133 chipset and the last is an Intel 845.

The wireless disconnects can occur within 5 minutes or be as far apart
as over an hour. Using the Windows XP Event Viewer (type eventvwr at
the RUN prompt) I can see a number of SYSTEM tcpip events with the
most notable being 4201 (an automatic wireless reconnect) and 4202 (a
complete loss of wireless synchronization). When I lose
synchronization the quickest way to get back up and running is to
disable the USB adapter in Network Connections and then re-enable it.

I cannot return this wireless adapter in favor of one from a different
manufacturer (this one only cost $23 and I'm too cheap to pay more).
With this in mind I have developed a sort of work around for the
problem. Since the wireless disconnect is signalled by SYSTEM event
4202, if I could capture or trigger off of this event and somehow
automatically disable and re-enable the network adapter I could create
an autonomous reconnect event.

To accomplish the disable/re-enable portion I found a utility from
Microsoft called DEVCON.EXE
http://download.microsoft.com/download/1/1/f/11f7dd10-272d-4cd2-896f-9ce67f3e0240/devcon.exe
chronicled in Knowledge Base article 311272. After extracting the
file to a suitable location I ran it from a command prompt like so:
c:\> devcon find usb*
USB\ROOT_HUB\4&31D6675A&0 : USB Root Hub
USB\ROOT_HUB\4&89F89EC&0 : USB Root Hub
USB\VID_0451&PID_2046\5&12C5C81C&0&1 : Generic USB Hub
USB\VID_046D&PID_C281\6&36E13107&0&4 : Logitech WingMan
Force USB
USB\VID_12FD&PID_1001\5&F1546E9&0&2 : USB Wireless LAN
Card

Starting from the left hand side we'll need to copy enough information
pertaining to the Wireless LAN Card to ensure only one device will
match. I used USB\VID_12FD&PID_1001.

Now I made a batch file called netreset.bat containing the lines:
devcon disable "USB\VID_12FD&PID_1001"
devcon enable "USB\VID_12FD&PID_1001"


With the hardware reset portion taken care of now I needed to find a
way to trigger off event 4202. I used a command built into Windows XP
called eventtriggers (see the online documentation for the command at
http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/eventtriggers.mspx
). I created a batch file called autoreset.bat with the following
command:
eventtriggers /create /tr "reconnect" /eid 4202 /l system /t
information /ru administrator /tk "c:\temp\netreset.bat"

Notice that the /ru switch is followed by the name administrator.
This runs the command with the user permission from the administrator
account and executing the command will prompt for the password. For
me I couldn't get the trigger to work until I added the /ru to the
command. For a home user with no password protected user accounts you
could probably get away with dropping the /ru administrator portion of
the command. If you are a user with administrator priviledge on a
password protected account then by all means use your own account
name.

Anyway I simply ran the batch file to create the trigger, now when the
wireless adapter loses synchronization with the network it creates
SYSTEM event 4202 which automatically triggers the execution of
netreset.bat which in turn disables/re-enables the USB wireless
adapter which resynchs it with the network. It's a dirty solution but
it works.

My personal opinion on the cause of the problem is that the nForce USB
2.0 controller is incompatible with the ATMEL AT76C505 chipset. It's
probably a minor timing variance that escalates over time to cause an
irrevocable loss of network synchronization. I have compared the
event log from the problem computer to the working computers and I see
a lot more 4201 events which generally signal the establishment of
network synchronization.

When looking at the placement of individual computers they radiate
like spokes from a three-dimensional sphere with the Linksys BEFW11S4
router about center. Most of the client computers are within 15 feet
of the wireless router and none of them are in the others line of
sight.



As a completely off subject side note I had some random power-up
problems with the Shuttle XPC. On normal power-up the CPU fan ramps
up to full speed for a few seconds while the Hard Drive and CD-ROM
lights flash and then the computer progresses to the BIOS screen. On
the bad power up the fan ramps up to full speed but the Hard Drive and
CD-ROM lights never flash and the fan stays at full speed until the
RESET button is pressed.

I think I've isolated the problem to the S3 (suspend to ram) power
management state. I noticed that during suspend to ram the lights on
some USB peripherals would remain on as if they were still powered up.
During a full shutdown the lights would extinguish. Sometimes during
a full shutdown with S3 enabled I noticed that the lights would stay
on and I'm pretty sure this is also when the computer would not boot
properly. It's been running fine for a couple of days now with S3 set
to the default S1 state.

My best guess is that the computer was booting up and trying to resume
from a suspend to ram situation when in fact the computer had not been
suspended to ram. Again I believe this to be an engineering issue
with the nForce chipset.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top