おなまえ
Eメール
タイトル
コメント
参照先
暗証キー (英数字で8文字以内)
画像認証 (右画像の数字を入力) 画像認証
Re: BeagleBone Black(2) 投稿者:yo 投稿日:2013/07/06(Sat) 21:50 home No.3134

tinkerさん

archの話だったのですか。どのarchのrootfsを使っているかで話は変わりそうですが、cubox用のarchだとrc.localは動きません。ただ、そういう話ではなさそうですね。コンソールからの
chrt -f -p 53 `pgrep cifsd`
は通るのですよね。

ところで、Nelsonさんのカーネルソースにご本家のrtパッチ(rt12)を無理やりかけて試してみました(大変でした)。大分改善されてwavの再生は出来るようになりましたが、まだ依然いろいろ問題ありですね。詳しくは整理してから書き込みますが、ますます泥沼ですね(^^;;;。


Re: BeagleBone Black(2) 投稿者:tinker 投稿日:2013/07/06(Sat) 22:14 home No.3135

yoさん
archのrootfsはhttp://archlinuxarm.org/os/ArchLinuxARM-am33x-latest.tar.gz" target="_blank">http://archlinuxarm.org/os/ArchLinuxARM-am33x-latest.tar.gzを使ってます。
chrt -f -p 53 `pgrep cifsd`はコンソールから通ります。また起動後に/etc/rc.localをコンソールから実行すると4行とも通ります。yoさんのrtset(でしたっけ?)を使えば解決なのは分かっているんですが、原因が分かんないとスッキリしません。

>本家のrtパッチ(rt12)を無理やりかけて試してみました(大変でした)
すばらしい!
1個とんでもないのがありますよね。私はそこで挫折しました。


Re: BeagleBone Black(2) 投稿者:tinker 投稿日:2013/07/07(Sun) 08:51 home No.3136

yoさん

考えて(妄想)みたのですが、
SysVinitはプロセスを順番に処理する。rc.localは最後に処理されるため問題にならない。
systemdは並列に処理されるため、rc.localが処理されている段階で、まだcifsdが起動していない。起動していないものに対しての処理はなされない。
たぶん、こんな感じかなと思います。rc.localでは無理そうですね。
ただ、systemdも各プロセスが勝手に起動してもおかしな状態になるでしょうから、どこかで最低限の起動順位とか依存関係を規定してるんでしょうね。


Re: BeagleBone Black(2) 投稿者:yo 投稿日:2013/07/07(Sun) 09:13 home No.3137

tinkerさん

> systemdは並列に処理されるため、rc.localが処理されている段階で、まだcifsdが起動していない。起動していないものに対しての処理はなされない。
> たぶん、こんな感じかなと思います。rc.localでは無理そうですね。

正解だと思います。
それで思い出したのですが(^^;;;、僕の梅雨入り版でも、cifsdの起動は別のスクリプト(/usr/local/sbin/cifs.sh)にしてmpdset.confから起動し、10秒後に動くようにしていました。


> 1個とんでもないのがありますよね。私はそこで挫折しました。

cpsw.cですね。関数全体の書き換えとなるパッチで、手作業で修正することは出来ませんでした。
仕方がないので、Gleixner版3.8-rtのソースに入れ換えたらビルドは通りました。ところが、これで起動すると rt-fullと同じところでエラーになります(basic rtでビルドしたものです)。
そこで、ご本家3.8.9にrt12パッチをかけたソースのcpsw.c(内容は手修正とほとんど同じですが、ビルドはとおります)と入れ換えたら、動きました。

この過程で分かったのですが、Nelson版とGleixner版3.8-rtのcpsw.cは同じものですね。つまりbeagle用ソースでcpsw.cはrt/none-rtは差がないということになります。そして、beagle用のrtパッチはご本家から独立したもののようですね。このあたりにノイズ問題を引き起こす要因があるのではないかなと思います。
rt-fullが起動しないこともこれと関連しているのかもしれません。


Re: BeagleBone Black(2) 投稿者:tinker 投稿日:2013/07/07(Sun) 10:20 home No.3138

yoさん
>10秒後に動くようにしていました
調べるとAfterとかいうものがあるようで、Aを起動するときはBを起動してからねって使い方するみたいです。
そこでmpd.serviceの後なら今回分は大丈夫だろうと考えて、rc-local.serviceを以下のように変更したところ、望みの処理をしれくれるようになりました。
[Unit]
Description=/etc/rc.local Compatibility
Wants=network.target
After=mpd.service <-- 追加

>cpsw.c
です。cpswって確かetherですよね。ether絡みですか・・・


Re: BeagleBone Black(2) 投稿者:yo 投稿日:2013/07/07(Sun) 19:37 home No.3139

tinkerさん

> そこでmpd.serviceの後なら今回分は大丈夫だろうと考えて、rc-local.serviceを以下のように変更したところ、望みの処理をしれくれるようになりました。

これが正解ですね。
梅雨入り版でも/usr/local/sbin/cifs.shをafter指定(After=mpdset.service)で起動するのが正解です。


> cpswって確かetherですよね。ether絡みですか・・・

usb2とetherが絡み合って、それぞれpreemptを主張し合い、スムーズに動けなくなっているということだと思います。でないと、syuさんと僕のところの差を説明できません。ご本家のパッチをあてても解決しないので、当分じっと我慢ですね。
まあ、rtなしのpreemptでも素晴らしい音なので、これでいいかなと思います。


Re: BeagleBone Black(2) 投稿者:tinker 投稿日:2013/07/07(Sun) 20:53 home No.3140

yoさん
>まあ、rtなしのpreemptでも素晴らしい音なので、これでいいかなと思います。
3.8はもともと音が良いですしね。

patches-3.8.13-rt9.tar.bz2を落として中を見ると、cpsw関係のpatchが5つあるようですね。そのうちのcpsw-revert-stable-patches.patchはcpsw.cの他にdrivers/net/ethernet/ti/davinci_emac.cにもかけられているようです。
drivers/net/ethernet/ti/davinci_emac.cはどのような扱いにされましたか?

https://github.com/beagleboard/kernel/tree/3.11" target="_blank">https://github.com/beagleboard/kernel/tree/3.11(3.10rc4ベースみたいです)も始まっているようですね。


Re: BeagleBone Black(2) 投稿者:yo 投稿日:2013/07/07(Sun) 22:02 home No.3141

> drivers/net/ethernet/ti/davinci_emac.cはどのような扱いにされましたか?

単純にvoid cpdma_ctlr_eoiとdma_reg_writeの内容をパッチに合わせました。あとEXPORT_SYMBOL_GPL(cpdma_ctlr_eoi);を追加しました。


Re: BeagleBone Black(2) 投稿者:tinker 投稿日:2013/07/07(Sun) 23:19 home No.3142

yoさん
関係無かったですねm(__)m

試していないのですが、もう一つ案があります。
ご存知のようにwandboardを所有しています。現在3.10で動くようになったのですが、それはwandboard公式のフォーラムに2ヶ月ほど前、偉い人が3.9-rc4(だったと思います)のpatchを書いたよ、とりあえず動いてるよ、gitにpushしたよってものが元になっています。どんなpatchなのかと見てみると、想像以上に小さなもので、以下の3つのファイルだけでした。
arch/arm/boot/dts/Makefile(1行追加)
arch/arm/boot/dts/imx6dl-wandboard.dts(新規)
arch/arm/boot/dts/imx6dl.dtsi(数十行の修正)
BBBで同じことができるのかは分かりませんが、cuboxも同じようなpatchがkernelに取り込まれたことによって動いているはずです。
ただ公式ソースにはam335x-boneblack.dtsが存在しないので、必要なのもは3.8-rtから持ってきて(持ってくるものはam335x-boneblack.dtsを読めばわかります)、Makefileにam335x-boneblack.dtbの1行を追加すれば、基本的な動作に必要なDTを作れるかもしれません。
来週にでもダメもとでやってみようかと思っています。


Re: BeagleBone Black(2) 投稿者:yo 投稿日:2013/07/08(Mon) 21:20 home No.3145

皆様

rtカーネルでのノイズ問題、一応解決しました。一応と書いた理由は後で説明します。tinkerさんのネットワーク関連のモジュールが5つあるというのがヒントになりました。

やり方はNelson版のソースにご本家のrt12パッチをかけます。以下の7つのモジュールがエラーになります。
arch/arm/boot/dts/am33xx.dtsi
drivers/misc/Makefile
drivers/net/ethernet/ti/cpsw.c
drivers/net/ethernet/ti/davinci_cpdma.c
drivers/net/ethernet/ti/davinci_cpdma.h
drivers/of/base.c
include/linux/platform_data/cpsw.h
am33xx.dtsi、Makefilerej、base.cはrejファイルを参考にして手作業で修正。ネットワーク関連のcpsw.c、davinci_cpdma.c、davinci_cpdma.h、cpsw.hはご本家の3.8.13+rt12からソースをコピー。
コンフィグはkernel/configs/beagleboneを使う。
make menuconfigでBasic RTを指定、CPU Power Managementすべて無効化、USB Audio/MIDI driverを組み込み、XFS filesystem supportを組み込み、NTFS file system supportを組み込み、CIFS supportを組み込み、NLS UTF-8を組み込み。
あとはmake uImage dtbs。bootにzImageと*.dtbをコピー。rootfsはcubox用のubuntu-core12.04.2を使用。

実行結果ですが、こんな具合になります。

root@cubox:~# uname -a
Linux cubox 3.8.13-rt12 #14 SMP PREEMPT Mon Jul 8 00:43:46 PDT 2013 armv7l armv7l armv7l GNU/Linux

root@cubox:~# cat /proc/asound/card1/stream0
Cypress EZ_USB(UDA3) at usb-musb-hdrc.1.auto-1, high speed : USB Audio

Playback:
Status: Running
Interface = 1
Altset = 1
Packet Size = 1024
Momentary freq = 176400 Hz (0x16.0ccc)
Feedback Format = 8.16
Packet Size = 0
Momentary freq = 176400 Hz (0x16.0ccd)
Interface 1
Altset 1
Format: S24_3LE
Channels: 2
Endpoint: 2 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000
Data packet interval: 125 us

root@cubox:~# cat /proc/interrupts
CPU0
23: 0 INTC tps65217
28: 2560 INTC edma
30: 0 INTC edma_error
34: 0 INTC musb-hdrc.0.auto
35: 46351518 INTC musb-hdrc.1.auto
44: 940 INTC mmc1
46: 96 INTC 4819c000.i2c
56: 0 INTC 4a100000.ethernet
57: 1061127 INTC 4a100000.ethernet
58: 396115 INTC 4a100000.ethernet
59: 0 INTC 4a100000.ethernet
80: 7067 INTC mmc0
83: 299721 INTC gp_timer
86: 144 INTC 44e0b000.i2c
88: 7 INTC OMAP UART0
91: 0 INTC rtc0
92: 0 INTC rtc0
125: 0 INTC 53100000.sham
143: 37 INTC
IPI0: 0 CPU wakeup interrupts
IPI1: 0 Timer broadcast interrupts
IPI2: 0 Rescheduling interrupts
IPI3: 0 Function call interrupts
IPI4: 0 Single function call interrupts
IPI5: 0 CPU stop interrupts
Err: 0

root@cubox:~# ps -eLo pid,lwp,rtprio,priority,time,cmd | egrep "kworker/0:1|mpd|cifsd"
16 16 55 -56 00:00:08 [kworker/0:1]
90 90 55 -56 00:00:00 [kworker/0:1H]
526 526 53 -54 00:02:59 [cifsd]
548 548 53 -54 00:00:00 [cifsd]
646 646 - 20 00:00:23 /usr/local/bin/mpd /etc/mpd.conf
646 647 - 20 00:00:00 /usr/local/bin/mpd /etc/mpd.conf
646 649 52 -53 00:00:27 /usr/local/bin/mpd /etc/mpd.conf
646 651 49 -50 00:00:45 /usr/local/bin/mpd /etc/mpd.conf
646 652 53 -54 00:01:16 /usr/local/bin/mpd /etc/mpd.conf
737 737 - 20 00:00:00 egrep --color=auto kworker/0:1|mpd|cifsd

top - 21:02:52 up 1:46, 1 user, load average: 0.23, 0.17, 0.20
Tasks: 73 total, 1 running, 72 sleeping, 0 stopped, 0 zombie
Cpu(s): 3.3%us, 5.8%sy, 0.0%ni, 87.6%id, 0.0%wa, 0.0%hi, 3.3%si, 0.0%st
Mem: 510180k total, 483972k used, 26208k free, 1236k buffers
Swap: 0k total, 0k used, 0k free, 403644k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
526 root -54 0 0 0 0 S 5.6 0.0 2:51.39 cifsd
646 mpd 20 0 85284 79m 21m S 4.2 15.9 2:45.80 mpd
735 root 20 0 2032 996 764 R 1.3 0.2 0:00.77 top
16 root -56 0 0 0 0 S 0.3 0.0 0:07.58 kworker/0:1

という感じです。音は素晴らしいです。cuboxとどちらかと言われると返事に困るというレベルですね。私見ですが、こっちの方が音楽的という気はします。

それで最初に「一応」と書いた理由ですが、上記のリストをご覧頂けばお分かりになると思います。

35: 46351518 INTC musb-hdrc.1.auto
57: 1061127 INTC 4a100000.ethernet
というusbとeth0の割り込み処理のハンドラが
16 root -56 0 0 0 0 S 0.3 0.0 0:07.58 kworker/0:1
にラップされて動いています。
逆にいうとこのラップされることでハンドラが正しくpreempt動作になってノイズを回避出来るようになったといえます。面白いものですね。

という次第なので、tinkerさんが示唆されている方法でも上手くいく可能性は高いと思います。
「どんなpatchなのか」調べる方法を教えてもらえますか。


Re: BeagleBone Black(2) 投稿者:tinker 投稿日:2013/07/08(Mon) 22:12 home No.3146

yoさん

なんか光が見えてきましたね。関連ファイルをUPしていただけると嬉しいです。

wandboardのやりとりは、
http://www.wandboard.org/index.php/forums" target="_blank">http://www.wandboard.org/index.php/forumsでWandboard dual-lite booting a 3.9-rc5 kernelというタイトルを見てください。
その時のpatchは
https://git.linaro.org/gitweb?p=people/shawnguo/linux-2.6.git;a=commit;h=89b82915c4b5afa9e51e09636f7919bbb6f9cc1b" target="_blank">https://git.linaro.org/gitweb?p=people/shawnguo/linux-2.6.git;a=commit;h=89b82915c4b5afa9e51e09636f7919bbb6f9cc1bです。3.10から使えるんだと希望が見えた時でした。

>cuboxとどちらかと言われると返事に困るというレベルですね
板によって音が違うのは楽しいですね。cubox並みの力強さは無いですが、なんというかフェロモンみたいなものがありますね。


Re: BeagleBone Black(2) 投稿者:tinker 投稿日:2013/07/08(Mon) 22:55 home No.3147

yoさん
>関連ファイルをUPしていただけると嬉しいです
と書きましたが、
>am33xx.dtsi、Makefilerej、base.cはrejファイルを参考にして手作業で修正~
のくだりをちゃんと読んでいませんでした。記事にしたがってやってみます。


Re: BeagleBone Black(2) 投稿者:yo 投稿日:2013/07/08(Mon) 23:10 home No.3148

tinkerさん、情報ありがとうございます。

> なんか光が見えてきましたね。関連ファイルをUPしていただけると嬉しいです。

長いトンネルでしたね。僕のやり方はかなり阿漕な方法なので、tinkerさんの方がまっとうなやり方ですので、上手くいけば、そちらの方がいいと思います。
アップするファイルは手修正したソースでいいですか。それともzImageと*.dtbの方をまとめたものの方が簡単ですかね。

フェーズテックのHD7A-192でも試してみましたが、96KHzまでのハイレソファイルなら問題なく再生できました。前はノイズだらけで聴けたものではなかったので、驚くべき変化ですね(^^)。192KHzはちょっとノイズが出ます。
uda3では問題なしなので、このあたりはハードの差ですかね。


Re: BeagleBone Black(2) 投稿者:tinker 投稿日:2013/07/08(Mon) 23:47 home No.3149

yoさん

>アップするファイル
少し大きくなりますが、zImage、*.dtb、modulesをUPしてください。
こちらの環境で動かないx-ddcのハイレゾを試してみたいです。
また上記ファイルがあれば、RTが全然ダメって方の動作報告も上がってくるかと思います。


Re: BeagleBone Black(2) 投稿者:yo 投稿日:2013/07/09(Tue) 21:16 home No.3154

tinkerさん

BBB、なかなか手強いですね。rootfsをarchに変更したら、元に戻っちゃいました。96KHz以下のファイルは再生できますが、dsdネイティブは再生出来なくなってしまいました。状況はこんな感じです。

top - 20:44:08 up 17 min, 2 users, load average: 0.49, 0.36, 0.27
Tasks: 80 total, 1 running, 79 sleeping, 0 stopped, 0 zombie
%Cpu(s): 2.5 us, 23.3 sy, 0.0 ni, 73.8 id, 0.0 wa, 0.0 hi, 0.4 si, 0.0 st
KiB Mem: 508124 total, 229312 used, 278812 free, 5540 buffers
KiB Swap: 0 total, 0 used, 0 free, 187304 cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
73 root -51 0 0 0 0 S 26.9 0.0 4:24.33 irq/35-musb-hdr
331 mpd 20 0 91216 21156 4796 S 2.6 4.2 0:36.89 mpd
423 root 20 0 5092 1332 1004 R 1.3 0.3 0:00.41 top
354 root -54 0 0 0 0 S 0.6 0.0 0:06.86 cifsd
104 root -51 0 0 0 0 S 0.3 0.0 0:05.81 irq/57-4a100000

ご覧のようにUbuntu-coreだとkworker/0:1にラップされたusbとethのデバイスハンドラが復活してしまいシステムのcpu負荷がかなり大きくなります。
このarchのrootfsはpreemptカーネルだと、ubuntu-coreとbasic-rtを組み合わせたシステムと同じレベルのcpu負荷で、まったく問題なく動きますので、ビルドしたzImageが原因であることは確かだと思います。不思議ですね。

という次第で、もう少し調査が必要なので、zImageと*.dtbのアップはしばらく見合わせます。


Re: BeagleBone Black(2) 投稿者:tinker 投稿日:2013/07/09(Tue) 21:30 home No.3155

yoさん

なかなかうまく行かないですね。
こっちの案も、今のところダメです。SDにアクセスする気配もないです(笑)
cpsw, usb_ether
Hit any key to stop autoboot: 0
gpio: pin 53 (gpio 53) value is 1
mmc0 is current device
micro SD card found
mmc0 is current device
mmc_send_cmd : timeout: No status update
Card did not respond to voltage select!
U-Boot#


Re: BeagleBone Black(2) 投稿者:syu 投稿日:2013/07/10(Wed) 04:51 home No.3156

yoさん、tinkerさん、皆様、おはようございます。本日休日のsyuです。

BBBでのLinux alarm 3.8.13-rt9_Fa+MPD-0.17.4(yanさんパッチ)がノイズまみれになる問題、解決には時間がかかりそうですね。

私の所では、ノイズは皆無ではないが滅多にない状態で再生できていますが、原因不明です。

ハブ(lsw3-gt-16nsr)、ddc(uda3-sdif3出力対応版)、dacの違いなどが原因の可能性もあるのですが、駆け出し初心者の私が、普通やらないことを何かやったために、偶然、ノイズが少なくなったという可能性もあるかと思います。

私のインストールがどこか間違っていて、何かが欠落しているなど不完全に作動しており、偶然ノイズ少なく音が出ているのではないかと疑っているわけです。この点を、どなたかボランティアの方に検証してもらいたいと思い、eMMCから直接作成したimg.gzをgoogle driveにupしました。よろしければ、検証お願いします。


eMMCをフォーマットせずそのまま入れ替えていますので、下記のようにw95 FAT32(LBA)となっていますが、このまま解凍し、 bbb-arch.img ファイルを2G以上のsdカードにddすれば、eMMCに入れなくても、sdカードから起動できます。sdカードの場合、起動時にはブートスイッチを押しておく必要があります。

[root@alarm ~]# fdisk -l

Disk /dev/mmcblk0: 1920 MB, 1920991232 bytes, 3751936 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00000000

Device Boot Start End Blocks Id System
/dev/mmcblk0p1 * 63 144584 72261 c W95 FAT32 (LBA)
/dev/mmcblk0p2 144585 3743144 1799280 83 Linux

yoさんの記事を参考に証拠隠滅を謀っていますが、何か残っていても晒さないでくださいませ。

rootのパスワードは bbblack です。

/etc/fstab は環境に合わせて編集してください。

ミュージックディレクトリは /root/music 設定ファイルは /root/.mpd/mpd.conf です。

rtset.conf だけ適用してあります。

/boot に、3.8.13-5 3.8.13-rt9 3.8.13-rt9-tinker のディレクトリがあり、それぞれ対応した dtbs と zImage を収容しています。dtbs と zImage を /boot にコピーして # systemctl reboot すれば、変更できます。デフォルトはtinkerさんのconfigを使用したものです。

リンク: https://docs.google.com/file/d/0B1n2sZGxAleMVmhrQ0llZ0tZTFE/edit?usp=sharing" target="_blank">https://docs.google.com/file/d/0B1n2sZGxAleMVmhrQ0llZ0tZTFE/edit?usp=sharing

なお、スピーカーが破壊された、ウイルスにやられたなど、使用結果についての責任は、もちろん負いません。
よろしくお願いします。

では、おやすみなさいませ(笑


Re: BeagleBone Black(2) 投稿者:えふ 投稿日:2013/07/10(Wed) 11:47 home No.3157

yoさん、tinkerさん、ご苦労様です。

当方は現在、ubuntu 13.04のノーマル・カーネルとmpd-0.17.4(yanさんパッチ)にて、UDA3がノイズレスの良い音で再生できています。ただ、BASIC RTを指定したカーネルではノイズが混じります。良かったら、下記の点教えてください。

yoさん
>ネットワーク関連のcpsw.c、davinci_cpdma.c、davinci_cpdma.h、cpsw.hはご本家の3.8.13+rt12からソースをコピー。

上記作業は、3.8.13カーネルソースにrt12パッチ当て後のそれぞれのファイルを使うという意味でよろしいでしょうか。

当方のスキルでは無謀かも知れませんが、ソースにbeagleboneパッチとrtパッチを両方当てて、同様に7個のrejectファイルが出来ているところまでは確認しています。


Re: BeagleBone Black(2) 投稿者:yo 投稿日:2013/07/10(Wed) 19:20 home No.3158

syuさん、イメージの公開ありがとうございます。大変参考になりました。イメージを多少変更して、起動させ、ノイズレスで192KHz wavまでとdsdネイティブの再生を確認しました。以下、結果のご報告です。

emmcを使っておられたのですね。そのままだと、sdカードからの起動は出来ないので、bootパーティションのMLO、u-boot.img、uEnv.txtを手持ちのsdカード用のものに入れ換え、zImageと*.dtbはrootfs /bootのディフォルトのものを使うようにして、起動させました。
mpdですが、ディフォルトの状態ではdsdネイティブ再生は無音になるので(独自のパッチがかかっているためと思います)、僕の使っているもの(174s)に入れ換えました。この時、音とcpu負荷の確認を行いましたが、wavファイルの再生で両方のmpdにほとんど差はありませんでした。

設定の確認ですが

[root@alarm ~]# uname -a
Linux alarm 3.8.13-rt9_Fa-00899-g484f6f6 #1 SMP PREEMPT Wed Jul 3 21:12:00 JST 2013 armv7l GNU/Linux
[root@alarm ~]# cat /proc/asound/card0/stream0
Cypress EZ_USB(UDA3) at usb-musb-hdrc.1.auto-1, high speed : USB Audio

Playback:
Status: Running
Interface = 1
Altset = 1
Packet Size = 1024
Momentary freq = 176400 Hz (0x16.0ccc)
Feedback Format = 8.16
Packet Size = 0
Momentary freq = 176400 Hz (0x16.0ccd)
Interface 1
Altset 1
Format: S24_3LE
Channels: 2
Endpoint: 2 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000
Data packet interval: 125 us

再生状況は

44KHz flac再生

top - 19:03:01 up 1:38, 2 users, load average: 0.16, 0.21, 0.44
Tasks: 79 total, 1 running, 78 sleeping, 0 stopped, 0 zombie
%Cpu(s): 1.6 us, 11.0 sy, 0.0 ni, 87.4 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 509132 total, 343856 used, 165276 free, 5608 buffers
KiB Swap: 0 total, 0 used, 0 free, 254856 cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
71 root -56 0 0 0 0 S 17.4 0.0 4:54.35 irq/35-musb-hdr
522 root 20 0 93240 89864 28528 S 1.3 17.7 0:07.63 mpd
539 root 20 0 5092 1332 1008 R 1.0 0.3 0:00.15 top
98 root -54 0 0 0 0 S 0.3 0.0 9:30.70 irq/57-4a100000
429 root 20 0 0 0 0 S 0.3 0.0 5:41.55 cifsd

88KHz wav

top - 19:05:32 up 1:41, 2 users, load average: 0.17, 0.19, 0.39
Tasks: 78 total, 1 running, 77 sleeping, 0 stopped, 0 zombie
%Cpu(s): 4.3 us, 13.2 sy, 0.0 ni, 81.7 id, 0.4 wa, 0.0 hi, 0.4 si, 0.0 st
KiB Mem: 509132 total, 344872 used, 164260 free, 5640 buffers
KiB Swap: 0 total, 0 used, 0 free, 255764 cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
71 root -56 0 0 0 0 S 17.7 0.0 5:20.62 irq/35-musb-hdr
522 root 20 0 93236 89860 28528 S 4.3 17.6 0:11.46 mpd
98 root -54 0 0 0 0 S 0.7 0.0 9:31.32 irq/57-4a100000
385 root 20 0 10348 2900 2260 S 0.7 0.6 0:04.35 sshd
429 root 20 0 0 0 0 S 0.7 0.0 5:41.99 cifsd

192KHz wav

top - 19:08:06 up 1:43, 2 users, load average: 0.15, 0.17, 0.35
Tasks: 78 total, 1 running, 77 sleeping, 0 stopped, 0 zombie
%Cpu(s): 3.8 us, 23.6 sy, 0.0 ni, 71.5 id, 0.0 wa, 0.0 hi, 1.1 si, 0.0 st
KiB Mem: 509132 total, 351568 used, 157564 free, 5028 buffers
KiB Swap: 0 total, 0 used, 0 free, 262428 cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
71 root -56 0 0 0 0 S 18.6 0.0 5:48.50 irq/35-musb-hdr
522 root 20 0 93232 89856 28528 S 5.8 17.6 0:19.52 mpd
98 root -54 0 0 0 0 S 2.6 0.0 9:33.84 irq/57-4a100000
429 root 20 0 0 0 0 S 2.6 0.0 5:44.05 cifsd

dsdネイティブ再生

top - 19:01:33 up 1:37, 2 users, load average: 0.36, 0.25, 0.47
Tasks: 79 total, 1 running, 78 sleeping, 0 stopped, 0 zombie
%Cpu(s): 2.7 us, 18.5 sy, 0.0 ni, 78.1 id, 0.0 wa, 0.0 hi, 0.8 si, 0.0 st
KiB Mem: 509132 total, 339764 used, 169368 free, 5604 buffers
KiB Swap: 0 total, 0 used, 0 free, 249836 cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
71 root -56 0 0 0 0 S 18.4 0.0 4:38.29 irq/35-musb-hdr
522 root 20 0 93240 89864 28528 S 2.6 17.7 0:05.10 mpd
98 root -54 0 0 0 0 S 2.0 0.0 9:29.33 irq/57-4a100000
429 root 20 0 0 0 0 S 2.0 0.0 5:40.42 cifsd

という状況です。
耳で聴いた感じは192KHzはたまに多少歪むような感じがしますが、topを見ながらなので、気のせいかもしれません(^^;;;。その他は極めて良好です。

しかし、同じtinkerさんのコンフィグを使ったpreempt版と比較すると
[root@alarm ~]# uname -a
Linux alarm 3.8.13_Fa-00619-g244118b #6 SMP PREEMPT Wed Jul 10 00:25:42 PDT 2013 armv7l GNU/Linux

flac 44KHz

top - 18:35:49 up 3 min, 1 user, load average: 0.14, 0.08, 0.04
Tasks: 64 total, 1 running, 63 sleeping, 0 stopped, 0 zombie
%Cpu(s): 1.4 us, 0.7 sy, 0.0 ni, 97.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 511332 total, 253136 used, 258196 free, 8148 buffers
KiB Swap: 0 total, 0 used, 0 free, 167204 cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
261 root 20 0 93240 89864 28528 S 1.3 17.6 0:07.81 mpd
334 root 20 0 5092 1324 1008 R 0.7 0.3 0:00.09 top
18 root 20 0 0 0 0 S 0.3 0.0 0:00.36 kworker/0:1

wav 192KHz

top - 18:37:10 up 4 min, 1 user, load average: 0.04, 0.06, 0.04
Tasks: 64 total, 1 running, 63 sleeping, 0 stopped, 0 zombie
%Cpu(s): 4.3 us, 7.5 sy, 0.0 ni, 86.7 id, 0.0 wa, 0.0 hi, 1.4 si, 0.0 st
KiB Mem: 511332 total, 283112 used, 228220 free, 8160 buffers
KiB Swap: 0 total, 0 used, 0 free, 196688 cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
261 root 20 0 93240 89864 28528 S 6.6 17.6 0:10.13 mpd
295 root 20 0 0 0 0 S 4.9 0.0 0:05.35 cifsd
338 root 20 0 5092 1324 1008 R 1.0 0.3 0:00.12 top
18 root 20 0 0 0 0 S 0.3 0.0 0:00.50 kworker/0:1

dsd再生

top - 18:34:45 up 2 min, 1 user, load average: 0.06, 0.06, 0.03
Tasks: 64 total, 1 running, 63 sleeping, 0 stopped, 0 zombie
%Cpu(s): 2.1 us, 4.6 sy, 0.0 ni, 92.9 id, 0.0 wa, 0.0 hi, 0.4 si, 0.0 st
KiB Mem: 511332 total, 219500 used, 291832 free, 8140 buffers
KiB Swap: 0 total, 0 used, 0 free, 133212 cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
261 root 20 0 93240 89864 28528 S 2.6 17.6 0:05.96 mpd
295 root 20 0 0 0 0 S 2.6 0.0 0:02.96 cifsd
322 root 20 0 10348 3312 2724 S 0.7 0.6 0:00.55 sshd
18 root 20 0 0 0 0 S 0.3 0.0 0:00.25 kworker/0:1
330 root 20 0 5092 1324 1008 R 0.3 0.3 0:00.61 top

という具合にcpu負荷は半分以下です。こちらは192KHzでもまったく安定して聞こえます。
basic rtの方はtinkerさんのコンフィグに多少手を加えてビルドいるので、オリジナルに戻して試してみます。

ということで、syuさんと僕の環境で大きい差はないのかなと思います。basic rtがpreempt並の負荷で動くことが望ましい(cuboxはそうなっている)と思いますので、もう少し頑張ってみるつもりです。


Re: BeagleBone Black(2) 投稿者:yo 投稿日:2013/07/10(Wed) 19:26 home No.3159

えふさん

> ubuntu 13.04のノーマル・カーネルとmpd-0.17.4(yanさんパッチ)にて、

というのはnelsonさんのサイトでリンクされているubuntu 13.04をrootfsにされているという意味ですね。

> 上記作業は、3.8.13カーネルソースにrt12パッチ当て後のそれぞれのファイルを使うという意味でよろしいでしょうか。

その通りです。残りは

am33xx.dtsi

483行目から
cpsw_emac1: slave@4a100300 {
/* Filled in by U-Boot */
mac-address = [ 00 00 00 00 00 00 ];
};
};
の後に、rejの
+
+ ocmcram: ocmcram@40300000 {
+ compatible = "ti,am3352-ocmcram";
+ reg = <0x40300000 0x10000>;
+ ti,hwmods = "ocmcram";
+ ti,no_idle_on_suspend;
+ };
+
+ wkup_m3: wkup_m3@44d00000 {
+ compatible = "ti,am3353-wkup-m3";
+ reg = <0x44d00000 0x4000 /* M3 UMEM */
+ 0x44d80000 0x2000>; /* M3 DMEM */
+ ti,hwmods = "wkup_m3";
+ };
という部分を+記号を取り除いて挿入(パッチがかからない理由はその後にtscadc以下の行が入っているためです)。

Makefile

51行目
obj-$(CONFIG_INTEL_MEI) += mei/
の後ろに
+obj-$(CONFIG_HWLAT_DETECTOR) += hwlat_detector.o
の+記号を取り除いて挿入(エラーになった理由が分からない、パッチって空白の数も数えているのですかね)

base.c

1353行目
np->sibling = np->parent->child;
np->allnext = of_allnodes;
np->parent->child = np;
of_allnodes = np;
of_node_clear_flag(np, OF_DETACHED);
の直前の
write_lock_irqsave(&devtree_lock, flags);
を+記号を取り除いて、
+ raw_spin_lock_irqsave(&devtree_lock, flags);
に入れ換え
直後の
write_unlock_irqrestore(&devtree_lock, flags);
を+記号を取り除いて、
+ raw_spin_unlock_irqrestore(&devtree_lock, flags);
に入れ換え(これは最後の行が邪魔してパッチがエラー、最後の行を無視していいのかはよく分からないが、どうせそれ以前に極道なことをいっぱいやっているので^^;;;、無視)

以上、rejファイルとオリジナルを見比べての判断です。これで、ビルドは通ります。

僕の確認はcubox用のubuntu-core 12.04.2ですが、多分ubuntu 13.04でも同じ結果になるのではないかと思います。beagle用のubuntuまで手が回らないので、ご確認よろしくお願いします。


Re: BeagleBone Black(2) 投稿者:えふ 投稿日:2013/07/10(Wed) 20:05 home No.3160

yoさん

詳細な解説ありがとうございました。何とか頑張ってみます。

>というのはnelsonさんのサイトでリンクされているubuntu 13.04をrootfsにされているという意味ですね。

使ったのは、ubuntu-13.04-console-armhf-2013-06-14.tar.xzというもので、-minimal-armhf-ではありません。bootパーティション及びrootfsともパッケージそのまま使用しています。
これを使った理由は、スクリプト一発でSDカードのパーティション切りから書き込みまで全自動で作成できるからです。


Re: BeagleBone Black(2) 投稿者:tinker 投稿日:2013/07/10(Wed) 20:57 home No.3161

syuさん
イメージありがとうございます。
いま手持ちの空SDがないので、今度あら探ししておきます(笑)

ところで、皆さん電源を変えてみました?
シリアルケーブルを買った時、一緒に5V1Aのものと5V2.3A(ともに秋月、600円/個)の電源アダプタを買っていたので、試してみました。こちらではUSB給電のほうが音が良いようです。600円で語るなってことですかね^^;
もう一つ、cpufrequtilsをinstallしてクロックの変更をしてみました。変更しても私の駄耳では違いは分かりませんでした。

行き詰まっているので、現実逃避してちょっと遊んでいます。


Re: BeagleBone Black(2) 投稿者:yo 投稿日:2013/07/10(Wed) 21:14 home No.3162

上記メッセージのやり方でNelson版のソースに無理やりrt12パッチをかけ、tinkerさんのコンフィグでビルドしたカーネルでの結果です。44KHzとdsdネイティブ再生は多少改善されているかなと思います。rootfsはsyuさんのイメージのままです。音はとてもいいです。

[root@alarm ~]# uname -a
Linux alarm 3.8.13-rt12_Fa #19 SMP PREEMPT Wed Jul 10 20:34:03 PDT 2013 armv7l GNU/Linux

44KHz

top - 21:04:49 up 19 min, 1 user, load average: 0.22, 0.34, 0.29
Tasks: 79 total, 1 running, 78 sleeping, 0 stopped, 0 zombie
%Cpu(s): 2.0 us, 8.7 sy, 0.0 ni, 88.9 id, 0.0 wa, 0.0 hi, 0.4 si, 0.0 st
KiB Mem: 509100 total, 367660 used, 141440 free, 2640 buffers
KiB Swap: 0 total, 0 used, 0 free, 286692 cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
73 root -56 0 0 0 0 S 17.1 0.0 3:29.39 irq/35-musb-hdr
349 root 20 0 93240 89864 28528 S 1.3 17.7 0:37.46 mpd
462 root 20 0 5092 1332 1008 R 1.0 0.3 0:00.71 top
100 root -54 0 0 0 0 S 0.3 0.0 0:16.56 irq/57-4a100000
1 root 20 0 4792 2632 1788 S 0.0 0.5 0:02.81 systemd

192KHz

top - 21:02:34 up 17 min, 1 user, load average: 0.14, 0.36, 0.29
Tasks: 79 total, 1 running, 78 sleeping, 0 stopped, 0 zombie
%Cpu(s): 4.0 us, 25.5 sy, 0.0 ni, 67.6 id, 0.0 wa, 0.0 hi, 2.9 si, 0.0 st
KiB Mem: 509100 total, 368172 used, 140928 free, 2624 buffers
KiB Swap: 0 total, 0 used, 0 free, 286384 cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
73 root -56 0 0 0 0 S 18.8 0.0 3:05.74 irq/35-musb-hdr
349 root 20 0 93240 89864 28528 S 5.5 17.7 0:33.37 mpd
387 root -54 0 0 0 0 S 3.2 0.0 0:19.05 cifsd
100 root -54 0 0 0 0 S 2.9 0.0 0:15.13 irq/57-4a100000

dsdネイティブ再生

top - 21:05:44 up 20 min, 1 user, load average: 0.14, 0.30, 0.28
Tasks: 78 total, 1 running, 77 sleeping, 0 stopped, 0 zombie
%Cpu(s): 3.0 us, 17.5 sy, 0.0 ni, 77.9 id, 0.0 wa, 0.0 hi, 1.5 si, 0.0 st
KiB Mem: 509100 total, 368180 used, 140920 free, 2652 buffers
KiB Swap: 0 total, 0 used, 0 free, 286776 cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
73 root -56 0 0 0 0 S 18.3 0.0 3:39.00 irq/35-musb-hdr
349 root 20 0 93240 89864 28528 S 2.6 17.7 0:38.60 mpd
387 root -54 0 0 0 0 S 2.0 0.0 0:21.40 cifsd
100 root -54 0 0 0 0 S 1.6 0.0 0:17.01 irq/57-4a100000


Re: BeagleBone Black(2) 投稿者:tinker 投稿日:2013/07/10(Wed) 22:11 home No.3164

yoさん
以下のスレッドは関係ありそうですか?イマイチ意味がわかりません。
http://markmail.org/message/nxmjfslfybfz2zct#query:+page:1+mid:hgqk4ncfjc34wxub+state:results" target="_blank">http://markmail.org/message/nxmjfslfybfz2zct#query:+page:1+mid:hgqk4ncfjc34wxub+state:results


Re: BeagleBone Black(2) 投稿者:syu 投稿日:2013/07/10(Wed) 22:20 home No.3165

yoさん、お試しいただいてありがとうございます。

yoさんの所でもノイズが僅少なら、uda3の差ではないようで、その点が確認できて安心しました。するとdsfの差は何なのか。新たな疑問ですが、これはsdif3オプションの差だとして問題ないかもしれません。

また、bbb-arch.imgデフォルトのmpdは0.17.4に単純にyanさんのパッチを当てたものです。私には独自のパッチをでっち上げる能力は、ないです。ファイルサイズなど変でしたでしょうか?

ところで、img.gzをgoogleから落とし解凍。単純に

# dd if=bbb-arch.img of=/dev/sdg

とやって、8Gのカードに書き込んで起動してみましたが、/etc/fstabの編集だけで、きちんと音が出ています。

>そのままだと、sdカードからの起動は出来ない

との、yoさんのご指摘が、また謎になってしまいました。

もしかして、BBBそのものが私のとは違うのか。どこをチェックすれば差が分かるか、ちょっと調べてみましたが、わかりませんでした。

あとはyoさん、tinkerさん、えふさん、おやじんさん、そしてまだ見ぬ皆様のご活躍に期待して、また待機に入ります。

basic rtがpreempt並の負荷で動くのも、もうすぐのような気がしています。


Re: BeagleBone Black(2) 投稿者:syu 投稿日:2013/07/10(Wed) 22:33 home No.3166

tinkerさん

あら探し、よろしくお願いします。
私にとって、きっと良い学習効果が期待できるチャンスだろうと思います。


Re: BeagleBone Black(2) 投稿者:yo 投稿日:2013/07/10(Wed) 23:00 home No.3167

syuさん

謎の簡単な方から。

> とやって、8Gのカードに書き込んで起動してみましたが、/etc/fstabの編集だけで、きちんと音が出ています。

これは多分emmcで起動されたということだと思います。あのuEnv.txtの内容だとどうやってもSDカードからは起動出来ないはずです。

次はさっぱり分からないやつ。

> また、bbb-arch.imgデフォルトのmpdは0.17.4に単純にyanさんのパッチを当てたものです。私には独自のパッチをでっち上げる能力は、ないです。ファイルサイズなど変でしたでしょうか?

ファイルサイズは違いましたので、てっきりsyuさんが独自のパッチをあてられたものと思っていました。aitlaboのuda3はパソコンとはspdif接続ですので、syuさんの接続方式とは違うので、音が出ないのだろうだな考え、mpdを切り替えました。
なんで音が出なかったのだろう。aitlaboのパネルを見ていた感じでは、dsdネイティブモードに切り替えないで、wavデータをそのまま出力しているという感じだったのですが、うーむ、謎ですね。


Re: BeagleBone Black(2) 投稿者:えふ 投稿日:2013/07/11(Thu) 00:38 home No.3168

syuさん、yoさん

syuさんのイメージを先程から試しています。

私も簡単な方から(^^;

yoさん
>あのuEnv.txtの内容だとどうやってもSDカードからは起動出来ないはずです。

シリアル接続でbootの様子を確認してみましたが、起動に失敗しています。なので、SDカードが挿入されている場合、優先してSDカードから起動するという視点でのyoさんの指摘は正しいのですが、確かsyuさんは毎回ブートSWを押されているのですよね。そのことがデフォルトになってしまっているので、SDカードで起動できている主張もこれまた正しいわけですね(^^;

次の点は、本当によう分からんです。DSDは、UDA基板上のS/PDIF出力での確認ですが、DSD128fsが再生できました。yoさんのところでは無音になるのですよね。ふーむ?
DSDに関しては明らかにこちらのノイズの出方が少なくて良いですね。ubuntu 13.04の方はもう少し多く出ます。

取り急ぎの感想です。


Re: BeagleBone Black(2) 投稿者:tinker 投稿日:2013/07/11(Thu) 18:59 home No.3170

syuさん

そのままの状態でbootしてみました。SWを押すタイミングなのか、うまくbootできませんでした。以下の様な状態です。
uname -a
Linux alarm 3.8.11 #1 SMP Wed May 8 07:34:27 CEST 2013 armv7l GNU/Linux(eMMC中のzImage?)
となり、rootfsはArchでmountされました。私のSWを押すタイミングが悪いみたいです。syuさんのBBBは、eMMCにインストールされているので、私のようにSWを押すタイミングがうまくなくても、eMMC内のRTカーネルでbootできているのかもしれないですね。

SW押すのが面倒になってきたので、mmcblk0p1を書き換え重箱の隅^^;をと見ましたが、つつけるところが見当たらないです。逆にrtsetを見て、このタイミングで行けるんなら、このほうがいいね(Afterの行)とパクらせて頂きました。弊害はないですが、resetの不要な行は削除しておいたほういいと思います。
・zImageの大きさが若干違います。gccのverの違いなんでしょうね(こちらは4.7.3)
・mpdの大きさは随分違います。が、こちらがインチキして作成したので、私のほうがおかしいと思います(聴き比べても音の違いはないと思います)
-rwxr-xr-x 1 root root 426555 Jun 22 16:34 mpd
(yoさんのmy-config最終行をCFLAGS="-O2"に変更。試していないフォーマットでエラーになるかもしれないですが小さいです。NHKも聞けます)
https://aur.archlinux.org/packages/mpd-git/" target="_blank">https://aur.archlinux.org/packages/mpd-git/ を参考に、組み込むライブラリーを絞ると(+rtop)、もっと小さく由緒正しいArch流のmpdになるのかもしれません。

以下はsyuさんにという事ではないのですが、fstabで以下のように書かれてますよね?
username=admin,password=xxxxxxx
自分以外の誰が見るわけでもないですが、生パスワードを目にすると、なんかそわそわします。で、私は以下のようにしています。
credentials=/etc/winpasswd(/etc/winpasswdにusernameとpasswordを書きます。パーミッションを400にしておけばrootでしか見られません)


Re: BeagleBone Black(2) 投稿者:syu 投稿日:2013/07/11(Thu) 21:12 home No.3172

えふさん、tinkerさん、検証ありがとうございます。

>SDカードからは起動出来ないはず

フーム。キメラのごとき状態で起動してたのですか。それでも動くとは、linuxしぶとい。

色々やってる間に、ミスって、eMMCのパーティションごと消してしまったのですが、それでもsdカードから起動できたりして(音も普通)、そのまま音楽聴きながら、eMMCのパーティション切り直し、フォーマット、arch linuxをeMMCに新規インストールまで、できてしまいました <(^^;

>resetの不要な行は削除しておいたほういいと思います。
どこを消すべきか、ご教示くださると、幸せ。

>gccのver
$ gcc --version
gcc (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2
でした。ubuntu-studio-12.10です。

>もっと小さく由緒正しいArch流のmpd
これは素敵ですね。所望 m(--;m


Re: BeagleBone Black(2) 投稿者:yo 投稿日:2013/07/11(Thu) 21:13 home No.3173

tinkerさん、情報ありがとうございます。素晴らしい。

> http://markmail.org/message/nxmjfslfybfz2zct#query:+page:1+mid:hgqk4ncfjc34wxub+state:results" target="_blank">http://markmail.org/message/nxmjfslfybfz2zct#query:+page:1+mid:hgqk4ncfjc34wxub+state:results

海外でも同時進行で同じようなことをやっている人がいるのですね。
英語なので、イマイチ意味がよく分かりませんが(^^;;;、Nelsonさん(BBBのlinuxソースの配布をしている方)が
Last time i checked, there was a merge conflict in the cpsw network driver used on the beaglebone with the rt patchset... 'So' did you just ignore that *.rej file?
とコメントしているので、やはり Gleixner版3.8-rtのcpsw.cは問題ありで、僕のとった方法もありのようです。

多分、preemptに対してbasic-rtがcpu負荷が高くなるという問題もこのあたりと関連しているのだと思います。

このページに
https://github.com/beagleboard/kernel/tree/3.8/patches/preempt-rt" target="_blank">https://github.com/beagleboard/kernel/tree/3.8/patches/preempt-rt
preempt-rtに対応するパッチが置いてあるようですが、300個近くあって、とても追っかけられないですね。


Re: BeagleBone Black(2) 投稿者:yo 投稿日:2013/07/11(Thu) 21:17 No.3174

syuさん、えふさん

> 確かsyuさんは毎回ブートSWを押されているのですよね。

なるほど。であれば、sdカードから起動出来ますね。あのボタンが押されていると、mmcの方が優先されるわけですね。

> DSDは、UDA基板上のS/PDIF出力での確認ですが、DSD128fsが再生できました。

いま確認したらDSD128fsは再生できました。再生できないのはDSD64fsですね。dff、dsf共にです。BBBからaitlaboに信号は流れているようですが、aitlabo側がdsd信号と認識できていないようです(パネル上にI2Sと表示されます、dsdと認識できればDSDと表示される)。
mpdですが、イメージに入っているもの
[root@alarm ~]# ls -la /usr/local/bin/mpd
-rwxr-xr-x 1 root root 2108560 Jun 30 13:41 /usr/local/bin/mpd
入れ換えたもの
yo@ubuntu:~/build$ ls -la /music/rootfs/mpd-arch/174s/mpd
-rwxr--r-- 1 root nogroup 2114059 Apr 11 19:58 /music/rootfs/mpd-arch/174s/mpd
です。これでDSD64fsのdff、dsfのどちらでも再生できるようになります。
mpdビルド方法の違いから発生する問題なのですかね。


Re: BeagleBone Black(2) 投稿者:tinker 投稿日:2013/07/13(Sat) 09:42 home No.3185

おはようございます。

yoさん
以下ファイルを、公式+rt9に入れ替えたzImageを作ってみましたが、状況変化なしです。
drivers/net/ethernet/ti/Kconfig
drivers/net/ethernet/ti/cpmac.c
drivers/net/ethernet/ti/cpsw.c
drivers/net/ethernet/ti/cpsw_ale.c
drivers/net/ethernet/ti/cpsw_ale.h
drivers/net/ethernet/ti/davinci_cpdma.c
drivers/net/ethernet/ti/davinci_cpdma.h
drivers/net/ethernet/ti/davinci_emac.c
drivers/net/ethernet/ti/davinci_mdio.c
drivers/net/ethernet/ti/tlan.c
include/linux/platform_data/cpsw.h
また、musb_core.cのpacketサイズをいじってみましたが、DACを認識しなくなり、これもダメでした。

記事の方に書かれていることで質問ですが、nas(cifsdとか)の優先度は必ず設定する必要があるのでしょうか?
聴感上の変化がないので、どうなんだろうって単純な疑問です。

QNAP212を持ってるんですが、こいつのNFSはVer3です。ver3だとArchが小言吐くので、最近cifs使用中です。


Re: BeagleBone Black(2) 投稿者:tinker 投稿日:2013/07/13(Sat) 10:05 home No.3186

syuさん

>どこを消すべきか
残っていても問題ないですよ。
cuboxから持ってこられた?ようですので、その部分を消したほうが美しいかなって(以下の#部分)
rtset_start () {
# chrt -f -p 53 `pgrep irq/24-ehci_hcd`
# chrt -f -p 55 `pgrep irq/29-eth0`
chrt -f -p 53 `pgrep cifsd`
chrt -f -p 55 `pgrep irq/35-musb-hdr`
chrt -f -p 53 `pgrep irq/57-4a100000`
chrt -f -p 53 `pgrep irq/58-4a100000`
}

rtset_stop () {
# echo default-on > /sys/class/leds/cubox:red:health/trigger
sleep 1
# echo none > /sys/class/leds/cubox:red:health/trigger
echo "rtset close"
}

>これは素敵ですね。所望 m(--;m
Arch全く分からないので、とりあえずabsをinstallして調べてみました。Arch流のパッケージの作り方もやってみたいですが、困らないと動かない性格なので・・・
PKGBUILDを見ると、以下のようになっているようです。
pkgname=mpd
pkgver=0.17.4
pkgrel=1
pkgdesc='Flexible, powerful, server-side application for playing music'
url='http://www.musicpd.org/" target="_blank">http://www.musicpd.org/'
license=('GPL')
arch=('i686' 'x86_64')
depends=('libao' 'ffmpeg' 'libmodplug' 'audiofile' 'libshout' 'libmad' 'curl' 'faad2'
'sqlite' 'jack' 'libmms' 'wavpack' 'avahi' 'libid3tag' 'yajl')
makedepends=('doxygen')
source=("http://www.musicpd.org/download/" target="_blank">http://www.musicpd.org/download/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz"
'tmpfiles.d')
sha1sums=('f60b54e368fe74fde2fd4571227b0428fe0ae3cb'
'f4d5922abb69abb739542d8e93f4dfd748acdad7')

backup=('etc/mpd.conf')
install=install

build() {
cd "${srcdir}/${pkgname}-${pkgver}"
./configure \
--prefix=/usr \
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
./configure \
--prefix=/usr \
--sysconfdir=/etc \
--enable-jack \
--enable-lastfm \
--enable-soundcloud \
--enable-pulse \
--disable-sidplay \
--with-systemdsystemunitdir=/usr/lib/systemd/system
make
}

package() {
cd "${srcdir}/${pkgname}-${pkgver}"
make DESTDIR="${pkgdir}" install
install -d -g 45 -o 45 "${pkgdir}"/var/lib/mpd/playlists
install -Dm644 doc/mpdconf.example "${pkgdir}"/etc/mpd.conf
install -Dm644 ../tmpfiles.d "${pkgdir}"/usr/lib/tmpfiles.d/mpd.conf
sed \
-e '/^#playlist_directory/c playlist_directory "/var/lib/mpd/playlists"' \
-e '/^#db_file/c db_file "/var/lib/mpd/mpd.db"' \
-e '/^#pid_file/c pid_file "/run/mpd/mpd.pid"' \
-e '/^#state_file/c state_file "/var/lib/mpd/mpdstate"' \
-e '/^#user/c user "mpd"' \
-i "${pkgdir}"/etc/mpd.conf


Re: BeagleBone Black(2) 投稿者:おやじん 投稿日:2013/07/13(Sat) 18:16 home No.3192

みなさんこんにちは。
泥沼で何に手をつければよいか分からずに、yoさんの真似をして
http://www.eewiki.net/display/linuxonarm/BeagleBone+Black#BeagleBoneBlack-LinuxKernel" target="_blank">http://www.eewiki.net/display/linuxonarm/BeagleBone+Black#BeagleBoneBlack-LinuxKernel
のnelsonさんにrt14のパッチを当てて、tinkerさんのconfigでコンパイルしました。
KERNEL/drivers/net/ethernet/ti/のファイルを本家+rt14のものに全部入れ替え、
KERNEL/include/platform_data/cprw.hも本家+rt14に入れ替えたらエラーは乗り越えました。
勇んでzImageとdtbsを入れ替えてみましたが、起動しませんでした。シリアルを追えないためどこで躓いているのか分かりません。私には早すぎた挑戦でした。


Re: BeagleBone Black(2) 投稿者:yo 投稿日:2013/07/13(Sat) 18:28 home No.3194

tinkerさん

> 状況変化なしです。

起動出来ないという意味ですか。

> 聴感上の変化がないので、どうなんだろうって単純な疑問です。

難問ですね(^^;;;。僕もよく分かりません。まあ聴感上の変化がなければ、こだわる必要はないと思いますが。

僕は使わなくなったSheevaPlugをサーバに転用しています。NFSv4なのでArchとも仲良しですね。


Re: BeagleBone Black(2) 投稿者:tinker 投稿日:2013/07/13(Sat) 19:11 home No.3195

yoさん

>起動出来ないという意味ですか。
両方共、起動はできます。
cpswのほうは、演奏は問題なくできますが、入れ替え前と有意な変化がない。
またmusb_core.cは、起動はするがusbが動いてないようです。

>NFSv4なのでArchとも仲良しですね。
今までVortexBoxをサーバーにしていたんですが(こちらはVer.4)、両方点けておくのはもったいないので、QNAPだけにするかと思案中です。


Re: BeagleBone Black(2) 投稿者:yo 投稿日:2013/07/13(Sat) 21:16 home No.3197

おやじんさん

泥沼に引きずり込んじゃったようで、申し訳ないです(^^;;;。
とりあえず基本問題はクリアされていますか。リンク先のページ通りやって、BBBでDebianかUbuntuが起動できましたでしょうか。


Re: BeagleBone Black(2) 投稿者:yo 投稿日:2013/07/13(Sat) 21:20 home No.3198

tinkerさん

nasのクライアントデーモンって何をやっているのですかね。結構、CPUは使っているようなので、不思議に思っているのですよね。


Re: BeagleBone Black(2) 投稿者:syu 投稿日:2013/07/13(Sat) 21:46 home No.3199

yoさん

mpdは174sを梅雨入りバージョンから持ってきてみました。
ファイルサイズは、2114059 でしたので、これでしょうか。

入れ替えてみましたが、dsf64fsの再生状態は変化なしです。
dsfも良い音ですが、時々ダンマリ、一時停止>再生で復活。

16/44.1と24/96は同じ程度に良いのですが、24/176.4の音質はやや劣る気がしています。特に16/44.1が、とても良い音ですので、このまましばらく楽しみます。

そのうち、dsf128fsも仕込んで試してみます。


Re: BeagleBone Black(2) 投稿者:syu 投稿日:2013/07/13(Sat) 21:53 home No.3200

tinkerさん

与太爺の戯言に真面目にお付き合いくださり、感謝。

不要な行はコメントアウトしました。

>とりあえずabsをinstallして調べてみました。

うーむ・・・・Arch Build Systemですか。
沼は深そうですね。溺れないように用心しときます。


Re: BeagleBone Black(2) 投稿者:syu 投稿日:2013/07/13(Sat) 22:26 home No.3201

zodiacのdacも使っているのですが、BBBにusb接続しても、認識されません。

cuboxなら認識され、24/176.4まで良い音が出ます。
uda3 > spdifよりも軽やかなフンワリ傾向の音で、私的には好み。

この状態より、bbb > uda3 > spdif > zodiacの方が音は良いので、bbb > usb > zodiacとやってみたいのです。

cuboxでusb直結したとき

[root@cubox ~]# cat /proc/asound/card0/stream0
Antelope Audio Zodiac Gold at usb-orion-ehci.1-1, high speed : USB Audio

Playback:
Status: Running
Interface = 1
Altset = 1
Packet Size = 2040
Momentary freq = 176400 Hz (0x16.0ccd)
Interface 1
Altset 1
Format: S24_3LE
Channels: 2
Endpoint: 4 OUT (SYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 1000 us

bbbにzodiacのusb直結だと、

[root@alarm ~]# cat /proc/asound/card0/stream0
cat: /proc/asound/card0/stream0: No such file or directory

bbbはusbがpioなので、無理なんでしょうか。

bbbでuda3を接続した時は、こんな具合です。

[root@alarm ~]# cat /proc/asound/card0/stream0
Cypress EZ_USB(UDA3) at usb-musb-hdrc.1.auto-1, high speed : USB Audio

Playback:
Status: Running
Interface = 1
Altset = 1
Packet Size = 1024
Momentary freq = 176400 Hz (0x16.0ccc)
Feedback Format = 8.16
Packet Size = 0
Momentary freq = 176400 Hz (0x16.0ccd)
Interface 1
Altset 1
Format: S24_3LE
Channels: 2
Endpoint: 2 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000
Data packet interval: 125 us

どんな手がありますか。


Re: BeagleBone Black(2) 投稿者:tinker 投稿日:2013/07/13(Sat) 22:33 home No.3202

yoさん

”nfs 構造”とか”cifs 構造”で検索かけると色々出てくるのですが・・・・、もっとアホの子(>私)にも分かるように解説してあればいいんですけど^^;

比べるとNFSのほうが負荷が低いです(当社比?)
音もなんか違うように聞こえるんですが、暑さのせいの勘違いだと思います。


Re: BeagleBone Black(2) 投稿者:tinker 投稿日:2013/07/13(Sat) 22:45 home No.3203

syuさん

暑くて外に出たくなかったんで、素のmpdは作ってみました。
連休中、猛暑だったらrtopを当てたもの(PKGBUILDを少しいじればOK)を作ってみよっかなと妄想中です。

>どんな手がありますか。
セルフパワーのハブをお持ちならUSB→ハブ→DACとか試されたらどうでしょうか。
全然根拠はないので、わざわざハブ買ってまで試す価値はないかもです。


Re: BeagleBone Black(2) 投稿者:まさまさ 投稿日:2013/07/14(Sun) 00:15 home No.3204

ちょっと横から失礼致します。
話しを脱線させてしまって申し訳ないのですが。。。

> 比べるとNFSのほうが負荷が低いです(当社比?)
cifs は TCP/IP を、NFSは UDP/IP のプロトコルを使っています。
(最近のNFSはTCP/IPもサポートしてると思いますが)
TCP は結構複雑な処理をしていて、データが完全に転送されたかどうかまでチェックを行っていますが、UDPは単にデータの転送を行うだけというような作りになっているかと思います。
ですので、UDPを使った方がCPUの負荷的には断然軽くなると思います。

今やろうとしてらっしゃることは、目的が音楽を聴くためのデータ転送ですので、あまりないとは思いますが、たとえ1bitこけてしまったとしても、まぁ音がちょっと変わるくらいなので、NFSでも十分かと個人的には思います。
(もちろんNASへデータを格納するときには、完全に転送されるようTCPを使わないと困りますけど)

> 音もなんか違うように聞こえるんですが、暑さのせいの勘違いだと思います。
いやいや、人間の耳はとっても敏感ですので、tinkerさんの意見は正しいと思います。
しかしそんなに些細なことでも音が変わるんですか。。。
奥が深いです!

ちなみに mpd.conf に buffer_before_play "98%" というのがありますが、これを100%にしたら、NAS から一曲分のファイルをとってきて、memory に全部展開し終わってから再生するのでしょうか?
もしそうだとしたら、曲の再生中にはネットワーク系のプロセスは走らなくなるかもです。
あ、でも長い曲だと無理か。。。。

お邪魔しました~♪


Re: BeagleBone Black(2) 投稿者:tinker 投稿日:2013/07/14(Sun) 08:38 home No.3205

まさまささん

詳しい解説ありがとうございます。
構造的にNFSのほうが負荷は低いんですね。また音が変わる可能性があることを聞けて安心しました。以前から音が違うと言うより違和感って言葉のほうが近いようなものは感じていました。

>これを100%にしたら、
こちらは全然わかりません。yoさんが詳しいと思います。


Re: BeagleBone Black(2) 投稿者:yo 投稿日:2013/07/14(Sun) 09:48 home No.3206

あっという間に、一杯になっちゃいましたね。どんどん脱線させるためにも、新しいスレッドで続けましょう。
「BeagleBone Black(3)」です。



mail

- YY-BOARD -