最近買った ThinkPad X200 の Windows 7 で Web アクセスするとうまく見られるページと途中で止まってしまうページに遭遇。 うちでこのタイプの不具合が出た時はまずだいたいの場合、ルータ YAMAHA RTW65b と RFC1323 TCP Window Scale Option の問題だ。
これについてはLinux では /proc/sys/net/ipv4/tcp_window_scaling の設定で対応。 Windows XP では特に問題が出ないのでそのままとしていたのだが、Windows 7 ではデフォルトの振る舞いが変わってひっかかるようになった模様だ。 このままだと The Internet との通信がうまくいかないので実質 Windows 7 が使えなくなってしまう。 レジストリいじれば直るかもしれないが、自宅特有の問題だから設定変えたくないというのもある。
で、なんとなく確認したら RTW65b の新しいファームウェア 5.03.25 出ているのを発見。 今使っているのが 5.03.11。 いや新しいといっても出たのは2002年とずっと昔で新しくないな。 記憶を辿ると、リリースされたのは以前気がついていたんだけれどその時は特に必要性を感じなかったのでスルーしていたような気がする。
とりあえず駄目もとでアップデートしてみた。
サイトから rtw65b50325.bin をダウンロード。 telnet で RTW65b にログインして以下を実行。
administrator <== パスワードを入力して管理者モードに tftp host 192.168.0.X <== ファームウェアアップデートを実行する PC を許可
その後 Debian GNU/Linux PC に atftp Debian パッケージをインストルした上で以下を実行。192.168.0.1 は RTW65b の IP アドレス。
atftp -p -l rtw65b50325.bin -r exec 192.168.0.1
で試してみたこところあっさり問題が解決。Windows 7 で OK だし、今まで駄目だった Linux も TCP Window Scale Option を止めなくてもよくなった。 あー、前この問題に始めて遭遇した時すでにこのファームウェア出ていたんだよね。 もっと早く適用していればよかった。
何はともあれまだルータを買い替えないで済んで満足。
家に帰ってサスペンドから復帰した ThinkPad X200 を無線 LAN 接続に切り替えたがうまくつながらない。ルータを再起動しても駄目なので PC の方を再起動。
そしてら Debian GNU/Linux sid が起動しなくなってしまった。 udevd が設定ファイルが古い形式だよといった警告を出した後、/dev の作成の途中で止まっているっぽい。あちゃー。
とりあえず Windows 7 を起動して情報収集。 まだ設定が済んでおらず Firefox 入っていないし英語キーボード用の設定にしていないのでキー配列が違うし、入力切り替えボタンはないしで苦労しながら Web でチェック。
Debian の BTS によるとやはり udev 148-1 がハズレらしい。 ダウングレードするか。
GRUB で e して linux オプション行の ro を rw にし init=/bin/bash を追加して起動。 dpkg -s udev で 148-1 であることを確認。 幸い /var/cache/apt/archives/udev_147-5_i386.deb が残っていたので dpkg -i でダウングレード。 で再起動したら / を fsck しろといわれたので fsck して再度起動。これでようやく起動するようになった。
なお情報によるとタイムアウト待ちまで待ては先に進んだらしい。
またひとつ sid の醍醐味を味わった。
しかし過去の Debian パッケージが /var/cache に残っていなかったらもっと手間だったな。 インストールの時に作ったインストール CD 捨てようと思っていたが、やはりとっておいたほうがいいな。
Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。
nDiki は1999年1月に始めたコンピュータ日誌を前身とする Naney の Web 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。
※内容は個人的見解であり所属組織とは関係ありません。