kindle2とPCの接続について(勝手に接続が切れる問題もたぶん解決)

投稿者: | 2009年12月19日

kindleにPCからログインするには、うちではシリアルコンソールでつないだけれども普通はUSBで行うらしいです。
これからやる人はUSBでの接続ならハード的改造がいらないのでUSBの方がお手軽でいいですよ。(とはいえ間違えるとシリアル接続以上に面倒なことになると思うのでご利用は自己責任にて)

シリアルで接続するのも無意味というわけではなくて、システムの起動時にこけている等のUSBから接続ができないような状況になってしまった場合の復旧には役に立つでしょう。一応リカバリモードとかいう画面もあるみたいなんだけどそっちはまだ調べてません。
あとシリアルならUSBの抜き差しでマスストレージとしてファイルの転送がすぐできるので便利。

以下、長いので続きへ

まずUSBでつなぐ場合:

必要アプリとスクリプトのパックをアップデータとして配布されているのでそれを使うのが楽。
英語のフォーラムusbnetwork23-0.10.tar.gzが2009/12/19時点の最新みたい。
Kindle DXi(国際版)用USBネットワークハックを作りましたのでDXのかたはこちらをどうぞ。

#うちはシリアル接続で使っているので、このパッケージをばらしてbusybox(telnetdのために使う)のみコピーして使ってるのであまり詳しいことまでは見てないです。
以下の記述は1度試しただけですので、他のサイトや上に書いた英語のフォーラムと併せて参考にしてください。

使い方

usbnetwork23-0.10.tar.gzを解凍。
update_usbnetwork-k2i.bin(us版は-k2.bin、DX版は-dx.binみたい)
をUSBドライブとして認識させたkindleの直下に置いて、kindleで
HOME>MENU>Settings
を選択。
画面が移動したら
MENU>Update Your Kindle
を実行。
アップデート画面が出て再起動する。ここまでは起動のためのファイルとスクリプトを設置しただけなので、ここからが面倒。

HOME画面で以下のコマンドを入力
1. キーボードの”del”を押して検索窓を開く。
2. ;debugOn と入力する(;から必要。;の入力は”sym”キーを押した画面から選ぶ)
3. `usbNetwork と入力する (`は”sym”キーを押した画面の中段の右から2番目)
4. `usbQaと 入力する (上に同じ)
これでkindle側でUSBネットワークが有効になる。
PCにつなぐと新しいデバイスとして認識されます。Max OS Xだと自動でネットワークアダプタとして認識するらしいです。PlamoLinux4.71でも自動で認識してusb0のNICとして認識されました。WindowsもRNDISドライバを入れれば動くらしいですがうちでは未確認です。(面倒だったのでLinuxにつないだから…)
5. PCで認識したネットワークアダプタのIPを192.168.2.1に設定する。
6. PC側から192.168.2.2にtelnetかsshで接続が可能。
このIPはここで配布されているアップデータを使う限り固定です。
7. あとは普通にLinuxにログインしたのと同じように使えます。

USBネットを有効にした状態から元のストレージモードに戻すにはkindleを再起動すれば戻ります。

インストールしたファイルのアンインストールは、インストールの手順で使うファイルを
update_uninstall_usbnetwork-k2i.bin
に変えて、kindleをupdateを実行するところまでやればOK。

これだけだとsshでもtelnetでも一定時間で接続が切れるのでその問題の対策。
海外では大して問題になっているような記述を見ないので、もし必要ないようならやらなくていいと思います。
(WANの状態によるという説もあるようです。うちは基本的にOFFにした状態で試しています。)

とりあえずsshかtelnetでkindleにログイン。
1.netwatchdを落とす(定期的にネットワークの接続を切りに行ってる?のをやめさせる)
#/etc/init.d/netwatchd stop
で止まります。

2.powerdを落とす(kindleがサスペンドに入るのをやめる。切ってる間は電池を食うようになるはずです)
#/etc/init.d/powerd stop
で止まります。

あと、接続先PCがLinuxの場合に必要かもしれないこと
3.PC側のdhclientを停止する。
PlamoLinux4.71では、usb0にifconfigでIPを割り当ててもdhcpにアドレスを取り直しに行ってるような動作をしていたので。

次にシリアルでつなぐ場合:

接続方法は前に書いたとおり。
kindle2にコンソール接続してみた
kindleのrootを取得
シリアル接続を最初にやる場合、接続だけしてもパスワードが不明でログインできないので強引にrootを取得する必要があります。
USBネットが使える状態にしてある場合はrootのパスワード変更ができるので、シリアルでつなぐ前に何かしら設定しておくと良いでしょう。

また、こちらも定期的にkindleから切断されてしまうのでその回避方法。
usbマスストレージモードで接続してドライブのルートに
DO_NOT_KILL_UART
というファイルを作ってやる。以上。
/etc/init.d/power
を見るとわかるんだけど、
/mnt/us/DO_NOT_KILL_UART
というファイルがあるかどうかで処理が分かれているので起動スクリプトを見てください。
あとシリアルでもpowerdの停止をやっとかないとkindleのサスペンドで反応なくなると思います。
まぁ電源入れれば続きから作業できますが。

忘れないうちに書いておくのはとりあえずこんなもんかな?
どちらの方法でもつながればあとは普通のLinuxマシンと同じです。
ちなみに、update_usbnetwork-k2i.binの中で何をやっているかはだいたいわかったので、気が向いたら何やってるか書きます。

kindle2とPCの接続について(勝手に接続が切れる問題もたぶん解決)」への4件のフィードバック

  1. ピンバック: Tweets that mention 記録 » kindle2とPCの接続について(勝手に接続が切れる問題もたぶん解決) -- Topsy.com

  2. ピンバック: 【Kindle】 Amazon Kindle FAQ – 購入前情報からJailbreakまで 【まとめ】 | をぢの日記

  3. Asuka

    初めまして、大変貴重な情報ありがとうございます。素人ですが、少しずつ消化していきます。do not kill uaut書いたら、システムは英語が読めるんでしょうか。
    ちょっと質問しても良いでしょうか。コンソールしている時、tera termによりfont propertiesなどの書き直しはできるんですか。
    また、キンドルの無料3gは素晴らしいです。パソコンと繋いで、パソコンに3gを使わせることは考えられますか。

    返信
  4. ichinomoto 投稿作成者

    >Asukaさん
    DO_NOT_KILL_UARTはシリアルでつないでいるときにシリアルポートのクロックを止めないために必要なだけですので、中身の動作には関係ありません。
    シリアルでもUSBでもログインすればfontproperties等のファイルはいじれますよ。
    3gについては禁則事項です。これについてはご自分で調査してください。私は勧めません。

    返信

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です