Ubuntu 18.04でTP-Link AC600 Archer T2U Nanoを使う

光回線を導入するに当たって、折角なのでUbuntuがインストールされているデスクトップパソコン用のUSB WiFiアダプタを購入しました。5GHz(802.11ac/802.11a)にも対応したTP-Link AC600 Archer T2Uです。Ubuntu 18.04では、USBに刺しただけでは認識しれくれません。

WiFiアダプタ - TP-Link AC600 Archer T2U Nano をUbuntuで使用するための設定 にインストール方法が出ていましたが、リンク先のソースは更新がしばらく止まっていたので、そのオリジナルらしい、aircrack-ng/rtl8812auを導入しました。リンク先のページの手順でドライバのコンパイルとインストールが行えて、その後USBドングルを挿抜することで認識されました。

2021/3/5 追記: ノートパソコン(Intel Wi-Fi 6 AX200搭載)と、本機を刺したデスクトップパソコンをWSR-1166DHPL2/Nで接続し、SCPでファイル転送してみたところ、最大で130Mbps程度の速度が出ていました。 ノートパソコンは5GHz, デスクトップは2.4GHzでルータに接続しました。

久しぶりに有線回線を申し込んだ

2019年以来 ギガトラWiFiという、SoftbankのLTE回線を使用したインターネット接続を使ってきました。速度は、時間帯にもよりますが、概ね20Mbps程度は出ているので、大きな不満はありませんでした。

加えて、自宅では、現在無料の楽天モバイル も使用していて、楽天回線を掴める時には、上下30Mbps程度で通信できることもあります。ただ、楽天は現状周波数の制約もあるからでしょうが、時々auの回線に切り替わったり、接続が少し不安定になったりすることがあります。

コロナ禍で自宅で作業する時間が長くなり、ギガトラWiFiの100GB上限が気にるため、ネット会議などはできるだけ楽天回線を使うようにしていましたが、切り替え自体も徐々に面倒になってきました。

それで、おそらくほぼ10年ぶりくらいになりますが、自宅に光回線を引くことにしました。といっても、マンションタイプで、部屋までは光配線できないため、恐らくVDSLの最大100Mbpsという契約になりそうです。

1/18にエキサイトMEC光 に申し込んだところ、1週間位たってから、開通日が2/17になるという連絡がありました。こちらは工事費、事務手数料も無料ということで、仮に速度が遅くて解約することになっても懐が痛みません。ネットでいろいろ評判を見てみましたが、2020年頃に回線増強がされたらしい、といった見解もあったため、とりあえず速度を見てから継続するか考えるつもりです。

ひとまずDS-Liteに対応したルータ(WSR-1166DHPL2/N)を調達しました(NEC製品が月100円でレンタルできるようですが, 3000円程度なら購入してもよいかと)。

この回線が時間帯にかかわらず20-30Mbps以上安定して出るようであれば、ギガトラWiFiは解約しようかと思います。外でのインターネット接続には、今のところ楽天モバイルで間に合いそうです。

Bluetoothイアフォンを購入

Bluetoothイアフォン(Audio-technica ATH-CKS330XBT)を買いました。 Audio-technicaの製品は初めてかも知れません。SonyのWI-C310と悩んでこちらにしました。

まだ少ししか使っていませんが、印象としては、低音がちょっと(好みより)強いかな、と思います。 これが本当に再現性としてどうなのか、ということは分かりませんが、 既に持っている有線イアフォン(HA-FXH30)と比べると、はっきりと違います。 ベースやドラムの音がズンズン来ます。ただ、少し耳の中で配置を変えてみると、低音が多少軽くなりました。 当たり前ではありますが、音響機器は耳の音響構造と総合して音が聴こえているのを実感します。

ケーブル長は程良いですが、操作部が多少大きくてもっさりしている感じがあります。 電源On/Offやペアリングを音声で知らせてくれるのは良いところだと思います。

総合的に、ATH-CKS330XBTはオススメかと言われると、ちょっと微妙ですね。単純に音だけで言えば、 HA-FXH30の方がクリアで好みです。

Windowsでの動画キャプチャ方法

これまでWindows上で動画キャプチャを行うときには、何もインストールせずに動作するWindows Game Bar(Windowsキー+Gで起動するやつ)を使用していました。

ただ、保存した動画を再生すると、明らかに色味が変わっているのです。再生ソフトとしてVLC、mpv, DaVinci Resolveを試して、設定もいろいろ試してみましたが一向に改善しません。

そこで、Windows Game Barはやめて、OBS Studioを試してみました。 結果としては、こちらの方が再生時に正しく色再現できています。OBS Studioだと、Bitrate、保存形式、使用するエンコーダ等、 かなり細かい部分まで設定ができるので、結構気に入りました。 それに、Windows Game Barでは保存されるファイルが無駄に大きいのも不満でした。 x264, VBR, 3.5Mbps 30Hz, 1920x1080の設定で、生成されるファイルはWindows Game Barに比べて1/10位になっています。

気になったのは、少しだけ音割れ(?)していることです。高音に、本来存在しない高調波が含まれている感じ(?)とでも表現すればよいのでしょうか。 160kbps, 48kHz, フィルタなしで試しています。もっとも、注意するとちょっと耳障りな程度ですが。 これについてはWindows Game Barの方が勝っているようです。

自分のための備忘録: Windows 10では、標準でWindows Graphics Captureという機能を使って画像を取り込むが、 この方式では保存映像からマウスカーソルを消すことはできない。 Windowキャプチャソースの設定でBitBltを選択すると、マウスカーソルを消すというチェックボックスが現れる。 (参考)

しばらくOBS Studioをメインに使おうと思います。

eBayでX520-DA2(互換品)を買った

実験用にSFP+が2本刺さるNICをeBayで購入しました。 富士通のD2755-A11というものです。 Intel 82599Eが載っていて、X520-DA2と事実上同じもののようです。 3月末に注文したのですが、 さすがにコロナウィルスの影響か、遅れに遅れ、6月中旬になってやっと到着しました。

早速箱から出してみると、PCI Expressバスの信号線のAC結合キャパシタが一つ無くなっていることに気が付きました。

調べてみると、x8バスのうち、7番目のペアのようだったので、x4ではリンクすると予想し、 PCのx16スロットに挿して起動してみたところ、案の定x4で動作しました。 Linuxのログに次のように出力されています。

ixgbe 0000:03:00.0: Multiqueue Enabled: Rx Queue count = 6, Tx Queue count = 6 XDP Queue count = 0
ixgbe 0000:03:00.0: PCI Express bandwidth of 16GT/s available
ixgbe 0000:03:00.0: (Speed:5.0GT/s, Width: x4, Encoding Loss:20%)
ixgbe 0000:03:00.0: This is not sufficient for optimal performance of this card.
ixgbe 0000:03:00.0: For optimal performance, at least 20GT/s of bandwidth is required.
ixgbe 0000:03:00.0: A slot with more lanes and/or higher speed is suggested.
ixgbe 0000:03:00.0: MAC: 2, PHY: 16, SFP+: 5, PBA No: D2755A-011

次に、AC結合キャパシタとして0.1uFを実装して、再度起動させてみたところ、やはり同じメッセージです。 使っているマザーボードはZ370 Gaming plusなのですが、 こちらの記事を見ると、2番目のx16 PCIeスロットは、 どうやらx4接続のようです。というわけで、このマザーボードだと、x16を2個は事実上使えないのでした。

x4でもGen3 (8Gbps)接続であれば帯域は不足しないと思いますが、 X520-DA2はそもそもGen2 (5Gbps)までしか対応していないようです。したがって、このボードはx8のバスに刺さない限り最大限の性能を出せません。

とりあえず最大帯域の追求は置いておいて、次にループバックの実験をしてみることにしました。 2つあるSFP+ポートにモジュールを刺して、光ケーブルで接続します。

それぞれのインタフェースに別々のIPアドレスを割り当てて、iperfに-Bオプションを付けて、一方はサーバ、もう一方はクライアントで動作させました。 しかし、結果として帯域が60Gbps近く出たりしています。明らかにおかしい。調査してみたところ、Linuxが最適化しているせいで、 実際にNICからパケットが出ていかず、内部で通信が完結してしまっていたのでした。

Force local IP traffic to an external interfaceに、まさにドンピシャなやり方が書いてありました。 network namespacesを使うと、内部で転送されてしまうことを回避できるそうです。Thomas Tannhäuserさんの回答にならって、

ip netns add ns_server
ip netns add ns_client

ip link set enp3s0f0 netns ns_server
ip netns exec ns_server ip addr add dev enp3s0f0 192.168.2.2/24
ip netns exec ns_server ip link set dev enp3s0f0 up

ip link set enp3s0f1 netns ns_client
ip netns exec ns_client ip addr add dev enp3s0f1 192.168.2.3/24
ip netns exec ns_client ip link set dev enp3s0f1 up

とします(各行はrootで実行)。次いで、

ip netns exec ns_server iperf -s -B 192.168.2.2
ip netns exec ns_client iperf -c 192.168.2.2 -B 192.168.2.3

とすることで、NICが使用されるようです。帯域として、9.4Gbits/sec程度の値が得られました。 サーバ側はTCP window sizeは128KByte, クライアント側はTCP Window size 85KByteと表示されていました。 テスト中も、6コアいずれも30%も行っていませんでしたので、まだまだ余裕がありそうです。

上記9.4Gbits/secはデフォルトのMTU 1500の場合でした。

ip netns exec ns_server ip link set mtu 9000 dev enp3s0f0
ip netns exec ns_client ip link set mtu 9000 dev enp3s0f1

としてMTUを9000に設定してから再度iperfを行ったところ、9.8Gbits/sec以上の速度となりました。調子が良いと9.9Gbits/secまで出ました。

マザーボードを買い換えないで最大帯域の実験をするには、とりあえずGPUを抜いて試すか、 Gen3 x4で動作するX710-DA2あたりを調達するしか無さそうです。

« 4/23 »