Temat: Linksys EA7500
Taka okazja nie zdarza się zbyt często - mam na biurku dwa Linksysy EA7500, ale w innych wersjach - v1 i v2. Nie było by to nic nadzwyczajnego gdyby nie fakt że obie wersje zbudowane są na kompletnie innych platformach - pierwsza jest na Qualcommie IPQ806x, zaś druga na Mediateku MT7621. Całkiem inne platformy, całkiem inny producent SoCu, choć sam sprzęt na potrzeby Linksysa zbudowany został identycznie - mamy 128MB flash, 256MB pamięci RAM, pięć portów gigabitowych, jedno złącze USB 2.0, jedno USB 3.0 oraz dwa interfejsy radiowe: 2.4GHz b/g/n oraz 5GHz ac, choć wersja v2 ma je w konfiguracji 4x4:3 MIMO (wykorzystuje cztery anteny - w tej wersji jedna jest wewnętrzna - oraz trzy strumienie nadawcze i odbiorcze), zaś wersja v1 - 3x3:3 MIMO (trzy anteny, trzy strumienie). W praktyce pewnie nie będzie to nawet zauważalne dla zwykłego klienta sieci bezprzewodowej.
(na zdjęciu jest v1 z wyraźnie widocznym napisem Linksys. v2 ma go nie widoczny, który ujawnia się dopiero jak zapali się dioda pod nim).
Nawet porównując je wizualnie można zauważyć tylko różnicę w logo na wierzchu obudowy, zaś reszta - rozkład złączy, portów i anten jest identyczna. Zasadnicza różnica jest w zastosowanym SoCu - v1 ma Qualcomma IPQ8064 który zawiera 2 rdzenie taktowane 1.4 GHz, zaś v2 ma MediaTeka MT7621AT - dwa rdzenie/cztery wątki taktowane po 880 MHz.
Nie będę wykonywał testów wydajności wifi bo nie to było celem tego opisu. Natomiast chciałbym tym razem porównać wydajność tych dwóch SoCów w bliźniaczych modelach tego samego producenta. W ramach testów wykonam "wewnętrzny" test iperf oraz openssl.
W wątku na forum OpenWrt zaproponowany był prosty test z wykorzystaniem iperf'a, polegający na uruchomieniu zarówno serwera jak i klienta wewnątrz routera, co pozwala zobrazować możliwości SoCu do przerzucania pakietów bezpośrednio w samym procesorze.
# opkg update && opkg install iperf3
# iperf3 -s -D && iperf3 -c 127.0.0.1
Wyniki dla EA7500 v1:
root@OpenWrt:~# iperf3 -s -D && iperf3 -c 127.0.0.1
Connecting to host 127.0.0.1, port 5201
[ 5] local 127.0.0.1 port 47862 connected to 127.0.0.1 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 730 MBytes 6.12 Gbits/sec 0 959 KBytes
[ 5] 1.00-2.00 sec 740 MBytes 6.21 Gbits/sec 0 1.37 MBytes
[ 5] 2.00-3.00 sec 738 MBytes 6.19 Gbits/sec 0 1.37 MBytes
[ 5] 3.00-4.00 sec 739 MBytes 6.20 Gbits/sec 0 1.37 MBytes
[ 5] 4.00-5.00 sec 740 MBytes 6.20 Gbits/sec 0 1.37 MBytes
[ 5] 5.00-6.00 sec 741 MBytes 6.22 Gbits/sec 0 1.37 MBytes
[ 5] 6.00-7.00 sec 742 MBytes 6.22 Gbits/sec 0 1.37 MBytes
[ 5] 7.00-8.00 sec 739 MBytes 6.20 Gbits/sec 0 1.37 MBytes
[ 5] 8.00-9.00 sec 741 MBytes 6.22 Gbits/sec 0 1.37 MBytes
[ 5] 9.00-10.00 sec 740 MBytes 6.20 Gbits/sec 0 1.37 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 7.22 GBytes 6.20 Gbits/sec 0 sender
[ 5] 0.00-10.00 sec 7.22 GBytes 6.20 Gbits/sec receiver
iperf Done.
Wyniki dla EA7500 v2:
root@OpenWrt:~# iperf3 -s -D && iperf3 -c 127.0.0.1
Connecting to host 127.0.0.1, port 5201
[ 5] local 127.0.0.1 port 58540 connected to 127.0.0.1 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 80.0 MBytes 670 Mbits/sec 0 1.25 MBytes
[ 5] 1.00-2.00 sec 81.4 MBytes 682 Mbits/sec 0 1.25 MBytes
[ 5] 2.00-3.00 sec 72.8 MBytes 610 Mbits/sec 0 1.25 MBytes
[ 5] 3.00-4.00 sec 72.4 MBytes 607 Mbits/sec 0 1.25 MBytes
[ 5] 4.00-5.00 sec 71.1 MBytes 596 Mbits/sec 0 1.25 MBytes
[ 5] 5.00-6.00 sec 69.2 MBytes 581 Mbits/sec 0 1.25 MBytes
[ 5] 6.00-7.00 sec 70.1 MBytes 588 Mbits/sec 0 1.25 MBytes
[ 5] 7.00-8.00 sec 68.4 MBytes 574 Mbits/sec 0 1.25 MBytes
[ 5] 8.00-9.00 sec 69.2 MBytes 581 Mbits/sec 0 1.25 MBytes
[ 5] 9.00-10.00 sec 69.4 MBytes 581 Mbits/sec 0 1.25 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 729 MBytes 611 Mbits/sec 0 sender
[ 5] 0.00-10.00 sec 729 MBytes 611 Mbits/sec receiver
iperf Done.
Drugi test - to już zwykłe uruchomienie openssl mające na celu sprawdzenie możliwości obliczeniowych danego procesora. Zgodnie z wytycznymi zawartymi w tym artykule na stronie OpenWrt:
# opkg update; opkg install openssl-util
# openssl speed md5 sha1 sha256 sha512 des des-ede3 \
aes-128-cbc aes-192-cbc aes-256-cbc rsa2048 dsa2048 | tee /tmp/sslspeed
. /etc/os-release; echo \
$(awk -v "rev=${BUILD_ID%%-*}" -v "FS=: " -v "ORS=" -e 'BEGIN \
{print "|" rev} !a[$0]++ && /(Processor|Hardware|machine|cpu model|system type|BogoMIPS)/ \
{print "| " $2 " "}' /proc/cpuinfo) \
$(awk -v "ORS=" -e '$1 ~ /OpenSSL/ {print "| " $2 " |"} $1 ~ /(md5|sha)/ \
{print " " $5 " |"} $1 ~ /(des|aes)/ {b = b " " $6 " |"} $1 ~ /(rsa|dsa)/ \
{print b " " $6 " | " $7 " | ";b=""}' /tmp/sslspeed \
| sed -e 's/\.\(..\)k/\10/g')
MD5 | SHA-1 | SHA-256 | SHA-512 | DES | 3DES | AES-128 | AES-192 | AES-256 | RSA Sign | RSA Verify | DSA Sign | DSA Verify
Wyniki dla v1
98150740 | 127698940 | 82592770 | 46162600 | 0.00 | 6785710 | 65806340 | 56702290 | 50457260 | 111.9 | 5441.4 | 403.7 | 493.3
Wyniki dla v2
51849560 | 38844420 | 18651480 | 6513660 | 0.00 | 2408450 | 15174310 | 12962470 | 11313150 | 10.5 | 413.5 | 31.4 | 33.2
Na obu wersjach było zainstalowane czyste OpenWrt w postaci mojej kompilacji w wersji r23633-c7b6cfac40 z dnia 17.11.2023r. MT7621 ma standardowo włączone packet steering.
Wnioski? Starsza konstrukcja na Qualcommie jest w niektórych przypadkach o rząd wielkości szybsza. Szczerze mówiąc nie spodziewałem się aż takich różnic w pomiarach. Sprawdźcie jak jest u Was i porównajcie to z tabelką na openWrt.org.
Obie konstrukcje są z lat 2015/2016, chyba powoli moje opisy należało by zaczynać od słów "Dziś znów retro...". Patrząc na statystyki te modele są nadal wykorzystywane przez kilku użytkowników, więc chyba tak źle się nie starzeją.
Routery mam od użytkowników tego forum, za co serdecznie dziękuje.