2017年11月11日土曜日

LightMPD/upnpgw イーサネット分離モード
























買い置きしていたAPU1D4、APU2C4にLightMPD/upnpgwをインストールしてDLNAレンダラーを構築してみた。いきなり難易度の高いupnpイーサネット分離モードである。左側の基盤がAPU1D4でplayer(MPD)、右側の基盤がAPU2C4でupnpと機能分離してDLNAレンダラーとしている。LANケーブルは、白い2本がクロスケーブルでAPUどうしを対抗接続としている。黒いLANケーブルは、ホームネットワークのHUBに接続してある。オーディオシステムには、APU1D4のUSB端子からDDC(RAL2496UT1)を経由しアンプにSPDIF同軸接続している。

ソフトのインストールと設定

ソフトの配布元 デジファイのおと
LihghtMPD/upnpgwの解説とインストールの手引き lightMPD/upnpgw

解説サイトの内 3-4と4を熟読すればインストールまでは、問題なく出来る。
 3-4. イーサーネットの分離
    図5 イーサーネットの分離(UPnPモード)
 4 ダウンロードとインストール

5 設定 については、イーサネットの分離(NASモード)、(UPnPモード)とも解説が記載されていない。まだ正式にソフトの仕様としていないようである。
非公式には、利用可能となっていてLightMPD掲示板で設定の仕方が投稿されている。

  player側にupnpgw を使う場合の設定 ・・・・・このトピックの先頭の投稿に詳しく解説されている。この情報を知らないまま設定したら起動するもののコントロールポイントを操作してもPLAYされなかった。ここに辿り着くまでにGoogleの検索に随分お世話になった。

インストールと設定 まとめ
APU2C4 upnp
 SDカード8GB
    4GB用のイメージファイルapuboot4g.img.xzを7-zipで展開
  展開してできたapuboot4g.imgをDDwinでSDカードに書き込み
  lightmpd-upnpgw-apu2-v1.0.0.zipを7-zipでSDカードに展開
 lightmpd.confは、雛形lightmpd.conf-upnpgw-nasgateを使用
  雛形をlightmpd.confにコピーしてから編集 
  編集するセクションは、[polipo] [network] [ntp]
  他のセクションは、デフォルトのままでOK
  [polipo]   まずデフォルトで間違いのセクションを修正
     enable=yes
  #
     proxyAddress = 0.0.0.0
     allowedClients = 10.0.1.2  ←修正後 (デフォルト10.0.0.2)

  [network]       ホームネットワークの環境に合わせて変更
        interface=eth0
        address=192.168.0.112
        gateway=192.168.0.1
        netmask=255.255.255.0
        nameserver=192.168.0.1
        domain=mydomain.jp

  [ntp]     時刻設定
        server=ntp.nict.jp
        ntpd=no
        timezone=Asia/Tokyo

 boot/grub/menu.lstの編集
 APU2の起動をSDカード起動に固定
  # upnpgw
   kernel /boot/bzImage-4.6.5rt10-64 root=/dev/ram0 ro console=ttyS0,115200n8
     ramdisk_size=98304 rootfstype=romfs rootdelay=5 clocksource=hpet  lightmpd.systype=apu2 lightmpd.bootdev=/dev/mmcblk0p1


APU1D4 player
 SDカード8GB
    4GB用のイメージファイルapuboot4g.img.xzを7-zipで展開
  展開してできたapuboot4g.imgをDDwinでSDカードに書き込み
  lightmpd-upnpgw-apu1-v1.0.0.zipを7-zipでSDカードに展開
   または、lightMPDapu1-upnpplayer-v1.0.4-64.zipを7-zipでSDカードに展開
   * lightMPD/upnpgw 5-4参照

  lightmpd.confは、特に雛形が用意されていないのでそのまま編集する。
  player側にupnpgw を使う場合の設定 のplayer側の設定をそのままコピーして
  貼り付ければ良い。
  [network]セクションのdomainは、upnp側と同様にする。
   domain=mydomain.jp

  lightMPDapu1-upnpplayer-v1.0.4-64を使えばlightmpd.confは、デフォルトのままでよい。

  mpd.confの編集 player側のpolipoを使う設定とする。

   input {
    plugin "curl"
    proxy "127.0.0.1:8123"
    }
  
  boot/grub/menu.lstの編集は、しないでデフォルトのままとする。
  SDカードでそのまま起動出来る。

以上の設定で最低限 以下のことは出来るようになった。
起動出来る。コントロールポイントからPLAYできる。wav44.1khzが再生できる。

2016年5月18日水曜日

BeagleBoneGreen MPD インストール

MPDインストールをBeagleBoneBlackの時の手順と同じ様にやってみたがすんなり音出しが出来なかった。間違い探し、設定の見直し等 色々やって4日間たって何とか音出しまでこぎ着けた。

インストール手順は、BeagleBoneBlackのやり方でこれは、問題なし

・パッケージリストの更新
 pacman -Syy

・パッケージのアップグレード    ・・・・・これが必要かどうか良く分からない。やたら時間がかかる。
 pacman -Syu

・必要なユーティリティのインストール
 pacman -S cifs-utils
  pacman -S alsa-pluginns
  pacman -S alsa-utils
  pacman -S alsaplayer
  pacman -S mpd
  pacman -S mpc
  pacman -S ncmpc

・ディレクトリの作成
 mkdir /var/lib/mpd/music
 mkdir /var/lib/mpd/playlists  ・・・・・・・playlistsは、既に出来ているようなのでこの手順は不要

 mkdir /var/log/mpd             ・・・・・前回この手順は、やらなくてOKだったのだが今回これがなくてMPDが起動しなかった。


・mpd.confの編集   ・・・・・・・・・・・・・BeagleBoneBlackとの変更点は、audio_output の部分 BeagleBoneGreenは、HDMIがないのでボード上の音源なし、USB音源だけの設定とする。
 nano /etc/mpd.conf

#
music_directory         "/var/lib/mpd/music"
#
playlist_directory              "/var/lib/mpd/playlists"
#
db_file                 "/var/lib/mpd/tag_cache"
#
log_file                        "/var/log/mpd/mpd.log"
#
pid_file                        "/var/run/mpd/pid"
#
state_file                      "/var/lib/mpd/state"
#
sticker_file                   "/var/lib/mpd/sticker.sql"
#
user                            "mpd"
#
group                           "audio"
#

input {
        plugin "curl"
#       proxy "proxy.isp.com:8080"
#       proxy_user "user"
#       proxy_password "password"
}

#
# An example of an ALSA output:
#
audio_output {
        type            "alsa"
        name            "My ALSA Device"
        device          "hw:0,0"        # optional
#       format          "44100:16:2"    # optional
#       mixer_device    "default"       # optional
#       mixer_control   "PCM"           # optional
#       mixer_index     "0"             # optional
}

mixer_type                      "disabled"
#
audio_buffer_size               "2048"
#
buffer_before_play              "80%"
#
filesystem_charset              "UTF-8"
#
id3v1_encoding                  "UTF-8"


・fstabの編集
 nano /etc/fstab

追記する部分 ・・・・・・ArchlinuxarmサイトのBeagleBoneBlackインストール手順が以前と変更されているので単純にこれだけで良い。
//192.168.0.104/Music /var/lib/mpd/music cifs username=root,password=samba,uid=mpd,file_mode=0644,dir_mode=0755,iocharset=utf8 0 0

・MPDサービスの開始 ・・・・・・これが未だに良く分からない。
 


2016年5月14日土曜日

BeagleBoneGreen ArchLinux IPアドレス固定

ケースに蓋をして電源を入れればSDカードから起動できる様になったので各種設定をやってみよう。
BeagleBoneBlackの時は、ファイルの書き込みが出来ない、SSH接続出来ないとかあったが今回は、問題ない。あとOSの設定でやることは、IPアドレスの固定くらいである。BeagleBoneBlackのやり方でそのまま設定変更して再起動かけたがDHCPで割り当てられてしまう。こうなるとネットで調べて出来るまで何度もやり直しになってしまう。色々やったあげく上手く固定化できたのだが何だか良く分からない。多分大丈夫だと思う手順を書いておく。

・IPアドレスの固定  
  IPのstatic設定用ファイルをコピーして編集する。
 # cp /etc/netctl/examples/ethernet-static /etc/netctl/static

 # nano /etc/netctl/static

 Description='A basic static ethernet connection'
 Interface=eth0
 Connection=ethernet
 IP=static
 Address=('192.168.0.110/24'')
 Gateway='192.168.0.1'
 DNS=('192.168.0.1')

保存

サービスの有効化
# netctl enable static
DHCPからのIPアドレス停止
# rm /etc/systemd/network/eth0.network

再起動

IP検索ソフトで確認すると固定IP 192.168.0.110 で立ちあがっていた。

2016年5月13日金曜日

BeagleBoneGreen SDカードから起動

すんなりSDカードからArchLinuxが立ち上がったとぬか喜びしていたが実は、emmcからDebianが起動していただけだった。BOOTスイッチを押して電源接続したらSDカードからArchLinuxが立ち上がるところまで確認してみた。
IP検索ソフトで確認したIPでSSH接続してみると今度はArchLinuxが立ち上がっている。SDカードには、問題なくインストール出来ていてSSH接続までできているので良いのだがBOOTスイッチを押さないでSDカードから起動する方法を確立しないといけない。折角TAKACHIケースに取り付けたのに蓋が閉められないのでは使い勝手が悪すぎる。
ネット上の情報を調べてみると"emmcのMLOをリネームしてemmcから起動できなくすることとSDカードの第1パーテーションにブートフラグを立てる" この二つを実行すれば無条件にSDカードから起動してくるようである。

emmcのMLOをリネームするのは、やろうとすると結構面倒そうである。色々考えた末 別の方法を取ることにした。emmcの第1パーテーションのブートフラグを外せば起動しようがなくなるのではないかと考えた。fdiskのaオプションでブートフラグは、簡単に付け外しが出来そうなのでやってみることにした。


1.emmc 第1パーテーション ブートフラグ外す。
  SDカードからArchLinuxを起動してfdiskコマンドを打つ
 
2.SDカード第1パーテーション ブートフラグ付ける   *ArchLinuxArmのインストール手順では、パーテーションは、1のみである。
    カードリーダーにマイクロSDHCを挿してAlix3D2に接続してVoyageを起動してfdiskコマンドを打つ

手順としては、このとおりだが 実際やってみたら上手くいかなかった。電源を接続するだけだとやはりemmcのDebianが起動してくる。emmcの第1パーテーションと第2パーテーションの中身を確認してもMLOは、見当たらない。BeagleBoneGreenのDebianのブートシステムは、BeagleBoneBlack Rev.Cとは、異なっているようである。
この後どうするかだがemmcのDebianのブートファイルを全て削除すれば出来そうな気もするがもっと簡単な方法を取ることにしたい。ネットで色々探ってみると基盤のソケットP8の1番ピンと43番ピンがブートSWにアサインされているようである。ということは、ケースのフロントパネルにSWを取り付けて1番ピンと43番ピンに配線すれば良いことになる。この方がよっぽど使い勝手が良くなる。SWをオルタネートタイプを使えばONでSDカード起動、OFFでemmc起動となる。モメンタリーSWを使えば基盤上のブートSWと同じ扱いになる。

念のため確認してみた。
GPIO P8 1番と43番をジャンパー線で接続して起動
この状態で電源接続するとSDカードからArchLinuxが起動してくる。
このまま蓋を取り付けてしまえば何の問題もなく使える。

自分としての完成形としては、フロントパネルに電源SW、SD-emmc切り替えSW取り付け、リアパネルに5VDC端子まで付けてみたい。GPIO端子の電源ON、5V供給、GNDのピンアサインの確認さえ取れれば簡単に出来そうである。

2016年5月5日木曜日

BeagleBoneGreen ArchLinux インストール

ケースの工作から間が空いてしまった。あまり本人がニーズを感じていないせいもある。億劫がらずに作業を進めることにした。やる事といえばArchLinuxのインストールとMPDの構築だけである。今まですんなりできたことがないので中々手が付けられないのである。

先ずは、マイクロSDHCカードにArchLinuxをインストールする。使用したカードは、GREENHOUSE 4GB class4である。EDION、YAMADA等のチラシを見て安売りしている時に購入したものである。

インストールの手順は、ArchLinuxArmのサイトの指示どおりやってみた。
サイトのurl
https://archlinuxarm.org/platforms/armv7/ti/beaglebone-black

踏み台としてVoyageMPDが動くAlix3D2を使う。普段は、USBHDDを接続してNASにしている。誤ってUSBHDDをFDISKで消去したくないので外して作業することにした。USBカードリーダーにマイクロSDHCカードを挿してからAlix3D2に接続




予めSDカードのディバイス番号を確認しておく。
root@voyage:~# ls /dev/sd*

ArchLinuxArmのサイトの手順      ・・・・・2年位前と手順が変わっている。

1.Zero the beginning of the SD card:   ・・・・・なんの事だか分からないがこのままやってみる。
 dd if=/dev/zero of=/dev/sdX bs=1M count=8
    sdxは、自分の環境に置き換えて 今回は、sdaでやってみた。

2.Start fdisk to partition the SD card:
 fdisk /dev/sdX

    sdxは、sdaでやってみた。

3.At the fdisk prompt, delete old partitions and create a new one:
  1. Type o. This will clear out any partitions on the drive.
  2. Type p to list partitions. There should be no partitions left.
  3. Now type n, then p for primary, 1 for the first partition on the drive, 2048 for the first sector, and then press ENTER to accept the default last sector.
  4. Write the partition table and exit by typing w.

     c.のところは、使用するSDカードによってsectorの表示が変わるので迷うところである。
     数値を入力しないでデフォルトのままリターンすれば問題ない。

4.Create and mount the ext4 filesystem:
  1. mkfs.ext4 /dev/sdX1
    mkdir mnt
    mount /dev/sdX1 mnt
sdx1は、sda1でやってみた。

5.Download and extract the root filesystem:
  1. wget http://os.archlinuxarm.org/os/ArchLinuxARM-am33x-latest.tar.gz
    bsdtar -xpf ArchLinuxARM-am33x-latest.tar.gz -C mnt
    sync
bsdtar -xpf は、voyageには、無いコマンドなのでtar -xf に置き換えてやってみた。
    エラー表示は、出るがこれで問題なく出来る。

6.Install the U-Boot bootloader:
  1. dd if=mnt/boot/MLO of=/dev/sdX count=1 seek=1 conv=notrunc bs=128k
    dd if=mnt/boot/u-boot.img of=/dev/sdX count=2 seek=1 conv=notrunc bs=384k
    umount mnt
    sync
sdxは、sdaでやってみた。

7.Insert the SD card into the BeagleBone, connect ethernet, and apply 5V power.
   カードリーダーからsdカードを外してBeagleBoneGreenに挿し電源接続


8.Use the serial console or SSH to the IP address given to the board by your router.
  • Login as the default user alarm with the password alarm.
  • The default root password is root.

 ここが何時も躓くところだが今回は、BOOTSWを押すとかuenv.txtを差し替えるとかしなくてもすんなり起動してきた。IP検索ソフトを使ってIPアドレスを調べてみると192.168.0.4らしい。
Tera TermでSSH接続してみる。ユーザー名、パスワードともにrootを入力



あっさりSSH接続できてArchlinuxが立ち上がっているのが確認できた。
こんなに簡単にできたのは、初めてである。     *訂正 emmcから起動したdebianだった。BOOTスイッチを押さないで電源を入れたので普通にemmcから起動しただけなのは当たり前か。
今日は、ここまで。
IP固定とかパッケージの更新とかMPDのインストールをやりだすとまたトラブルだらけになるかもしれないが今日は、これで良しとする。

2016年4月26日火曜日

BeaglBoneGreen ケース工作

久々に工作をしてみた。買い置きしておいたBeagleBoneGreenをタカチ HEN110312に収納してみる。

ボードの取り付け位置と穴あけ加工を作図

ケースの加工
ボード取り付け穴 4か所をφ2.5で穴あけしてからM3タップ
LAN端子、USBの角穴を加工。φ2穴を沢山開けてニッパーでカットしてからヤスリがけしてきれいに仕上げる。
角穴の仕上げは、こつこつ丁寧にやれば何とかなる。
ボード取り付け穴4か所を精度よく電動ドリルで穴明けするほうが難しい。実際穴の位置がずれて真鍮のサポーターを取り付けてからボードをねじ止めしようとしたらネジがはまらなかった。ボードの穴をリーマーで広げて修正した。

フロントパネルとリアパネルを組み立て
BeagleBoneBlackより構造がシンプルで必要な端子が片側にインライン配置となっているので組み上がった時の見てくれがオーディオ機器らしくなる。

SDカードにArchLinuxをインストールして音出しまでしたいがすんなりできるかどうかやってみないとわからない。HDMI端子がないのでディスプレイに繋いで確認が出来ないのは不安である。インストール後の設定と確認は、BeagleBoneBlacKでやった方が確実だろう。SSH接続、シリアル接続がうまく出来るとは思えないのである。インストールの手順は、ArchLinuxArmの最新のインストール手順に従うことになる。



2016年3月9日水曜日

ホームAV&オーディオ

居間のシステムの紹介である。スカパーチューナーとブルーレイプレーヤーのアナログ音声出力をセレクターで切り替えてアンプのライン入力に接続している。映像出力は、それぞれのHDMIを液晶TVに直接接続。地上波デジタル放送は、見ない主義なのでアンテナも設置していない。
音声周りの接続の様子である。2系統しかないのでシンプルそのものである。セレクターの上にUSB接続のHDDを置いてあるがブルーレイプレイヤーのフロントUSB端子に接続してリニアPCM(WAV)音声を再生する目的である。CDをリッピングしたファイルをため込んである。
スピーカーは、長岡式自作スピーカーR101ヒドラである。
右CH