Raspberry Piコンソールをトラ技ARMライタで作る

ぼちぼち弄っているRaspberry Piですが、sshで接続して使っているとよく切断してしまいす。

Windowsからteraterm proで接続したままだと、時には10分程度でteraterm proが切断してしまいます。たまたま調子の良い時は数時間つなぎっぱなしでも落ちないのですが、不安定です。そして、落ちた事に気が付いて再起動しようとすると、”拒否されました”となり、再接続できません。つまりサーバが応答していない状態です。その状態も、しばらく(不定期ですが概ね数分~数十分)経つと何故か接続できるようになります。

ssh特有の最初はタイムアウトかと思ったけど、時間が不定期だし、同じTeratermProで接続している玄箱は何日放って置いても切断されないところをみると、サーバ側だと考えます。sshが良くないのかと思って、apt-get install telnetdでtelnetをインストールして確認してみたけど、症状はsshと同じ。telnetでもsshでも症状が起きるタイミングは同じでした。(sshがダメならtelnetもダメ)


この状態が良くわからなくて、ネットの中でウワサされているRaspberry Piの”電源が弱い”という問題であれば、ハングアップしていたりするんでしょうが、この状態に陥った場合でも、コンソールでログインすれば普通に使えますし、他からpingを打ってみると到達します。ただsambaはアクセスできなくなっていて、Windowsからは”見つかりません”になります。各サービスのlogを見てもそれらしいエラーはありません。pingは通るのでハードウェア全体が落ちているわけではなさそうです。つまりソフトウェアとしてサービスがサイレントで落ちているか、一時的にネットワークのハードウェア部分だけ不調に陥るんじゃないかと。監視する環境を整える必要が出てきました。


コンソール作成の計画
telnetやsshが落ちる原因を調べるため、監視する環境を整える必要があります。不安定なイーサネット経由で監視していては埒があかないので、落ちないコンソールが必須です。残念ながら我が家の事情で、Raspberry Piを置いている部屋には、PCは有るものの、HDMI端子付きのテレビはありません。HDMIテレビのあるリビングや寝室にはごちゃごちゃした機械は置きたくないので、サーバの有る部屋にて、PCを活用してコンソール接続出来ないか考えました(普通の考えですが)。


コンソールケーブルを作成する為の段取りを考えると、
Raspberry PiのGPIOコネクタにはシリアルコンソールの端子がでていて、前人の記事でも多く展開されていて参考になります。ただ、私はわざわざ安いサーバを買ったのに、金をかけてUSB-シリアルの変換ケーブルを買うほど欲しいワケではないので、なるべくそのへんのモノで安く簡単に済ませたいと考えました。

そこで思い出しました! そういえば、トランジスタ技術2014年3月号(トラ技)についていたおまけトラ技ARMライタはUSB-UART変換機能もあるので使えるな!と。

このトラ技のおまけの”トラ技ARMライタ”とは、ARMのマイコン付きの半完成品で、コネクタとスイッチを取り付ければ即使える代物で、これがおまけとは大判振る舞いです。なんか1,000円くらいはしそうなくらいだけど、いつものトラ技の本自体の値段+100円で手に入るわけです。私は別に使う予定は無かったけど、「100円プラスでこれが付いてくるなら買っておくか」ということで、持っていました。
このおまけの機能のうち、USB-UART変換機能のみを使います。


トラ技ARMライタの作成~設定
トラ技の本誌の通り、タクトスイッチとUSBコネクタ、入出力用のピンを半田付けします。結構細かいので、かなり先っちょの細い半田コテが必要かも。私は30Wのでやったけど、先がランドより大きかったので結構厳しかったかな。ヤスリがあれば尖らせるって手もあるかもしれないけど、できれば細いものを準備するのか良いかも。ちょっと細かい半田付けの技術が必要です。

d0222779_23225158.jpg

次に、トラ技ARMライタの設定をします。ISPのスイッチを押したままUSBを挿すと、WindowsのエクスプローラからUSBメモリのようにライタの中のファイルが見えます。
トラ技本誌の通り、元々のファイルを削除し(勝手に復活するので思い切って削除)、LPC11U35_USBCDC.binをコピー&ペーストします。これでトラ技ARMライタ側のファームウェアの準備は終わりです。

更に次に、このトラ技ARMライタをwindowsで使用するための、windows側のドライバをインストールします。しかしこれがまたちょっと問題あり(後述)

私はトランジスタ技術2014年2月号のcd-romからドライバを取ったのですが、いくら場所を指定しても”ドライバ見つかりません”となってしまう。こんな所で躓くのもおかしいと思い、ググって見たら‥‥、有りました。.infファイルにミスがあったそうで、トランジスタ技術のhpにお詫びと対処済みのドライバがアップされていました。


ドライバを読み込ませた後TeratermProを起動し、シリアルポートをトラ技ARMライタの接続されているCOMポート(デバイスマネージャーのポートで確認)を設定し、スピードを115200bpsに設定します。念のためトラ技ARMライタのresetボタンを押しておきましょう。(USBの抜き差し相当の動作)



Raspberry Pi側の設定
次にRaspberry Piとトラ技ARMライタの接続を行います。UARTの接続は、送り(T)と受け(R)の2本と、GNDだけ接続すればokなので、接続自体は簡単です。

   














トラ技ARMライタ Raspberry Pi
CN1-1(GND) 6pin(GND)
CN1-9(Tx) 10pin(Rx)
CN1-10(Rx) 8pin(Tx)

d0222779_23422166.jpg


Raspberry Pi自体の設定は特に必要がありません。もともとUARTの物理ポートはコンソール情報を流すように設定されています。ここまで接続がうまくいけば、コンソールの情報が流れるはずです。


トラブルあり
ただ、私は最初はうまく表示されませんでした。接続しても何もteraterm proで反応が無く、何かが壊れているのか設定がおかしいのか‥‥。telnetでログインするとコンソールのttyAMA0のgettyが反応していないことから、コンソールとして認識していないことは解る。接続も3本しかないので間違いようがない‥‥。

最初からトラ技ARMライタの設定をやり直したところ、Windowsのドライバがうまくインストールされなかった事が判明。どうも一応完了してエラーが無い状態に見えても、正常に働いていないということでした。
私の場合、潔くドライバを削除してからまたイチから入れ直したところ、正常に動くようになり、やっと無事にteraterm proの画面にコンソールのメッセージが流れるようになりました。

Raspberry Piにイーサネットを接続せずに、TeratermProにはコンソール画面
d0222779_23401258.jpg

ttyもttyAMA0で接続(トラ技ARMライタのUART経由で接続)
d0222779_23405030.jpg


これでしばらく2つのTeratermProの画面を見比べて、落ちる原因を監視していきます。
[PR]
by tkn384 | 2014-06-18 23:53 | Raspberry Pi


今の好きなことは、暇な時いじる玄箱とか家電とか


by tkn384

プロフィールを見る
画像一覧

カテゴリ

全体
家電
玄箱
電子工作
Raspberry Pi
未分類

以前の記事

2014年 09月
2014年 08月
2014年 07月
2014年 06月
2014年 03月
2013年 08月
2012年 05月
2011年 05月
2011年 04月
2011年 03月
2011年 02月

フォロー中のブログ

メモ帳

最新のトラックバック

ライフログ

検索

タグ

その他のジャンル

ブログパーツ

最新の記事

玄箱サーバ死亡
at 2014-09-23 16:39
初代玄箱USB増設
at 2014-08-31 14:05
RaspberryPiのバッ..
at 2014-07-21 23:31
Windows7とWindo..
at 2014-07-20 12:16
Windows7のPCを買い..
at 2014-07-06 01:48

外部リンク

ファン

記事ランキング

ブログジャンル

ネット・IT技術

画像一覧