スレッドを新しくしました。
動作報告です。
arch linuxは現在3.8.13-21-ARCHですが、今まで通りの方法でmake installすれば、botic driverが動きました。
[root@arch-botic ~]# uname -a
Linux arch-botic 3.8.13-21-ARCH #1 SMP Tue Apr 29 18:41:30 MDT 2014 armv7l GNU/Linux
[root@arch-botic ~]# echo BB-BONE-BOTIC3 > /sys/devices/bone_capemgr.*/slots
[root@arch-botic ~]# cat /proc/asound/cards
0 [Botic ]: TPA_Botic - TPA Botic
TPA Botic
top - 23:41:36 up 5 min, 1 user, load average: 0.10, 0.11, 0.05
Tasks: 61 total, 1 running, 60 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.7 us, 2.7 sy, 0.0 ni, 94.6 id, 1.0 wa, 0.0 hi, 1.0 si, 0.0 st
KiB Mem: 507492 total, 137160 used, 370332 free, 6276 buffers
KiB Swap: 0 total, 0 used, 0 free. 103132 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
182 root 20 0 0 0 0 S 2.3 0.0 0:01.70 cifsd
148 root 20 0 91608 12832 5324 S 2.0 2.5 0:03.00 mpd
15 root 20 0 0 0 0 S 0.3 0.0 0:00.23 kworker/0:1
286 root 20 0 10328 3328 2664 S 0.3 0.7 0:00.30 sshd
syuさん、moctさん
external-clock-switchを使えるように(たぶん)am335x-boneblack.dtbを修正しましたので、よろしければ検証お願いします。
ファイルを展開後、am335x-boneblack.dtbを/dtbsにコピーして再起動です。
https://drive.google.com/file/d/0BxnbJHx0_xurUFMyZ3c4dDRZX1k/edit?usp=sharing" target="_blank">https://drive.google.com/file/d/0BxnbJHx0_xurUFMyZ3c4dDRZX1k/edit?usp=sharing
ソースをみるとexternal-clock-switchとして以下の3つ使えるようですが、botic_driver/firmware/am335x-boneblack.dtsでは、external-clock-switchが無効にされてるようです(BOTIC1に相当)
/* external clock switch options */
// 0x184 0x1f /* conf_uart1_txd.GPIO0_15 | OUTPUT | PULLUP */
// 0x180 0x1f /* conf_uart1_rxd.GPIO0_14 | OUTPUT | PULLUP */
// 0x078 0x1f /* conf_gpmc_ben1.GPIO1_28 | OUTPUT | PULLUP */
今回UPしたam335x-boneblack.dtbは、botic_driver/firmware/BB-BONE-BOTIC3-00A0.dtsを参考にして、external-clock-switchが使えるよう以下の部分を変更してみました。
(BB-BONE-BOTIC1-00A0.dtsとBB-BONE-BOTIC3-00A0.dtsのdiffから判断)
--- am335x-boneblack.dts(昨日UPしたもの)
+++ am335x-boneblack.dts(今回変更したもの)
@@ -70,7 +70,7 @@
0x1a8 0x1f /* mcasp0_axr1.GPIO1_27 | OUTPUT | PULLUP */
/* external clock switch options */
-// 0x184 0x1f /* conf_uart1_txd.GPIO0_15 | OUTPUT | PULLUP */
+ 0x184 0x1f /* conf_uart1_txd.GPIO0_15 | OUTPUT | PULLUP */
// 0x180 0x1f /* conf_uart1_rxd.GPIO0_14 | OUTPUT | PULLUP */
// 0x078 0x1f /* conf_gpmc_ben1.GPIO1_28 | OUTPUT | PULLUP */
>;
@@ -192,6 +192,6 @@
* - GPIO set(+1) and number - according the selection above
* - mode: +1 = ext 44k1, +2 = ext 48k, +3 reverse high/low
*/
- external-clock-switch = <&gpio0 15 0>; /* gpio0_15: not used */
+ external-clock-switch = <&gpio1 15 3>; /* gpio0_15: 44k1 and 48k */
};
};
<&gpio1 15 x>で切り替えるようですね。
0:48k(BOTIC1)
1:44k1(BOTIC2)
2:ext 48k
3:reverse high/low(BOTIC3)
tinkerさん
>external-clock-switchを使えるように(たぶん)am335x-boneblack.dtbを修正
ありがとうございます。これを期待してました。
早速、今夜にでも、テストに取りかからせていただきます。
tinkerさん
>external-clock-switchを使えるように(たぶん)am335x-boneblack.dtbを修正しましたので、よろしければ検証お願いします。
ファイルを展開後、am335x-boneblack.dtbを/dtbsにコピーして再起動です。
上の手順の後、外部クロックをつなぐ、つながないの2バージョンで再起動してみました。
結果は、どちらの場合もBOTIC1で起動します。(Debianです)
取り急ぎ報告でした。
ついでですが、結線状態です。BBBは画鋲のプラスチックの箱に入れてあります。最近、内側に薄い銅版、外側にアルミテープ張りました。外観がますますボロボロです。
これだけの結線で、音が劇的といえるほどグレードアップします。驚きです。
http://mimizukobo.sakura.ne.jp/upload/moct_I2S_01.jpg" target="_blank">http://mimizukobo.sakura.ne.jp/upload/moct_I2S_01.jpg
tinker さん
勘違いしていました。早とちりで申し訳ありません。
am335x-boneblack.dtbをrootfsの方の/boot/dtbsにコピーしてそのつもりになっておりました。
今度こそbootパーティションの方の/dtbsにコピーしました。
root@beagle:~# cat /proc/asound/card0/pcm0p/sub0/hw_params
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 44100 (44100/1)
period_size: 102
buffer_size: 16384
BOTIC3に変わっているようです。amaneroを接続し再生しようとしますが反応がありません。5秒後ぐらいにmpdが落ちました。今はこんな感じです。
moctさん
>BOTIC3に変わっているようです。amaneroを接続し再生しようとしますが反応がありません。5秒後ぐらいにmpdが落ちました。
変更箇所は概ね合っている感じですね。
rt_opt無しのmpdでも同じ結果でしょうか?
ソースを眺めても、これ以上変更できそうなところが無いんですよね。
3.13.xに比べてcapeに対するpatchが少ないので、その辺りも関係しているかもしれないですね。
3.13.xなら動くのかなぁ・・・
自分でtest出来る環境を整えられればいいんですが、twlさんから笑い取れるくらい工作ベタなんですよね。
twlです。
tinkerさん、せっかくお作りになられたカーネルを試す時間がなくお役にたてず申し訳ありません。でもmoctさんのような力強い殉教者(? (^^; )がご参加されているので進捗ははかどりそうですね。
連休も過ぎたあたりからスケープゴートになりたいと思っておりますので、これからも是非素敵なカーネルをお願い申し上げます。
休日なので、ちょっと夜更かしのsyuです。当地は西の端なのですが、もう夜が明けています。
tinkerさん
rt kernelとbotic3ドライバの公開、改めて、ありがとうございます。
https://drive.google.com/file/d/0BxnbJHx0_xurUFMyZ3c4dDRZX1k/edit?usp=sharing" target="_blank">https://drive.google.com/file/d/0BxnbJHx0_xurUFMyZ3c4dDRZX1k/edit?usp=sharing
このファイルをコピーしてみましたが、わたしのところでも動きませんでした。
moctさんの場合と同じで、外部クロックが認識されず、mpdは動いているのにGMPCが接続できなくなります。ssh接続は保たれます。
dtsファイルを復元してbotic1に設定してみました。
# pacman -S dtc
# dtc -I dtb -O dts -o am335x-boneblack.dts am335x-boneblack.dtb
# nano am335x-boneblack.dts
(適切に編集)
------
onboard-clock-enable = <0x43 0x1b 0x1>;
external-clock-switch = <0x2f 0xf 0x0>;
------
# dtc -I dts -O dtb -o am335x-boneblack.dtb am335x-boneblack.dts
# cp am335x-boneblack.dtb /boot/dtbs
(arch linuxです)
が、挙動は同じで音は出ませんでした。
どうも後からのdts/dtbがどこかおかしいようです。
一つ前に戻ってみました。
https://drive.google.com/file/d/0BxnbJHx0_xurQV9mbmtYNmdKVkU/edit?usp=sharing" target="_blank">https://drive.google.com/file/d/0BxnbJHx0_xurQV9mbmtYNmdKVkU/edit?usp=sharing
このdtbファイルからdtsファイルを復元し、以下のように書き換えます。
------
onboard-clock-enable = <0x43 0x1b 0x0>;
external-clock-switch = <0x2f 0xf 0x3>;
------
再度
# dtc -I dts -O dtb -o am335x-boneblack.dtb am335x-boneblack.dts
# cp am335x-boneblack.dtb /boot/dtbs
# sync
# rebt(独自スクリプト)
起動時に外部クロック(D-Clock Neutrino)が認識され、音が出ました。外部クロックを手動で切り換えると、48kHz系も正常な早さで再生できます。mpdは0.18.9-dsd-rtです。
[root@arch-botic ~]# mpd -V
Music Player Daemon 0.18.9-dsd
[root@arch-botic ~]# systemctl status mpd
● mpd.service - Music Player Daemon
Loaded: loaded (/usr/lib/systemd/system/mpd.service; enabled)
Active: active (running) since Thu 1970-01-01 09:00:11 JST; 44 years 4 months ago
Main PID: 258 (mpd)
CGroup: /system.slice/mpd.service
└─258 /usr/local/bin/mpd --no-daemon /etc/mpd.conf
音は最高です。キンキンギラギラが皆無に近く、解像度は恐ろしいほど。美事なハモリ方をします。もう何も要らない印象。
tinkerさん、改めて感謝致します。
しかし、topを表示させようとしたら、表示されなくなっています。なぜでしょう。
onboard-clock-enable = <0x43 0x1b 0x0>;
が影響してるのでしょうか。
まあ、音がもの凄く良いので、鑑賞が先。検証は後回しですね。でも、その前に、皆様おやすみなさいませ。
syuさん
検証ありがとうございます。
修正されたdtb,dtsをUPして頂いて、moctさんにもtestしてもらえるといいですね。
>どうも後からのdts/dtbがどこかおかしいようです。
ここの修正はいらないってことですね。
-// 0x184 0x1f /* conf_uart1_txd.GPIO0_15 | OUTPUT | PULLUP */
+ 0x184 0x1f /* conf_uart1_txd.GPIO0_15 | OUTPUT | PULLUP */
>onboard-clock-enable = <0x43 0x1b 0x0>;
>external-clock-switch = <0x2f 0xf 0x3>;
16進で書けばOKってっことなんですね。
>しかし、topを表示させようとしたら、表示されなくなっています。なぜでしょう。
これは分からないです。こんな影響が出るんですね。
external-clock-switch = <0x2f 0xf 0x3>;だけにすればどうなるんでしょうか。
>音は最高です。キンキンギラギラが皆無に近く、解像度は恐ろしいほど。美事なハモリ方をします。もう何も要らない印象
capeはいつ出るのかなぁ、早く試してみたいです。
もうすぐrt2が出るので、rt2が出たらkernelの作り方などまとめてみます。
3.14の目玉の一つは、高速化されたDeadlineらしいです。
twlさん
お久しぶりです。
いまだ、BBB+I2Sでデビュー出来てません(;_;)
syuさん,moctさんに協力して頂いて、なんとか動くようになりました。
時間がとれるときに検証して頂けると助かります。
tinker さん syu さん
本当にありがとうございます。
私の方も先ほど、ついに、いや見事に、音だし成功しました。
これは見事いう他にない鳴り方です。曲間が静かで長く感じます。本当にハモリますね。
そして、嬉しいことにamaneroが自動で追従します。普通にUSBにamaneroを接続したまま再起動しました。44.1/16で音が出るのを確認した後、恐る恐る192/24の再生をしました。これが普通に鳴るんです。
ということは、BBBとdacのスイッチを入れるだけでこの音が手に入ります。楽チンでかつ嬉しいことです。tinkerさんsyuさん、改めて感謝します。
debianではtop大丈夫です。
44.1/16 mpd 0185dsd-rt
top - 01:34:59 up 24 min, 1 user, load average: 0.01, 0.07, 0.13
Threads: 110 total, 1 running, 109 sleeping, 0 stopped, 0 zombie
%Cpu(s): 2.6 us, 4.2 sy, 0.0 ni, 93.1 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 501944 total, 496096 used, 5848 free, 2336 buffers
KiB Swap: 0 total, 0 used, 0 free, 408768 cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
6701 mpd -50 0 82048 78m 23m S 1.3 15.9 0:01.44 mpd
2399 root 20 0 18336 876 648 S 1.0 0.2 0:08.99 cpufreqd
7054 root 20 0 4216 1280 880 R 1.0 0.3 0:00.38 top
13 root -2 0 0 0 0 S 0.3 0.0 0:01.66 rcuc/0
20 root -51 0 0 0 0 S 0.3 0.0 0:08.11 irq/28-edma
92 root -55 0 0 0 0 S 0.3 0.0 0:24.25 irq/57-4a100000
93 root -51 0 0 0 0 S 0.3 0.0 0:08.85 irq/
tinkerさん
>16進で書けばOKってっことなんですね。
私の環境では、なぜか普通のdtsからdtcしようとしても失敗するので、動作しているdtbから復元しました。16進でないといけないのかは未検証です。
>ここの修正はいらないってことですね。
-// 0x184 0x1f /* conf_uart1_txd.GPIO0_15 | OUTPUT | PULLUP */
+ 0x184 0x1f /* conf_uart1_txd.GPIO0_15 | OUTPUT | PULLUP */
これも結果的にはそうなんですが、無関係な気もします。
皆様
botic3で動作した am335x-boneblack.dts と dtb です。
onboard-clock:0 = disabled
external-clock-switch:3 = reverse high/low
にしています。
http://mimizukobo.sakura.ne.jp/upload/am335x-boneblack.dts-botic3a" target="_blank">http://mimizukobo.sakura.ne.jp/upload/am335x-boneblack.dts-botic3a
このdtsからdtcで作成したdtb
http://mimizukobo.sakura.ne.jp/upload/am335x-boneblack.dtb" target="_blank">http://mimizukobo.sakura.ne.jp/upload/am335x-boneblack.dtb
onboard-clock:1 = enabled
external-clock-switch:3 = reverse high/low
でも動作します。
http://mimizukobo.sakura.ne.jp/upload/am335x-boneblack.dtb-botic3b" target="_blank">http://mimizukobo.sakura.ne.jp/upload/am335x-boneblack.dtb-botic3b
ご検証よろしくお願いします。
moctさん
音良いですよね。もう最高です。
これでtinkerさんのところにtest環境が整えば、最適化されたconfigで作成されたrt kernelをご提供いただけるようになるかと思うと・・・なにか、こう、胸に迫ってくるものがありますね ^^;;
miero氏にも、最大の賛辞をお送りしたいです。
syuさん、moctさん
ご協力ありがとうございました。
3.13.x以降のkernelで動作するっていうのは、個人的には大歓迎です。
3.8.xの音はともかくとして、make中にwarningが沢山出るのが気持ち悪いんです。
時間のある時で結構ですので、RTでない3.14.xの検証をお願いできないでしょうか。
RTにしなくても大丈夫だよねって話になるかもしれません。
*.debですが、以下からmake済みのkernel,modules,headers等を貰ってくることが出来ます(ArchのPKGBUILDを眺めてて発見しました)
3.14.2は試していないのですが、3.14.1は問題なくモジュールの作成が出来ました。
http://rcn-ee.net/deb/wheezy-armhf/v3.14.2-bone2/" target="_blank">http://rcn-ee.net/deb/wheezy-armhf/v3.14.2-bone2/
必要なのは、
http://rcn-ee.net/deb/wheezy-armhf/v3.14.2-bone2/3.14.2-bone2-dtbs.tar.gz" target="_blank">http://rcn-ee.net/deb/wheezy-armhf/v3.14.2-bone2/3.14.2-bone2-dtbs.tar.gz
http://rcn-ee.net/deb/wheezy-armhf/v3.14.2-bone2/3.14.2-bone2-firmware.tar.gz" target="_blank">http://rcn-ee.net/deb/wheezy-armhf/v3.14.2-bone2/3.14.2-bone2-firmware.tar.gz
http://rcn-ee.net/deb/wheezy-armhf/v3.14.2-bone2/linux-headers-3.14.2-bone2_1.0wheezy_armhf.deb" target="_blank">http://rcn-ee.net/deb/wheezy-armhf/v3.14.2-bone2/linux-headers-3.14.2-bone2_1.0wheezy_armhf.deb
http://rcn-ee.net/deb/wheezy-armhf/v3.14.2-bone2/linux-image-3.14.2-bone2_1.0wheezy_armhf.deb" target="_blank">http://rcn-ee.net/deb/wheezy-armhf/v3.14.2-bone2/linux-image-3.14.2-bone2_1.0wheezy_armhf.deb
*.debについては、arで展開できます。
展開して出てくる data.tar.gz を更に展開するとArchでも使用することが出来ると思います。
ar vx linux-image-3.14.2-bone2_1.0wheezy_armhf.deb
syuさん
capeの販売が始まったら教えて下さいね。
追記
headersは、展開して出てきたdata.tar.gzを/(ルート)において展開すると、/usr/srcに展開してくれます。
また、kernelはファイル名がvmlinuzになっていますので、zImageに変更してお使いください。
tinkerさん
volumioでやってみました。
root@volumio:~# uname -a
Linux volumio 3.14.2-bone2 #1 SMP Mon Apr 28 21:36:34 UTC 2014 armv7l GNU/Linux
RTと遜色がないというか、これが一番好きかも知れません。
音の実体感(発音体がそこにある感じ)が今までで一番のように思います。とにかく音を出したらつい聞いてしまいます。
もうこの世界から戻れそうもないです。
top - 17:15:27 up 1:02, 1 user, load average: 0.17, 0.07, 0.06
Threads: 93 total, 1 running, 92 sleeping, 0 stopped, 0 zombie
%Cpu(s): 1.7 us, 1.0 sy, 0.0 ni, 97.4 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 505488 total, 471656 used, 33832 free, 7636 buffers
KiB Swap: 0 total, 0 used, 0 free, 417304 cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2338 mpd 20 0 92716 16m 2508 S 1.0 3.3 0:34.00 mpd
3739 root 20 0 2668 1184 808 R 0.7 0.2 0:00.16 top
2339 mpd 20 0 92716 16m 2508 S 0.3 3.3 0:12.09 mpd
1 root 20 0 1688 628 528 S 0.0 0.1 0:03.02 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.82 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
moctさん
>RTと遜色がないというか、これが一番好きかも知れません。
RTでなくとも良さそうですね。あとは好みの問題なんでしょうね。
早くcape出ないかなぁ。
今回の検証で最も大きな成果は、3.8以外のkernelでも3.8と同等の機能が使えることが確認できたことですね。
好みによりkernelのVerが選べますし、3.14ならRT化も容易です。
皆様
3.14.2を想定して、簡単にまとめてみました。
gitをcloneしている場合のクロスコンパイルはtools/rebuild.shで再構築すればいいのですが、cloneしていない場合やBBBでコンパイルする場合は、パッチで済ますほうがサイズが小さいので良いかなと思います。
問題は、RT化した場合のヘッダの構築をどうしようか悩んでます。
カーネルビルドに使ったソースをそのまま持ってくれば大丈夫だと思いますが、サイズが大きいです。
make arch=arm INSTALL_HDR_PATH=../bbb-1402-bone2/hdr/ headers_installしたものを、linux-headers-3.14.2-bone2/arch/arm/includeに上書きすれば使えると思いますが未検証です。
RT化の時に使ったヘッダはdebian流に作ったものですが、これも扱いが面倒です。
DEB_HOST_ARCH=armhf make-kpkg --arch arm --subarch armhf --cross_compile arm-linux-gnueabihf- --revision 0.1 --us --uc kernel_image kernel_headers
と言うことで、RT化の場合のヘッダについては、ペンディングということで今後検討してみます。
1.カーネルソース及びパッチ
cd /usr/src
wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.14.2.tar.xz" target="_blank">https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.14.2.tar.xz
wget https://www.kernel.org/pub/linux/kernel/projects/rt/3.14/patch-3.14.2-rt3.patch.xz" target="_blank">https://www.kernel.org/pub/linux/kernel/projects/rt/3.14/patch-3.14.2-rt3.patch.xz (必要に応じて)
wget http://rcn-ee.net/deb/wheezy-armhf/v3.14.2-bone2/patch-3.14.2-bone2.diff.gz" target="_blank">http://rcn-ee.net/deb/wheezy-armhf/v3.14.2-bone2/patch-3.14.2-bone2.diff.gz
wget http://rcn-ee.net/deb/wheezy-armhf/v3.14.2-bone2/linux-headers-3.14.2-bone2_1.0wheezy_armhf.deb" target="_blank">http://rcn-ee.net/deb/wheezy-armhf/v3.14.2-bone2/linux-headers-3.14.2-bone2_1.0wheezy_armhf.deb (展開方法等はNo.4358参照)
wget http://mimizukobo.sakura.ne.jp/upload/botic1.diff.gz" target="_blank">http://mimizukobo.sakura.ne.jp/upload/botic1.diff.gz
2.カーネルソースを展開
tar Jxv linux-3.14.2.tar.xz
3.各種パッチ適用
cd linux-3.14.2
zcat ../patch-3.14.2-bone2.diff.gz | patch -p1
xzcat ../patch-3.14.2-rt3.patch.xz | patch -p1 (必要に応じて)
zcat ../botic1.diff.gz | patch -p1
4.botic部の編集(デフォルトはbotic1相当。botic3相当に変更可)
nano arch/arm/boot/dts/am335x-boneblack.dts
5.カーネルビルド(クロスコンパイルの場合)
make menuconfig
make -j3 LOCALVERSION=-bone2 (注1)
make INSTALL_MOD_PATH=../bbb-1402-bone2/ modules_install
make INSTALL_FW_PATH=../bbb-1402-bone2/lib/firmware/ firmware_install (必要に応じて)
make arch=arm INSTALL_HDR_PATH=../bbb-1402-bone2/hdr/ headers_install (必要に応じて)
注1)LOCALVERSION=-bone2を付けることで、uname -rの結果が3.14.2-bone2となり、kernekheadersの流用可。
syuさん、moctさん
上記4について、通常形式の(dtcで逆変換じゃない)am335x-boneblack.dtsを、botic3相当にする場合の編集方法を教えてもらえると助かります。
対応環境を所有する方は少数なので、急いではいません。
よろしくお願いします。
moctさん
>volumioでやってみました。
それも手なんですが、私の環境ではvolumioが起動失敗する状態が続いていて、試せないんですよね。
volumio forumの下記の記事とほぼ同じ状態です。
どなたでも、何かアドバイスいただけると、有難いです。
sdカードは複数のメーカで試しました。ddする母艦もubuntu12.04と14.04で同じ結果でした。
http://volumio.org/forum/init-respawning-too-fast-disabled-for-minutes-t1145.html" target="_blank">http://volumio.org/forum/init-respawning-too-fast-disabled-for-minutes-t1145.html
私の場合
[ ok ] Starting NFS common utilities: statd idmapd.
[ ok ] Starting NTP server: ntpd.
Starting nginx: nginx.
[ ok ] Starting rpcbind daemon...[....] Already running..
[....] Starting Samba daemons: nmbd smbdWARNING: couldn't create avahi client: Daemon not running!
WARNING: Calling avahi-publish-service failed !
WARNING: Calling mDNSPublish failed !
WARNING: Calling dns-sd failed !
Listening for connections.
2347
. ok
[ ok ] Starting OpenBSD Secure Shell server: sshd.
cat: /run/player_wrk.pid: No such file or directory
[ 64.832770] net eth0: initializing cpsw version 1.12 (0)
[ 64.840562] net eth0: phy found : id is : 0x7c0f1
[ 64.845503] libphy: PHY 4a101000.mdio:01 not found
[ 64.850513] net eth0: phy 4a101000.mdio:01 not found on slave 1
[ 64.862769] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 66.845964] libphy: 4a101000.mdio:00 - Link is Up - 100/Full
[ 66.851965] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
INIT: Id "T0" respawning too fast: disabled for 5 minutes
tinkerさん
arch linuxは3.14.2-2-ARCHになっていますが、これでは make install が通りますので、対応したようです。
No.4363の方法で3.14.2のam335x-boneblack.dtsからbotic3用のdtbを作ろうとしたのですが、dtbが作成できません。
export ARCH=arm
export CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf-
make menuconfig
make -j3 zImage modules dtbs LOCALVERSION=-bone2
とやってみましたが、/arch/arm/boot/dtsにdtbが出来ないのです。
dtcで作ろうとしても、syntax errorが出てdtbが作成できないんですよね。
ubuntu1404/1204でもbbb(3.14.2-2-ARCH)でも同じ結果。
usr/src/linux-3.14.2/arch/arm/boot/dts# dtc -I dts -O dtb -o am335x-boneblack.dtb am335x-boneblack.dts
Error: am335x-boneblack.dts:10.1-9 syntax error
FATAL ERROR: Unable to parse input tree
改めて、3.8.13-22-ARCH(botic3)と3.14.1-rt1を比較してみましたが、私の環境では3.14.1-rt1(botic3)が大差で良好です。
i2s接続でも、rt kernelはかなり高い優位性があると思います。
とりあえず、dtsからdtbを作成する正しい手順など、お教えください。
syuさん
4342のdtbが動かなかったとのことで、なんかゴミ(2バイト文字とか)が入ってるのかなと思い、今回のpatchはLANG=Cの環境で作りなおしてみたのですが、まだおかしいのかな・・・
diff -aNu file1 file2 > botic1.diff
こちらでは、make dtbsで問題なくdtbができているようです。
こちらの環境は、Debian 64bitに以下をinstallしたものです。
dpkg --add-architecture i386
apt-get update
apt-get install build-essential device-tree-compiler fakeroot lzma lzop u-boot-tools libncurses5-dev libc6:i386 libncurses5:i386 libstdc++6:i386 zlib1g:i386
dtsを編集しdtbを作成したところdmesgは以下のようになり、検証は出来ませんが、外部クロックになっているようです。
onboard-clock-enable = <&gpio1 27 0>;
external-clock-switch = <&gpio0 15 3>;
[ 7.636039] snd_davinci_botic: enabling 44100fs modes with external clock
[ 7.643318] snd_davinci_botic: enabling 48000fs modes with external clock
syuさんのところでdtbができない問題ですが、検討がつかないんです。
もしかしたら、以下が該当しているのかもしれません(こちらでは使っていませんが問題なし)
dtcにbugがあるらしく、BBBのページでは以下を使うようにしているようです。
ただwandboardのとこには、この記述はありません。BBBだけの問題なのでしょうか?
http://www.eewiki.net/display/linuxonarm/BeagleBone+Black#BeagleBoneBlack-Upgradedistro%22device-tree-compiler%22package" target="_blank">http://www.eewiki.net/display/linuxonarm/BeagleBone+Black#BeagleBoneBlack-Upgradedistro%22device-tree-compiler%22package
>i2s接続でも、rt kernelはかなり高い優位性があると思います。
DSDに対応した時に、USB DACの時のような問題が発生しないかとの心配はまだありますね。
また、CFQ(配布されているkernel)とDeadlineの差もあると思います。
使い始めて1年近く経ちましたが、BBBは遊び飽きないですね^^;
別件ですが、もしかしたらrt3おかしいかもしれません。
U3で試しているのですが、起動しません。
tinkerさん
>
dpkg --add-architecture i386
apt-get update
apt-get install build-essential device-tree-compiler fakeroot lzma lzop u-boot-tools libncurses5-dev libc6:i386 libncurses5:i386 libstdc++6:i386 zlib1g:i386
たずねてみたら、全部最新だそうです。
>Upgrade distro "device-tree-compiler" package
これもやって見たんですよね。
いつだったか、yoさんのところでも、ちょっと似たところのある怪奇現象(コンパイルのトラブル)が発生していませんでしたっけ。
私のpcが腐りかけてるのかな。Phenom II X2 560ですから。
>DSDに対応した時に、USB DACの時のような問題が発生しないかとの心配
bbbの限界は 2.3MB/s data throughputらしいですので、384/32の片チャンネルで1.5MB/sは可能でも3MB/sになる384/32ステレオは動かないそうです。
すると、dsd128(2ch)まで余裕? dsd256は非rtでも無理?。
http://www.diyaudio.com/forums/twisted-pear/250583-building-open-embedded-audio-applicance-56.html#post3886617" target="_blank">http://www.diyaudio.com/forums/twisted-pear/250583-building-open-embedded-audio-applicance-56.html#post3886617
syuさん
ubuntu12.04(32bit)でやってみました。
.config持ってきて、
make oldconfig
make dtbs でdtbが出来ました。
環境がおかしくなってるんですかね。
dtsにゴミ入ってるかもなので、nkfに通してからやってみたらどうしょうか?
>bbbの限界は 2.3MB/s data throughputらしいですので、
私の聞いてるものは、384/32なんて音源は出そうもないので無問題です。
3.14.2+rt3をUPします。
せっかくなので、configを少しいじりました。
音は変わっていると思いますが、なんせ環境が整っていないので分かりません。
https://drive.google.com/file/d/0BxnbJHx0_xurcWQ4NVM2Y2ZpS1U/edit?usp=sharing" target="_blank">https://drive.google.com/file/d/0BxnbJHx0_xurcWQ4NVM2Y2ZpS1U/edit?usp=sharing
当たり障りのなさそうなところを変更しました(コメントなきものは削除)
Device Drivers
・Networking support
CAN bus subsystem support
IrDA (infrared) subsystem support
Bluetooth subsystem support
Wireless
WiMAX Wireless Broadband support
NFC subsystem support
・Network device support
PPP (point-to-point protocol) support
SLIP (serial line) support
Wireless LAN
・Ethernet driver support
Texas Instruments (TI) devices関係以外は削除
・Input device support
可能な限り削除
・Graphics support
OMAP2+ Display Subsystem support以外は削除
File systems
・XFS filesystem support
モジュールに変更
・Btrfs filesystem support
モジュールに変更
・Network File Systems
NFS server support
・Native language support
NLS UTF-8 ビルトインに変更
カーネルは2種類用意しています。
デフォルトはDeadlineでBOTIC1です。
またdtbはBOTIC3用も同包しています。
ただし、BOTIC3用のdtbは検証出来ないので、動かない場合はsyuさんがUPされているdtbをお使いください。
使用したソースなどは、No4363を参照してください。
なお今回のものは、LOCALVERSIONを付けずに
make -j3 のみでbuildしています。
syuさん
この先は、環境がないとなんともです。
しばらく3.14.2+rt3で遊んでいてくださいm(__)m
Syuさん
Volumioは、DD for Win 使ってDDです。カードは、SanDiskやKingMax他を使っています。何回かリセット後というのはありますが、完全に起動失敗というのはありません。
後は、起動後IEから操作するとエラーが多いようです。私はSRIronを使って設定を行っています。
tinkerさん
3.14.2+rt3のupありがとうございます。
Debianではこれが最高です。3.14.1rt+Debianだと、声が若くなりすぎるのが唯一の難点でしたが、今回のでは年相応に聴こえます。CFQとDeadlineはもう少し聴いてみないと、まだなんともいえません。
Archの方は3.14.1rtが非常にバランスよく聴こえます。3.14.2+rt3だと、声にドスが利きすぎます。特にDeadline!
I2Sになってから(特にRT以降)、比較試聴をしようと思っても、つい聴いてしまい先に進めなくなってしまいました。聴き始めるとこれでいいと思ってしまいます。
dtbの確認はしていません。
スキル不足でdts.dtbの内容がちんぷんかんぷんです。No4352のsyuさんの書き込みとgoogle先生から教えてもらい生まれてはじめてDevice Tree Compilerの存在を知りました。お役に立てずすみません。
I2S接続でAmaneroを使う場合、blacklist snd-usb-audio で接続したまま起動でき、サンプルレートも追従します。
moctさん
>I2Sになってから(特にRT以降)、比較試聴をしようと思っても、つい聴いてしまい先に進めなくなってしまいました。
羨ましい悩みですね。こちらではtopを眺めながら、少し負荷下がったかな?とかしか分かりません^^;
>Compilerの存在を知りました。お役に立てずすみません。
試して頂いて正直な感想を書いて頂けると、今後の方針に役立ちます。
RTでないkernelも、configを調整することで良くも悪くも音は変化します。
カーネルソースは公開されていますし、Archなどから提供された状態のまま聞くのは、個人的にはもったいないなぁと思います。
機会があれば、moctさんもカーネルビルドに挑戦してみて下さい。
皆様
ヘッダーの作成ですが、いろいろ試したのですが良い方法が分かりません。
とりあえず今回もdeb形式で作りました。
ただおかしなところがあるようで、BOTICモジュール作成時にエラーが出ます。
そこで、以下を3.14.2-bone2の物に差し替えたものを使用しています。
scripts/basic/*
scripts/mod/*
作成方法は、以下のとおりです。
DEB_HOST_ARCH=armhf CONCURRENCY_LEVEL=3 make-kpkg --rootcmd fakeroot --arch arm --subarch armhf --cross_compile /usr/bin/arm-linux-gnueabihf- kernel_image kernel_headers
(rootで作成する時は、--rootcmd fakerootは不要)
moctさん
volumio起動時のエラーメッセージに
[....] Starting Samba daemons: nmbd smbdWARNING: couldn't create avahi client: Daemon not running!
ってことは、意味不詳ですが、サーバー側にshairportみたいなものを入れてないと、volumioがcouldn't create avahi clientってことなんでしょうかね。でもQnapもぶら下がってるしなあ。volumio側のshairportが起動失敗してるのかな。
差し当たりこの件は、そのうちあちら側で解決するまで保留ですね。
tinkerさん
試したのはarchだけですが、同梱のdtbでbotic3が動作しました。ありがとうございました。
31402rt3deadline
[root@arch-botic ~]# top
[root@arch-botic ~]# uname -a
Linux arch-botic 3.14.2-rt3 #1 SMP PREEMPT RT Tue May 6 17:51:11 JST 2014 armv7l GNU/Linux
31402rt3cfq
[root@arch-botic ~]# top
[root@arch-botic ~]# uname -a
Linux arch-botic 3.14.2-rt3 #1 SMP PREEMPT RT Tue May 6 18:34:47 JST 2014 armv7l GNU/Linux
31401rt1ddeadline
[root@arch-botic ~]# uname -a
Linux arch-botic 3.14.1-rt1 #1 SMP PREEMPT RT Tue Apr 29 20:43:52 JST 2014 armv7l GNU/Linux
私の環境では、31401rt1、3102rt3deadline、31402rt3cfq、どれも良い音で、甲乙付けがたいですね。
このレベルに達すると、本当に文字通り「僅かな好みの差」でしかなく、どれも文句のつけようがない。
これもあくまで私の環境に限定ですが、あえて好みを言えば、僅差で31402rt3deadlineですかね。
31401rt1deadlineは僅かに曇りガラスな少しだけ平面的な印象。
31402rt3cfqは、31402rt3deadlineよりちょっとだけ硬めかなあ。
でも今日は疲れてるし・・明日は気分が変わるかもです。
ご無沙汰しています。
過去ログや情報リンク先もあまり読まずにクレクレ君風質問で失礼します。
BBBでのI2S接続について下記3点、どなたかお教えいただけませんでしょうか。
<<44.1k系と48k系との切り替え>>
外部クロックとして22.5792MHz、24.576MHzを用意する前提で、音楽ソースに応じて両クロックを切り替えるための信号は用意されているのでしょうか。
或いは2つのクロック入力PINがあって、両クロックを常時与えっぱなしという仕組みなのでしょうか。
<<I2S上の信号形式>>
I2S信号線上でPCMを送るにはI2S、スタンダード右詰、スタンダード左詰という3種の形式があるのですが、BBBではどの形式なのでしょうか。
<<DSD再生>>
恐らくDSD再生も可能なのではと想像しています。
その場合のPIN配置はどうなっているのでしょう。また、PCM再生とDSD再生とでDACに切り替え指示を行うための信号は出ているのでしょうか。
質問ばかりで申し訳ありません。
PCMとDSDを自動切換えしながら再生できればAmaneroなどのDDC(変換器)が不要となり非常に魅力的だと思っています。
pheniciaさん
先日はアドバイスありがとうございました。おかげでbotic1の音を出すことが出来ました。
<<44.1k系と48k系との切り替え>>
botic3ではクロックはP9_25に入力します。ソースに応じてP9_24の出力が変化しますので、その信号でクロックを切り替えます。どちらがHだったか忘れました。
私は、過剰かもしれませんが、24.576MHzと22.5792MHzのクロックを高周波リレーで切り替えるべく準備をしています。クロックはDAC側のI2S端子のmclkに直接入れ、そこからアイソレータを介してBBBのP9_25に入れるつもりです。
<<I2S上の信号形式>>
よく知りませんが、そのまま接続しても再生できています。
<<DSD再生>>
BBB向けのドライバ開発者の言では、現在公開されているドライバ(v4)では未対応です。開発者の手元ではDSD再生に成功しているそうです。DSD対応ドライバもいずれ公開されます。
>PCM再生とDSD再生とでDACに切り替え指示を行うための信号
その目的の信号はまだ定義されていません。ait-dacでは、元々自動判定になっていますので気にしていません。ait-dacではDDCの場合もDSD-on/offの信号は使用していないようです。
ドライバの解説はここ↓とDIYAudioのフォーラムしかないようです。
http://bbb.ieero.com/" target="_blank">http://bbb.ieero.com/
syuさん
> 開発者の手元ではDSD再生に成功しているそうです。DSD対応ドライバもいずれ公開されます。
miero氏が述べていますが、4月17日の時点ではドライバーは未完成、DSDのテストに使える程度で再生に成功している訳ではないようです。
ドライバーの公開も結構先の話かもしれません。というのは、かなり前にも書きましたが、BBB用のI2S capeを準備中のTPAのWhite氏は関連フォーラムの初期段階でリアルなDSD再生を目指すと宣言しているので、DSD再生をDOP形式に依存している現行のMPDでは再生できない可能性もあります。
ま、White氏はそのあたりの問題に気配りする人なので、ハードやソフトの面でなんらかの妥協点が示されるかもしれませんが、MPDが進化しないのであれば、capeのキットが販売された場合にはMPD以外のDSD専用のソフトウェアがそのために準備される可能性もあります。
Volumioの作者が3月ぐらいにAlsa-DSD Playerというのを発表していますが、このあたりがその専用ソフトウェアになるかもしれませんね。
twl
Phoeniciaさん
> I2S信号線上でPCMを送るにはI2S、スタンダード右詰、スタンダード左詰という3種の形式があるのですが、BBBではどの形式なのでしょうか。
これは特に決まりはないというか、BBB本体からのシリアルなデジタル信号を引き出す方式は通常のI2Sそのものと認識しています。
ただ、自分のDACに環境をあわせようとする人達は以下の引用例のように、カーネル自体をいじることでハード側を目的に合わせる場合もあるようですね。
KERNEL/sound/soc/davinci/davinci-evm.c:
change the audio format to LEFT_J, which cs4271 recognizes
fix setting of sysclk and clkdiv
change the codec name to cs4271
(from: http://www.element14.com/community/community/knode/single-board_computers/next-gen_beaglebone/blog/2013/07/06/bbb--building-a-dac" target="_blank">http://www.element14.com/community/community/knode/single-board_computers/next-gen_beaglebone/blog/2013/07/06/bbb--building-a-dac)
TPAのBIIIやBIIISEあるいはWM8741を使ったOpus DACなどではDAC上のディップスイッチで切り替え可能なので、右詰、左詰はむしろDDCやDAC側で調節可能なのではと思われます。
申し遅れましたが、ES9018を使った上記のBIIIやBIIISEでもPCM/DSDは自動切り替えとなっています。
> PCMとDSDを自動切換えしながら再生できればAmaneroなどのDDC(変換器)が不要となり非常に魅力的だと思っています。
Amanero自体はPCMとDSDの自動切換えは可能ですので、おそらくDAC側の問題ではないでしょうか。DSD512およびPCM384kHzの分解能を持つ非常に優れた製品というのが私の印象です。
twl
syuさん
twlさん
詳しくお教えいただきありがとうございます。
PCMについては完成形に近い様ですね。
DSDは開発途上とのこと、後半年くらい待ってみようと思います。
それまではamaneroをメインで使って凌ぐことにします。
twlさん、情報ありがとうございます。
> ドライバーの公開も結構先の話かもしれません。というのは、かなり前にも書きましたが、BBB用のI2S capeを準備中のTPAのWhite氏は関連フォーラムの初期段階でリアルなDSD再生を目指すと宣言しているので、DSD再生をDOP形式に依存している現行のMPDでは再生できない可能性もあります。
・・・
> Volumioの作者が3月ぐらいにAlsa-DSD Playerというのを発表していますが、このあたりがその専用ソフトウェアになるかもしれませんね。
やっぱりそうなのですね。DoP方式を放棄しないと、I2S接続でちゃんとしたDSD再生は出来ないはずだと思っていたので、ようやく謎が解けました。
MPDのDoP方式でのDSD再生はオランダのJurgenさん(公開されているMPD-DSDの作者)という(多分)ソフトウェアエンジニアが開発しているのですが(僕は彼のパッチをこの掲示板に書き込む許可を頂戴するため、メールでやりとりしたことがあります)、彼はハードはあまり詳しくないと思われるので、このあたりどうなりますかね。
あと、MPDのメインテナーの中心人物のKellermannさんは非標準のテクノロジーに辛口の人だから(DoP再生の時もJurgenさんとかなり厳しいやりとりがありました)、そのあたりも懸念されるかな。
ところで、皆様
IrBerryをBBBにつなごうとしていますが、うまくいきません。
BBBのソフトは3.8.13-Bone41 Debianを使い、問題なくBoticドライバ(4.0)を組み込むことが出来るようになりました。ビルド時のtimex.hが無いよというエラーもNelsonさんのパッチをあてて対応しています。
しかしデジタル回路の仕組みがまったく分かっていないので(^^;;;、ハードとの接続が出来ません。
写真のように、BBBとIrBerryを接続し、
http://mimizukobo.sakura.ne.jp/upload/IRBBB.JPG" target="_blank">http://mimizukobo.sakura.ne.jp/upload/IRBBB.JPG
IrBerryとBBB両方の電源を入れboticドライバにハードを認識させようとすると、
echo BB-BONE-BOTIC1 > /sys/devices/bone_capemgr.*/slots
シリアルコンソール側に次のようなメッセージが出力されます。
[ 139.563862] bone-capemgr bone_capemgr.9: part_number 'BB-BONE-BOTIC1', version 'N/A'
[ 139.573212] bone-capemgr bone_capemgr.9: slot #7: generic override
[ 139.579730] bone-capemgr bone_capemgr.9: bone: Using override eeprom data at slot 7
[ 139.587736] bone-capemgr bone_capemgr.9: slot #7: 'Override Board Name,00A0,Override Manuf,BB-BONE-BOTIC1'
[ 139.598032] bone-capemgr bone_capemgr.9: slot #7: Requesting part number/version based 'BB-BONE-BOTIC1-00A0.dtbo
[ 139.608689] bone-capemgr bone_capemgr.9: slot #7: Requesting firmware 'BB-BONE-BOTIC1-00A0.dtbo' for board-name 'Override Board Name', version '00A0'
[ 139.629352] bone-capemgr bone_capemgr.9: slot #7: dtbo 'BB-BONE-BOTIC1-00A0.dtbo' loaded; converting to live tree
[ 139.640895] bone-capemgr bone_capemgr.9: slot #7: BB-BONE-BOTIC1 conflict P9.25 (#5:BB-BONELT-HDMI)
[ 139.650408] bone-capemgr bone_capemgr.9: slot #7: Failed verification
echoコマンドは
-bash: echo: write error: File exists
というエラーになります。
BBBとIrBerryの接続ですが、P9.25=MCK(赤 2番)、P9.28=DIN(緑 8番)、P9.29=LRCK(青 6番)、P.31=BCK(黄 4番)、黒はBBBの10番と20番のピン位置確認用で、IrBerryとは未接続です。設計者のたかじんさんから教えてもらっていますが、IrBerryの6番と8番のシルク文字印刷は逆です。
さて、この状態で、IrBerry側のled表示がまったくされていないことから、IrBerryが動いていなように見えます。
この前のスレッドの#4266 twlさん、#4279 syuさんのメッセージにリンクされている写真と比較すると、P9.3又はP9.4のVDD_3V3Bというやつを使わないといけないようですね。
IrBerryの回路図は下記のリンクの最終ページにあるのですが、
http://nw-electric.way-nifty.com/blog/files/IrBerryDAC_manual3.pdf" target="_blank">http://nw-electric.way-nifty.com/blog/files/IrBerryDAC_manual3.pdf
これを眺めると(僕の場合、回路図は「読む」で無く、「眺める」^^;;;)、外部I2S(WAVE IO I2S IN)の部分は10ピンあり、奇数側はGND、偶数側は上記の通り接続したのですが、10番の3.3V_Dのみ空いたままなのですよね。
この基板はr-piとつながる時は外部からDC5Vを入力して、r-piのP1.2に供給しているようです。どうも、この5Vのr-piへの供給が無いと、マイコンに3.3Vの電源が供給されず、動かない(ledランプが点灯しない)という状態になっているような感じなんですね。
というわけで、IrBerryの外部I2Sの空いている10番ピンにP9.3のVDD_3V3Bをつなげばいいじゃないかという感じなのだけど、回路図不調法の身、3.3Vなんて大電流(?)を勝手に流す勇気は無いので、思案しているという次第です。
まあ、IrBerryの設計者のたかじんさんにメールして確認するつもりですが、強者達のアドバイスよろしくです。
参考までに、P9のBBBのピンの配置図をアップロードフォルダーに置いておきます。出所はhifiduinoです。
http://mimizukobo.sakura.ne.jp/upload/i2spins.jpg" target="_blank">http://mimizukobo.sakura.ne.jp/upload/i2spins.jpg
yoさん
こんにちは
IrBerryには外部電源から5V供給されているんですね。
でしたら電源系は問題ないと思います。
恐らくIrBerryとBBBのGND同士が接続されていないので信号が伝わっていないのだと思いますが、いかがでしょうか。
yoさん
ハードは全然わからないので、気になったところだけ書いておきます。
[ 139.640895] bone-capemgr bone_capemgr.9: slot #7: BB-BONE-BOTIC1 conflict P9.25 (#5:BB-BONELT-HDMI)
[ 139.650408] bone-capemgr bone_capemgr.9: slot #7: Failed verification
となっていますが、uEnv.txtの修正はされていますか?
>ビルド時のtimex.hが無いよというエラー
これについては、ヘッダーのarch/arm/include/asm/mach/timex.hがないので出るようですので、timex.hをコピーすればいいようです(arch/arm/include/asm/machがなければディレクトリーも作成)
twlです。
tinkerさん、遅まきながら#4370で提供されたカーネルについてVolumioおよびBOTIC3の環境でI2S接続を試しました。連休中ちょっと遊びすぎ浦島状態だったので (^^; 、スレッドを眺めながら現状になんとか追いついたかなというところです。
まず結果ですが、無事にI2S接続で良好な再生が得られました。いつもながら本当にありがとうございます。
root@volumio:~# uname -a
Linux volumio 3.14.2-rt3 #1 SMP PREEMPT RT Tue May 6 18:34:47 JST 2014 armv7l GNU/Linux
root@volumio:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Botic [TPA Botic], device 0: ES9018 es9018-hifi-0 []
Subdevices: 0/1
Subdevice #0: subdevice #0
root@volumio:~# cat /proc/asound/card0/pcm0p/sub0/hw_params
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 44100 (44100/1)
period_size: 1024
buffer_size: 16384
一昨日Nelson版3.14.3のカーネル(non-RT)をビルドしたのですが、Boticドライバーは問題なくコンパイルでき、moduleとしても認識されるものの、相変わらずboot後にはロードされませんでした。
このスレッドを復習すると、どうもビルド時に生成されるam335x-boneblack.dtbに問題がありそうなので、上記のtinkerさんの3.14.2-rt3で提供されたBOTIC3用のdtb (am335x-boneblack.dtb-botic3) と入れ替えてみました。
入れ替え後bootしてみるとあっけなくBoticドライバーがロードされ、tinkerさんのrt3カーネル同様、良好なI2S接続での再生が得られました。これはと思い、syuさんのam335x-boneblack.dtb-botic3bにも入れ替えてみましたら、同様に問題なくI2S環境が得られました。カーネルのバージョンをあまり気にしなくてもいけちゃうところがいいのか、悪いのか、どうなんでしょうね。私としてはとても嬉しいのですが。(^^)
接続環境は
BBB - I2S (with external clocks) - Otto-II (from TPA) - Teleporter (from TPA) - BIIISE (from TPA)
動作状況は
root@volumio:~# uname -a
Linux volumio 3.14.3_BBB_0511-bone3 #2 SMP PREEMPT Sun May 11 22:41:39 JST 2014 armv7l GNU/Linux
root@volumio:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Botic [TPA Botic], device 0: ES9018 es9018-hifi-0 []
Subdevices: 0/1
Subdevice #0: subdevice #0
root@volumio:~# top H
top - 11:40:26 up 2 min, 1 user, load average: 0.32, 0.23, 0.09
Threads: 92 total, 1 running, 91 sleeping, 0 stopped, 0 zombie
%Cpu(s): 3.7 us, 0.3 sy, 0.0 ni, 95.7 id, 0.0 wa, 0.0 hi, 0.3 si, 0.0 st
KiB Mem: 507140 total, 115848 used, 391292 free, 5576 buffers
KiB Swap: 0 total, 0 used, 0 free, 68324 cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2260 mpd 20 0 86360 11m 2872 S 3.0 2.3 0:02.34 mpd
2602 root 20 0 2668 1092 756 R 1.0 0.2 0:00.19 top
15 root 20 0 0 0 0 S 0.3 0.0 0:00.18 kworker/0:1
2302 mpd 20 0 86360 11m 2872 S 0.3 2.3 0:00.25 mpd
2498 root 20 0 0 0 0 S 0.3 0.0 0:00.31 cifsd
音質は上記いずれのカーネルでも安定した良好な再生音が得られていますが、3.8.13と比べて格段の違いがあるかというと、まだ現在の状況での聴き込みを行っていないので、私には明瞭な区別はつきません。
いずれにしてもsyuさん、tinkerさん、ありがとうございました。
twl
皆さんお揃いのようなので、教えてください。
Capeが出るまでの繋ぎで、とりあえず音が出るようにしようと以下を発注しました。
http://www.diyinhk.com/shop/audio-kits/26-24bit192khz-es9023-dac-i2s-input-ultra-low-noise-regulator.html" target="_blank">http://www.diyinhk.com/shop/audio-kits/26-24bit192khz-es9023-dac-i2s-input-ultra-low-noise-regulator.html
説明に
7) Extreme diyer can cut the external MCLK trace and uses the pre-allocated universal oscillator footprint space(CRYSTEK957/7050/5032/3225) to install a high quality 50M oscillator for asynchronous MCLK mode.
と書いてあり、写真右上のところにクロック付けれるようです。
こちらの方は http://www.azss.net/audio/jisaku-dac" target="_blank">http://www.azss.net/audio/jisaku-dac は、京セラのものを使われてるようで、マルツのページを見たところ在庫切れ?のようです。
CRYSTEK957はDigiKeyで買えるようですが、他に買い物予定もないので、送料を含むと5000円/個以上になってしまいます。
そこで、以下のことをご存知でしたら教えてください。
1.程々の値段で、使用できる水晶発振器(メーカー、型番など)
2.買えるお店(通販)
どうやってつけるんだろう(笑)と写真を眺めている奴には無理!なので、やめときなさいと言う話には素直に従いますm(__)m
yoさん
> あと、MPDのメインテナーの中心人物のKellermannさんは非標準のテクノロジーに辛口の人だから(DoP再生の時もJurgenさんとかなり厳しいやりとりがありました)、そのあたりも懸念されるかな。
まさにご指摘の通りかと思われます。Kellermann氏はMPDにおけるDSDの対応にDOP形式を採用することにかなり難渋されたという経緯があったことを今回のBotic capeを準備中のRuss White氏がフォーラムの中で述べています。おそらくMPDをDSDに正規に対応させるには誰かがKellermann氏を説得しないといけないのでしょうね。
> IrBerryをBBBにつなごうとしていますが、うまくいきません。
Phoeniciaさんご指摘のGND未接続の可能性が高いようですね。私はP9の43-46番ピンのGNDを使用しています。
tinkerさん
> Capeが出るまでの繋ぎで、とりあえず音が出るようにしようと以下を発注しました。
このDACは面白いですね。IrBerry搭載のDACと双璧でしょうか。
> CRYSTEK957はDigiKeyで買えるようですが、他に買い物予定もないので、送料を含むと5000円/個以上になってしまいます。
そこで、以下のことをご存知でしたら教えてください。
1.程々の値段で、使用できる水晶発振器(メーカー、型番など)
2.買えるお店(通販)
上記のご質問にお答えできる知識はないのですが、Digikeyで注文されるのなら、ついでに将来の自作電源用にトロイダルトランスなどを調達されておくのもいいかもしれないですね。5V電源用に15Vのトランスとか、12-15V電源用に30-35VAのトランスとか、いずれBBB専用とかcape専用の電源の有無でI2S再生の音が変わる、なんて議論が将来出て来るでしょうから。(^^; 冗談のようですが、結構真面目です。
しかも本番のCapeができるまでにはまだまだ時間がかかりそうです。初回のロットは40-50台、人身御供になりたい人のためのもので、そこで出てきた不具合が解決された後で正規の生産に入るようです。
twl
tinkerさん
CRYSTEK957は5個売りですがマルツパーツ館http://www.marutsu.co.jp/shohin_227032/" target="_blank">http://www.marutsu.co.jp/shohin_227032/で買えるようです。
でも、クロックを乗せてもBOTIC3では動かないんじゃないですか。BBBにMCLKを入れてやらなければならないんですが、どこから入れるのかな。
以前syuさんがやられたように (No.4284)共立エレショップの「PLLクロック独立実験基板」などでMCLKを生成して、DACとBBBに入れてやる、という方法が必要と思います。
tinkerさん
リンク先の方が使われているのは京セラ製で
大きさ 7×5mm
HCMOS
電源 3.3V
イネーブル端子あり
4端子
というような仕様ですね。
小口で入手できる先としてはRSオンラインはいかがでしょうか。
http://jp.rs-online.com/web/" target="_blank">http://jp.rs-online.com/web/
同種のものを検索したら
FOXエレクトロニクスのFXO-HC736R-50が見つかりました。
大きさ 7×5mm
HCMOS
電源 3.3V電源
イネーブル端子あり
6端子
周波数偏差25ppm
ハンダ付け端子は6端子ありますが、内2端子はNCなので
4端子のものと同様に使用できます。
送料込みで800円強、4日程度で発送みたいです。
電源電圧、大きさ、イネーブル端子の有無で探せば他メーカーの
ものも出ていました。
ハンダ付けの注意としては
パターンをよく見て回路図と対比し、ピン番号を間違えない。
ハンダ付けは液体フラックスをたっぷりつけて行う。
液体フラックスもRSオンラインで扱っています。
などですね。
Phoeniciaさん、twlさん、アドバイスありがとうございました。
GNDの接続でしたか。電気の基本でしたね(^^;;;。IrBerry設計者のたかじんさんからも同じお答えを頂戴しました。ledがつかないのはr-piと接続しないと、マイコンに電源が供給されないため発生する現象で問題ないとのことでした(当然リモコンは使えなくなるようです)。
という次第でP9.45をIrBerryの外部I2Sの1番につないでやってみました。
http://mimizukobo.sakura.ne.jp/upload/IRBBB2.JPG" target="_blank">http://mimizukobo.sakura.ne.jp/upload/IRBBB2.JPG
ところが、状況は変らず。どうもソフトの問題が残っているようです。
tinkerさん、アドバイスありがとうございます。
> となっていますが、uEnv.txtの修正はされていますか?
optargsの追加はしています。エラーメッセージには気が付いていたのですが、「どうせハードの接続が拙いからだろう」とたかをくくっていたのですよね(^^;;;。真面目に調べることにしました。
root@beagle:~# cat /sys/devices/bone_capemgr.*/slots
0: 54:PF---
1: 55:PF---
2: 56:PF---
3: 57:PF---
4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G
5: ff:P-O-L Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI
確かにHMDIが無効になっていませんね。optargsはあるのに変です。試しにuboot起動時に
Hit any key to stop autoboot:
U-Boot#
U-Boot# optargs=capemgr.disable_partno=BB-BONELT-HDMI
U-Boot# boot
とやってみたが、これでも
5: ff:P-O-L Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI
と変りません。
システムの作成で手抜きをしているのが悪いのかなと考え、ご本家の
http://elinux.org/BeagleBoardDebian" target="_blank">http://elinux.org/BeagleBoardDebian
手順通りシステムを作り直してみました。BOTICドライバも4.0を手順通りインストール。
その結果
debian@arm:~$ uname -a
Linux arm 3.8.13-bone49 #1 SMP Fri May 2 06:36:13 UTC 2014 armv7l GNU/Linux
debian@arm:~$ cat /sys/devices/bone_capemgr.*/slots
0: 54:PF---
1: 55:PF---
2: 56:PF---
3: 57:PF---
4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G
5: ff:P-O-- Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI
6: ff:P-O-- Bone-Black-HDMIN,00A0,Texas Instrument,BB-BONELT-HDMIN
debian@arm:~$ cat /proc/asound/cards
--- no soundcards ---
debian@arm:~$ sudo depmod -a
[sudo] password for debian:
debian@arm:~$ sudo echo BB-BONE-BOTIC1 > sudo /sys/devices/bone_capemgr.*/slots
debian@arm:~$ lsmod
Module Size Used by
g_multi 47670 0
libcomposite 14299 1 g_multi
nfsd 189126 2
debian@arm:~$ cat /proc/asound/cards
--- no soundcards ---
debian@arm:~$ sudo insmod /lib/modules/3.8.13-bone41/kernel/sound/snd-codec-es9018.ko
debian@arm:~$ sudo insmod /lib/modules/3.8.13-bone41/kernel/sound/snd-davinci-botic.ko
debian@arm:~$ lsmod
Module Size Used by
snd_davinci_botic 4253 0
snd_codec_es9018 2802 0
g_multi 47670 0
libcomposite 14299 1 g_multi
nfsd 189126 2
debian@arm:~$ cat /proc/asound/cards
--- no soundcards ---
当然BBBとIrBerryはGNDを含めて接続しています。
ドライバのロードはエラーにならなくなったのですが、insmodしないと組み込まれないのは奇怪しいですね。しかも組み込んでも、no soundcardsのまま。うーむ。どうなっているのだろう。こうなってくると、IrBerryの5V外部DC入力を外し、BBBのP9.3 3.3Vの出力とIrBerryの3.3Vの入力(10番ピン)をつないでみたくなりますね。どうなものですかね。
twlさん、moctさん、Phoeniciaさん ありがとうございます。
自分で作る電源は、火事になりそうなので止めときます^^;
いろいろ考えたのですが、Phoeniciaさんが調べて下さったクロックをとりあえず確保しました。
moctさんがおっしゃるように、確かに繋ぐところが無いですね。ボードには何箇所かピンヘッダーを立てれるところがあるので、淡い期待で。
今のところ、DACの説明書がWEBで探せてないのと、onboardのクロックはジャンパーでdisableにもできるようなので、物が着いてから考えることにします。
onboardのクロックではダメな場合は、syuさんが試されていたPLLクロック独立実験基板を含め考えたいと思います。
また前述のDACを買った時に、これってamaneroみたいに使えるかな?と思ったもので試してみるかもしれません。
http://www.ebay.com/itm/24bit-192KHz-CM6631A-USB-to-SPDIF-coaxial-DAC-SC-Assembled-/370851652075?pt=US_Amplifier_Parts_Components&hash=item56587b21eb" target="_blank">http://www.ebay.com/itm/24bit-192KHz-CM6631A-USB-to-SPDIF-coaxial-DAC-SC-Assembled-/370851652075?pt=US_Amplifier_Parts_Components&hash=item56587b21eb
BBBは非力ですし、botic1の場合はload averageも高いので、botic3必須かなってtopを眺めてて思ってます。
twlです。
まずyoさんのGNDの配線の問題は一応解決したとして、これ以外のBBBからIrBerry側への結線状況を投稿された順で確認させていただくと、
#4389
> BBBとIrBerryの接続ですが、P9.25=MCK(赤 2番)、P9.28=DIN(緑 8番)、P9.29=LRCK(青 6番)、P.31=BCK(黄 4番)
これは問題ないですね。
分からないのは赤のMCLKがIrBerryのMCLKとつながっているようですが、BBB側にはMCLK出力はないのでIrBerryからのMCLK出力でBBBをスレーブ動作させているということでしょうか。となると、BBB起動後に
> echo BB-BONE-BOTIC1 > /sys/devices/bone_capemgr.*/slots
ということでBOTIC1を試されていますので、この場合MCLKというか、MCLKとして使われるであろうBCKはBBB側のオンボードのクロックを使う事になり、このIrBerryからのMCLK配線は必要ないことになります。
というか、外すのが安全かもしれません。私の理解ではIrBerryのDAC ICは評価の高いPCM5102Aですので、以前このスレッドで私やsyuさんがやったようなBCKからの逓倍でMCLKを作るという機能をもともと持っており、BBBからIrBerryにはDATA (DIN), LRCK、BCKそしてGNDの4本の結線で済むのではないかと思われます。
いいかえればRasPiと同じ配線でいいのではないかと思われますが、はずしていたらごめんなさい。ただしRasPiと違い、44.1kHzのデータはBBB側のクロックを反映してすべて48kHzにresampingされます。
> この前のスレッドの#4266 twlさん、#4279 syuさんのメッセージにリンクされている写真と比較すると、P9.3又はP9.4のVDD_3V3Bというやつを使わないといけないようですね。
誤解を招いてしまい申し訳ありません。私の画像でのP3近くのケーブルは別目的の電源取り出しケーブルで、実際にはどこにもつながっていません。ここは無視して下さい。
#4398
> ドライバのロードはエラーにならなくなったのですが、insmodしないと組み込まれないのは奇怪しいですね。
これはあまり気にしなくてもいいかも。私は/etc/modulesに
snd_davinci_botic
snd_codec_es9018
と書き込んじゃってます。
> しかも組み込んでも、no soundcardsのまま。うーむ。どうなっているのだろう。
これはBOTIC1でのドライバーロードですよね。それでしたら上記のMCLK結線を外してbootした後、
echo BB-BONE-BOTIC1 > /sys/devices/bone_capemgr.*/slots
aplay -l
で行くのではないでしょうか。
もしBOTIC3を試されているのでしたら話はまったく別になりますが。
> こうなってくると、IrBerryの5V外部DC入力を外し、BBBのP9.3 3.3Vの出力とIrBerryの3.3Vの入力(10番ピン)をつないでみたくなりますね。どうなものですかね。
前述のごとく、これは必要ないと思います。
とりあえず私の知っている範囲でおしらせしましたが、お役に立てれば幸いです。
twlさん
MCLKの件はご指摘の通りだと思います。僕はよく分からなくて、「まあ、つないでおけばいいのかな」というレベルで接続していました(^^;;;。
> いいかえればRasPiと同じ配線でいいのではないかと思われますが、はずしていたらごめんなさい。ただしRasPiと違い、44.1kHzのデータはBBB側のクロックを反映してすべて48kHzにresampingされます。
ということのようです。クロックはとりあえずtinkerさんにおまかせして、僕はBOTIC1で48KHzで音が出ればよいということで実験しているつもりです。
ちなみにtwlさんの#4386の書き込みのリンク先にPCM5102Aを使ってI2S接続した回路図があり、それでもDATA (DIN), LRCK、BCKそしてGNDの4本の結線ですね。
という次第で赤のMCKを外してつないでみました。状況は変らずです。
debian@arm:~$ sudo echo BB-BONE-BOTIC1 > sudo /sys/devices/bone_capemgr.*/slots
[sudo] password for debian:
debian@arm:~$ aplay -l
aplay: device_list:252: no soundcards found...
うーむ。僕のBBBは呪われているのですかね。まあ、もう少しめげずに頑張るつもりです。
yoさん
> debian@arm:~$ sudo echo BB-BONE-BOTIC1 > sudo /sys/devices/bone_capemgr.*/slots
[sudo] password for debian:
ここでエラーがでないというのはいい知らせですね。少なくともBBBがデフォルトで占拠しているHDMI用のレジスタがBotic1の構成で置き換えられているということですね。
> debian@arm:~$ aplay -l
aplay: device_list:252: no soundcards found...
うーむ。僕のBBBは呪われているのですかね。まあ、もう少しめげずに頑張るつもりです。
頑張りましょう!おそらくhttp://bbb.ieero.com/" target="_blank">http://bbb.ieero.com/でのmiero氏が指示した手順にどこかで沿っていない可能性があります。もう配線は問題ないと思いますので、手順を最初から確認しながら再度検証されてみて下さい。幸運を祈ります。
yoさん
私も音が鳴っていないので、まあ話半分でと言うことで。
今、Digiを外して試しています。
外した状態でもmpdが動き、GMPCも認識しています。
以前、独り言で書きましたが、垂れ流しなので繋がってようがなかろうが関係なしって事だと思います。
lsmodは以下のとおりです(3.14.2-rt3の場合ですが3.8.xでも似たようなもんなるでしょう)
Module Size Used by
rpcsec_gss_krb5 21608 0
snd_davinci_botic 4885 1
snd_codec_es9018 2872 1
snd_soc_davinci_mcasp 9815 2
snd_soc_davinci 6514 1 snd_soc_davinci_mcasp
snd_soc_core 158254 4 snd_soc_davinci_mcasp,snd_soc_davinci,snd_davinci_botic,snd_codec_es9018
omap_sham 17239 0
snd_compress 7861 1 snd_soc_core
ti_am335x_adc 4819 0
kfifo_buf 2562 1 ti_am335x_adc
snd_pcm 81528 3 snd_soc_core,snd_soc_davinci
omap_aes 12151 0
industrialio 46779 2 ti_am335x_adc,kfifo_buf
snd_seq 59173 0
snd_seq_device 6402 1 snd_seq
snd_timer 19193 2 snd_pcm,snd_seq
snd 61546 7 snd_soc_core,snd_timer,snd_pcm,snd_seq,snd_seq_device,snd_compress
soundcore 7040 1 snd
rtc_omap 5276 0
uio_pdrv_genirq 3351 0
uio 8922 1 uio_pdrv_genirq
何が言いたいのかというと、音が鳴ることとドライバーがロードされるのは別問題ですってことです。
まずは、きちんとドライバーがロードされるようにしましょう。
3.8.13-Bone41をお使いなら、V4のドライバーがそのまま使えるはずなので、それに置き換えてください。
置き換え後は、HPのとおり depmod -aしてください。
それと、ドライバーは明示的に組み込む必要はありません(3.8.x~3.14.x -3.9~3.12を除く- で検証済み)
もしinsmodしないとダメとか、/etc/modulesに書いとかないとダメって場合は、ドライバーがおかしい or 手順がおかしいってことだと思います。
a)正常なモジュールを所定の場所に配置
b)depmod -a
c)uEnv.txtの編集
d)echo BB-BONE-BOTIC1 > /sys/devices/bone_capemgr.*/slots
※ make installで行う場合は、上記a)b)は勝手にやってくれますし、3.13.x以降であればd)の必要もありません。
twlです。
3.14.3-rt4を作り、Arch (RuneAudio) および debian系 (Volumio) でBotic3を試しました。Nelsonさんのところではまだ3.14.3のrt patchはないようなので、本家のkernel.orgからもってきたものをNelson版に使いましたが、patch自体は問題なくあたっているようです。
am335x-boneblack.dtbはtinkerさんおよびsyuさんのBotic3用のものをぞれぞれ流用、いずれも問題なくBotic3をロードできました。
mpdは0.18.9を使用、Archでは0.18.9をrt化したものを使用しています。以下、動作状況です。
Archlinux
[root@runeaudio ~]# uname -a
Linux runeaudio 3.14.3-rt4_BBB_0514_RT-bone3 #1 SMP PREEMPT RT Wed May 14 22:21:10 JST 2014 armv7l GNU/Linux
[root@runeaudio ~]# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Botic [TPA Botic], device 0: ES9018 es9018-hifi-0 []
Subdevices: 0/1
Subdevice #0: subdevice #0
Debian
root@volumio:~# uname -a
Linux volumio 3.14.3-rt4_BBB_0514_RT-bone3 #1 SMP PREEMPT RT Wed May 14 22:21:10 JST 2014 armv7l GNU/Linux
root@volumio:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Botic [TPA Botic], device 0: ES9018 es9018-hifi-0 []
Subdevices: 0/1
Subdevice #0: subdevice #0
いずれも音質には大きな違いはありません。曲によってはArchlinuxの方が音像の輪郭がややはっきりするかなというぐらいで、多分プラシーボだと思います。いずれも、このスレッドでの合い言葉のようですが、要するに"いい音"です。
Archではrt化したmpdを試しましたが、mpd.confにrt optionをつけるとRuneAudioでは再生が停まりました。rt optionをはずすと問題なく再生されますので、カーネルを含め、I2S接続でのRT化の意義がどこにあるのか、今後の検討が必要かもしれません。
twl
twlさん
新しいRTですか。
私のところは音出ないんで、作ってません。
>3.14.3-rt4
作者の意図はrt5らしいですよ。localversion-rtの変更がされていないようです。
>I2S接続でのRT化の意義がどこにあるのか
好きなもん使ってればいいんじゃないって感じですかね。
tinkerさん
http://www.ebay.com/itm/24bit-192KHz-CM6631A-USB-to-SPDIF-coaxial-DAC-SC-Assembled-/370851652075?pt=US_Amplifier_Parts_Components&hash=item56587b21eb" target="_blank">http://www.ebay.com/itm/24bit-192KHz-CM6631A-USB-to-SPDIF-coaxial-DAC-SC-Assembled-/370851652075?pt=US_Amplifier_Parts_Components&hash=item56587b21eb
mclkの周波数が適切なのか不詳なのが難点ですね。
bbbのP9_25に入れるのは22.5792/24.576MHzですが、44.1kHzでは11.2896MHz、48kHzでは12.288MHzになっているかも知れないです。
am335x-boneblack.dtsで倍率は指定できそうだから、違っていたらそっちで対応可能かも知れませんね。
tinkerさん
> >3.14.3-rt4
> 作者の意図はrt5らしいですよ。localversion-rtの変更がされていないようです。
そうなんです。使ったpatchはご指摘のごとくpatch-3.14.3-rt5.patch.gzです。unameみたら、あれ、versionが合わないなと思ったのですが、ま、もともとがキメラ状態なので、細かいことはこの際いーんじゃないのってことで、詳細は省きました。
ただ、作ってみて思ったのですが、tinkerさんのBotic3用のam335x-boneblack.dtbを使うと、BBB上のUSBがまったく使えなくなるんです。これは提供された3.14.2のrtカーネルでも同じです。私だけの状況かもしれませんが。
それでもI2Sでの再生には問題ないのですが、DSDのソースも再生したいので、結局、3.8.13に戻って、I2SとUSB-DDCによるDSDをスイッチで切り替えながらmpdを動かしているのが現状です。
蛇足ですが、IrBerryのフォーラムだと、I2Sのピン配置を使って果敢にDSD再生と取り組んでらっしゃる方もいるようですね。
syuさん
ありがとうございます。
やったことないことないことだらけで、あたって砕けろ状態です(たぶん砕ける^^;)
>am335x-boneblack.dtsで倍率は指定できそうだから、違っていたらそっちで対応可能かも知れませんね。
うまくいかなかった時は、上記の事やPLLクロック独立実験基板について教えて下さいm(__)m
twlさん
>tinkerさんのBotic3用のam335x-boneblack.dtbを使うと、BBB上のUSBがまったく使えなくなるんです
syuさんのdtbだと大丈夫ってことですか?
試してなかったので、全く気づいてませんでした。
ご報告、ありがとうございます。
それとも以下の関係がらみなんでしょうか。
No.4335より
注)
I2Sでは関係ありませんが、UPしたカーネルはUSB DACでは正常に動作しません。
3.14(多分3.13も)のMUSBではDMAが使えないようです(bug?)
USB DACを使うためには、PIOに変更が必要です。
cpufreqも効かないような・・・
なんでだろ・・・
tinkerさん
> それとも以下の関係がらみなんでしょうか。
No.4335より
注)
I2Sでは関係ありませんが、UPしたカーネルはUSB DACでは正常に動作しません。
3.14(多分3.13も)のMUSBではDMAが使えないようです(bug?)
すみません。私の早トチリで、am335x-boneblack.dtbには罪はありませんでした。上記で指摘された通りだと思います。3.14に共通する現象のようですがどうしてなんでしょうね。無用なご心配をおかけましたこと、お詫び申し上げます。
twlさん
そっちだったんですね。USBを認識しないのかと思ってました。
以前syuさんが、Archのconfigの差分へのリンクを貼られてて、やっぱりそうだよねって思いました。
Nelsonさんはオーディオには興味はないみたいなので、DMAにされてるようですね。
https://github.com/archlinuxarm/PKGBUILDs/commit/2803ba6e4a773c8708987ca5db495913f7082893" target="_blank">https://github.com/archlinuxarm/PKGBUILDs/commit/2803ba6e4a773c8708987ca5db495913f7082893
usb-dacを使うためには、configを以下のように変更すれば大丈夫です。
-CONFIG_USB_TI_CPPI41_DMA=y
-# CONFIG_MUSB_PIO_ONLY is not set
+# CONFIG_USB_TI_CPPI41_DMA is not set
+CONFIG_MUSB_PIO_ONLY=y
> うーむ。僕のBBBは呪われているのですかね。まあ、もう少しめげずに頑張るつもりです。
yoさん、私のアドバイスに問題があったかもしれません。IrBerryの外部I2S入力をみるとやはり MCKへの入力が必要のようです。BBBのBCKからのケーブルを二つに分割し、ひとつをIrBerryのBCK、もう一つをMCKにつないで下さい。後者からMCKが生成されるとおもいます。取り急ぎ連絡まで。
tinkerさん
DIYINHKのES9023 DACの水晶発振器の件ですが…
秋葉原のラジオデパート2階にあるサンエレクトロさん
に京セラの7050タイプが小売されてます。
http://www.sun-elle.com/eshopdo/refer/vid5002_02800.html" target="_blank">http://www.sun-elle.com/eshopdo/refer/vid5002_02800.html
volumioのフォーラムをみるとFB1をジャンパする必要がありそうです。
http://volumio.org/forum/yet-another-diyinhk-sabre-es9023-dac-with-raspi-t880.html" target="_blank">http://volumio.org/forum/yet-another-diyinhk-sabre-es9023-dac-with-raspi-t880.html
実はRasPiのI2Sで試そうとしてはんだ付けまでは
終わってるんですがまだ試していません(^^;
http://www.tx-2.net/img/dac6.jpg" target="_blank">http://www.tx-2.net/img/dac6.jpg
DIYINHKのPCM5102A DACではRasPiで既に問題無く動作させています。
http://www.tx-2.net/img/dac3.jpg" target="_blank">http://www.tx-2.net/img/dac3.jpg
配線については下記を参照しました。
http://volumio.org/forum/hifiberry-and-rpi-dac-pinout-t29.html#p176" target="_blank">http://volumio.org/forum/hifiberry-and-rpi-dac-pinout-t29.html#p176
tx2さん
いろいろアドバイスありがとうございます。
>volumioのフォーラムをみるとFB1をジャンパする必要がありそうです。
先にリンクした方の写真だとFBとなっているので、http://akizukidenshi.com/catalog/g/gP-04053/" target="_blank">http://akizukidenshi.com/catalog/g/gP-04053/ などをつけるのかなと想像(知識がなくってm(__)m)してました。
写真を拝見したところ、MCKとGNDをジャンパしてあるように見えるのですが、これは、紹介していただいたHPの MCLK - Shortcut to GND からということなのでしょうか。
それともう一つ教えてください。
moctさんから以下の助言を頂いており、きっとそのとおりなんだろうと思っています。
>クロックを乗せてもBOTIC3では動かないんじゃないですか。
BBBの場合、外部クロックをP9-25に入れて、P9-24の出力をDACのMCKに入力する必要があるそうです。
MCKを取り出せる所がありそうでしょうか?