Thu 04/29, 2010

USB audio on TCS-8101 [Computer and Networking ]

TCS-8101 に USB audio デバイスを接続して mp3 player を動作させてみた。

  • デバイスは以前試した OwlTech の Magic Wave [OWL-SPMW33(B)]。
  • MAD: MPEG Audio Decoder から madplay-0.15.2b.tar.gz, libmad-0.15.1b.tar.gz, libid3tag-0.15.1b.tar.gz を取得して madplay を Linux-i386 母艦で cross-build する。出来上がったらライブラリとともに TCS-8101 にコピー。
  • TCS-8101 で /dev/dsp を用意。soundcore, audio モジュールをロードして Go!

ざっとこんな感じ。

Linux 母艦(Ubuntu 8.04LTS)での作業は先日と同様に Edimax の toolchain を使用する。madplay の make には他に zlib が必要になるため、http://www.geocities.jp/h83069f/linux/host/crosscompile_zlib.html などを参考にして用意しておく。mad のほうは libid3tag, libmad, madplay の順に make する。./configure のオプションは --host=mipsel-linux --prefix=/export/tools/mipsel-linux とする。

TCS-8101 上でまず、サウンドデバイスファイル、/dev/dsp を作成する。MAKEDEV が使えないため、手動で mknod dsp c 14 3 とする。あらかじめ / を rw モードで再マウントしておくこと。USB-audio デバイスを接続しても必要なカーネルモジュールは自動的にロードされないため、手動で indmod soundcore; insmod audio としてロード。これでようやく madplay を実行できる。

wget と組み合わせてネットラジオの再生を試してみたが、bitrate=128k では1/2 ダウンサンプルでも負荷に耐えられなかった。32k 1/2 ダウンサンプルならば再生できたが、やはりソフトウェアでのデコードは苦しいようだ。

ついでに Ubuntu での Linux カーネル再コンパイル手順メモ。ちょっと古いシステムなので作業環境も 8.04LTS 辺りのほうが相性が良い。これは gcc バージョンの違いが大きい。

  • 通常の kernel ビルド用の環境を入れる。
    # apt-get install build-essential bin86 kernel-package libqt3-headers libqt3-mt-dev wget libncurses5 libncurses5-dev
  • http://www.edimax.at/download/Linux-SC.zip に含まれる 6114-tool-chain.tgz を展開しパスを通しておく。
    # tar xzf 6114-tool-chain.tgz -C /
    # PATH=$PATH:/export/tools/bin
  • LCardA 付属 CD の linux ディレクトリ以下を /usr/src/mipsel-linux にコピー
  • 以下の手順で build
    # cd /usr/src/mipsel-linux
    # cp config .config
    # make menuconfig .... そのまま exit 
    # make dep clean vmlinux
Posted by masato at 11:13 PM
このエントリーのトラックバックURL: http://bird.dip.jp/cgi-bin/mt/mt-tb.cgi/1756
コメントする

おそらく携帯電話等からは投稿できません。日本語文字列を含まないコメントやトラックバック、および当サイトへの言及を含まないトラックバックは御遠慮いただいております。また、90日以上経過した記事へのコメントはできません。










名前、アドレスを登録しますか?