Strange drop of perfomance and ifconfig bmiss parameter for atheros



  • I'm experiencing a very unusual and strange behavior on one of my pfsense boxes.

    I have established a wireless link (2km distance) between to pfsense boxes. It is the first link where i have used 1.2RC2 at the one endpoint.

    So here are the facts:

    We have two x86 pfsense boxes. The client side is running 1.0.1 and the AP side 1.2RC2. Both have the same wireless minipci atheros cards (CM9) on identical 4 slot minipci to pci adapters. The client side pfsense box (1.0.1) has two additional wireless interfaces with other pfsense boxes, again with atheros that are working flawlessly (25-27 Mbps throughput at the same distance).

    Today i have installed the new interface and i have activated the new pfsense box (1.2RC2) at a new location. After the necessary alignment of the antennas i'm checking the performance of the link with iperf installed on both ends.

    The parameters of the wireless interfaces are show below.

    For the client side running pfsense 1.0.1

    #ifconfig ath0
            ath0: flags=8843 <up,broadcast,running,simplex,multicast>mtu 1500
            inet6 fe80::20b:6bff:fe82:8c4c%ath0 prefixlen 64 scopeid 0x2 
            inet 10.215.0.254 netmask 0xfffffffc broadcast 10.215.0.255
            ether 00:0b:6b:82:8c:4c
            media: IEEE 802.11 Wireless Ethernet OFDM/54Mbps mode 11a
            status: associated
            ssid CyWN-2-3test channel 116 bssid 00:0b:6b:82:89:f7
            authmode OPEN privacy OFF txpowmax 12 burst bintval 100
    
    #sysctl dev.ath.0
    dev.ath.0.%desc: Atheros 5212
    dev.ath.0.%driver: ath
    dev.ath.0.%location: slot=8 function=0
    dev.ath.0.%pnpinfo: vendor=0x168c device=0x0013 subvendor=0x185f subdevice=0x1012 class=0x020000
    dev.ath.0.%parent: pci2
    dev.ath.0.smoothing_rate: 95
    dev.ath.0.sample_rate: 10
    dev.ath.0.countrycode: 300
    dev.ath.0.regdomain: 0
    dev.ath.0.slottime: 16
    dev.ath.0.acktimeout: 41
    dev.ath.0.ctstimeout: 41
    dev.ath.0.softled: 0
    dev.ath.0.ledpin: 0
    dev.ath.0.ledon: 0
    dev.ath.0.ledidle: 2700
    dev.ath.0.txantenna: 1
    dev.ath.0.rxantenna: 1
    dev.ath.0.diversity: 0
    dev.ath.0.txintrperiod: 5
    dev.ath.0.diag: 0
    dev.ath.0.tpscale: 0
    dev.ath.0.tpc: 0
    dev.ath.0.tpack: 63
    dev.ath.0.tpcts: 63
    dev.ath.0.rfsilent: 1
    dev.ath.0.rfkill: 0
    dev.ath.0.monpass: 24</up,broadcast,running,simplex,multicast>
    

    For the AP side running pfsense 1.2RC2

    # ifconfig ath0
    ath0: flags=8843 <up,broadcast,running,simplex,multicast>mtu 1500
            inet6 fe80::20b:6bff:fe82:89f7%ath0 prefixlen 64 scopeid 0x3 
            inet 10.215.0.253 netmask 0xfffffffc broadcast 10.215.0.255
            ether 00:0b:6b:82:89:f7
            media: IEEE 802.11 Wireless Ethernet autoselect mode 11a <hostap>
            status: associated
            ssid CyWN-2-3test channel 116 bssid 00:0b:6b:82:89:f7
            authmode OPEN privacy OFF txpowmax 10 bmiss 7 burst -apbridge
            dtimperiod 1 bintval 100
    
    # sysctl dev.ath.0
    dev.ath.0.%desc: Atheros 5212
    dev.ath.0.%driver: ath
    dev.ath.0.%location: slot=10 function=0
    dev.ath.0.%pnpinfo: vendor=0x168c device=0x0013 subvendor=0x185f subdevice=0x1012 class=0x020000
    dev.ath.0.%parent: pci2
    dev.ath.0.smoothing_rate: 95
    dev.ath.0.sample_rate: 10
    dev.ath.0.countrycode: 300
    dev.ath.0.regdomain: 0
    dev.ath.0.slottime: 16
    dev.ath.0.acktimeout: 41
    dev.ath.0.ctstimeout: 41
    dev.ath.0.softled: 0
    dev.ath.0.ledpin: 0
    dev.ath.0.ledon: 0
    dev.ath.0.ledidle: 2700
    dev.ath.0.txantenna: 1
    dev.ath.0.rxantenna: 1
    dev.ath.0.diversity: 0
    dev.ath.0.txintrperiod: 5
    dev.ath.0.diag: 0
    dev.ath.0.tpscale: 0
    dev.ath.0.tpc: 0
    dev.ath.0.tpack: 63
    dev.ath.0.tpcts: 63
    dev.ath.0.rfsilent: 1
    dev.ath.0.rfkill: 0
    dev.ath.0.monpass: 24</hostap></up,broadcast,running,simplex,multicast>
    

    Running iperf for a period of 60 sec (for example) has the following strange results. The link is working at 23Mbps for about 10 sec the drops at 10Mbps (association stays at 54Mbps). If i execute a

    #ifconfig ath0 bmiss 7
    

    on the AP side, without stopping the test, the performance increases at 23Mbps to drop again after some seconds.

    # iperf -c 10.215.0.253 -i 2 -t 60
    ------------------------------------------------------------
    Client connecting to 10.215.0.253, TCP port 5001
    TCP window size: 65.0 KByte (default)
    ------------------------------------------------------------
    [  3] local 10.215.0.254 port 59326 connected with 10.215.0.253 port 5001
    [  3]  0.0- 2.0 sec  5.70 MBytes  23.9 Mbits/sec
    [  3]  2.0- 4.0 sec  5.70 MBytes  23.9 Mbits/sec
    [  3]  4.0- 6.0 sec  5.68 MBytes  23.8 Mbits/sec
    [  3]  6.0- 8.0 sec  5.70 MBytes  23.9 Mbits/sec
    [  3]  8.0-10.0 sec  4.50 MBytes  18.9 Mbits/sec
    [  3] 10.0-12.0 sec  2.56 MBytes  10.7 Mbits/sec
    [  3] 12.0-14.0 sec  2.48 MBytes  10.4 Mbits/sec
    [  3] 14.0-16.0 sec  2.47 MBytes  10.4 Mbits/sec
    

    Here i execute the ifconfig ath0 bmiss7 on the AP side. See how the performance is increasing.

    [  3] 16.0-18.0 sec  4.89 MBytes  20.5 Mbits/sec
    [  3] 18.0-20.0 sec  5.63 MBytes  23.6 Mbits/sec
    [  3] 20.0-22.0 sec  5.64 MBytes  23.7 Mbits/sec
    [  3] 22.0-24.0 sec  5.64 MBytes  23.7 Mbits/sec
    

    To drop again

    [  3] 24.0-26.0 sec  3.56 MBytes  14.9 Mbits/sec
    [  3] 26.0-28.0 sec  2.09 MBytes  8.75 Mbits/sec
    [  3] 28.0-30.0 sec  2.21 MBytes  9.27 Mbits/sec
    [  3] 30.0-32.0 sec  2.17 MBytes  9.11 Mbits/sec
    

    Again execution of the ifconfig command

    [  3] 32.0-34.0 sec  4.43 MBytes  18.6 Mbits/sec
    [  3] 34.0-36.0 sec  5.52 MBytes  23.1 Mbits/sec
    [  3] 36.0-38.0 sec  5.67 MBytes  23.8 Mbits/sec
    [  3] 38.0-40.0 sec  5.66 MBytes  23.7 Mbits/sec
    

    and again it drops

    [  3] 40.0-42.0 sec  2.98 MBytes  12.5 Mbits/sec
    [  3] 42.0-44.0 sec  2.07 MBytes  8.68 Mbits/sec
    [  3] 44.0-46.0 sec  2.16 MBytes  9.04 Mbits/sec
    [  3] 46.0-48.0 sec  2.14 MBytes  8.98 Mbits/sec
    [  3] 48.0-50.0 sec  2.14 MBytes  8.98 Mbits/sec
    

    Another one execution until it drops again.

    [  3] 50.0-52.0 sec  4.62 MBytes  19.4 Mbits/sec
    [  3] 52.0-54.0 sec  5.61 MBytes  23.5 Mbits/sec
    [  3] 54.0-56.0 sec  5.58 MBytes  23.4 Mbits/sec
    [  3] 56.0-58.0 sec  5.60 MBytes  23.5 Mbits/sec
    [  3] 58.0-60.0 sec  2.66 MBytes  11.2 Mbits/sec
    

    I have tried to play with different bmiss values with the same results. Also i have noticed that there is no bmiss value on the atheros cards installed on pfsense 1.0.1. Also there is no such problem with the links that are running between two pfsense 1.0.1 boxes.

    I have tried different slottime and ack and cts timeout values with no success.

    If you need more information please ask for it.

    It would be easier for me to go back on 1.0.1 but i want to investigate the performance of 1.2RC2 in wireless links. We use pfsense on our wireless community network and we like it very much so we want to stay with it and use all the nice extra features of 1.2RC2.

    I would be thankful for any suggestions.

    Confirmed with the latest snapshot as well (2007-Sep-26 13:19:52)


Log in to reply