もともとこのMP3プレイヤーはなにかと言うと、 若松通商でMP3用のLSIを単体で販売していたものを、 えるむさんがプレイヤーとして完成させたものです。 その後、トランジスタ技術にこのプレイヤーの記事が掲載され、 キットとして通信販売される等、ごく一部で大変反響がありました。
トランジスタ技術誌上に掲載されたMP3プレイヤーのケースが 木之本さくら嬢であったため、CCさくらMLでも話題になったほどです ^^; …っていうかすいません、私がネタふりました(爆)
もともとこのキットにはMP3データのダウンローダや、 ファームウェアの転送プログラムが含まれています。 ただし、これらはWindows/DOS上でしか動作しません。 私は自宅ではほとんどLinuxまたはSolarisのみで生活しており、 MP3データを入れ換えるたびにWindowsを起動する必要があって非常に煩わしいため、 このプログラムを作成しました。
このプログラムはPC/AT互換機用Linux2.2.xで動作します。 なお、私の環境は以下の通りです。
このパッケージおよびパッケージをコンパイルしたものは、 どなたでも自由に使用・改変・再配布することができます。 ただし、再配布に際しては、再配布を受ける人がソースコードを 得る手段を保証しなければなりません。
このパッケージを使用して発生する事態に対して、 作者は一切の責任を負いません。
Copyright © 2001 Card Captor
オリジナルの配布は、 http://www.geocities.co.jp/Technopolis/6855/で 行っています。
% gzip -dc elmmpc-X.X.X.tar.gz | tar xvf -
% cd elmmpc-X.X.X % make
# make install
elmmpcはI/Oポートを直接叩くためroot権限が必要です。 そのため、実行ファイルはrootにsetuidされて/usr/local/binにインストールされます。 安全のためプログラムは実行直後にI/Oアクセス権以外のroot権限を捨てるようになっていますが、 I/Oアクセス権はforkしても継承されます。 プログラムを改造する場合は注意してください。
確実を期すには、lsofコマンドを使ってください。 これは、あるファイルがどのプロセスによってオープンされているか調べます。 すでにオープンされている場合、
# lsof /dev/ttyS0 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME getty 259 root 0u CHR 4,1 409885 /dev/ttyS0 getty 259 root 1u CHR 4,1 409885 /dev/ttyS0 getty 259 root 2u CHR 4,1 409885 /dev/ttyS0のように表示されます。 何も表示されなければ、入力を奪い合うことはありません。
% elmmpc [-v] [-f serial] command [argument]
次にLinux上の通信ソフト(minicomなど)を用意し、 MP3プレイヤーの電源を入れた時にMP3プレイヤーのモニタのプロンプトが 表示されるか確認してください。 まったく表示されない場合は、Linux上でシリアルポートを扱う環境が整っていません。 読める場合と読めない場合がある場合、gettyなどがシリアルポートを オープンしていないか確かめてください。
次に、"elmmpc -v list"を実行し、MP3プレイヤーのSW3を押してください。 "iopl: Operation not permitted"と表示される場合は、 インストールが正しくできていません。 /usr/localがNFS上にある等の理由が考えられます。
これでも動かない場合は、多分私のバグです ^^;; すいませんが、連絡ください。