All of lore.kernel.org
 help / color / mirror / Atom feed
From: poma <pomidorabelisima@gmail.com>
To: users@rt2x00.serialmonkey.com
Cc: linux-wireless@vger.kernel.org
Subject: Re: [rt2x00-users] MediaTek Inc. MT7601U Wireless Adapter
Date: Sun, 31 Aug 2014 07:39:37 +0200	[thread overview]
Message-ID: <5402B519.1080002@gmail.com> (raw)
In-Reply-To: <53FE9920.2040702@gmail.com>


A new patch[1] mainly based on patches at 
https://github.com/ashaffer/rt3573sta
and several network throughput tests via the Iperf.
Tested with kernels:
- 3.15.10-200.fc20.x86_64
- 3.16.1-301.fc21.x86_64
- 3.17.0-0.rc2.git3.1.fc22.x86_64
- 3.16.1-301.fc21.i686
- 3.17.0-0.rc2.git3.1.fc22.i686

<Proximity>
Wi-Fi <~20cm LOS~> AP(Wi-Fi <-bridge-> 100Mbit switch) <-> Ethernet

<AP>
# iwconfig ra0
ra0       RTWIFI SoftAP  ESSID:"Geppetto"  
          Mode:Managed  Channel=13  Access Point: 00:22:44:66:88:aa   
          Bit Rate=150 Mb/s   
</AP>
          
<Wi-Fi>
$ iwconfig ra0 
ra0       Ralink STA  ESSID:"Geppetto"  Nickname:"MT7601STA"
          Mode:Managed  Frequency=2.472 GHz  Access Point: 00:22:44:66:88:aa   
          Bit Rate=150 Mb/s   
          RTS thr:off   Fragment thr:off
          Link Quality=100/100  Signal level:-22 dBm  Noise level:-53 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0
</Wi-Fi>

<Ethernet>
$ ifconfig bridge0
bridge0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.2.2  netmask 255.255.255.0  broadcast 192.168.2.255
        ether 00:12:34:56:78:90  txqueuelen 0  (Ethernet)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
</Ethernet>

<Ethernet-TCP>
$ iperf -s -i 1
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 192.168.2.2 port 5001 connected with 192.168.2.36 port 58536
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0- 1.0 sec  10.6 MBytes  88.9 Mbits/sec
[  4]  1.0- 2.0 sec  11.2 MBytes  94.1 Mbits/sec
[  4]  2.0- 3.0 sec  11.2 MBytes  94.1 Mbits/sec
[  4]  3.0- 4.0 sec  11.2 MBytes  94.1 Mbits/sec
[  4]  4.0- 5.0 sec  11.2 MBytes  94.1 Mbits/sec
[  4]  5.0- 6.0 sec  11.2 MBytes  94.1 Mbits/sec
[  4]  6.0- 7.0 sec  11.2 MBytes  94.1 Mbits/sec
[  4]  7.0- 8.0 sec  11.2 MBytes  94.1 Mbits/sec
[  4]  8.0- 9.0 sec  11.2 MBytes  94.1 Mbits/sec
[  4]  9.0-10.0 sec  11.2 MBytes  94.1 Mbits/sec
[  4]  0.0-10.1 sec   113 MBytes  93.6 Mbits/sec
</Ethernet-TCP>
 >
<Wi-Fi-TCP>
$ iperf -c 192.168.2.2 -i 1
------------------------------------------------------------
Client connecting to 192.168.2.2, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.2.36 port 58536 connected with 192.168.2.2 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 1.0 sec  11.1 MBytes  93.3 Mbits/sec
[  3]  1.0- 2.0 sec  11.8 MBytes  98.6 Mbits/sec
[  3]  2.0- 3.0 sec  11.4 MBytes  95.4 Mbits/sec
[  3]  3.0- 4.0 sec  11.0 MBytes  92.3 Mbits/sec
[  3]  4.0- 5.0 sec  11.5 MBytes  96.5 Mbits/sec
[  3]  5.0- 6.0 sec  11.1 MBytes  93.3 Mbits/sec
[  3]  6.0- 7.0 sec  11.2 MBytes  94.4 Mbits/sec
[  3]  7.0- 8.0 sec  11.1 MBytes  93.3 Mbits/sec
[  3]  8.0- 9.0 sec  11.5 MBytes  96.5 Mbits/sec
[  3]  9.0-10.0 sec  11.0 MBytes  92.3 Mbits/sec
[  3]  0.0-10.0 sec   113 MBytes  94.4 Mbits/sec
</Wi-Fi-TCP>

<Ethernet-UDP>
$ iperf -s -i 1 -u
------------------------------------------------------------
Server listening on UDP port 5001
Receiving 1470 byte datagrams
UDP buffer size:  208 KByte (default)
------------------------------------------------------------
[  3] local 192.168.2.2 port 5001 connected with 192.168.2.36 port 48479
[ ID] Interval       Transfer     Bandwidth        Jitter   Lost/Total Datagrams
[  3]  0.0- 1.0 sec  11.4 MBytes  95.3 Mbits/sec   0.119 ms    0/ 8105 (0%)
[  3]  1.0- 2.0 sec  11.4 MBytes  95.7 Mbits/sec   0.081 ms  480/ 8617 (5.6%)
[  3]  2.0- 3.0 sec  11.4 MBytes  95.7 Mbits/sec   0.098 ms 1200/ 9338 (13%)
[  3]  3.0- 4.0 sec  11.4 MBytes  95.7 Mbits/sec   0.078 ms 1502/ 9640 (16%)
[  3]  4.0- 5.0 sec  11.4 MBytes  95.7 Mbits/sec   0.121 ms 1459/ 9596 (15%)
[  3]  5.0- 6.0 sec  11.4 MBytes  95.7 Mbits/sec   0.084 ms 1488/ 9626 (15%)
[  3]  6.0- 7.0 sec  11.4 MBytes  95.7 Mbits/sec   0.142 ms 1513/ 9651 (16%)
[  3]  7.0- 8.0 sec  11.4 MBytes  95.7 Mbits/sec   0.100 ms 1470/ 9608 (15%)
[  3]  8.0- 9.0 sec  11.4 MBytes  95.7 Mbits/sec   0.095 ms 1526/ 9664 (16%)
[  3]  9.0-10.0 sec  11.4 MBytes  95.7 Mbits/sec   0.076 ms 1415/ 9553 (15%)
[  3]  0.0-10.2 sec   116 MBytes  95.7 Mbits/sec   0.559 ms 12254/94926 (13%)
[  3]  0.0-10.2 sec  1 datagrams received out-of-order
</Ethernet-UDP>
 >
<Wi-Fi-UDP>
$ iperf -c 192.168.2.2 -i 1 -u -b 300M
------------------------------------------------------------
Client connecting to 192.168.2.2, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size:  208 KByte (default)
------------------------------------------------------------
[  3] local 192.168.2.36 port 48479 connected with 192.168.2.2 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 1.0 sec  12.4 MBytes   104 Mbits/sec
[  3]  1.0- 2.0 sec  13.2 MBytes   110 Mbits/sec
[  3]  2.0- 3.0 sec  13.2 MBytes   111 Mbits/sec
[  3]  3.0- 4.0 sec  13.6 MBytes   114 Mbits/sec
[  3]  4.0- 5.0 sec  13.5 MBytes   113 Mbits/sec
[  3]  5.0- 6.0 sec  13.4 MBytes   113 Mbits/sec
[  3]  6.0- 7.0 sec  13.5 MBytes   113 Mbits/sec
[  3]  7.0- 8.0 sec  13.6 MBytes   114 Mbits/sec
[  3]  8.0- 9.0 sec  13.5 MBytes   113 Mbits/sec
[  3]  0.0-10.0 sec   133 MBytes   112 Mbits/sec
[  3] Sent 94927 datagrams
[  3] Server Report:
[  3]  0.0-10.2 sec   116 MBytes  95.7 Mbits/sec   0.559 ms 12254/94926 (13%)
[  3]  0.0-10.2 sec  1 datagrams received out-of-order
</Wi-Fi-UDP>

<Wi-Fi-TCP>
$ iperf -s -i 1
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 192.168.2.36 port 5001 connected with 192.168.2.2 port 50371
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0- 1.0 sec  10.2 MBytes  85.4 Mbits/sec
[  4]  1.0- 2.0 sec  9.66 MBytes  81.0 Mbits/sec
[  4]  2.0- 3.0 sec  9.53 MBytes  79.9 Mbits/sec
[  4]  3.0- 4.0 sec  9.28 MBytes  77.8 Mbits/sec
[  4]  4.0- 5.0 sec  8.94 MBytes  75.0 Mbits/sec
[  4]  5.0- 6.0 sec  8.60 MBytes  72.2 Mbits/sec
[  4]  6.0- 7.0 sec  8.24 MBytes  69.1 Mbits/sec
[  4]  7.0- 8.0 sec  8.19 MBytes  68.7 Mbits/sec
[  4]  8.0- 9.0 sec  7.77 MBytes  65.2 Mbits/sec
[  4]  9.0-10.0 sec  7.64 MBytes  64.1 Mbits/sec
[  4]  0.0-10.2 sec  89.2 MBytes  73.6 Mbits/sec
</Wi-Fi-TCP>
 >
<Ethernet-TCP>
$ iperf -c 192.168.2.36 -i 1
------------------------------------------------------------
Client connecting to 192.168.2.36, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.2.2 port 50371 connected with 192.168.2.36 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 1.0 sec  10.9 MBytes  91.2 Mbits/sec
[  3]  1.0- 2.0 sec  10.2 MBytes  86.0 Mbits/sec
[  3]  2.0- 3.0 sec  9.50 MBytes  79.7 Mbits/sec
[  3]  3.0- 4.0 sec  9.12 MBytes  76.5 Mbits/sec
[  3]  4.0- 5.0 sec  9.12 MBytes  76.5 Mbits/sec
[  3]  5.0- 6.0 sec  8.38 MBytes  70.3 Mbits/sec
[  3]  6.0- 7.0 sec  8.25 MBytes  69.2 Mbits/sec
[  3]  7.0- 8.0 sec  8.12 MBytes  68.2 Mbits/sec
[  3]  8.0- 9.0 sec  7.75 MBytes  65.0 Mbits/sec
[  3]  9.0-10.0 sec  7.75 MBytes  65.0 Mbits/sec
[  3]  0.0-10.0 sec  89.2 MBytes  74.7 Mbits/sec
</Ethernet-TCP>

<Wi-Fi-UDP>
$ iperf -s -i 1 -u
------------------------------------------------------------
Server listening on UDP port 5001
Receiving 1470 byte datagrams
UDP buffer size:  208 KByte (default)
------------------------------------------------------------
[  3] local 192.168.2.36 port 5001 connected with 192.168.2.2 port 55274
[ ID] Interval       Transfer     Bandwidth        Jitter   Lost/Total Datagrams
[  3]  0.0- 1.0 sec  10.5 MBytes  88.3 Mbits/sec   0.251 ms    1/ 7513 (0.013%)
[  3]  1.0- 2.0 sec  11.1 MBytes  93.0 Mbits/sec   0.276 ms  240/ 8149 (2.9%)
[  3]  2.0- 3.0 sec  10.8 MBytes  90.5 Mbits/sec   0.340 ms  400/ 8099 (4.9%)
[  3]  3.0- 4.0 sec  11.0 MBytes  92.1 Mbits/sec   0.127 ms  267/ 8101 (3.3%)
[  3]  4.0- 5.0 sec  10.6 MBytes  89.1 Mbits/sec   0.230 ms  524/ 8104 (6.5%)
[  3]  5.0- 6.0 sec  10.5 MBytes  88.3 Mbits/sec   0.141 ms  636/ 8145 (7.8%)
[  3]  6.0- 7.0 sec  10.4 MBytes  87.4 Mbits/sec   0.126 ms  639/ 8071 (7.9%)
[  3]  7.0- 8.0 sec  10.6 MBytes  89.2 Mbits/sec   0.163 ms  621/ 8207 (7.6%)
[  3]  8.0- 9.0 sec  10.5 MBytes  88.2 Mbits/sec   0.141 ms  537/ 8035 (6.7%)
[  3]  9.0-10.0 sec  10.3 MBytes  86.8 Mbits/sec   0.206 ms  765/ 8145 (9.4%)
[  3]  0.0-10.1 sec   107 MBytes  89.3 Mbits/sec   0.445 ms 4699/81305 (5.8%)
[  3]  0.0-10.1 sec  1 datagrams received out-of-order
</Wi-Fi-UDP>
 >
<Ethernet-UDP>
$ iperf -c 192.168.2.36 -i 1 -u -b 300M
------------------------------------------------------------
Client connecting to 192.168.2.36, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size:  208 KByte (default)
------------------------------------------------------------
[  3] local 192.168.2.2 port 55274 connected with 192.168.2.36 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 1.0 sec  11.5 MBytes  96.6 Mbits/sec
[  3]  1.0- 2.0 sec  11.4 MBytes  95.2 Mbits/sec
[  3]  2.0- 3.0 sec  11.4 MBytes  95.5 Mbits/sec
[  3]  3.0- 4.0 sec  11.4 MBytes  95.7 Mbits/sec
[  3]  4.0- 5.0 sec  11.4 MBytes  95.6 Mbits/sec
[  3]  5.0- 6.0 sec  11.4 MBytes  95.6 Mbits/sec
[  3]  6.0- 7.0 sec  11.3 MBytes  95.1 Mbits/sec
[  3]  7.0- 8.0 sec  11.4 MBytes  95.6 Mbits/sec
[  3]  8.0- 9.0 sec  11.4 MBytes  95.7 Mbits/sec
[  3]  9.0-10.0 sec  11.4 MBytes  95.5 Mbits/sec
[  3]  0.0-10.0 sec   114 MBytes  95.6 Mbits/sec
[  3] Sent 81306 datagrams
[  3] Server Report:
[  3]  0.0-10.1 sec   107 MBytes  89.3 Mbits/sec   0.444 ms 4699/81305 (5.8%)
[  3]  0.0-10.1 sec  1 datagrams received out-of-order
</Ethernet-UDP>
</Proximity>

 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

<Refraction>
Wi-Fi <~10m NLOS~> AP(Wi-Fi <-bridge-> 100Mbit switch) <-> Ethernet

<AP>
# iwconfig ra0
ra0       RTWIFI SoftAP  ESSID:"Geppetto"  
          Mode:Managed  Channel=13  Access Point: 00:22:44:66:88:aa   
          Bit Rate=150 Mb/s   
</AP>
          
<Wi-Fi>
$ iwconfig ra0 
ra0       Ralink STA  ESSID:"Geppetto"  Nickname:"MT7601STA"
          Mode:Managed  Frequency=2.472 GHz  Access Point: 00:22:44:66:88:aa   
          Bit Rate=27 Mb/s   
          RTS thr:off   Fragment thr:off
          Link Quality=60/100  Signal level:-80 dBm  Noise level:-90 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0
</Wi-Fi>

<Ethernet>
$ ifconfig enp0s4f1u4
enp0s4f1u4: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.2.5  netmask 255.255.255.0  broadcast 192.168.2.255
        ether 00:12:34:56:78:20  txqueuelen 1000  (Ethernet)
        RX errors 0  dropped 84  overruns 0  frame 0
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
</Ethernet>

<Wi-Fi-TCP>
$ iperf -s -i 1
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 192.168.2.36 port 5001 connected with 192.168.2.5 port 59063
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0- 1.0 sec  1.81 MBytes  15.2 Mbits/sec
[  4]  1.0- 2.0 sec  2.24 MBytes  18.8 Mbits/sec
[  4]  2.0- 3.0 sec  2.25 MBytes  18.8 Mbits/sec
[  4]  3.0- 4.0 sec  2.26 MBytes  19.0 Mbits/sec
[  4]  4.0- 5.0 sec  2.12 MBytes  17.8 Mbits/sec
[  4]  5.0- 6.0 sec  1.60 MBytes  13.4 Mbits/sec
[  4]  6.0- 7.0 sec  2.20 MBytes  18.5 Mbits/sec
[  4]  7.0- 8.0 sec  2.23 MBytes  18.7 Mbits/sec
[  4]  8.0- 9.0 sec  1.41 MBytes  11.8 Mbits/sec
[  4]  9.0-10.0 sec  2.83 MBytes  23.7 Mbits/sec
[  4]  0.0-10.6 sec  22.0 MBytes  17.4 Mbits/sec
</Wi-Fi-TCP>
 >
<Ethernet-TCP>
$ iperf -c 192.168.2.36 -i 1
------------------------------------------------------------
Client connecting to 192.168.2.36, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.2.5 port 59063 connected with 192.168.2.36 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 1.0 sec  2.00 MBytes  16.8 Mbits/sec
[  3]  1.0- 2.0 sec  2.50 MBytes  21.0 Mbits/sec
[  3]  2.0- 3.0 sec  2.38 MBytes  19.9 Mbits/sec
[  3]  3.0- 4.0 sec  2.25 MBytes  18.9 Mbits/sec
[  3]  4.0- 5.0 sec  2.50 MBytes  21.0 Mbits/sec
[  3]  5.0- 6.0 sec  1.88 MBytes  15.7 Mbits/sec
[  3]  6.0- 7.0 sec  2.00 MBytes  16.8 Mbits/sec
[  3]  7.0- 8.0 sec  2.38 MBytes  19.9 Mbits/sec
[  3]  8.0- 9.0 sec  1.38 MBytes  11.5 Mbits/sec
[  3]  9.0-10.0 sec  2.62 MBytes  22.0 Mbits/sec
[  3]  0.0-10.0 sec  22.0 MBytes  18.4 Mbits/sec
</Ethernet-TCP>

<Wi-Fi-UDP>
$ iperf -s -i 1 -u
------------------------------------------------------------
Server listening on UDP port 5001
Receiving 1470 byte datagrams
UDP buffer size:  208 KByte (default)
------------------------------------------------------------
[  3] local 192.168.2.36 port 5001 connected with 192.168.2.5 port 55884
[ ID] Interval       Transfer     Bandwidth        Jitter   Lost/Total Datagrams
[  3]  0.0- 1.0 sec  1.94 MBytes  16.3 Mbits/sec   1.198 ms 2902/ 4284 (68%)
[  3]  1.0- 2.0 sec  1.79 MBytes  15.0 Mbits/sec   1.282 ms 6990/ 8269 (85%)
[  3]  2.0- 3.0 sec  2.27 MBytes  19.0 Mbits/sec   0.722 ms 6875/ 8492 (81%)
[  3]  3.0- 4.0 sec  2.30 MBytes  19.3 Mbits/sec   0.970 ms 6538/ 8176 (80%)
[  3]  4.0- 5.0 sec  2.27 MBytes  19.0 Mbits/sec   0.994 ms 6387/ 8006 (80%)
[  3]  5.0- 6.0 sec  2.22 MBytes  18.6 Mbits/sec   1.724 ms 6557/ 8140 (81%)
[  3]  6.0- 7.0 sec  1.96 MBytes  16.4 Mbits/sec   1.001 ms 6799/ 8195 (83%)
[  3]  7.0- 8.0 sec  2.28 MBytes  19.1 Mbits/sec   0.699 ms 6556/ 8181 (80%)
[  3]  8.0- 9.0 sec  2.32 MBytes  19.5 Mbits/sec   1.065 ms 6259/ 7916 (79%)
[  3]  9.0-10.0 sec  2.31 MBytes  19.4 Mbits/sec   1.043 ms 6443/ 8092 (80%)
[  3]  0.0-10.4 sec  22.5 MBytes  18.2 Mbits/sec   1.554 ms 64724/80784 (80%)
</Wi-Fi-UDP>
 >
<Ethernet-UDP>
$ iperf -c 192.168.2.36 -i 1 -u -b 300M
------------------------------------------------------------
Client connecting to 192.168.2.36, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size:  208 KByte (default)
------------------------------------------------------------
[  3] local 192.168.2.5 port 55884 connected with 192.168.2.36 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 1.0 sec  11.4 MBytes  95.7 Mbits/sec
[  3]  1.0- 2.0 sec  11.3 MBytes  95.1 Mbits/sec
[  3]  2.0- 3.0 sec  11.3 MBytes  95.0 Mbits/sec
[  3]  3.0- 4.0 sec  11.3 MBytes  94.6 Mbits/sec
[  3]  4.0- 5.0 sec  11.4 MBytes  95.3 Mbits/sec
[  3]  5.0- 6.0 sec  11.3 MBytes  95.0 Mbits/sec
[  3]  6.0- 7.0 sec  11.3 MBytes  94.5 Mbits/sec
[  3]  7.0- 8.0 sec  11.3 MBytes  95.0 Mbits/sec
[  3]  8.0- 9.0 sec  11.3 MBytes  94.9 Mbits/sec
[  3]  9.0-10.0 sec  11.4 MBytes  95.4 Mbits/sec
[  3]  0.0-10.0 sec   113 MBytes  95.0 Mbits/sec
[  3] Sent 80820 datagrams
[  3] Server Report:
[  3]  0.0-10.4 sec  22.5 MBytes  18.2 Mbits/sec   1.554 ms 64724/80784 (80%)
</Ethernet-UDP>

<Ethernet-TCP>
$ iperf -s -i 1
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 192.168.2.5 port 5001 connected with 192.168.2.36 port 49506
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0- 1.0 sec  1.78 MBytes  15.0 Mbits/sec
[  4]  1.0- 2.0 sec  1.71 MBytes  14.3 Mbits/sec
[  4]  2.0- 3.0 sec  1.75 MBytes  14.7 Mbits/sec
[  4]  3.0- 4.0 sec  1.73 MBytes  14.5 Mbits/sec
[  4]  4.0- 5.0 sec  1.76 MBytes  14.7 Mbits/sec
[  4]  5.0- 6.0 sec  1.62 MBytes  13.6 Mbits/sec
[  4]  6.0- 7.0 sec  1.70 MBytes  14.3 Mbits/sec
[  4]  7.0- 8.0 sec  1.52 MBytes  12.7 Mbits/sec
[  4]  8.0- 9.0 sec  1.55 MBytes  13.0 Mbits/sec
[  4]  9.0-10.0 sec  1.64 MBytes  13.7 Mbits/sec
[  4]  0.0-10.5 sec  17.6 MBytes  14.1 Mbits/sec
</Ethernet-TCP>
 >
<Wi-Fi-TCP>
$ iperf -c 192.168.2.5 -i 1
------------------------------------------------------------
Client connecting to 192.168.2.5, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.2.36 port 49506 connected with 192.168.2.5 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 1.0 sec  2.00 MBytes  16.8 Mbits/sec
[  3]  1.0- 2.0 sec  1.75 MBytes  14.7 Mbits/sec
[  3]  2.0- 3.0 sec  1.88 MBytes  15.7 Mbits/sec
[  3]  3.0- 4.0 sec  1.62 MBytes  13.6 Mbits/sec
[  3]  4.0- 5.0 sec  2.00 MBytes  16.8 Mbits/sec
[  3]  5.0- 6.0 sec  1.50 MBytes  12.6 Mbits/sec
[  3]  6.0- 7.0 sec  1.88 MBytes  15.7 Mbits/sec
[  3]  7.0- 8.0 sec  1.50 MBytes  12.6 Mbits/sec
[  3]  8.0- 9.0 sec  1.50 MBytes  12.6 Mbits/sec
[  3]  9.0-10.0 sec  1.88 MBytes  15.7 Mbits/sec
[  3]  0.0-10.1 sec  17.6 MBytes  14.6 Mbits/sec
</Wi-Fi-TCP>

<Ethernet-UDP>
$ iperf -s -i 1 -u
------------------------------------------------------------
Server listening on UDP port 5001
Receiving 1470 byte datagrams
UDP buffer size:  208 KByte (default)
------------------------------------------------------------
[  3] local 192.168.2.5 port 5001 connected with 192.168.2.36 port 32801
[ ID] Interval       Transfer     Bandwidth        Jitter   Lost/Total Datagrams
[  3]  0.0- 1.0 sec  2.02 MBytes  17.0 Mbits/sec   0.370 ms    0/ 1442 (0%)
[  3]  1.0- 2.0 sec  2.63 MBytes  22.1 Mbits/sec   0.623 ms    0/ 1876 (0%)
[  3]  2.0- 3.0 sec  2.77 MBytes  23.2 Mbits/sec   0.423 ms    0/ 1974 (0%)
[  3]  3.0- 4.0 sec  2.48 MBytes  20.8 Mbits/sec   1.137 ms    0/ 1769 (0%)
[  3]  4.0- 5.0 sec  2.18 MBytes  18.3 Mbits/sec   0.398 ms    0/ 1558 (0%)
[  3]  5.0- 6.0 sec  2.26 MBytes  18.9 Mbits/sec   0.846 ms    0/ 1609 (0%)
[  3]  6.0- 7.0 sec  2.37 MBytes  19.9 Mbits/sec   0.500 ms    0/ 1690 (0%)
[  3]  7.0- 8.0 sec  2.33 MBytes  19.6 Mbits/sec   0.782 ms    0/ 1663 (0%)
[  3]  8.0- 9.0 sec  2.44 MBytes  20.5 Mbits/sec   0.707 ms    0/ 1741 (0%)
[  3]  9.0-10.0 sec  2.58 MBytes  21.7 Mbits/sec   1.300 ms    0/ 1842 (0%)
[  3]  0.0-10.1 sec  24.2 MBytes  20.2 Mbits/sec   2.782 ms    0/17256 (0%)
[  3]  0.0-10.1 sec  1 datagrams received out-of-order
</Ethernet-UDP>
 >
<Wi-Fi-UDP>
$ iperf -c 192.168.2.5 -i 1 -u -b 300M
------------------------------------------------------------
Client connecting to 192.168.2.5, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size:  208 KByte (default)
------------------------------------------------------------
[  3] local 192.168.2.36 port 32801 connected with 192.168.2.5 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 1.0 sec  2.23 MBytes  18.7 Mbits/sec
[  3]  1.0- 2.0 sec  2.59 MBytes  21.7 Mbits/sec
[  3]  2.0- 3.0 sec  2.76 MBytes  23.1 Mbits/sec
[  3]  3.0- 4.0 sec  2.59 MBytes  21.8 Mbits/sec
[  3]  4.0- 5.0 sec  2.15 MBytes  18.0 Mbits/sec
[  3]  5.0- 6.0 sec  2.14 MBytes  17.9 Mbits/sec
[  3]  6.0- 7.0 sec  2.44 MBytes  20.5 Mbits/sec
[  3]  7.0- 8.0 sec  2.42 MBytes  20.3 Mbits/sec
[  3]  8.0- 9.0 sec  2.43 MBytes  20.4 Mbits/sec
[  3]  9.0-10.0 sec  2.45 MBytes  20.5 Mbits/sec
[  3]  0.0-10.0 sec  24.2 MBytes  20.3 Mbits/sec
[  3] Sent 17257 datagrams
[  3] Server Report:
[  3]  0.0-10.1 sec  24.2 MBytes  20.2 Mbits/sec   2.782 ms    0/17256 (0%)
[  3]  0.0-10.1 sec  1 datagrams received out-of-order
</Wi-Fi-UDP>
</Refraction>


[1] DPO_MT7601U_LinuxSTA_3.0.0.4_20130913-Linux-3.17.0-v2.patch

diff -ur a/common/crypt_aes.c b/common/crypt_aes.c
--- a/common/crypt_aes.c	2013-09-12 07:27:14.000000000 +0200
+++ b/common/crypt_aes.c	2014-08-29 22:51:56.252033992 +0200
@@ -1456,7 +1456,7 @@
 /*    if ((pResult = (UINT8 *) kmalloc(sizeof(UINT8)*PlainTextLength, GFP_ATOMIC)) == NULL) {
 */
     if (pResult == NULL) {
-    	DBGPRINT(RT_DEBUG_ERROR, ("AES_Key_Wrap: allocate %d bytes memory failure.\n", sizeof(UINT8)*PlainTextLength));
+    	DBGPRINT(RT_DEBUG_ERROR, ("AES_Key_Wrap: allocate %d bytes memory failure.\n", (UINT)(sizeof(UINT8)*PlainTextLength)));
         return -2;
     } /* End of if */
 
@@ -1551,7 +1551,7 @@
 /*    if ((pResult = (UINT8 *) kmalloc(sizeof(UINT8)*PlainLength, GFP_ATOMIC)) == NULL) {
 */
     if (pResult == NULL) {
-    	DBGPRINT(RT_DEBUG_ERROR, ("AES_Key_Unwrap: allocate %d bytes memory failure.\n", sizeof(UINT8)*PlainLength));
+    	DBGPRINT(RT_DEBUG_ERROR, ("AES_Key_Unwrap: allocate %d bytes memory failure.\n", (UINT)(sizeof(UINT8)*PlainLength)));
         return -2;
     } /* End of if */
 
diff -ur a/common/mlme.c b/common/mlme.c
--- a/common/mlme.c	2013-09-12 07:27:14.000000000 +0200
+++ b/common/mlme.c	2014-08-28 20:54:24.000000000 +0200
@@ -541,8 +541,8 @@
 #endif /* RALINK_ATE */
 		/* for performace enchanement */
 		NdisZeroMemory(&pAd->RalinkCounters,
-						(UINT32)&pAd->RalinkCounters.OneSecEnd -
-						(UINT32)&pAd->RalinkCounters.OneSecStart);
+						(ULONG)&pAd->RalinkCounters.OneSecEnd -
+						(ULONG)&pAd->RalinkCounters.OneSecStart);
 
 	return;
 }
diff -ur a/common/rtmp_init_inf.c b/common/rtmp_init_inf.c
--- a/common/rtmp_init_inf.c	2013-09-17 11:16:36.000000000 +0200
+++ b/common/rtmp_init_inf.c	2014-08-29 20:57:04.000000000 +0200
@@ -665,7 +665,9 @@
 	{
 	UINT32 reg = 0;
 	RTMP_IO_READ32(pAd, 0x1300, &reg);  /* clear garbage interrupts*/
+#ifdef DBG
 	printk("0x1300 = %08x\n", reg);
+#endif /* DBG */
 	}
 
 	{
diff -ur a/common/rtusb_bulk.c b/common/rtusb_bulk.c
--- a/common/rtusb_bulk.c	2013-09-12 07:27:14.000000000 +0200
+++ b/common/rtusb_bulk.c	2014-08-29 20:57:43.000000000 +0200
@@ -1585,7 +1585,9 @@
 
 	if (pCmdRspEventContext->IRPPending == TRUE)
 	{
+#ifdef DBG
 		printk("unlink cmd rsp urb\n");
+#endif /* DBG */
 		RTUSB_UNLINK_URB(pCmdRspEventContext->pUrb);
 		pCmdRspEventContext->IRPPending = FALSE;
 		pCmdRspEventContext->InUse = FALSE;
diff -ur a/common/spectrum.c b/common/spectrum.c
--- a/common/spectrum.c	2013-09-12 07:27:14.000000000 +0200
+++ b/common/spectrum.c	2014-08-29 23:03:23.250333353 +0200
@@ -1969,7 +1969,7 @@
 /*	if ((pMeasureReportInfo = kmalloc(sizeof(MEASURE_RPI_REPORT), GFP_ATOMIC)) == NULL)*/
 	if (pMeasureReportInfo == NULL)
 	{
-		DBGPRINT(RT_DEBUG_ERROR, ("%s unable to alloc memory for measure report buffer (size=%d).\n", __FUNCTION__, sizeof(MEASURE_RPI_REPORT)));
+		DBGPRINT(RT_DEBUG_ERROR, ("%s unable to alloc memory for measure report buffer (size=%d).\n", __FUNCTION__, (UINT)sizeof(MEASURE_RPI_REPORT)));
 		return;
 	}
 
diff -ur a/include/os/rt_linux.h b/include/os/rt_linux.h
--- a/include/os/rt_linux.h	2013-09-12 07:27:14.000000000 +0200
+++ b/include/os/rt_linux.h	2014-08-28 20:54:24.000000000 +0200
@@ -879,12 +879,19 @@
 		(RTPKT_TO_OSPKT(_pkt)->len)
 #define SET_OS_PKT_LEN(_pkt, _len)	\
 		(RTPKT_TO_OSPKT(_pkt)->len) = (_len)
-		
+
+#ifdef NET_SKBUFF_DATA_USES_OFFSET
+#define GET_OS_PKT_DATATAIL(_pkt) \
+        (RTPKT_TO_OSPKT(_pkt)->head + (ULONG)RTPKT_TO_OSPKT(_pkt)->tail)
+#define SET_OS_PKT_DATATAIL(_pkt, _start, _len)	\
+		((RTPKT_TO_OSPKT(_pkt))->tail) = (ULONG)_start - (ULONG)(RTPKT_TO_OSPKT(_pkt)->head) + (_len)
+#else
 #define GET_OS_PKT_DATATAIL(_pkt) \
-		(RTPKT_TO_OSPKT(_pkt)->tail)
+        (RTPKT_TO_OSPKT(_pkt)->tail)
 #define SET_OS_PKT_DATATAIL(_pkt, _start, _len)	\
 		((RTPKT_TO_OSPKT(_pkt))->tail) = (PUCHAR)((_start) + (_len))
-		
+#endif
+
 #define GET_OS_PKT_HEAD(_pkt) \
 		(RTPKT_TO_OSPKT(_pkt)->head)
 
diff -ur a/os/linux/config.mk b/os/linux/config.mk
--- a/os/linux/config.mk	2013-09-12 08:05:55.000000000 +0200
+++ b/os/linux/config.mk	2014-08-28 20:54:24.000000000 +0200
@@ -150,7 +150,7 @@
 HAS_BGFP_OPEN_SUPPORT=n
 
 # Support HOSTAPD function
-HAS_HOSTAPD_SUPPORT=n
+HAS_HOSTAPD_SUPPORT=y
 
 #Support GreenAP function
 HAS_GREENAP_SUPPORT=n
@@ -290,7 +290,7 @@
 # config for STA mode
 
 ifeq ($(RT28xx_MODE),STA)
-WFLAGS += -DCONFIG_STA_SUPPORT -DSCAN_SUPPORT -DDBG
+WFLAGS += -DCONFIG_STA_SUPPORT -DSCAN_SUPPORT
 
 ifeq ($(HAS_XLINK),y)
 WFLAGS += -DXLINK_SUPPORT
@@ -1054,11 +1054,16 @@
 export CFLAGS
 endif
 
+GCCVERSION = $(shell gcc -dumpversion)
+
 ifeq ($(PLATFORM),PC)
     ifneq (,$(findstring 2.4,$(LINUX_SRC)))
 	# Linux 2.4
 	CFLAGS := -D__KERNEL__ -I$(LINUX_SRC)/include -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -DMODULE -DMODVERSIONS -include $(LINUX_SRC)/include/linux/modversions.h $(WFLAGS)
 	export CFLAGS
+    else ifneq (,$(findstring 4.9,$(GCCVERSION)))
+	# GCC 4.9
+        EXTRA_CFLAGS := -Wno-error=date-time $(WFLAGS)
     else
 	# Linux 2.6
 	EXTRA_CFLAGS := $(WFLAGS) 
diff -ur a/os/linux/rt_linux.c b/os/linux/rt_linux.c
--- a/os/linux/rt_linux.c	2013-09-12 07:27:14.000000000 +0200
+++ b/os/linux/rt_linux.c	2014-08-28 20:54:24.000000000 +0200
@@ -494,9 +494,11 @@
 		MEM_DBG_PKT_ALLOC_INC(skb);
 
 		skb_reserve(skb, 2);
-		NdisMoveMemory(skb->tail, pHeader802_3, HdrLen);
+
+		NdisMoveMemory(GET_OS_PKT_DATATAIL(skb), pHeader802_3, HdrLen);
 		skb_put(skb, HdrLen);
-		NdisMoveMemory(skb->tail, pData, DataSize);
+		NdisMoveMemory(GET_OS_PKT_DATATAIL(skb), pData, DataSize);
+
 		skb_put(skb, DataSize);
 		skb->dev = pNetDev;	/*get_netdev_from_bssid(pAd, FromWhichBSSID); */
 		pPacket = OSPKT_TO_RTPKT(skb);
@@ -647,7 +649,7 @@
 		pClonedPkt->dev = pRxPkt->dev;
 		pClonedPkt->data = pData;
 		pClonedPkt->len = DataSize;
-		pClonedPkt->tail = pClonedPkt->data + pClonedPkt->len;
+		SET_OS_PKT_DATATAIL(pClonedPkt, pClonedPkt->data, pClonedPkt->len);
 		ASSERT(DataSize < 1530);
 	}
 	return pClonedPkt;
@@ -692,7 +694,7 @@
 	pOSPkt->dev = pNetDev;
 	pOSPkt->data = pData;
 	pOSPkt->len = DataSize;
-	pOSPkt->tail = pOSPkt->data + pOSPkt->len;
+	SET_OS_PKT_DATATAIL(pOSPkt, pOSPkt->data, pOSPkt->len);
 
 	/* copy 802.3 header */
 
@@ -1117,6 +1119,11 @@
 		pOSFSInfo->fsuid = current->fsuid;
 		pOSFSInfo->fsgid = current->fsgid;
 		current->fsuid = current->fsgid = 0;
+
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3,15,10)
+      pOSFSInfo->fsuid = current_fsuid().val;
+      pOSFSInfo->fsgid = current_fsgid().val;
+
 #else
 		pOSFSInfo->fsuid = current_fsuid();
 		pOSFSInfo->fsgid = current_fsgid();
diff -ur a/os/linux/rt_main_dev.c b/os/linux/rt_main_dev.c
--- a/os/linux/rt_main_dev.c	2013-09-12 07:27:14.000000000 +0200
+++ b/os/linux/rt_main_dev.c	2014-08-29 21:14:46.000000000 +0200
@@ -746,7 +746,9 @@
 	/* Unregister network device */
 	if (net_dev != NULL)
 	{
+#ifdef DBG
 		printk("RtmpOSNetDevDetach(): RtmpOSNetDeviceDetach(), dev->name=%s!\n", net_dev->name);
+#endif /* DBG */
 		RtmpOSNetDevDetach(net_dev);
 	}
 
diff -ur a/os/linux/rt_profile.c b/os/linux/rt_profile.c
--- a/os/linux/rt_profile.c	2013-09-12 07:27:14.000000000 +0200
+++ b/os/linux/rt_profile.c	2014-08-29 23:23:18.033710839 +0200
@@ -396,7 +396,7 @@
 
     if (pRxBlk->DataSize + sizeof(wlan_ng_prism2_header) > RX_BUFFER_AGGRESIZE)
     {
-        DBGPRINT(RT_DEBUG_ERROR, ("%s : Size is too large! (%d)\n", __FUNCTION__, pRxBlk->DataSize + sizeof(wlan_ng_prism2_header)));
+        DBGPRINT(RT_DEBUG_ERROR, ("%s : Size is too large! (%d)\n", __FUNCTION__, pRxBlk->DataSize + (UINT)sizeof(wlan_ng_prism2_header)));
 		goto err_free_sk_buff;
     }
 
diff -ur a/os/linux/usb_main_dev.c b/os/linux/usb_main_dev.c
--- a/os/linux/usb_main_dev.c	2013-09-12 07:27:14.000000000 +0200
+++ b/os/linux/usb_main_dev.c	2014-08-29 21:12:35.000000000 +0200
@@ -516,7 +516,9 @@
 /* Init driver module */
 INT __init rtusb_init(void)
 {
+#ifdef DBG
 	printk("rtusb init %s --->\n", RTMP_DRV_NAME);
+#endif /* DBG */
 	return usb_register(&rtusb_driver);
 }
 
@@ -524,7 +526,9 @@
 VOID __exit rtusb_exit(void)
 {
 	usb_deregister(&rtusb_driver);	
+#ifdef DBG
 	printk("<--- rtusb exit\n");
+#endif /* DBG */
 }
 
 module_init(rtusb_init);
diff -ur a/sta/sta_cfg.c b/sta/sta_cfg.c
--- a/sta/sta_cfg.c	2013-09-12 07:27:14.000000000 +0200
+++ b/sta/sta_cfg.c	2014-08-28 20:54:24.000000000 +0200
@@ -8274,6 +8274,7 @@
 			RTMPIoctlGetSiteSurvey(pAd, pRequest);
 			break;
 
+#ifdef DBG
 		case CMD_RTPRIV_IOCTL_MAC:
 			RTMPIoctlMAC(pAd, pRequest);
 			break;
@@ -8285,6 +8286,7 @@
 		case CMD_RTPRIV_IOCTL_RF:
 			RTMPIoctlRF(pAd, pRequest);
 			break;
+#endif /* DBG */
 
 		case CMD_RTPRIV_IOCTL_BBP:
 			RTMPIoctlBbp(pAd, pRequest, pData, Data);


poma



  reply	other threads:[~2014-08-31  5:39 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-26 17:35 MediaTek Inc. MT7601U Wireless Adapter poma
2014-08-26 18:28 ` John W. Linville
2014-08-27  6:34   ` [rt2x00-users] " Andreas Hartmann
2014-08-27 13:55     ` John W. Linville
2014-08-28  2:51       ` poma
2014-08-31  5:39         ` poma [this message]
2014-08-31 16:36           ` Andreas Hartmann
2014-10-07  2:47             ` poma
2014-10-07 13:57               ` John W. Linville
2014-10-07 14:59                 ` poma
2014-10-07 15:12                   ` poma
2014-10-08  9:53                     ` Stanislaw Gruszka
2014-10-28  7:47                       ` poma
2014-10-28 10:12                         ` Stanislaw Gruszka

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5402B519.1080002@gmail.com \
    --to=pomidorabelisima@gmail.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=users@rt2x00.serialmonkey.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.