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, ®); /* 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
next prev parent 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).