あっきぃ日誌

鉄道ブログのような技術系ブログのようななにか

Raspberry Pi 4の内蔵無線LAN vs USB3.0の無線LANドングル

寝る前に興味本位でやったのでRaspberry Pi Advent Calendar 2019の19日目です。

adventar.org

Raspberry Pi 3以降、無線LANが内蔵されて便利なりました(反面、認証が通るまでに3ヶ月から1年くらい待たされるようにもなりましたが)。3A+でも無線LANが内蔵されて、USB無線LANドングルに頼り場面は本当に減ってきましたね。なんだかんだでいい時代です。

そんな中引き出しからポロッとUSB3.0接続なGW-900Dが出てきまして、こいつをRaspberry Pi4につないだらどうなるんだろ?と思ったのでiperf3でベンチして比較してみました。GW-900DはRTL8812auなので、久しぶりにGithubからソースを持ってきてビルドして突っ込みました。ちゃんと動いてよかった。

github.com

無線LAN環境は色々古めかしく、Aterm WG-1800HP、先述のGW-900Dという感じで、11acはできるけどたぶん今の最新のドングルを使えばもっと早い気はしますが、まああり物でやっていきます。接続はどちらももちろん5GHz環境です。iperf先は有線LAN接続の自作機です。

内蔵無線LAN(5GHz接続)

平均は72Mbpsと、まあこんなもんかという感じでした。

$ iperf3 -c 192.168.29.106
Connecting to host 192.168.29.106, port 5201
[  5] local 192.168.29.132 port 58020 connected to 192.168.29.106 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  8.37 MBytes  70.2 Mbits/sec    0    146 KBytes       
[  5]   1.00-2.00   sec  8.64 MBytes  72.5 Mbits/sec    0    160 KBytes       
[  5]   2.00-3.00   sec  8.76 MBytes  73.5 Mbits/sec    0    178 KBytes       
[  5]   3.00-4.00   sec  8.76 MBytes  73.5 Mbits/sec    0    178 KBytes       
[  5]   4.00-5.00   sec  8.70 MBytes  73.0 Mbits/sec    0    178 KBytes       
[  5]   5.00-6.00   sec  8.58 MBytes  71.9 Mbits/sec    0    178 KBytes       
[  5]   6.00-7.00   sec  8.82 MBytes  74.0 Mbits/sec    0    178 KBytes       
[  5]   7.00-8.00   sec  8.58 MBytes  71.9 Mbits/sec    0    178 KBytes       
[  5]   8.00-9.00   sec  9.20 MBytes  77.1 Mbits/sec    0    281 KBytes       
[  5]   9.00-10.00  sec  8.26 MBytes  69.3 Mbits/sec    0    281 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  86.7 MBytes  72.7 Mbits/sec    0             sender
[  5]   0.00-10.00  sec  86.1 MBytes  72.3 Mbits/sec                  receiver

iperf Done.

GW-900D(USB3.0接続)

平均は240Mbpsと、約3倍となりました。が、USB3.0接続でもこのくらいということは、GW-900D側がボトルネックなんでしょうかね。

$ iperf3 -c 192.168.29.106
Connecting to host 192.168.29.106, port 5201
[  5] local 192.168.29.139 port 56740 connected to 192.168.29.106 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  27.0 MBytes   227 Mbits/sec    0    441 KBytes       
[  5]   1.00-2.00   sec  28.5 MBytes   239 Mbits/sec    0    502 KBytes       
[  5]   2.00-3.00   sec  27.7 MBytes   232 Mbits/sec    3    399 KBytes       
[  5]   3.00-4.00   sec  27.4 MBytes   230 Mbits/sec    0    433 KBytes       
[  5]   4.00-5.00   sec  29.1 MBytes   244 Mbits/sec    0    475 KBytes       
[  5]   5.00-6.00   sec  29.8 MBytes   250 Mbits/sec    0    475 KBytes       
[  5]   6.00-7.00   sec  28.2 MBytes   237 Mbits/sec    0    502 KBytes       
[  5]   7.00-8.00   sec  30.2 MBytes   253 Mbits/sec    0    502 KBytes       
[  5]   8.00-9.00   sec  28.4 MBytes   238 Mbits/sec    3    385 KBytes       
[  5]   9.00-10.00  sec  29.2 MBytes   245 Mbits/sec    0    428 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   286 MBytes   240 Mbits/sec    6             sender
[  5]   0.00-10.00  sec   285 MBytes   239 Mbits/sec                  receiver

iperf Done.

GW-900D(USB2.0接続)

平均247Mbpsになりました。USB2.0でも大体同じになってしまいましたね。

$ iperf3 -c 192.168.29.106
Connecting to host 192.168.29.106, port 5201
[  5] local 192.168.29.139 port 56756 connected to 192.168.29.106 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  29.7 MBytes   249 Mbits/sec    0    436 KBytes       
[  5]   1.00-2.00   sec  29.1 MBytes   244 Mbits/sec    0    486 KBytes       
[  5]   2.00-3.00   sec  30.3 MBytes   254 Mbits/sec    0    537 KBytes       
[  5]   3.00-4.00   sec  29.3 MBytes   246 Mbits/sec    0    537 KBytes       
[  5]   4.00-5.00   sec  29.1 MBytes   244 Mbits/sec    0    537 KBytes       
[  5]   5.00-6.00   sec  29.5 MBytes   247 Mbits/sec    0    537 KBytes       
[  5]   6.00-7.00   sec  29.7 MBytes   249 Mbits/sec    0    566 KBytes       
[  5]   7.00-8.00   sec  29.6 MBytes   248 Mbits/sec    0    566 KBytes       
[  5]   8.00-9.00   sec  30.2 MBytes   253 Mbits/sec    0    595 KBytes       
[  5]   9.00-10.00  sec  28.3 MBytes   238 Mbits/sec    0    595 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   295 MBytes   247 Mbits/sec    0             sender
[  5]   0.00-10.00  sec   294 MBytes   247 Mbits/sec                  receiver

内蔵無線LAN(2.4GHz接続)

じゃあ2.4GHz接続のドングルとも比較したくなったのでまずは内蔵無線LANから取ってみます。平均53Mbps。

$ iperf3 -c 192.168.29.106
Connecting to host 192.168.29.106, port 5201
[  5] local 192.168.29.132 port 58044 connected to 192.168.29.106 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  5.51 MBytes  46.2 Mbits/sec    0    221 KBytes       
[  5]   1.00-2.00   sec  6.40 MBytes  53.7 Mbits/sec    0    327 KBytes       
[  5]   2.00-3.00   sec  6.52 MBytes  54.7 Mbits/sec    0    346 KBytes       
[  5]   3.00-4.00   sec  6.40 MBytes  53.7 Mbits/sec    0    348 KBytes       
[  5]   4.00-5.00   sec  6.40 MBytes  53.7 Mbits/sec    0    348 KBytes       
[  5]   5.00-6.00   sec  6.15 MBytes  51.6 Mbits/sec    0    366 KBytes       
[  5]   6.00-7.00   sec  6.28 MBytes  52.6 Mbits/sec    0    385 KBytes       
[  5]   7.00-8.00   sec  5.84 MBytes  49.0 Mbits/sec    0    385 KBytes       
[  5]   8.00-9.00   sec  6.71 MBytes  56.3 Mbits/sec    0    406 KBytes       
[  5]   9.00-10.00  sec  6.90 MBytes  57.9 Mbits/sec    0    508 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  63.1 MBytes  52.9 Mbits/sec    0             sender
[  5]   0.00-10.00  sec  61.8 MBytes  51.8 Mbits/sec                  receiver

iperf Done.

バッファロー WLI-UC-GNM(USB3.0接続)

バッファローのめちゃクソ熱くなるやつといえば分かる人もいるかも知れないあいつです。平均は40Mbpsほど。お、思ったより出ないですね。ちなみにドライバーはrt2800usbでRalinkでした。あれ、蟹じゃなかったんだっけ。

$ iperf3 -c 192.168.29.106
Connecting to host 192.168.29.106, port 5201
[  5] local 192.168.29.121 port 33406 connected to 192.168.29.106 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  5.19 MBytes  43.5 Mbits/sec    0    308 KBytes       
[  5]   1.00-2.00   sec  5.28 MBytes  44.3 Mbits/sec    0    503 KBytes       
[  5]   2.00-3.00   sec  4.16 MBytes  34.9 Mbits/sec    0    679 KBytes       
[  5]   3.00-4.00   sec  5.16 MBytes  43.3 Mbits/sec    0    820 KBytes       
[  5]   4.00-5.00   sec  5.53 MBytes  46.4 Mbits/sec    0   1.03 MBytes       
[  5]   5.00-6.00   sec  4.85 MBytes  40.7 Mbits/sec    0   1.24 MBytes       
[  5]   6.00-7.00   sec  3.75 MBytes  31.4 Mbits/sec    0   1.36 MBytes       
[  5]   7.00-8.00   sec  3.75 MBytes  31.5 Mbits/sec    0   1.52 MBytes       
[  5]   8.00-9.00   sec  5.00 MBytes  42.0 Mbits/sec    0   1.74 MBytes       
[  5]   9.00-10.00  sec  5.00 MBytes  41.9 Mbits/sec    0   1.90 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  47.7 MBytes  40.0 Mbits/sec    0             sender
[  5]   0.00-10.00  sec  45.5 MBytes  38.2 Mbits/sec                  receiver

iperf Done.

まとめ

  • 内蔵無線LANは5GHz接続で72Mbpsくらい、2.4GHz接続で53Mbpsくらい
  • 5GHz無線LANドングルはPi4に指すと一応はやかった
    • GW-450Dも試してもいいかもしれない、しかしあっちこそ今ドライバー作れるのか?
  • 2.4GHz無線LANドングルは物によるかもしれないけど意外と出ない

これはもうちょい調べてみても面白いかもしれませんね。