# abysmal wireless performance



## lifanov (Nov 22, 2010)

I got a job at a small office that uses wireless as its only network media.
I have an internal PCI Atheros wireless N card in my desktop, and it works
fantastic on Windows 7. However, on FreeBSD it does some horrible things:
Connection drops permanently after some inactivity (solved by leaving a ping running) and
DNS lookups take a load of time to complete (about a second each), which is
remedied by leaving dnsmasq running and setting nameserver to 127.0.0.1.
I also experience random short connection drops (not enough to affect browsing, but enough to make scp scary).
I do *not* want to use Cygwin, but wireless performance might make me.
Please help me diagnose this.


----------



## lifanov (Nov 29, 2010)

connection.sh

```
#!/bin/sh

ping -c1 google.com

if [ $? ]
then
        sleep 1
        ./connection.sh &
else
        ifconfig wlan0 down
        ifconfig wlan0 up
        wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf &
        ./connection.sh &
fi
```


----------



## davidgurvich (Nov 30, 2010)

Not sure that you can fix the problem trivially.  I'm not sure if the problem is with the FreeBSD drivers or somewhere else.  From the same locations,  Linux can make and keep a wireless connection where FreeBSD fails in both.  I have the same issue with different wireless chipsets so suspect it's not a driver issue.  I should test these on OpenBSD as many of the drivers are taken from there.

I have surrendered to necessity and am using Linux on my laptops where I want a stable wireless connection.  I believe that restarting wpa_supplicant should not cause a system to reboot nor should a reboot be necessary when changing wireless settings.


----------



## lifanov (Nov 30, 2010)

The script I posted keeps the connection up if left running; however, you might want to put a little bit of 'sleep' before the wpa_supplicant line so that these guys don't fight with each other.
You don't need to reboot. The kernel message when that happens reads something like 'bb hang detected'.

I ended up setting up a wireless bridge between two routers and connecting with a cable. It seems to be stable.


----------

