世界を動かす技術を、日本語で。

Show HN: 回転式電話ダイヤル用Linuxカーネルドライバ

概要

  • Linuxカーネルドライバ でレトロなロータリーダイヤル電話を evdev入力デバイス として利用可能
  • 教育用途 や仮想環境での開発・テストにも最適
  • ドライバ開発が 組み込みLinux入門 のきっかけとなった体験
  • Rustによる再実装 も検討されたが、現状は未対応
  • 完成・公開は今回が初めて

Linuxカーネルドライバ:ロータリーダイヤル電話のevdev化

  • ロータリーダイヤル電話 をPC入力デバイスとして再活用
  • evdevインターフェース 経由で数字入力を実現
  • テンキー入力 よりも遅い、独特な操作感を体験
  • デジタル時代 へのレトロデバイスの橋渡し
  • 創造的な用途 やユニークなプロジェクトへの応用

教育・開発環境としての利点

  • シンプルなドライバ設計 で学習教材に最適
  • 仮想マシン(VM)ベース の開発・テスト環境構築が可能
  • 実機ハードウェア不要 で手軽に検証・学習
  • エンドツーエンド開発 の流れを体験できる事例

開発背景と今後の展望

  • 組み込みLinux分野 への入門体験となったプロジェクト
  • 未完成・未公開 だったドライバを今回初めて公開
  • Rust for Linux プロジェクトの現状を調査
  • Rustバインディング未整備 のため、Rust版は今後の課題
  • 今後の発展 や新たな実装にも期待

Hackerたちの意見

いいね!このミニマルなドライバー実装が大好きだよ。ドライバーに必要な実際のコードがどれだけ少ないかを見せてくれるし、基本的なドライバーを動かすために知っておくべきフラグやカーネルメソッドがどれだけあるかもわかる。

「最初はRustでドライバーを再実装して、Rust for Linuxプロジェクトの現状を探ろうと思ってたんだけど、必要なバインディングがまだ利用できないことに気づいたから、その部分は待たなきゃいけないね。」 それは面白いし、ちょっと残念だけど、予想外ではないよね。君のアプローチや遭遇した問題をドキュメントにまとめると、面白いブログ記事になると思うよ。書く気があればだけど。

残念ながら、今のところRustバインディングがあるサブシステムAPIはほんの数個だけだから、意味のあることを書くほど進まなかったよ。来年にはサポートが成熟して、Rustでの再実装が可能になるといいな。その時は自分の経験について喜んで書くよ :-)

誰かがその回転式電話をうまく使って、ダークソウルをクリアするのは待ち望んでたよ。

DTMFバージョンが必要だね。オーストラリアに、回転パルスをトーンに変換する小さなラインパワーのボックスを作ってる人がいるんだ。数年前まではそれで回転式電話を使い続けられたけど、今の建物にはPOTS配線がないから悲しい。

FXS/ATAに接続してVoIP電話にするってこと?俺は1920年代のキャンドルスティック電話を使ってるけど、まだちゃんと動いてるよ。

この話題が出るなんて、ちょうどデスクの上に回転式電話を分解したまま置いてあるから、なんだか面白い偶然だね!(ゼンマイを巻き戻してるところ)

本当の質問だけど、デスクの上に電話が分解されたままどれくらい置いてあるの?もし僕みたいなら、約2年だよ ;)。

iPhoneが噂されてた頃、当時のiPodのようなタッチホイールで作るのは、回転ダイヤルを復活させる絶好のチャンスだって提案したんだ。でも、みんなにガッツリ却下されたよ。おかげで、クラシックな回転式の雰囲気を楽しむためにLinuxボックスをセットアップするだけで済むんだ!

タッチスクリーンで回転ダイヤルできるアプリがあると思うよ。

もしiPodが携帯ネットワークでアップグレードされてたら、めっちゃ面白いタイムラインになってたね。少なくとも一つのモデルはそうだったら良かったのに。それでこれを使ってタイピングできるよ: https://www.youtube.com/watch?v=9BnLbv6QYcA

実は、君だけじゃなかったんだ: https://www.patentlyapple.com/2010/12/apple-wins-patent-for-... スティーブ・ジョブズもこの特許の発明者の一人だったんだ。実は、俺ともう一人のAppleの同僚がほぼ同じ特許を同じ時期に出願したんだ。だから、しばらくの間、Appleはタッチホイールで回転ダイヤルをシミュレートする特許を2つ持ってたんだ。(俺の特許は結局失効しちゃったけど、スティーブのは更新されたよ。)このアイデアを同僚に提案したとき、ちょっと飲みすぎてたな。リアルな物理演算がすごく良かった昔のピンボールゲームを思い出してたんだ。ユーザーが正しいジェスチャーで素早く数字をダイヤルできるようにするのが重要だと思ってた。iPhoneのことは考えてなかったけど、同僚がアイデアを特許委員会に送ったら、彼らも賛成してくれたんだ!スティーブの特許との類似点を見て、笑ったんだろうな(それもまだ進行中だったし)。スティーブのといくつか大きな違いがあったから、重複ではなかったけどね。それにしても、iPhoneに関連する特許の数を増やしたかったんだろうな、初期のマーケティングの一環として。(スティーブは紹介したときに「200以上の特許がある」って言ってたし。)

70年代後半、HP41C電卓用の回転式電話ダイヤラーを作ったことがあるんだ。NCリードリレーを圧電ブザーに接続して、NC接点を電話回線に直結したんだ。「合成プログラミング」(文書化されてないオペコード)を使って、ダイヤルパルスに必要な短いビープ音を出してた。名前(英数字!)を入力すると、電話番号を調べてダイヤルしてくれた。約10年前、会社でKeith Jarrettっていう人に会ったんだ。彼がHP-41C合成プログラミングマニュアルを書いたKeith Jarrettか聞こうとしたら、彼が「違うよ、音楽家じゃない。みんなそう聞いてくるんだ。」って言ってきた。だから質問を続けたら、彼はすごく嬉しそうで驚いてた。実は、35年前に読んだ本の著者だったんだ。