PHS経由でネットに接続できるEthernetアダプタのファームウェアをハック・中編 ―― LANにつないでメールの送受信と自動実行を実現
● 電源を入れると自動返信サーバが動作
SilentCには自動実行モードがあり,電源を入れると自動的にrunコマンドを実行します.やり方は簡単で,load SilentC_Registryというコマンドを入力します.listと入力すると,図4のようなリストが表示されます.edit 20と入力して,AutoRunというレジストリの値を0から1に変更します.ファイルを変更した後は,必ずsaveと入力して[Y]キーを押すようにしてください.
図4 自動実行モード
load SilentC_Registryというコマンドを入力し,listと打ち込むと,図のようなリストが表示される.
この状態でACアダプタを接続し直すと,先ほどのメール自動返信プログラムが自動起動します.これは,本機を組み込み機器として利用する際に便利な機能です.ほかのレジストリの値については,表1を参照してください.
レジストリ名 | 説 明 |
StartFile | runで実行するファイル名を設定する |
AutoRun | '1'の場合,リセット時にrunが実行される |
NoBreak | '1'の場合,[CTRL]+[C]キーのブレークが無効になる |
Telnet | '1'の場合,リセット時にtelnetサーバが起動する. 300バイトほどのメモリを消費する |
Port | telnetのポート番号を指定する.デフォルトは23 |
Term | '1'の場合,シリアル・ポートをデバッグ・コンソールに割り当てる.'0'の場合,ポートはSilentCプログラムから操作可能になる |
さて,実験が終了したらAutoRunの値を元に戻さなければなりません.以下の手順でレジストリ・ファイルを書き換えてください.コマンド・プロンプトから
tftp 192.168.0.100 get SilentC_Registry
のコマンドを実行して,本機からレジストリ・ファイルをパソコンに転送します.次に,パソコン上でSilentC_Registryの内容を編集して,AutoRunの値を0に変更します.
tftp 192.168.0.100 get DeleteFileSilentC_Registry
を実行して本機の現在のレジストリ・ファイルを消去してから,
tftp 192.168.0.100 put SilentC_Registry
で新しいレジストリ・ファイルを送り込みます.次回のリセットからは自動実行が無効になります.
ここまでの作業で,かなりファイル・システムの無効領域が増加したと思います.無効領域の大きさは,dirコマンドを実行したときの???
fragmentという表示で把握できます.この値が800Kバイトを超えると,それ以上ファイルを編集できなくなります.早めにファイル・システムの最適化を行ってください.
最適化の方法は,defragというコマンドを実行し,[Y]キーを押すだけです.最適化には通常30秒程度,最大で数分の時間が必要です.最適化中は,絶対に電源を切らないでください.もし途中で電源を切ってしまうと,現在のファイル・システムの内容は保証されません.こうなってしまったら,リカバリ処理を実行するしかありません.
なかもと・しんいち
(株)サイレントシステム エグゼクティブエンジニア