EdgeRouter で advertise する link modes を指定する

自宅の有線LANである部屋に1000Mbpsでうまく接続できない場合があり、100Mbpsになってしまうことがあった。

接続に使っていた EdgeRouter X の設定を変更することでとりあえず1000Mbpsでつながるようになったので備忘録として残しておく。

(2020年6月15日)1000Mbpsではつながらくなった。ハードウェア的な改善をしていないので、当然といえば当然。

状況

ある部屋の有線LANが 1000base-Tでリンクできず、100base-T でリンクされてしまっていた。その部屋にNASを置くようにしたら、NASへのバックアップ速度が落ちてリンク速度が低下していることに気がついた。

コネクタの抜き差しをすると1000Mbpsでつながる場合もあるが、しばらくすると100Mbpsになっていたりした。

調査

LANケーブル

既設屋内配線

家のLAN配線は新築時の指定ではCAT6になっているので、家内部のケーブル自体には問題ないはず。もしもケーブルに問題があるとしても張り替えは非常に大変なので、最後の手段になる。

LANコネクタとEdgeRouter間のケーブル

CAT6の50cmのケーブルを使っていたが、ケーブルを変えれば状況が変わるかと思って別のCAT6やCAT7のケーブルをいくつか試してみたが、状況は変わらず。

無駄なケーブルを買ってしまったことになる。

RJ45コネクタ

ケーブルに問題がないとすれば、コネクタ部分の問題が疑われる。

部屋の壁のコネクタ部分を見てみるとパナソニックのぐっとす情報モジュラジャック(CAT6)(埋込型)が使われていた。

接触などが問題になる部分としては、屋内配線ケーブルとモジュラジャックの結線と、モジュラジャックとモジュラプラグの接触部が考えられる。

屋内配線ケーブルとモジュラジャックの結線

モジュラジャックの結線をつなぎなおすのは既設の屋内配線ケーブル交換に比べればやりやすいが面倒である。また、RJ45の結線はRJ45かしめ工具を使って短いケーブルを数本作ったことしかなく、結線の経験が十分にあるわけでもないので、最後から2番目の手段にすることにした。

ぐっとす情報モジュラジャックは特別な工具がなくても結線できるようになっているようではある。

現時点では屋内配線ケーブルとモジュラジャックの結線はそのままである。

モジュラジャックとモジュラプラグの接触

安易なこととして、モジュラジャックとモジュラプラグの接触部を処理することで改善しないか試してみた。

KURE エレクトロニッククリーナーでジャックの部分を清掃してみたが、変わらず。

東洋ドライルーブ 導通改善剤「ナノカーボン」を、モジュラジャックとモジュラプラグに塗ってみた。なんとなく1000Mbpsでリンクする場合が少し増えた気もするが、一旦1000Mbpsでリンクしても時間が経過すると100Mbpsになってしまう。

モジュラコネクタ部分を清掃したりすることでは実質的に改善できなかった。

ルータの設定

ethtool

EdgeRouter の CLIで /sbin/ethtool を使ってリンクの状況を調べてみた。

Supported link modes には、1000baseT/Half や 1000baseT/Full が含まれているが、Advertised link modes には、それらが含まれておらず、10baseT/Half, 10baseT/Full, 100baseT/Half, 100baseT/Full しか表示されない。

ちなみに、Link partner advertised link modes も同様に10baseT/Half, 10baseT/Full, 100baseT/Half, 100baseT/Full だけであった。

オートネゴシエーションをonにして再接続などを試みたがうまくいかない。

Advertised link modesがおかしいので、それを直す必要がある。

Advertised link modes

Webを調べていたら次の記事を見つけた。

サーバのネットワーク速度の調査/測定方法

そこに書かれていたものを参考に次のコマンドを実行することで、Advertised link modes を 1000baseT/Fullにできた(eth1は、壁コネクタにつながっているポート)。

これで1000Mbpsでリンクするようになった。ただ、他のモードはadvertise していないので、1000Mbpsでリンクしないと通信できないことになる。

Reset

EdgeRouterをリセットしたところ、以下のようになり、なぜかわからないが、10baseT/Half, 10baseT/Full, 100baseT/Half, 100baseT/Full に加えて1000baseT/Full が advertise されるようになった。

しばらくすると 100Mbpsになってしまう可能性があるので、様子を見る必要がある。

(2020年6月15日)つながらなくなった。1000baseT/Fullでの接続ができないだけではなく、全く通信ができないようになっていた。

まとめ

長期的にはこれで大丈夫かわからないが、とりあえずは、ルータで advertise する link modes に1000baseT/Full を指定することで、1000Mbpsでの通信が可能になった。

(2020年6月15日)ハードウェア的な改善ができていないので、1000Mbpsでつながったのはたまたまだった。ルータで 1000baseT/Full が advertiseする方法はわかったが、1000Mbpsでのリンクが安定して確立するためにはどのようにすればよいかはさらに調査・検討する必要がある。

6月14日は比較的気温が低かったが、6月15日は気温が高い。温度が機器に影響を与えているのか?気温は関係ないのか?