4月3日、Jeff Geerlingが「Build your own Dial-up ISP with a Raspberry Pi」と題した記事を公開した。
90年代テクノロジーが現代に蘇る理由
Raspberry Piで作る自作ダイヤルアップISP—一見すると単なるノスタルジープロジェクトに思えるが、このプロジェクトはHacker Newsで大きな話題となった。レトロコンピューティングブームの中、Jeff Geerling氏が叔母から譲り受けた初代iBook G3を使い、現代では考えられない組み合わせを実現している:Wi-Fi経由でのダイヤルアップ接続だ。
iBook G3は世界初のWi-Fi内蔵コンシューマーノートPCで、AirPortカード(99ドルのオプション)を搭載していた。1999年当時のWi-Fiは最大11Mbps、実際には半分程度の速度だった。興味深いのは、当時のAirPort Base StationにはEthernetポートと56Kダイヤルアップモデムが両方搭載されていた点だ。1999年時点では、ワイヤレスでインターネットに接続する人の多くが、依然としてAOLなどのダイヤルアップISPを利用していた。
33.6Kbpsの衝撃—現代ウェブとの格闘
接続速度は33.6Kbpsを達成。実際のダウンロード速度は2.8KB/秒だった。これは90年代のユーザーが夜中にダウンロードを開始し、翌朝完了を祈っていた理由を思い出させる数字だ。
現代のウェブサイトは、Internet Explorer 5やNetscape Communicatorでは表示できない。TLS証明書の問題や古い暗号化サポートの制限があるためだ。この問題を解決するのが**Macproxy Classic**である。このローカルプロキシサーバーは、現代のウェブサイトを古いコンピューターが処理できる形に変換する。
技術的実装—電話回線シミュレーターが鍵
Raspberry PiでISPを構築するには、単にモデム同士を接続するだけでは不十分だ。POTS(Plain Old Telephone System)をエミュレートする必要がある。
使用したハードウェア:
- Raspberry Pi(任意のモデル)
- StarTech.com 56K USB外付けモデム
- Viking DLE-200B電話回線シミュレーター
ソフトウェア側では2つのLinuxツールを活用:
Geerling氏は設定を自動化するPi ISPプロジェクトをGitHubで公開している。このAnsibleプレイブックを実行すれば、必要な設定が自動で完了する。
接続確立時のPPPデーモンの交渉は以下のようにモニターできる:
Mar 26 15:32:35 dialpi pppd[15926]: PAP Account OK for dial
Mar 26 15:32:35 dialpi pppd[15926]: pam_unix(ppp:session): session opened for user dial(uid=1001) by (uid=0)
Mar 26 15:32:35 dialpi pppd[15926]: PAM Session opened for user dial
Mar 26 15:32:35 dialpi pppd[15926]: user dial logged in on tty ttyACM0 intf ppp0
なぜ「無意味な」プロジェクトが価値を持つのか
「なぜこんな『無意味な』プロジェクトをやるのか」とGeerling氏は問いかける。ノスタルジーもあるが、大きな理由は継続的な学習にある。
このプロジェクトを通じて、LinuxのmgettyやPPPについて深く学び、モデムハンドシェイクがソフトウェアレベルでどう動作するかを理解した。さらに、モデムが使用する**QAM(直交振幅変調)**について学ぶことで、現代のWi-Fiでギガビット帯域幅を実現する技術への理解も深まったという。
完全ワイヤレスでのダイヤルアップ接続を実現するため、Geerling氏は200ドル以上をかけてiBookのバッテリーを新品同様に修理し、元の6時間以上のバッテリー駆動を実現した。90年代後期のラップトップの多くは、フルサイズの18650バッテリーセルを使用しているため、現代でも比較的簡単に修理できる。
過去の技術を現代の知識で再構築することで、技術の進歩の連続性と、根底にある原理の普遍性を実感できる貴重な体験となっている。
詳細はBuild your own Dial-up ISP with a Raspberry Piを参照していただきたい。