RT57iの文字コードがShift-JISで困る(GNU screenで文字コード変更)

ハードオフでジャンク扱いで1,100円のYAMAHA RT57iを見かけました．
その時はスルーしたのですが，少し確認すると2003年発売のものなのに去年もFWがリリースされていてADSLの低速回線ならまだ使えるのではと買ってきました．

RT57i 特長

manual release for RT Series

firmware release for Yamaha Network Products

Release note for YAMAHA NetVolante RT57i

電源を入れて中を覗くと普通に動きそうです．
しかし日本語を吐いてるぽいけど文字コードが……．

> help
1) "?"��͂ÿ���ƁA�R�}���h��̂ÿ��m�肵�Ă��Ȃ��ꍇ�ɂ͂�̎ÿ��_��͉ÿ\�ȃL
�[���[��̌ÿ�̈ÿꗗÿ��\�����܂��B
�R�}���h��̂ÿ��m�肵�Ă����̃ÿRÿ�}����̓�͌ÿ`ÿ���Ɛ���\�����܂��B

2) �L�[�͎ÿ��ɂ͎��Ɏ����R�}���h�ŁA�L�[���[��̕ÿ⊮ÿ�A�ߋ���͂ÿ����R�}���h��
�Ăяo���A�J�[�\��̈ÿړÿ���͕ÿ���̍ÿ폜���ł��܂��B

���ӁF Ctrl + X�́ÿAÿCtrl�L�[����Ȃ���X�L�[������Ƃ�\���܂��B

--------------------------------------------------------------
�L�[���[��̕ÿ⊮ÿ : Tab�L�[
--------------------------------------------------------------
�ߋ���͂ÿ����R�}����̌ÿĂÿяo�� : Ctrl + p �A�܂�͏ÿ���L�[
��̃ÿRÿ�}����̌ÿĂÿяo�� : Ctrl + n �A�܂�͉ÿ����L�[
--------------------------------------------------------------
�J�[�\����E�ɂP�������ړ� : Ctrl + f �A�܂�͉ÿEÿ���L�[
�J�[�\����ɂP�������ړ� : Ctrl + b �A�܂�͍ÿ����L�[
�J�[�\����s���Ɉړ� : Ctrl + e
�J�[�\����s���Ɉړ� : Ctrl + a
--------------------------------------------------------------
�R�}���h���s�����ɉ�s : Ctrl + c
�J�[�\���̂ÿPÿ������폜 : Ctrl + d
---�Â�---

Shift-JISぽいので端末の文字コードを変更します．

こういうことがあるのでGNU screenにワンタッチで文字コードが変更できるようにして……．変更されない?
Shift-JISの設定がないですね．そういえば以前はbind keyで設定していたけど当時最後のShift-JIS環境のNEWSマシン破棄時に消してしまっていたのでした……．

とりあえずGNU screenだと Ctrl +a :encoding sjis でShift-JISに切り替えることが出来ます．
(utf8に戻すときは Ctrl +a :encoding utf8 )

> help
1) "?"を入力すると、コマンド名称が確定していない場合にはその時点で入力可能なキ
ーワードの候補の一覧を表示します。
コマンド名称が確定していればそのコマンドの入力形式と説明を表示します。

2) キー入力時には次に示すコマンドで、キーワードの補完、過去に入力したコマンドの
呼び出し、カーソルの移動や入力文字の削除ができます。

注意： Ctrl + X は、Ctrlキーを押しながらXキーを押すことを表します。

--------------------------------------------------------------
キーワードの補完 : Tabキー
--------------------------------------------------------------
過去に入力したコマンドの呼び出し : Ctrl + p 、または上矢印キー
次のコマンドの呼び出し : Ctrl + n 、または下矢印キー
--------------------------------------------------------------
カーソルを右に１文字分移動 : Ctrl + f 、または右矢印キー
カーソルを左に１文字分移動 : Ctrl + b 、または左矢印キー
カーソルを行末に移動 : Ctrl + e
カーソルを行頭に移動 : Ctrl + a
--------------------------------------------------------------
コマンドを実行せずに改行 : Ctrl + c
カーソル上の１文字を削除 : Ctrl + d
---つづく---

見えました．

.screenrc にも設定( bind ^J encoding sjis )を入れておきましょう．Ctrl+a Ctrl+j でShift-JISに切り替えられるようになりました．(Tmuxでの手順は見当たらず)

bind ^U encoding utf8
bind ^E encoding euc
+ bind ^J encoding sjis

他の方法としてRT57iの設定で英語にしたりできそうな気がしますが未確認．

そんなこんなでこれまでのADSLモデムをルータ機能は使わずモデムとしてだけ利用するようにしてRT57iからPPPoEで繋ぐようにしました．
これまでPPPoE接続に30分程，調子が悪いと1時間くらいかかっていましたが一瞬で接続されるように．安定度も増しました．
ずっと同じ構成なのにだんだん接続時間が伸びていたのでアナログ回線が劣化して不安定になっていたのかと思っていたのですがADSLモデムが原因だったようです．(ということはモデム機能もそろそろ壊れてしまう可能性……)

ただ，speedtestでは調子がいいときは8Mbほど出ていたのが7Mbになったので少し速度低下が?でもずっと安定したのでこっちのほうがいい感じです．(2,3日に一回回線が切れて再接続に30~60分とか動画が数分おきに止まるとか画像の読み込みに失敗したりとかだった)

$ speedtest-cli --simple
Ping: 92.066 ms
Download: 7.00 Mbit/s
Upload: 1.10 Mbit/s

まだざっくりとした設定なのでマニュアルを見ながらもう少し設定詰めてみます．

Tip

追記

コマンドリファレンス P.38より

4.11
[ 書式 ]
コンソールの言語とコードの設定
console character code
no console character [code]
[ 設定値 ]
[ 説明 ]
[ ノート ]
[ 初期値 ]
○
code
● ascii......................... 英語で表示する、文字コードは ASCII
● sjis ........................... 日本語で表示する、文字コードはシフト JIS
● euc .......................... 日本語で表示する、文字コードは EUC
コンソールに表示する言語とコードを設定する。
本コマンドは一般ユーザでも実行できる。
本コマンドの設定は、save コマンドで保存するまで show config コマンドによる設定の表示に反映され
ない。

ascii, sjis(既定値), eucが選択できるようです．
asciiに設定しておこうと思います．

> console character ascii
> administrator
Password:
# save
Saving ... CONFIG0 Done .
# quit
> quit

環境

$ dpkg-query -W screen byobu
byobu 5.125-0ubuntu1
screen 4.6.2-1ubuntu1
$ lsb_release -dr
Description: Ubuntu 18.04.3 LTS
Release: 18.04
$ uname -m
x86_64