cubieboardを買いました。
BeagleBoneBlackを買った時に、ついで買い!
※現在はChinaの地方都市に住んで仕事をしているので、taobaoでお買い物
BeagleBoneBlackは、390元(6240円程度) ちょっと高いかな?
Cubieboard は、386元(6180円程度) 安いかな?
richパッケージ・HPの電源アダプタ(5V2A)・USB無線アダプタ 込み
千石電子通商で買うことができるようになったので、使用者増えるかもしれませんね。
Minimal Debian "Server" image for the Allwinner A10 devices(http://romanrm.ru/en/a10/debian" target="_blank">http://romanrm.ru/en/a10/debian)を見て書いてある手順通りにインストール。非常に簡単でした。
その後、aptitudeあるいはapt-getを使ってMPD(0.16.7),ALSA(1.0.25)などをインストール、JAVS X-DDCplusも認識され、音が出ました。
最新のstable版MPD(0.17.5)をmakeして聞いています。音はyoさんの0731rt版BBBのほうが好きかな。
チューニングすれば化けると思いますが、力不足で・・・ 他力本願です。
USBポートが2個・SATAポートが1個あるので、音楽データを格納したSSDをSATA・USBに接続すれば、NASが不要になりコンパクトにできます。
A10なので以下が参考になると思います。
http://www.symphonic-net.com/kubotayo/cgi-bin/read.cgi?mode=all&list=topic&no=2528" target="_blank">http://www.symphonic-net.com/kubotayo/cgi-bin/read.cgi?mode=all&list=topic&no=2528
とりあえずyoさんのイメージからuImageとmodulesを抜き出して試されればいかがでしょうか。
動きそうな気がします。ただSATAは削ってあるかもしれないです。
BBBはX-DDC(plusも?)との相性は良くないですね。
もしclass1のDACかDDCをお持ちであれば、そちらで聞かれたほうが良いような気がします。
私はODROID-U2を試してみたいなと思ってます。ポチリそうですが、なんとか我慢してます。
僕のa10用のイメージはtobyさんがcubieboard用に公開されたイメージをベースにして、uImage(sun4i_defconfigを利用)とrootfs(梅雨入り版cubox用のもの)を入れ換えたものですので、tinkerさんが書かれているように動くかもしれませんね。
> ただSATAは削ってあるかもしれないです。
これは残してあります。ただ、modulesのインストールは省略しています(インストールすると、何故か動かなくなってしまったので)。
このあたりは
http://www.symphonic-net.com/kubotayo/articles/articles015.html#003" target="_blank">http://www.symphonic-net.com/kubotayo/articles/articles015.html#003
に手順を残してありますので、ご参照下さい。
> 私はODROID-U2を試してみたいなと思ってます。ポチリそうですが、なんとか我慢してます。
これは韓国製のようですが、面白そうですね。あとwandboardも日本で簡単に注文できるようなので気になっています。
しかし、既に玄柴、SheevaPlug、Cubox、SmartTVBox(Allwinner A10)、BBBと5台もっていて(あとRaspberryPIも何故か手元にあります)、「これ以上増殖させてどうするつもりか」と言われそうなので、必死にこらえています(^^;;;。
情報ありがとうございます。遅くなりましたが、やってみました。
android-audio-130614.img.7zは、インストールは問題なくできましたが・・・。
MPDが自動起動せず、selmpdで起動が必要です。なぜでしょうね? 音は出ますが、結構音飛びが発生します。
[root@Android etc]# uname -a
Linux Android 3.4.24-rt35-t4_SmartTV_UAC2.0 #8 PREEMPT RT Wed May 8 19:06:12 PDT 2013 armv7l GNU/Linux
dmesgを見てみると、ちょっと気になるメッセージがあります。
[ 0.000000] Memory: 760MB = 760MB total
[ 0.000000] Memory: 747432k/747432k available, 30808k reserved, 0K highmem
メモリは、1GBあるはずなので、HW構成が違っているかな?NANDに入っているscript.binを/bootにコピーして置き換えした方がいいのかな?
[ 4.130000] systemd[1]: Cannot add dependency job for unit display-manager.service, ignoring: Unit display-manager.service failed to load: No such file or directory. See system logs and 'systemctl status display-manager.service' for details.
[ 5.000000] systemd[1]: systemd-modules-load.service: main process exited, code=exited, status=1/FAILURE
[ 5.090000] systemd[1]: Failed to start Load Kernel Modules.
[ 5.110000] systemd[1]: Unit systemd-modules-load.service entered failed state
> ただ、modulesのインストールは省略しています(インストールすると、何故か動かなくなってしまったので)。
ということでしょうか?
とりあえず、状況報告です。
やっぱり動くんですね。
>音は出ますが、結構音飛びが発生します。
優先度の設定で解決しないでしょうか?andbox44の時は以下のようにしました。
chrt -f -p 54 `pgrep irq/39-ehci_hcd`(USB1の場合)
chrt -f -p 55 `pgrep irq/55-eth0`
chrt -f -p 53 `pgrep cifsd`
topの結果と/proc/interruptsの結果を見ながら、boardにあった設定を行ってみてください。
>[ 0.000000] Memory: 760MB = 760MB total
やっぱり1G全部は認識していないですね。私は借り物で試していたので、結局ほっときました。nakanakaさんの言われるようにscript.binを変えると解決するのかもしれません。
yoさん
>あとwandboardも日本で簡単に注文できるようなので気になっています。
3.10.6+rt3で(拾ってきた別のpatchも当てました)rt化出来ましたが、まだBasic RTです。
Full RTでは”cannot submit urb err = -18”が出て数分で再生が切れます。
Cubox位にはなりましたが、それ以上のものは期待できそうにないようです。
残念ながらあまり芳しい結果ではないようですね。ノイズの原因はハード(cubieboard、ddc)とソフト(kernel、rootfs)の組み合わせに起因するかなと思います。チューニングで改善する可能性はあると思いますが、そこまで頑張ることもないですかね。
tinkerさんが指摘されているように優先度の問題で
http://www.symphonic-net.com/kubotayo/articles/articles015.html#010" target="_blank">http://www.symphonic-net.com/kubotayo/articles/articles015.html#010
この記事の内容が原因の可能性はあります。
> MPDが自動起動せず、selmpdで起動が必要です。
謎ですね。ただ、僕の環境でも同じような現象が発生したことはあります。再発しなかったので、そのままにしておいた記憶があります。
> メモリは、1GBあるはずなので、HW構成が違っているかな?
ディズプレイ用のバッファがディフォルトの状態でとられているということだと思います。boot.scrのパラメータで拡大させることは出来ますが、これも、そこまで頑張ることはないという感じですかね。
> ということでしょうか?
その通りです。
tinkerさん
> Cubox位にはなりましたが、それ以上のものは期待できそうにないようです。
情報ありがとうございます。やっぱり本命はODROID-U2ですかね。ハード性能はこれが圧倒的みたいだから。
>やっぱり本命はODROID-U2ですかね。
電源が内径0.8mm/外径2.5mmと特殊みたいですよ。
電源アダプタとUSB-UART Module Kitも一緒に発注されると良いかと(笑)
「arch梅雨入り版 on Android Smart TV Boxについて」のスレッドを見ていませんでした。読んでみると現症・原因は同じようです。
1.systemdでうまく、mpdsetが起動できていません。mpd.serviceは削除しました。
/etc/init.d/mpdset.conf start は、起動します。調べていますが・・・ 途中で打ち切られるのかな?
ログがあればわかるのですが。1行ずつコメント化してデバッグしてみます。
[root@Android ~]# systemctl is-enabled mpdset
enabled
[root@Android ~]# systemctl status mpdset
mpdset.service - MPDset
Loaded: loaded (/usr/lib/systemd/system/mpdset.service; enabled)
Active: active (exited) since Mon 2013-08-19 16:52:16 JST; 1min 20s ago
Process: 262 ExecStart=/etc/init.d/mpdset.conf start (code=killed, signal=HUP)
[root@Android ~]# mpc
error: Connection refused
[root@Android ~]# systemctl is-enabled mpd
Failed to issue method call: No such file or directory
[root@Android ~]# systemctl disable mpd
Failed to issue method call: No such file or directory
[root@Android ~]#
[root@Android ~]# /etc/init.d/mpdset.conf start
mkdir: cannot create directory ‘/tmp/mpd’: File exists
cp: cannot stat ‘/var/lib/mpd/sticker.sql’: No such file or directory
touch: cannot touch ‘/tmpmpd//tag_cache’: No such file or directory
touch: failed to get attributes of ‘/var/lib/mpd/sticker.sql’: No such file or directory
mpd start
2.音飛びの原因は、以下の理由だと思えます。
selmpdで起動しました。しかし、selmpdでは、優先レベルの設定がされない。
/etc/init.d/mpdset.conf start で起動すれば、優先順位が設定される。
※優先順位の変更は必要です。
「梅雨入りバージョンでのアップサンプリング」「リアルタイム処理での優先レベルの設定について」を参考
[root@Android ~]# selmpd
daemon: unable to open pid file "/tmp/mpd/pid": No such file or directory
cp: cannot stat ‘/root/mpdcubox//mpd’: No such file or directory
ussage : selmpd [18y|18g|174s|173s]
mpd restart
[root@Android ~]# ps -eLo pid,lwp,rtprio,priority,time,cmd | egrep "irq/39|irq/55|mpd|cifsd"
44 44 50 -51 00:00:00 [irq/39-ehci_hcd]
206 206 50 -51 00:00:00 [irq/55-eth0]
274 274 - 20 00:00:00 [cifsd]
318 318 - 20 00:00:00 /usr/local/bin/mpd /etc/mpd.conf
318 319 - 20 00:00:00 /usr/local/bin/mpd /etc/mpd.conf
318 320 52 -53 00:00:00 /usr/local/bin/mpd /etc/mpd.conf
318 321 49 -50 00:00:02 /usr/local/bin/mpd /etc/mpd.conf
318 322 54 -55 00:00:00 /usr/local/bin/mpd /etc/mpd.conf
326 326 - 20 00:00:00 egrep irq/39|irq/55|mpd|cifsd
1.MPDが起動しない件は、能力不足でぜんぜんわかりません。
systemdから、/etc/init.d/mpdset.conf start が起動されていることは確認できました。
しかし、/usr/local/bin/mpd /etc/mpd.conf で実行が停止しています。
その行以降の優先レベル設定が実行されていません。手動で、実行すれば問題なく起動します。
/etc/init.d/mpdset.conf start で手動起動しています。
※エラーが出ないように、スクリプトに修正をしています(ファイルの存在チェック)。
2.音飛びの件は、優先レベルの変更をしましたが、音飛びはなくなりませんでした。発生頻度は減った気がします。
[root@Android ~]# ps -eLo pid,lwp,rtprio,priority,time,cmd | egrep "irq/39|irq/55|mpd|cifsd"
44 44 54 -55 00:00:00 [irq/39-ehci_hcd]
209 209 55 -56 00:00:17 [irq/55-eth0]
237 237 53 -54 00:00:07 [cifsd]
289 289 - 20 00:00:06 /usr/local/bin/mpd /etc/mpd.conf
289 291 - 20 00:00:00 /usr/local/bin/mpd /etc/mpd.conf
289 292 52 -53 00:00:02 /usr/local/bin/mpd /etc/mpd.conf
289 293 49 -50 00:00:46 /usr/local/bin/mpd /etc/mpd.conf
289 294 53 -54 00:00:03 /usr/local/bin/mpd /etc/mpd.conf
相性がわるいのかなと思い、DDCplusを外して、引退していたSD-1955+をUSB接続したところ、音飛びはなくなりました。
USB-Audio1.0(96kHz/24bit)?に変わり、irq/64-ochi_hcdにかわり、topのCPU使用率が跳ね上がりました?
優先レベルは直したほうがいいのかな。
Tasks: 71 total, 1 running, 70 sleeping, 0 stopped, 0 zombie
%Cpu(s): 3.9 us, 62.3 sy, 0.0 ni, 31.5 id, 2.1 wa, 0.0 hi, 0.2 si, 0.0 st
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
45 root -51 0 0 0 0 S 58.65 0.000 5:52.18 irq/64-ohci_hcd
289 mpd 20 0 93344 80828 28928 S 3.561 10.81 0:19.86 mpd
209 root -56 0 0 0 0 S 1.088 0.000 0:06.10 irq/55-eth0
313 root 20 0 4908 1220 988 R 0.396 0.163 0:00.82 top
170 root 20 0 6992 3176 2304 S 0.297 0.425 0:03.91 syslog-ng
237 root -54 0 0 0 0 S 0.297 0.000 0:02.46 cifsd
1 root 20 0 4784 2656 1760 S 0.000 0.355 0:02.51 systemd
tinkerさん
archの話だったのですか。どのarchのrootfsを使っているかで話は変わりそうですが、cubox用のarchだとrc.localは動きません。ただ、そういう話ではなさそうですね。コンソールからの
chrt -f -p 53 `pgrep cifsd`
は通るのですよね。
ところで、Nelsonさんのカーネルソースにご本家のrtパッチ(rt12)を無理やりかけて試してみました(大変でした)。大分改善されてwavの再生は出来るようになりましたが、まだ依然いろいろ問題ありですね。詳しくは整理してから書き込みますが、ますます泥沼ですね(^^;;;。
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個とんでもないのがありますよね。私はそこで挫折しました。
考えて(妄想)みたのですが、
SysVinitはプロセスを順番に処理する。rc.localは最後に処理されるため問題にならない。
systemdは並列に処理されるため、rc.localが処理されている段階で、まだcifsdが起動していない。起動していないものに対しての処理はなされない。
たぶん、こんな感じかなと思います。rc.localでは無理そうですね。
ただ、systemdも各プロセスが勝手に起動してもおかしな状態になるでしょうから、どこかで最低限の起動順位とか依存関係を規定してるんでしょうね。
> 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が起動しないこともこれと関連しているのかもしれません。
>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絡みですか・・・
> そこでmpd.serviceの後なら今回分は大丈夫だろうと考えて、rc-local.serviceを以下のように変更したところ、望みの処理をしれくれるようになりました。
これが正解ですね。
梅雨入り版でも/usr/local/sbin/cifs.shをafter指定(After=mpdset.service)で起動するのが正解です。
> cpswって確かetherですよね。ether絡みですか・・・
usb2とetherが絡み合って、それぞれpreemptを主張し合い、スムーズに動けなくなっているということだと思います。でないと、syuさんと僕のところの差を説明できません。ご本家のパッチをあてても解決しないので、当分じっと我慢ですね。
まあ、rtなしのpreemptでも素晴らしい音なので、これでいいかなと思います。
>まあ、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ベースみたいです)も始まっているようですね。
単純にvoid cpdma_ctlr_eoiとdma_reg_writeの内容をパッチに合わせました。あとEXPORT_SYMBOL_GPL(cpdma_ctlr_eoi);を追加しました。
関係無かったですね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を作れるかもしれません。
来週にでもダメもとでやってみようかと思っています。
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なのか」調べる方法を教えてもらえますか。
なんか光が見えてきましたね。関連ファイルを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並みの力強さは無いですが、なんというかフェロモンみたいなものがありますね。
>関連ファイルをUPしていただけると嬉しいです
と書きましたが、
>am33xx.dtsi、Makefilerej、base.cはrejファイルを参考にして手作業で修正~
のくだりをちゃんと読んでいませんでした。記事にしたがってやってみます。
> なんか光が見えてきましたね。関連ファイルをUPしていただけると嬉しいです。
長いトンネルでしたね。僕のやり方はかなり阿漕な方法なので、tinkerさんの方がまっとうなやり方ですので、上手くいけば、そちらの方がいいと思います。
アップするファイルは手修正したソースでいいですか。それともzImageと*.dtbの方をまとめたものの方が簡単ですかね。
フェーズテックのHD7A-192でも試してみましたが、96KHzまでのハイレソファイルなら問題なく再生できました。前はノイズだらけで聴けたものではなかったので、驚くべき変化ですね(^^)。192KHzはちょっとノイズが出ます。
uda3では問題なしなので、このあたりはハードの差ですかね。
>アップするファイル
少し大きくなりますが、zImage、*.dtb、modulesをUPしてください。
こちらの環境で動かないx-ddcのハイレゾを試してみたいです。
また上記ファイルがあれば、RTが全然ダメって方の動作報告も上がってくるかと思います。
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のアップはしばらく見合わせます。
なかなかうまく行かないですね。
こっちの案も、今のところダメです。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#
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
なお、スピーカーが破壊された、ウイルスにやられたなど、使用結果についての責任は、もちろん負いません。
よろしくお願いします。
では、おやすみなさいませ(笑
当方は現在、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ファイルが出来ているところまでは確認しています。
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はそうなっている)と思いますので、もう少し頑張ってみるつもりです。
> 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まで手が回らないので、ご確認よろしくお願いします。
詳細な解説ありがとうございました。何とか頑張ってみます。
>というのはnelsonさんのサイトでリンクされているubuntu 13.04をrootfsにされているという意味ですね。
使ったのは、ubuntu-13.04-console-armhf-2013-06-14.tar.xzというもので、-minimal-armhf-ではありません。bootパーティション及びrootfsともパッケージそのまま使用しています。
これを使った理由は、スクリプト一発でSDカードのパーティション切りから書き込みまで全自動で作成できるからです。
イメージありがとうございます。
いま手持ちの空SDがないので、今度あら探ししておきます(笑)
ところで、皆さん電源を変えてみました?
シリアルケーブルを買った時、一緒に5V1Aのものと5V2.3A(ともに秋月、600円/個)の電源アダプタを買っていたので、試してみました。こちらではUSB給電のほうが音が良いようです。600円で語るなってことですかね^^;
もう一つ、cpufrequtilsをinstallしてクロックの変更をしてみました。変更しても私の駄耳では違いは分かりませんでした。
行き詰まっているので、現実逃避してちょっと遊んでいます。
[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
以下のスレッドは関係ありそうですか?イマイチ意味がわかりません。
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
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並の負荷で動くのも、もうすぐのような気がしています。
あら探し、よろしくお願いします。
私にとって、きっと良い学習効果が期待できるチャンスだろうと思います。
謎の簡単な方から。
> とやって、8Gのカードに書き込んで起動してみましたが、/etc/fstabの編集だけで、きちんと音が出ています。
これは多分emmcで起動されたということだと思います。あのuEnv.txtの内容だとどうやってもSDカードからは起動出来ないはずです。
次はさっぱり分からないやつ。
> また、bbb-arch.imgデフォルトのmpdは0.17.4に単純にyanさんのパッチを当てたものです。私には独自のパッチをでっち上げる能力は、ないです。ファイルサイズなど変でしたでしょうか?
ファイルサイズは違いましたので、てっきりsyuさんが独自のパッチをあてられたものと思っていました。aitlaboのuda3はパソコンとはspdif接続ですので、syuさんの接続方式とは違うので、音が出ないのだろうだな考え、mpdを切り替えました。
なんで音が出なかったのだろう。aitlaboのパネルを見ていた感じでは、dsdネイティブモードに切り替えないで、wavデータをそのまま出力しているという感じだったのですが、うーむ、謎ですね。
syuさんのイメージを先程から試しています。
私も簡単な方から(^^;
yoさん
>あのuEnv.txtの内容だとどうやってもSDカードからは起動出来ないはずです。
シリアル接続でbootの様子を確認してみましたが、起動に失敗しています。なので、SDカードが挿入されている場合、優先してSDカードから起動するという視点でのyoさんの指摘は正しいのですが、確かsyuさんは毎回ブートSWを押されているのですよね。そのことがデフォルトになってしまっているので、SDカードで起動できている主張もこれまた正しいわけですね(^^;
次の点は、本当によう分からんです。DSDは、UDA基板上のS/PDIF出力での確認ですが、DSD128fsが再生できました。yoさんのところでは無音になるのですよね。ふーむ?
DSDに関しては明らかにこちらのノイズの出方が少なくて良いですね。ubuntu 13.04の方はもう少し多く出ます。
取り急ぎの感想です。
そのままの状態で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でしか見られません)
>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
> 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個近くあって、とても追っかけられないですね。
> 確か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ビルド方法の違いから発生する問題なのですかね。
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使用中です。
>どこを消すべきか
残っていても問題ないですよ。
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
泥沼で何に手をつければよいか分からずに、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を入れ替えてみましたが、起動しませんでした。シリアルを追えないためどこで躓いているのか分かりません。私には早すぎた挑戦でした。
> 状況変化なしです。
起動出来ないという意味ですか。
> 聴感上の変化がないので、どうなんだろうって単純な疑問です。
難問ですね(^^;;;。僕もよく分かりません。まあ聴感上の変化がなければ、こだわる必要はないと思いますが。
僕は使わなくなったSheevaPlugをサーバに転用しています。NFSv4なのでArchとも仲良しですね。
>起動出来ないという意味ですか。
両方共、起動はできます。
cpswのほうは、演奏は問題なくできますが、入れ替え前と有意な変化がない。
またmusb_core.cは、起動はするがusbが動いてないようです。
>NFSv4なのでArchとも仲良しですね。
今までVortexBoxをサーバーにしていたんですが(こちらはVer.4)、両方点けておくのはもったいないので、QNAPだけにするかと思案中です。
泥沼に引きずり込んじゃったようで、申し訳ないです(^^;;;。
とりあえず基本問題はクリアされていますか。リンク先のページ通りやって、BBBでDebianかUbuntuが起動できましたでしょうか。
nasのクライアントデーモンって何をやっているのですかね。結構、CPUは使っているようなので、不思議に思っているのですよね。
mpdは174sを梅雨入りバージョンから持ってきてみました。
ファイルサイズは、2114059 でしたので、これでしょうか。
入れ替えてみましたが、dsf64fsの再生状態は変化なしです。
dsfも良い音ですが、時々ダンマリ、一時停止>再生で復活。
16/44.1と24/96は同じ程度に良いのですが、24/176.4の音質はやや劣る気がしています。特に16/44.1が、とても良い音ですので、このまましばらく楽しみます。
そのうち、dsf128fsも仕込んで試してみます。
与太爺の戯言に真面目にお付き合いくださり、感謝。
不要な行はコメントアウトしました。
>とりあえずabsをinstallして調べてみました。
うーむ・・・・Arch Build Systemですか。
沼は深そうですね。溺れないように用心しときます。
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
どんな手がありますか。
”nfs 構造”とか”cifs 構造”で検索かけると色々出てくるのですが・・・・、もっとアホの子(>私)にも分かるように解説してあればいいんですけど^^;
比べるとNFSのほうが負荷が低いです(当社比?)
音もなんか違うように聞こえるんですが、暑さのせいの勘違いだと思います。
暑くて外に出たくなかったんで、素のmpdは作ってみました。
連休中、猛暑だったらrtopを当てたもの(PKGBUILDを少しいじればOK)を作ってみよっかなと妄想中です。
>どんな手がありますか。
セルフパワーのハブをお持ちならUSB→ハブ→DACとか試されたらどうでしょうか。
全然根拠はないので、わざわざハブ買ってまで試す価値はないかもです。
話しを脱線させてしまって申し訳ないのですが。。。
> 比べると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 に全部展開し終わってから再生するのでしょうか?
もしそうだとしたら、曲の再生中にはネットワーク系のプロセスは走らなくなるかもです。
あ、でも長い曲だと無理か。。。。
お邪魔しました~♪
詳しい解説ありがとうございます。
構造的にNFSのほうが負荷は低いんですね。また音が変わる可能性があることを聞けて安心しました。以前から音が違うと言うより違和感って言葉のほうが近いようなものは感じていました。
>これを100%にしたら、
こちらは全然わかりません。yoさんが詳しいと思います。
こんにちは
初歩的な質問で恐縮なのですが、CuBoxでNASとeSATAの音楽ライブラリを同時にマウントして読めるようにする方法がわからずに困っています。
すでにNASのMusicディレクトリに保存されているファイルは再生できる状態で、それにeSATA(NTFSでフォーマット)の外付けHDDを追加した場合、/etc/fstabに
/dev/sdb1 /music ntfs-3g defaults,locale=ja_JP.UTF-8 0 0
を追記したあと
mount -a
とマウントすると、eSATAは見えるのですがNASのファイルが見えなくなってしまいます。
eSATAとNASの音楽ファイルを同時に読めるようにするにはどのような手順を踏めばよいのでしょうか。。。?
cd /music
mkdir NAS
mkdir eSATA
とします。
そして、
/NASの構成 /music/NAS (以下、今までと同じ)
/dev/sdb1 /music/eSATA ntfs-3g defaults,locale=ja_JP.UTF-8 0 0
で、どっちも見えると思います。
mount -a のところで、新しいコマンドに Cubox が従ったので、過去のマウント(NASへの接続)が消えてしまったのです。 だから、接続ポイントをふたつ作って、違うところで接続すればOKというわけです。
有難うございます。
おかげさまで無事NASとeSATA両方同時にマウントして見えるようになりました!
周囲から要望があったので、
CuBox, SSD, アナログ電源回路を箱に詰めてみました。
凝って作ってるので "非常に材料代が高い" ですが
まだ、数台分の部品が残っているので、
高くても 欲しいぃぃって方は
oban.development@gmail.com に連絡いただければ組立します。
http://www.o-ban.jp/development/music_server_boxed_cubox/" target="_blank">http://www.o-ban.jp/development/music_server_boxed_cubox/
tinkerさん、syuさん
> 特に何もしてないです。開発環境の違いなのでしょうか。
configの違いに起因すると思います。
僕の環境で正常に終了する場合は次のようなログになっています。
GEN .version
CHK include/generated/compile.h
UPD include/generated/compile.h
CC init/version.o
LD init/built-in.o
KSYM .tmp_kallsyms1.o
KSYM .tmp_kallsyms2.o
LD vmlinux
SORTEX vmlinux
つまり、drivers/built-in.oが作成されていないのですよね。
上記の例は以前にtinkerさん公開されたconfigとhttps://github.com/beagleboard/kernel/tree/3.8-rt" target="_blank">https://github.com/beagleboard/kernel/tree/3.8-rtソースを組み合わせてビルドしています。同じソースで新しいconfigではdrivers/built-in.oのエラーになりますので、コンフィグの違いが原因かと思います。
しかしtinkerさん、syuさんお二人のところではビルドが通っているわけですから、gccの問題なのかなぁ。gccの指定はどうされていますか。
>gccの指定はどうされていますか。
Ubuntu13.04の4.7.3を使っています。syuさんは12.10の4.7.2だと思います。
もしかしたらですが、土曜にいじってた時に誤ってファイルを消してしまったので、patch.shからやり直しました。gitを見ると3.8-rtは変更ないのですが、3.8の方は数日前にも変更があったようなので、そのへんも関係しているかもしれません。
0723config.gzをUPします(Verは_Faにしています)
https://docs.google.com/file/d/0BxnbJHx0_xurNE05TUxlS1V6aXM/edit?usp=sharing" target="_blank">https://docs.google.com/file/d/0BxnbJHx0_xurNE05TUxlS1V6aXM/edit?usp=sharing
負荷が減ったかなと思ったのですが、変わっていないようです。
0722config.gzから削ったものですので、同じ不具合を持っているかもしれません。
yoさんSpecialが出るまで、変則的ですが以下の組み合わせで聞いてみようと思います。
0722config.gz:Deadline(綺麗、余韻長め)
0723config.gz:CFQ(元気、余韻若干短め。Cuboxっぽい感じも少しあり)
以下の環境で調整しました。環境、ソース、音量によって印象は異なると思います。
・Debian 7.0
・Donald FagenのOn the Dunesを同音量でひたすら(笑 違いが分かりやすい曲なので)
誤って0722config.gzを削除してしまいましたので、再UPしました。
https://docs.google.com/file/d/0BxnbJHx0_xurdld2UjR2VU1OOGM/edit?usp=sharing" target="_blank">https://docs.google.com/file/d/0BxnbJHx0_xurdld2UjR2VU1OOGM/edit?usp=sharing
またもや不思議ですね。tinkerさんのおっしゃる通りで、
gcc (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2 です。
迂遠ですが、駆け出し者なので念のため、3.8-rt.zipを落とすところから始めました。
# wget https://github.com/beagleboard/kernel/archive/3.8-rt.zip" target="_blank">https://github.com/beagleboard/kernel/archive/3.8-rt.zip
# unzip 3.8-rt.zip
tinkerさんのconfig(130722)をコピー
http://arago-project.org/git/projects/?p=am33x-cm3.git;a=tree;f=bin" target="_blank">http://arago-project.org/git/projects/?p=am33x-cm3.git;a=tree;f=bin から
am335x-pm-firmware.binをダウンロード。
# cd kernel-3.8-rt/
# ./patch.sh
# cd kernel
# cp ../../config130722 .config
# cp ../../bin_am335x-pm-firmware.bin firmware/am335x-pm-firmware.bin
# export ARCH=arm
# export CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf-
# make uImage dtbs
# make modules
# mkdir ../../modules-bbb-arch
# INSTALL_MOD_PATH=../../modules-bbb-arch/ make modules_install
私は64bit環境ですが、64と32で挙動が違うという話もあるみたいです。
root@XXXXX:/home/syu# uname -a
Linux XXXXX 3.5.0-36-lowlatency #37-Ubuntu SMP PREEMPT Tue Jun 25 23:00:52 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
僕のところは ubuntu 12.04、gccは
gcc --version
gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
と若干古い。また
uname -a
Linux ubuntu 3.2.0-31-generic #50-Ubuntu SMP Fri Sep 7 16:17:36 UTC 2012 i686 i686 i386 GNU/Linux
と32Bitですが、これらが原因とは考えにくいですね。
drivers/built-in.oがお二人の環境では作成出来ていて、僕の環境では駄目になっている理由としてはソースの違い位しかなさそうなので、こちら(ti_am335x_adc.c)を調べたら、つい最近(7 days ago)更新されていますね。
https://github.com/torvalds/linux/blob/master/drivers/iio/adc/ti_am335x_adc.c" target="_blank">https://github.com/torvalds/linux/blob/master/drivers/iio/adc/ti_am335x_adc.c
手持ちの版と比較したら、かなり差があります。
それで教えて頂きたいのですが、tinkerさんの新しいコンフィグでビルドが通ったカーネルソースのdrivers/iio/adc/ti_am335x_adc.cの内容で16行目から32行目まで(ヘッダーファイルのinclude部分)を貼り付けてもらえますか。
ちなみに僕の環境のものは
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/err.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/interrupt.h>
#include <linux/platform_device.h>
#include <linux/iio/iio.h>
#include <linux/of.h>
#include <linux/of_device.h>
#include <linux/iio/machine.h>
#include <linux/iio/driver.h>
#include <linux/regmap.h>
#include <linux/io.h>
#include <linux/mfd/ti_am335x_tscadc.h>
#include <linux/platform_data/ti_am335x_adc.h>
最新のものは
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/err.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/interrupt.h>
#include <linux/platform_device.h>
#include <linux/io.h>
#include <linux/iio/iio.h>
#include <linux/of.h>
#include <linux/of_device.h>
#include <linux/iio/machine.h>
#include <linux/iio/driver.h>
#include <linux/mfd/ti_am335x_tscadc.h>
となっています。
ところで
> yoさんSpecialが出るまで、
コンフィグをいじるたびにいろいろ奇怪(^^;;;な事件が発生し、対応に手間取っています(tinkerさんコンフィグ事件もその一つ)。あまり期待をしないで、気長にお待ちください。ほんとBBBリアルタイムカーネルは魑魅魍魎の世界ですね(^^;;;;;;。
こちらも32bitです。gccが原因ならlinaroのCross Compilerを使ってみるとかですかね。
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/err.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/interrupt.h>
#include <linux/platform_device.h>
#include <linux/iio/iio.h>
#include <linux/of.h>
#include <linux/of_device.h>
#include <linux/iio/machine.h>
#include <linux/iio/driver.h>
#include <linux/regmap.h>
#include <linux/io.h>
#include <linux/mfd/ti_am335x_tscadc.h>
#include <linux/platform_data/ti_am335x_adc.h>
私のconfigは/dev/ttyを作らない設定なので(ubuntu不調の原因かもしれません)、ttyを作るためにCharacter devicesをいじるとboot失敗とか^^;ほんとに訳わかんないです。
7/22のconfigでの音は気に入ってるんですが、不具合もいろいろ有ることも分かっているので、こちらも初めからやり直してみようと思っています。
私は昨晩、sdカードをfdiskするところからやり直しました。3.8-rt.zipなども最新です。出来上がったものの挙動は、前回と同じでした。
音は良いのですが、しばらく鳴らしていると、sshもttyも接続が切れます。接続切れの時点で再生中のファイルは、曲が終わるまで音が出て、次の曲に移る時点で無音になります。接続切れ発生までの時間は、不定です。
ソースのご指摘の部分はyoさんのと同じですが、yoさんが最新のものとしてお示しのものとは違いますね。
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/err.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/interrupt.h>
#include <linux/platform_device.h>
#include <linux/iio/iio.h>
#include <linux/of.h>
#include <linux/of_device.h>
#include <linux/iio/machine.h>
#include <linux/iio/driver.h>
#include <linux/regmap.h>
#include <linux/io.h>
#include <linux/mfd/ti_am335x_tscadc.h>
#include <linux/platform_data/ti_am335x_adc.h>
現時点で抜群に好みの音が出ていますので、ここは気長に、「期待しつつ m(--;m 」yoさんスペシャルをお待ちいたします。
申し訳ありませんが、仕切り直しさせて下さい。
0724config.gzをUPしました。
https://docs.google.com/file/d/0BxnbJHx0_xurNk1qU2NVUm83M1k/edit?usp=sharing" target="_blank">https://docs.google.com/file/d/0BxnbJHx0_xurNk1qU2NVUm83M1k/edit?usp=sharing
・初期状態のconfigから作り直しました
・ローカルVerを_Fcに変更しました(modulesを作りなおす必要あり)
検討途中のため、音は0722config.gzのほうが良いかもしれませんが、変なエラーは出ないと思います。
こちらで挙動がおかしかったubuntuもちゃんと動くようになりました。
cpufrequtilsをインストールしています。debian及びarchではあまり恩恵はなかったのですが、こちらの環境で若干負荷の高いubuntuでは効果があるようです。debian及びarchでも数値には現れませんが効果があるかもしれません。
設定は、
apt-get install cpufrequtils
nano /etc/init.d/cpufrequtilsで以下の箇所を変更
GOVERNOR="ondemand" → GOVERNOR="performance"
変更後
/etc/init.d/cpufrequtils restart
お約束は、何がおきても無保証です。
が、不具合、感想等は教えて下さい。今後の参考にさせて頂きます。
また、一般ユーザーでbuildしろとかfakeroot使えとかのツッコミは、この暑さのため聞き入れられません^^;
https://docs.google.com/file/d/0BxnbJHx0_xurYVZQdVFHTFE1Qms/edit?usp=sharing" target="_blank">https://docs.google.com/file/d/0BxnbJHx0_xurYVZQdVFHTFE1Qms/edit?usp=sharing
内容は以下のとおりです。
1.*.dtb
2.modules
3.config-RT
4.zImage-RT(Preemptible Kernel (Basic RT:Deadline))
5.zImage-LLTD(Preemptible Kernel (Low-Latency Desktop):Deadline)
6.zImage-LLTC(Preemptible Kernel (Low-Latency Desktop):CFQ)
上記4で動かない場合は、5または6のzImageを試してみてください。
個人的にはRTのほうが良いと思いますが、Low-Latencyもそれほど悪くはないと思います。
私の環境で、0724config、make出来ました。
Linux alarm 3.8.13-rt9_Fc-00899-g2437087 #1 SMP PREEMPT Thu Jul 25 01:22:03 JST 2013 armv7l GNU/Linux
好きなのは0722configの方です。かなり違う印象です。弦楽器のフワッと奏者を取り巻くような良質の擦弦ノイズなど、雰囲気に関する部分で0722configが優位だと思いますが、あれを嫌う人もいますしね。
0724configも、ひと晩鳴らしておいたら、朝には止まっていました。
0722configの音で安定化できると、素敵です。もう少し聴き込んでみます。
どちらもとても良い音ですので、皆様、是非お試しください。
先ほどUPしたものは0724を少しいじってbuildしたものです。
syuさんからお聞きしている、接続に関する問題点が解消しているかもしれないです。試してみてください。
0722の音は私も好きなんです。あれに近づけたいといじっていますが、なかなか難しいです。
ubuntu 13.04でVmwarePlayer環境を構築。linuxソースも取り直して、tinkerさんの新しいコンフィグでビルドが通るようになりました。やはり環境の問題であったようです。情報ありがとうございました。
ところが、またまたトラブル。dsdファイルが再生出来ません。aitlaboのパネル表示がごく短い周期でI2SとDSDで切り替わり、音は出ません。wav(flac)は問題なく再生できます。
「ウーム、さすが敵は手強い」だなぁ(^^;;;。
syuさんのところでは再生できているようですが、mpdはどういう具合にインストールされましたか。僕の環境を記述しておくと、rootfsはdebian、mpdはcubox環境で作成したhf版をそのまま使用です。
御存知の通り、DSDのことは分かりません。
13.04にされたんですね。
関係ない話であれですが、共有フォルダ使えてますか?
ftpとかscpを使ってるので、とりあえず困ってはないですが・・・
まずは、syuさんお薦めのtinkerさん0722configでビルドしてみました。環境は、以前のyoさんと同じ、ubuntu 12.04 gcc-4.6.3です。
特に問題なくコンパイルできました。とりあえず、先程からパッケージ版のmpdで聴き始めたばかりですが、確かに良いですねこの音。何か聴き惚れてしまいます。明日の朝まで連続再生してみて様子をみてみようかな。
0722は削ってはいけないところまで削っています。環境によってはとても不安定です。tty1なんかもないのでエラーも沢山出ます。
使われるときはrsyslogを止めて、ログも見ない^^;ようにすると、心の安定が保たれます(笑)
dsfファイルは良い音で再生出来ていますが、0722configで消えたと思った瞬断は、やはり時折出ています。
mpdはyoさんの作成されたものを梅雨入り版からコピーしています。arch linuxを新規インストールしていますので、rootfsもそのままです。
こんな現象がおきます。最後のところでcontrol-cを押すまでダンマリ。
[root@alarm ~]# systemctl status mpd
mpd.service - Music Player Daemon
Loaded: loaded (/usr/lib/systemd/system/mpd.service; enabled)
Active: active (running) since Sat 2000-01-01 09:00:11 JST; 13 years 6 months ago
Main PID: 331 (mpd)
CGroup: name=systemd:/system/mpd.service
└─331 /usr/local/bin/mpd --no-daemon
^C
[root@alarm ~]#
dsfファイルはe-onkyoで以前配布していたお試し版3曲と、同じサイトから購入したSTRING QUARTETS Beethoven - Nordheim - Bartok Engegardkvartetten 2L (2.8M)です。2Lでは曲間のノイズも出ます。
tinkerさん
0722configで18時過ぎからずっと音が出ていましたが、ふと見るとttyもsshも切れた状態。gmpcはなぜか切れてなくて、曲の変更もできますが、再接続すると切れました。切れても音は出ているという不思議な状態です。リセットして再起動したけど、ログインできず、仕方なくスイッチを切ったら、ttyにこんな表示が。
Arch Linux 3.8.13-rt9_Fa-00899-g69b50aa (ttyO0)
alarm login: root
(ここで固まったように見えたのでスイッチを切った)
Unable to handle kernel paging request at virtual address ffffffe6
pgd = c0004000
[ffffffe6] *pgd=9febd821, *pte=00000000, *ppte=00000000
Internal error: Oops: 17 [#1] PREEMPT SMP THUMB2
Modules linked in: autofs4
CPU: 0 Not tainted (3.8.13-rt9_Fa-00899-g69b50aa #1)
PC is at musb_g_tx+0x
なんか情報ありますか?
>0722は削ってはいけないところまで削っています。環境によってはとても不安定です。
今朝確認したら、特にエラーを吐くことなく再生が続いていました。
逆に不安になってきました(^^;どこかでビルドの手順を間違えたのではないかと。でも、ローカルバージョンも確かに_Faなんですけどね。さらに様子をみてみます。
ちなみに、3.8-rt.zipは以前に取得したもので、patch.shは改めて一昨日実行しました。boot及びrootfsは、debian 7.0.0のものです。
昨晩、0725のzImage-RT、dtbs、3.8.13-rt9_Fc-00899-gbbecbc0に入れ替えて試しましたが、1時間過ぎた頃に接続切れが発生しました。LLTCとLLTDは、まだ試せてないです。もしかして私のbbbに問題があるのかも。
アマゾンにこんなレビューがありましたが、ボードのバージョン確認は、どうやるんでしょう。
http://www.amazon.co.jp/review/R46R6NRGL05CT/ref=cm_cr_dp_title?ie=UTF8&ASIN=B00CHHMZ9S&channel=detail-glance&nodeID=2127209051&store=computers" target="_blank">http://www.amazon.co.jp/review/R46R6NRGL05CT/ref=cm_cr_dp_title?ie=UTF8&ASIN=B00CHHMZ9S&channel=detail-glance&nodeID=2127209051&store=computers
えふさん
>今朝確認したら、特にエラーを吐くことなく再生
いいなあ。今度、その組み合わせでも試してみます。
>ボードのバージョン確認は、どうやるんでしょう。
LAN端子に貼ってあるシールがそれでしょうか。そうなると当方のもold versionということになりますね。ただ、あまり詳しくはみていないですが、A5BもA5Cもそれ程大きく改変された部分て無いように読み取れるのですが。
>alarm login: root
>(ここで固まったように見えたのでスイッチを切った)
>Unable to handle kernel paging request at virtual address ffffffe6
以下のページの内容ではswapが足らなくて落ちる場合があるようです。
ただ、swapが必要な程の事はやっていないので、誰かがメモリーを食いつぶしてるor開放してくれないんですね。対処法は今のところ分かりません。
http://ft-lab.ne.jp/cgi-bin/wiki.cgi?page=swap%CE%CE%B0%E8%A4%CE%B3%C8%C4%A5" target="_blank">http://ft-lab.ne.jp/cgi-bin/wiki.cgi?page=swap%CE%CE%B0%E8%A4%CE%B3%C8%C4%A5
こちらのFcも7時間ほどで落ちていました。最後のログが06:17なので、06:17~07:16の間に落ちたようです。
Jul 26 06:17:02 debian-bbb CRON[2443]: pam_unix(cron:session): session closed for user root
十分安全と思っていたconfigでも問題ありのようです。
はじめの頃はこんなに不安定ではなかったので、もっとマージンとったconfigで耐久テストしつつ、どこまで行けるか探るしかないようです。
dsd再生が出来ないという問題はrootfsをarch(cubox用)にしたら解決しました。debian(Beagle用)とrtカーネルの組み合わせで発生する問題ですね(preemptだと発生しない)。kernelやrootfsで挙動が変わるというのは謎ですね。この件はもうちょっと調べてみるつもりです。
開発環境の件はえふさんのところでは上手くいったようなので、ソースのレベルの問題ですかね。駄目な時はdrivers/built-in.oを作成しにいってエラーになっていますので、何故そうなるのかが問題のようです。深追いは止めておきます。
tinkerさんの最新のコンフィグでの音の感想ですが、wav(flac)は本当に素晴らしいと思います。また、cpu負荷も5%前後で、安定して再生できます。dsdはcpu負荷が10%以上となり、不安定です(再生が途中で中断します)。音もpreemptカーネルと比較し、多少鮮度が落ちるかなと思います。まあ、このあたり、top画面とにらめっこしながら聴いているので、気のせいである可能性はあります(^^;;;。
コンフィグチューニングの比較(tinkerさんと僕の)はもう少し落ち着いてからですね。
tinkerさん
> 関係ない話であれですが、共有フォルダ使えてますか?
nfs、cifsともに問題なくアクセスできています。
syuさん
> なんか情報ありますか?
僕のところでもdsd再生で再生状態のままハングすることが頻発します。rootfsの問題もあると思います。wavでは問題なしなので、不思議です(長時間の再生テストはやっていません)。
0722でも使えているんですね。
問題大盛りですが、動けば音はいいんですよね。こちらでも落ちたことはなかったんですが、ログにエラーが出るので、真当なものに作り変え、音は0722に近づけたいんですが全然うまく行きません。
こちらのはA5Aってシールが張ってあります(T_T)
>0722でも使えているんですね。
yanさんパッチ済のmpdにしたら更に良い感じです。変更後に何か音が変だなと思ったら、rtset.confの内容がCubox用のものでした。以前教えてもらった内容に変更したらバッチリとなりました。
ちなみに、unameです。
>Linux version 3.8.13-rt9_Fa-00899-g9fe69b4 (root@ubuntu-PC-VY12FBHEZ2UW) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #1 SMP PREEMPT Thu Jul 25 20:00:19 JST 2013
すっかり忘れてましたが、クロスコンパイラはLinaroにしてたんですね。
>こちらのはA5Aってシールが張ってあります(T_T)
同じですね(^^;
まだ半信半疑なところがあるので、もっと長く連続運転をしてみます。
どこをいじると落ちるのか特定しなくてはいけないのですが、一歩ずつなので時間かかりそうです。
今日、NMODEのX-DU1というDSD対応のDACを借りてきました(NMODEってガレージなんですかね?)
PCMは問題なく再生できます。DSDはソースも持ってないので、2Lから落としたファイルを突っ込んでみましたがうまくいきません。音は所有のDACと傾向が全く違うので新鮮で楽しいです。
ローカルVerは識別のためFdにしていますが、もっとかっこいいのに変更してください。
https://docs.google.com/file/d/0BxnbJHx0_xurRDh4SmhqaWdCWFE/edit?usp=sharing" target="_blank">https://docs.google.com/file/d/0BxnbJHx0_xurRDh4SmhqaWdCWFE/edit?usp=sharing
安全確認のためのVerなので、音はほどほどってことで^^;
昨日書いたように借り物DACは全然音違うんです。好みはいろいろですし、環境も違う中で多くの人が良いと思うものを作るのは大変そうですね。
新コンフィグの公開ありがとうございます。早速試してみました。問題なくビルドできました。音に関しては、えふさんと同じで、僕も0722に一票です。
> 昨日書いたように借り物DACは全然音違うんです。好みはいろいろですし、環境も違う中で多くの人が良いと思うものを作るのは大変そうですね。
同感です。特にBBBの場合この傾向が強いですね。組み合わせるrootfsでも変わるし、カーネルソースでも変わるし、汎用性のあるイメージを公開するのは大変だなという感じですね。まあ、現時点で基本となるカーネルのレベルが3.8.13であるという理由もあるとは思いますが。
0722は、高域の自然な伸びとか空気感みたいなものを追求しました。試聴に使った曲がそんな感じであったためです。
違った曲であれば、ひたすら低域のスピード感を重視したかもしれないです。
なんにしても、まあ楽しいですが^^;
OS巻き込んで落ちるっていうのは許せないので、時間かかりそうですがFdで詰めていきます。
Kernel3.10系は微妙かなという印象を持っていましたが、25日に出た3.10.3はなんかいい感じです。早くRTが出るといいのですが。
0728config試してみました。0722configと同様、何も問題なくビルド終了。
リアルタイムで比較したわけでないので…、あえて云うと音域の重心が少し高域寄りでしょうか、でもこれはこれで良い音だと思います。
でも、やはり0722configカーネルを使い続けますけどね(^^;3.10系が今より安定したものだと良いのですが。
えふさんが羨ましいので、debian wheezy 7.0.0をベースに0722config版に入れ替えてみようと、debianを新しく入れてみたら、3.8.13-bone24になりました。
bone20とbone21ではbone20の方が良好でしたが、bone24はcpu負荷がとても高くて、16/44.1でもブチブチとノイズまみれに(^^;;
えふさんのdebinaはbone20なのかな。単純に0722版のzImage dtbs modulesを入れ替えれば良いのですか。m(--;m
DSD再生サポート記念に、DSD 5曲を無料で配信だそうです。
http://iriver.jp/products/product_94.php#6" target="_blank">http://iriver.jp/products/product_94.php#6
Channel Classicは素直な録音で、私的に好みのレーベルです。
> えふさんのdebinaはbone20なのかな。単純に0722版のzImage dtbs modulesを入れ替えれば良いのですか。m(--;m
僕のdebianもbone20です。早、24になっていたとはビックリです。しかし音に問題が出ているとなると、ダウンロードしたやつは貴重品にですね。単純にbootfsのzImageと*.dtbを入れ換えて、使っています。ただし、最大の問題点はdsdネイティブ再生が出来ないことです。
> Channel Classicは素直な録音で、私的に好みのレーベルです。
情報ありがとうございました。レイチェル・ポジャーのバイオリンが二曲もあるのですね。僕のお気に入りの演奏家で、SACDをリップしたものは愛聴しているのですが、比較のために早速ダウンしてみました。
僕のsyuさんへの回答は、yoさんにお答えいただいているとおりです。
bone24は、ノーマル状態でもノイズが出てしまうということなのですね。そうならば確かにbone20でラッキーだったかも知れません。
yoさん
>ただし、最大の問題点はdsdネイティブ再生が出来ないことです。
こちらでは、ほぼ完璧にDSDも再生できています。ほぼ完璧と書いたのは、一部(DSD128)で時々ノイズが混じることがあるのですが、これは当方が44.1KHz 16bit wavをDSDへアップコンバートしたものなので、何か変換の際の影響かも知れません。syuさんご紹介のサイトからダウンロードしたヴィバルディのバイオリン協奏曲などはノイズもなく分厚い音で本当に素晴らしいですね。
>ただし、最大の問題点はdsdネイティブ再生が出来ないことです。
yoさんのDSD再生ができないのは、rtカーネルの場合でしたね。そう書かれているのを見落としていましたm(_ _)m
いずれにしても、カーネルの素性がどうであれ、出てくる音が素晴らしいので、当面はこの0722configカーネルを使うつもりです(^^;
debian bone-20でのdsd再生ですが、aitlaboのパネル表示が44KHzI2Sと176KHzDSDで頻繁に切り替わり、音はまったく出ないという状況です。この現象はbasic-rtの時だけ発生し、同じカーネルソース(github.com/beagleboardの3.8-rt)、同じコンフィグ(tinkerさんの0722)を使い、preemptでビルドしたzImage,*.dtbでは発生しません。あと、tinkerさんのコンフィグだけこうなるというわけではなく、自作のものでも同じ状況です。
また、archではbasic-rtでも問題なく音が出ます。
何故同じハードなのにカーネルやrootfsでこう言う差がでるのかまったく不思議です。
> やはり何か変ですよね。何故当方のだけまともに安定的に動作しているのでしょうか。
心がけの差ですかね(^^;;;。心がけの良いえふさんのところではトラブルは発生せず、心がけの悪い僕のところはトラブルだらけなのですかね(冗談ですが)。僕のBBBには魑魅魍魎が潜んでいるとしか思えませんです(^^;;;;;;。
ところで、新手の魑魅(魍魎の方かな?)を一匹ご紹介。
上記の確認のためgithub.com/beagleboardの3.8(rtでなく)を新しいubuntu 13.04にダウンロードし直してtinkerさんの0722コンフィグでビルドしてみましたが、12.04と同じdriver/built-in.oのエラーとなりました。ということはこの問題は開発環境の差ではなくカーネルソースの問題であるようですね。github.com/beagleboardの3.8-rt以外のソースでビルドが通るという確認された方いらっしゃいますか。
>この現象はbasic-rtの時だけ発生し…
念のため、menuconfigでちゃんとBASIC-RTにチェックが入っていることを確認して、再度ビルドしてみました。それでも、当方では問題なくdebian環境でDSD再生できます。益々、謎ですねえ。これは、やはり心掛けの問題ではなく(^^;ソースの取得時期等の問題なのでしょうかね。
ここは、ちょっと自信ないけど、イメージを公開して皆様に検証していただいた方が良いのかな。
bbbのずらっと並んだ接続端子の一部(28、29、31)からi2sを直接取り出せるようです。
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
The I2S interface comes out to header P9:
BBB Description Header pin Description
SPI1_CS0 P9_28 Bitstream
SPI1_D0 P9_29 Left/Right clock
SPI1_SCLK P9_31 Bit clock
ハードに強い方、いかがですか。
>12.04と同じdriver/built-in.oのエラーとなりました
Industrial I/O supportを削ってbuild出来なかったことはあります。Cuboxみたいにルーズに削るとすぐ問題出ますね。
元のconfig(kernel-3.8-rt/configs/beaglebone)がおかしいのかなと考えて、make omap2plus_defconfigで新しいconfigを作成,修正して様子見中です。
明日の夕方まで動き続けていたらzImageをUPします。
公開しましょう。色々訳わかんないことが発生しているので、協力してひとつずつ潰していきましょう。
見てみました。何やってるかも分かりません(^^ゞ
いまテスト中のzImageは安全版より随分良くなった気がします。
深夜なので音量を上げられないので、実際はどうなのか分かんないですが・・・
調子良さそうなら、明日夜にUPします。
>bbbのずらっと並んだ接続端子の一部(28、29、31)からi2sを直接取り出せるようです。
情報ありがとうございました。今はちょっと時間が取れないですが、I2S入力のDAI基板等も手元にはあるので、落ち着いたら実験してみたいと思います。
> 益々、謎ですねえ。これは、やはり心掛けの問題ではなく(^^;ソースの取得時期等の問題なのでしょうかね。
僕の環境で同じカーネルソースを使いpreemptを指定してビルドすると再生できるようになるので、「訳がわからん状態」となるのですよね。
debianhf-bone20+rtカーネルで特定のdffは再生出来ることが分かりました。ところが同じディレクトリ内(同じsacdということになります)の別のファイルは再生出来ません。preemptカーネルだと両方問題なく再生できます。うーむ。もう、まったく「狐につままれた」状態ですね。
> ここは、ちょっと自信ないけど、イメージを公開して皆様に検証していただいた方が良いのかな。
是非お願いします。僕の方も公開します。結構手間をとるので、今週末になるかと思いますが。
イメージの作る時の注意事項は以下のページにあります。
http://www.symphonic-net.com/kubotayo/articles/articles013.html#032" target="_blank">http://www.symphonic-net.com/kubotayo/articles/articles013.html#032
http://www.symphonic-net.com/kubotayo/articles/articles013.html#027" target="_blank">http://www.symphonic-net.com/kubotayo/articles/articles013.html#027
http://www.symphonic-net.com/kubotayo/articles/articles014.html#042" target="_blank">http://www.symphonic-net.com/kubotayo/articles/articles014.html#042
よろしければ、ご参照下さい。分からないことがあれば、ご質問ください。
イメージ作成に絡み、「SDカードイメージの作り方」の記事について教えてください。
tr "\000" "\377" < /dev/zero | dd of=/dev/mmcblk0
dd if=/dev/mmcblk0 | gzip -9 > cubox-audio.img.gz
上記コマンドを入力する際のデバイスの扱い方がよくわかりません。開発機上でSDカードリーダーに繋いだSDカードからイメージを作る場合、当方の環境でデバイスとして認識している/dev/sdbを指定すれば良いのでしょうか。
> 開発機上でSDカードリーダーに繋いだSDカードからイメージを作る場合、当方の環境でデバイスとして認識している/dev/sdbを指定すれば良いのでしょうか。
その通りです。僕のubuntu開発環境でこのコマンドを実行すると気が遠くなるほど時間がかかるので(1時間以上)、sdカードリーダを内蔵しているlinuxマシンを使っているので、/dev/mmcblk0となりました。
蛇足ですが、最初のコマンドはx00をxffに変換し、/dev/zeroにリダイレクトし、パイプでdd文の入力としているという意味です。あと二つめのコマンドのgzipはインストールする必要があったかもしれません。
ubuntuだと、sudoを付ける必要がありますが、パイプの後も必要ですので、ご注意を。
更に蛇足です。linuxシェルのリダイレクトとパイプについてはこのページに解説があります。
http://itpro.nikkeibp.co.jp/article/COLUMN/20060530/239437/" target="_blank">http://itpro.nikkeibp.co.jp/article/COLUMN/20060530/239437/
えふさん,yoさんのイメージを見せて頂いてから、また考えます。
3.10xのRTですが、いま見てきたらフォルダが作られていました。
もうすぐみたいですヽ(^o^)丿Cuboxの方も準備始めましょう。
ようやくdsd再生が出来ないという件、トラブルの切り分けは出来ました。
BBBのrtカーネルのみで発生する問題で、dffをnfsのnasに置いた場合のみ発生するようです。rootfsがarchだと発生しないと書いたのは誤りで、arch、debian共通に発生します。従って、BBB用のrtカーネルの問題だと思います。cuboxと比較してcpu負荷が高い件やこの問題をみると、どうもBBBのrtカーネルは問題残りですね。
えふさんのところで発生していない理由は多分cifsのnasをお使いだからでしょう。
これで妖怪だらけだったBBBも多少見通しがよくなったという感じですかね。しかし何故peだとokなのにrtだと駄目になるのか、wav(flac)は再生できるのにdffだけ再生出来ないのか、やはり不思議です。
大分スッキリしましたが、何故BBBの場合にこのことが起こるのかはまだ謎のままってことですね。
>えふさんのところで発生していない理由は多分cifsのnasをお使いだからでしょう。
確かにcifsのNASです。ということは、当方のイメージをyoさんが使った場合、当然現在の状況と同じ状況になるはずですね。逆に、もしもそうならないような状況が起きた場合は、rtカーネルで作られていないとか何か失敗している証になるということでしょうか。
>dffをnfsのnasに置いた場合のみ発生するようです
関係ないかもしれませんが、fstabのオプションを以下のようにするとどうなりますか?
ro,async,rsize=8192
NFSの場合、rsizeを大きくしても速度はほとんど上がらないようです。asyncは書き込みをする場合は結構危ないのですが、リードオンリーなら安全です。速度はsyncの場合の数倍出るようです。
syuさん
梅雨入り版のmpdでも駄目となると、後はデータの違い位しか思いつかないですね。
僕の使っている64fsのデータはほとんどがps3でリッピングしたdffです。後は雑誌(pcオーディオfan)の付録です(dsfは付録だけ)。128fsは全てAudioGateでLP録音を変換したものです。もちろん僕の環境では全て再生できます。
> 16/44.1と24/96は同じ程度に良いのですが、24/176.4の音質はやや劣る気がしています。特に16/44.1が、とても良い音ですので、このまましばらく楽しみます。
これは僕も同感です。64fsのdffに関してはcuboxの方が安定感があり、良いと思います。44KHzのflac(cdをリッピングしたもの)についてはBBBに軍配が上がるという感じですね。cpu負荷が10%を超えると問題なのですかね。
どんどん脱線させましょう。
僕も理由はよく分からないが、nfsの方が音がいいのかなと思っていました。なるほどcpu負荷が軽かったのですか。
> >これを100%にしたら、
> こちらは全然わかりません。yoさんが詳しいと思います。
バッファを常に満杯にしながら動くという意味だと思いますので、データが全てオンメモリになるということにはならないと思います。
オンメモリで演奏させたかったらメモリ上のテンポラリディレクトリ(/tmp、/run、/shmなど)ファイルにデータを丸ごとコピーして演奏させればいいと思います。試してみたことはありますが、僕の耳では差が感じられませんでした。
人に説明できるほど明確な違いではないですが、NFSのほうが輪郭がクリアに感じますね。ただ、そう感じるのは切り替え直後の僅かな時間に感じるくらいの小さな差です。
syuさんは解像度ヲタだと言われていたので、多分NFSの方を好まれるんじゃないかと思います。
私もNFSでIO SchedulersはDeadlineの組み合わせが好きですね。小音量で聞く時は特にそう思います。
もう一つ個人的に重要なことは、NFSの場合、fstabにパスワードを書かなくていいところ。まあ一般的には、NFSはセキュアじゃないって意見のほうがよく聞かれますけど・・・
欠点?はiocharset=utf8とか書けない(たぶん)ため、ジャケット表示などで困る人もいるかもとかですかね。
zodiacのusb直結ですが、梅雨入り版では認識するのに、hifaceドライバを入れていないarch-cuboxでは認識しません。原因はこれかなと思っています。
kernel-3.8-rtを作ったディレクトリで、
export ARCH=arm
export CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf-
git clone git://github.com/panicking/snd-usb-asyncaudio.git
cd snd-usb-asyncaudio
nano Makefile
以下を変更
KDIR := ../kernel
make
とやって、一応、snd-usb-asyncaudio.koは出来てるようですが、コピー先どこよ?状態です。
/lib/modules/3.8.13-rt9_Fa-00899-g1e7a26c/kernel/の先にsoundはないですねえ。
気温が下がって来たので、空調服で熱中症対策しつつ、趣味の草刈りに、ぼちぼち出かけます。
nelosnさん+rt14(config:tinkerさんrtbasic)を起動できました。nelsonさんのrootfs
でapt-get update以下errでmpdを入れられず、音出しまでいきません。
Err http://ftp.us.debian.org" target="_blank">http://ftp.us.debian.org wheezy Release.gpg
Could not resolve 'ftp.us.debian.org'
お尋ねしたいのは、nelsonさんでは
root@arm:~# cat /proc/asound/cards
0 [Black ]: TI_BeagleBone_B - TI BeagleBone Black
TI BeagleBone Black
1 [CODEC ]: USB-Audio - USB Audio CODEC
Burr-Brown from TI USB Audio CODEC at usb-musb-hdrc.1.auto-1, full speed
となりますが
rootfsをcubox-debianに入れ替えると
root@xxxx:~# cat /proc/asound/cards
0 [Black ]: TI_BeagleBone_B - TI BeagleBone Black
TI BeagleBone Black
になり、usbが表示されません。
configの指定で 0 [Black ]: をはずすことができますか。(どの項目ですか)
0[usb ]になればcubox-debianで音だしできるのではと思っているのですが。
梅雨入り版のdebian(hf)は僕の環境でも上手く動かなかったです(理由はよく分かりません)。archの方は動きましたので、こちらで試すか、雛祭り版のubuntu-coreを使って下さい。
あと、syuさんの公開されているイメージのrootfsを使うという手もあります(mpdの設定がarch標準方式ですので、ご注意を。#3156に丁寧に解説されています)。
> コピー先どこよ?状態です。
archなので
/usr/lib/modules/3.8.13-rt9-00899-gedd32a7/kernel/sound/
です。
http://www.armhf.com/index.php/download/" target="_blank">http://www.armhf.com/index.php/download/
イメージの名前からして、uboot、kernelはNelsonさんのところのもののようです。
中を見ると違うようです
適当に場所を確保
$ sudo su
# mkdir kernel3.8-rt-new
# cd kernel3.8-rt-new
http://archlinuxarm.org/platforms/armv7/ti/beaglebone-black" target="_blank">http://archlinuxarm.org/platforms/armv7/ti/beaglebone-black
この通りにターミナルにコピペで進め、sdカードをBBBで起動。
yoさんの記事からコピペ
pacman -Syu
timedatectl set-timezone Asia/Tokyo
pacman -S alsa-plugins alsa-utils alsaplayer
pacman -S cifs-utils
pacman -S mpd mpc ncmpc
mpdの設定
# mkdir /root/music
ここの記述のまま、コピペ進行。
https://wiki.archlinux.org/index.php/Music_Player_Daemon" target="_blank">https://wiki.archlinux.org/index.php/Music_Player_Daemon
# nano /root/.mpd/mpd.conf
環境に合わせて編集
# nano /etc/fstab
環境に合わせて編集
# mount -a
# systemctl enable mpd.service
# systemctl start mpd.service
# systemctl status mpd.service
この段階で音が出ることを確認
# poweroff
もう一度開発環境のkernel3.8-rt-newに戻って、yoさんの記事のコピペ再開。
3027からコピペ
# wget https://github.com/beagleboard/kernel/archive/3.8-rt.zip" target="_blank">https://github.com/beagleboard/kernel/archive/3.8-rt.zip
# unzip 3.8-rt.zip
tinkerさんのconfigをコピー
http://arago-project.org/git/projects/?p=am33x-cm3.git;a=tree;f=bin" target="_blank">http://arago-project.org/git/projects/?p=am33x-cm3.git;a=tree;f=bin から
am335x-pm-firmware.binをダウンロード。
コピペ再開。
# cd kernel-3.8-rt/
# ./patch.sh
# cd kernel
# cp ../../config-tinker .config
# cp ../../bin_am335x-pm-firmware.bin firmware/am335x-pm-firmware.bin
# export ARCH=arm
# export CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf-
# make uImage dtbs
# make modules
# mkdir ../../modules-bbb-arch
# INSTALL_MOD_PATH=../../modules-bbb-arch/ make modules_install
# mkdir /arch
fdisk -l でsdカードを確認
# mount /dev/sdi2 /arch
# mkdir /arch/boot/3.8.13-rt9-new
# mkdir /arch/boot/3.8.13-rt9-new/dtbs
# cp kernel/arch/arm/boot/zImage /arch/boot/3.8.13-rt9-new
# cp kernel/arch/arm/boot/dts/*.dtb /arch/boot/3.8.13-rt9-new/dtbs
# cp -r /arch/boot/3.8.13-rt9-new/dtbs /arch/boot
# cp /arch/boot/3.8.13-rt9-new/zImage /arch/boot
# cd ../../modules-bbb-arch/lib/modules
出来ているmodule名を確認。コピペ。
# cp -r 3.8.13-rt9_Fa-00899-g1e7a26c /arch/lib/modules
# umount /dev/sdi2
出来たものは
/arch/boot/3.8.13-rt9-new# ls --full
合計 3536
drwxr-xr-x 2 root root 4096 2013-07-12 21:12:56.141275479 +0900 dtbs
-rwxr-xr-x 1 root root 3613544 2013-07-12 21:12:56.153275327 +0900 zImage
/arch/boot/3.8.13-rt9-tinker# ls --full
合計 3536
drwxr-xr-x 2 root root 4096 2013-07-03 21:25:56.636960270 +0900 dtbs
-rwxr-xr-x 1 root root 3613544 2013-07-03 21:25:56.639960269 +0900 zImage
この範囲では、まったく同じようです。再現性はありそう。
ARM開発環境の差ぐらいしか、ノイズ量に差が出る原因がないのですが、いつ、どこで、どの開発環境をインストールしたのか、忘却。
開発環境リストの表示は、どうやるのですか。
cuだとnanoで表示が乱れるのでsshでログイン。並列でttyO0も表示してます。
No.3212で作った snd-usb-hiface.ko をsdカードの /home/ にコピーしておきます。
[root@alarm home]# cp snd-usb-hiface.ko /lib/modules/3.8.13-rt9_Fa-00899-g1e7a26c/kernel/sound
[root@alarm home]# cd /lib/modules/3.8.13-rt9_Fa-00899-g1e7a26c/kernel/sound
[root@alarm sound]# ls --full
total 80
-rwxrwxrwx 1 root root 78177 2013-07-15 15:03:11.151683198 +0900 snd-usb-hiface.ko
[root@alarm sound]# insmod snd-usb-hiface.ko
ttyO0では
[root@alarm ~]# [ 205.757250] usbcore: registered new interface driver snd-usb-hiface
[root@alarm sound]# depmod -a
[root@alarm sound]# nano /etc/modules
新ファイルなので??空白。このあたりから何かヘン。
とりあえず snd-usb-hiface と書いておく。
reboot
[root@alarm ~]# lsmod
Module Size Used by
snd_usb_hiface 7246 0
autofs4 17429 2
入ってるようですが、サイズが変です。大きすぎる。
[root@alarm ~]# cat /proc/asound/cards
--- no soundcards ---
やっぱだめでした。
もう一度rebootしたら・・・
[root@alarm ~]# lsmod
Module Size Used by
autofs4 17429 2
・・・入ってないです。
どなたか間違いをご指摘ください。
cuboxのdebianhfが動かなかったので、リンク先のものを試してみました。簡単でしたね。サル(僕のことですよ)でも出来るというレベルです(^^;;;。これはお勧めだと思います。usb audio、ssh、nanoなど必要なものは組み込み済ですし、サイズは小さく、ディフォルトの状態で音は素晴らしくいいです。やり方を紹介すると、sdカードが接続できるlinux環境で
sudo wget http://s3.armhf.com/debian/wheezy/bone/debian-wheezy-7.0.0-armhf-3.8.13-bone20.img.xz" target="_blank">http://s3.armhf.com/debian/wheezy/bone/debian-wheezy-7.0.0-armhf-3.8.13-bone20.img.xz
sudo xz -d debian-wheezy-7.0.0-armhf-3.8.13-bone20.img.xz
sudo dd if=debian-wheezy-7.0.0-armhf-3.8.13-bone20.img of=/dev/sd
カードを実機にかけて
sudo apt-get update
sudo apt-get install nfs-common cifs-utils winbind avahi-daemon avahi-autoipd
sudo apt-get install alsa-base alsa-utils
sudo apt-get install mpd mpc ncmpc
これでmpdのインストールまでが完了します。
archのカーネルモジュールの管理の仕方はdebian/ubuntuとは異なります。このページをご参照下さい。
https://wiki.archlinux.org/index.php/Kernel_modules_%28%E6%97%A5%E6%9C%AC%E8%AA%9E%29" target="_blank">https://wiki.archlinux.org/index.php/Kernel_modules_%28%E6%97%A5%E6%9C%AC%E8%AA%9E%29
[root@alarm home]# cp snd-usb-hiface.ko /lib/modules/3.8.13-rt9_Fa-00899-g1e7a26c/kernel/
[root@alarm home]# cd /lib/modules/3.8.13-rt9_Fa-00899-g1e7a26c/kernel/
[root@alarm kernel]# ls -l
total 108
drwxr-xr-x 3 root root 4096 Jul 12 21:08 arch
drwxr-xr-x 3 root root 4096 Jul 12 21:08 crypto
drwxr-xr-x 10 root root 4096 Jul 12 21:08 drivers
drwxr-xr-x 4 root root 4096 Jul 12 21:08 fs
drwxr-xr-x 3 root root 4096 Jul 12 21:08 lib
drwxr-xr-x 3 root root 4096 Jul 12 21:08 net
-rw-r--r-- 1 root root 78177 Jul 15 16:33 snd-usb-hiface.ko
drwxr-xr-x 2 root root 4096 Jul 15 15:37 sound
[root@alarm kernel]# insmod snd-usb-hiface.ko
[root@alarm kernel]# depmod -a
[root@alarm kernel]# cd /etc/modules-load.d
[root@alarm modules-load.d]# ls -l
total 0
[root@alarm modules-load.d]# nano snd-usb-hiface.conf
snd-usb-hiface と書く
reboot
[root@alarm ~]# lsmod
Module Size Used by
snd_usb_hiface 7246 0
autofs4 17429 2
だが依然、Used by 0
まだまだです。
イノシシ(私です)にも、できました<(^^;;
このままで、24/176.4はarch-bbb-rtより良いです。
16/44.1はrt化してみないとだけど、私の好みでは、arch-bbb-rtに軍配??
rt化は、また後追いします。
当方もまだ、BBBへhifaceドライバをインスト出来ていないので、多分お役には立てないとは思いますが…
確認ですが、insmod snd-usb-hiface.koした際にはエラーメッセージは出ていないのですよね。
あと、modinfo snd-usb-hiface.koで表示される情報を教えてください。
素早いですね。動くようで良かったです。
こちらは落として中は見たものの、まだSDに焼いていないです。
ubuntuの12.04のrootfsがあったので、そちらは動かしてみました。やはり私の環境だとubuntuがちょっと変です(T_T)
試したのは以下のとおりです。
ubuntu13.04(使い回し。リリース前の日替わり版のcoreより作成)
ubuntu12.10(使い回し。coreより作成)
ubuntu12.04(上記urlよりのrootfs)
13.04及び12.10はmpdも設定済みなので、そのまま音も出ます。
が、debianやarchに比べて負荷が高く(load averageも高め)、gettyがやたら動きまわってる状態です。
以下は12.04(何も設定せず、起動しただけの状態)のtopの結果で、他の版も概ね同じ状態です。私のconfigに何か足りないのかもしれません。
debian、archは動いているので3つも必要ではないのですが、cuboxではubuntuが印象良かったので、ちょっと残念です。
top - 01:56:04 up 57 min, 1 user, load average: 0.70, 0.43, 0.33
Tasks: 86 total, 2 running, 84 sleeping, 0 stopped, 0 zombie
Cpu(s): 4.0%us, 42.4%sy, 0.0%ni, 53.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 509132k total, 40184k used, 468948k free, 7648k buffers
Swap: 0k total, 0k used, 0k free, 15984k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 2496 1528 980 S 21.3 0.3 2:38.58 init
653 root 20 0 2136 1012 768 R 8.2 0.2 2:38.20 top
2769 root 20 0 1612 684 560 S 2.1 0.1 0:00.07 getty
2770 root 20 0 1612 684 560 S 2.1 0.1 0:00.07 getty
2773 root 20 0 1612 684 560 S 2.1 0.1 0:00.07 getty
2774 root 20 0 1612 684 560 S 2.1 0.1 0:00.07 getty
2771 root 20 0 1612 684 560 S 1.8 0.1 0:00.06 getty
2772 root 20 0 1612 684 560 S 1.8 0.1 0:00.06 getty
3 root 20 0 0 0 0 R 0.9 0.0 0:15.53 ksoftirqd/0
117 root 20 0 2200 1028 740 S 0.6 0.2 0:06.94 mountall
10 root -2 0 0 0 0 S 0.3 0.0 0:03.87 rcuc/0
12 root 20 0 0 0 0 S 0.3 0.0 0:03.54 rcu_preempt
98 root -51 0 0 0 0 S 0.3 0.0 0:03.17 irq/57-4a100000
177 root 20 0 1972 636 460 S 0.3 0.1 0:05.69 upstart-udev-br
424 root 20 0 1904 452 260 S 0.3 0.1 0:05.49 upstart-socket-
modprobe -r snd-usb-hifaceしてから、再度インストールしました。
[ 1013.034187] usbcore: deregistering interface driver snd-usb-hiface
modprobe snd-usb-hiface
[ 1045.725067] usbcore: registered new interface driver snd-usb-hiface
nano /etc/modules-load.d/snd-usb-hiface.conf
snd-usb-hiface と書く
reboot
archだからなのか、.koを付けるとエラーが出ます。
Arch Linux 3.8.13-rt9_Fa-00899-g1e7a26c (ttyO0)
alarm login: root
Password:
Last login: Mon Jul 15 20:25:12 JST 2013 from 192.168.XX.XX on pts/0
Last login: Mon Jul 15 20:26:33 on ttyO0
[root@alarm ~]# modinfo snd-usb-hiface.ko
modinfo: ERROR: Module snd-usb-hiface.ko not found.
[root@alarm ~]# modinfo snd-usb-hiface
filename: /lib/modules/3.8.13-rt9_Fa-00899-g1e7a26c/kernel/snd-usb-hiface.ko
license: GPL v2
description: M2Tech hiFace USB-SPDIF audio driver
author: Antonio Ospite <ao2@amarulasolutions.com>
author: Michael Trimarchi <michael@amarulasolutions.com>
srcversion: FF07D787B0F281C0C3BA62B
alias: usb:v25C6p9002d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v245Fp931Cd*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v249Cp932Cd*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v249Cp931Cd*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v249Cp9008d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v249Cp9006d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v249Cp9002d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v249Cp9001d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v04B4p9321d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v04B4p9320d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v04B4p931Fd*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v04B4p931Ed*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v04B4p931Dd*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v04B4p931Cd*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v04B4p931Bd*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v04B4p930Bd*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v04B4p0384d*dc*dsc*dp*ic*isc*ip*in*
depends:
vermagic: 3.8.13-rt9_Fa-00899-g1e7a26c SMP preempt mod_unload modversions ARMv7 thumb2 p2v8
parm: index:Index value for hiFace soundcard. (array of int)
parm: id:ID string for hiFace soundcard. (array of charp)
parm: enable:Enable hiFace soundcard. (array of bool)
[root@alarm ~]# lsmod
Module Size Used by
snd_usb_hiface 7246 0
autofs4 17429 2
[root@alarm ~]# modprobe --show-depends snd-usb-hiface
insmod /lib/modules/3.8.13-rt9_Fa-00899-g1e7a26c/kernel/snd-usb-hiface.ko
こんな具合です。
BBBの場合、rootfsとビルドしたカーネルの関係は本当に微妙ですね(cuboxの場合こういうことはないのですが、何故ですかね)。
僕の環境では
梅雨入り版arch OK
梅雨入り版debian NG
tinkerさんリンク先のdebianhf Very Very OK
cubox用ubuntu-core12.04.2(非公開) OK
Nelson版debianhf NG
Archご本家BBB用 little NG
Arch syuさんイメージ OK
というところです。最後の二つは同じもののはずですので、本当に変です。魑魅魍魎の世界だなぁ。
なんか不思議ですよね。まあArchの印象が良いので、気にしないことにします。
独り言ですが・・・
Wandboard QUADが出回り始めたみたいです。うちにもcuboxが常設されるんじゃないかなぁ(謎)
ぱっと見、問題なさそうですけどね。
[root@alarm ~]# lsmod
Module Size Used by
snd_usb_hiface 7246 0
depmod -aしてリブート後に上記のように表示されるのであれば、ちゃんと組み込まれているんですが。
なお、ただ単に繋いでいるだけであればUsed by 0で正解です。(活性化すればカウントアップします)
modinfo情報の中で、vermagic:がuname -rと同一でなけなればならないのですが、これは問題なしですね。あと、depends:にsnd-pcm,sndとセットされる必要があるという情報もあるのですが、実際動作しているCuboxやALIXでもこの部分は空白です。
ごめんなさい、やっぱりお役に立てないですm(_ _)m
私はhiface持ってなくて、別のusb-dacが対象です。
こいつが、cubox梅雨入り版では認識されるのに、素のarch-cuboxでは認識されないので、hifaceドライバをbbbに組み込めば認識されたりしないか、試したかったのです。
試した結果、認識されませんでした。
hifaceドライバは組み込まれている様子ですので、原因は別にありそうですね。
hifaceの謎も深そうだし(^^;; ちょっと様子見します。
みなさんの成果をいろいろパクらせていただいて、なんとかバタついています。
nelson+rt14(full)とcubox梅雨入りdebianでやっと音出しまできました。と思っています。
root@(none):~# uname -a
Linux (none) 3.8.13-bone24 #1 SMP Sat Jul 13 11:16:08 JST 2013 armv7l GNU/Linux
の表示はrt化されたと判断していいのでしょうか。
久しぶりに泥沼から這い上がって聞いた音は新鮮で、音の変化はわかりませんが、flac96の瞬断はかなり少なくなりました。
> Linux (none) 3.8.13-bone24 #1 SMP Sat Jul 13 11:16:08 JST 2013 armv7l GNU/Linux
> の表示はrt化されたと判断していいのでしょうか。
7月13日の11時にビルドされたカーネルですので、入れ替わっているとは思いますが、rt化されているかどうかは分かりません。通常はrt化されたよというサフィックス(rt14という感じです)が付くはずですので。演奏中のtop画面の上から10行位を貼り付けてもらえますか。
皆様いろいろなBBB用のパッケージを紹介されておられるので、当方も現在使用中のubuntu 13.04のパッケージを紹介しておきます。
これは、当方のような初級者でも簡単に導入でき、更にノーマル状態でも充分に満足できる音が出ます。(個人的主観ですが)もちろん、yanさんパッチを当てたmpdで使うのがベストと思います。
簡単に手順を書きます。
まずはイメージの取得
wget http://rcn-ee.net/deb/rootfs/raring/ubuntu-13.04-console-armhf-2013-06-14.tar.xz" target="_blank">http://rcn-ee.net/deb/rootfs/raring/ubuntu-13.04-console-armhf-2013-06-14.tar.xz
イメージの展開
tar xJf ubuntu-13.04-console-armhf-2013-06-14.tar.xz
cd ubuntu-13.04-console-armhf-2013-06-14
ライターにmicroSDカードがセットされていることを確認してスクリプトを実行
./setup_sdcard.sh --mmc /dev/sdb --uboot bone_dtb
※/dev/sdbは環境依存ですので、ご自身の環境に合わせてください。最終的には、インスト中にこれで良いかと尋ねられます。
これ以降、パーティション切りからアーカイブ展開まで自動的に処理を行われ、起動可能なmicroSDカードが出来上がります。なお、本体部分等はネットワークインストールとなりますので、外界と繋がっている必要があります。
これで起動後は、Cuboxのubuntu-coreの導入記事を参考に、日本語化やmpdの導入を行ってください。
個人的感想になりますが、BBBの中では一番この音が好きかも。
configを見た限りrtではないと思います。
Nelsonさんのgithubは、以下で
https://github.com/RobertCNelson" target="_blank">https://github.com/RobertCNelson
BBBの3.8は、以下になります。
https://github.com/RobertCNelson/linux-dev/tree/am33x-v3.8" target="_blank">https://github.com/RobertCNelson/linux-dev/tree/am33x-v3.8
build_shは、まず以下のdeconfigを使います。
https://github.com/RobertCNelson/linux-dev/blob/am33x-v3.8/patches/defconfig" target="_blank">https://github.com/RobertCNelson/linux-dev/blob/am33x-v3.8/patches/defconfig
tinkerさんありがとうございます。また、さまよってみます。
top - 10:13:15 up 1:13, 1 user, load average: 0.01, 0.05, 0.06
Tasks: 73 total, 1 running, 62 sleeping, 10 stopped, 0 zombie
%Cpu(s): 1.7 us, 1.0 sy, 0.0 ni, 97.0 id, 0.0 wa, 0.0 hi, 0.3 si, 0.0 st
KiB Mem: 507500 total, 272016 used, 235484 free, 7132 buffers
KiB Swap: 0 total, 0 used, 0 free, 191720 cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2556 root 20 0 3752 1224 884 T 0.0 0.2 0:00.03 top
2556 root 20 0 3752 1224 884 T 0.0 0.2 0:00.03 top
2557 root 20 0 3752 1244 884 T 0.0 0.2 0:00.04 top
2557 root 20 0 3752 1244 884 T 0.0 0.2 0:00.04 top
2561 root 20 0 3752 1244 884 T 0.0 0.2 0:00.04 top
2561 root 20 0 3752 1244 884 T 0.0 0.2 0:00.04 top
tinkerさん wrote:
> おやじんさん
> configを見た限りrtではないと思います。
私もそう思います。rt化されたものかどうかはuname -aのコマンドで分かります。
以下は私のrtカーネルでの一例ですが、
Linux alarmcubox 3.8.13-rt14_CuboxAudioRTuned #3 PREEMPT RT Fri Jul 12 05:33:38 JST 2013 armv7l GNU/Linux
ごらんのように"PREEMPT RT"という表示があればrt化されたカーネルと判断できます。
twlでした。
デフォルトのmpdは0.16.7でdsd非対応でしたので、debian/bbb上でmpd-0.17.4をmake install。dsdも再生できました。
arch、ubuntu、debianとそろって、どれもそれぞれ特徴のある良い音ですね。中で、debianの歪み感がもっとも少ない印象で、大音量でもうるさくなりにくい。今のところ一押しです(^^;
rtパッチ当てたらどう変身するのか、楽しみです。
Debian GNU/Linux 7 debian-armhf ttyO0
debian-armhf login: root
Password:
Last login: ・・・
root@debian-armhf:~# mpd --version
mpd (MPD: Music Player Daemon) 0.17.4
Copyright (C) 2003-2007 Warren Dukes <warren.dukes@gmail.com>
Copyright (C) 2008-2012 Max Kellermann <max@duempel.org>
This is free software; see the source for copying conditions. There is NO
warranty; not even MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Decoders plugins:
[vorbis] ogg oga
[oggflac] ogg oga
[flac] flac
[sndfile] wav aiff aif au snd paf iff svx sf voc w64 pvf xi htk caf sd2
[audiofile] wav au aiff aif
[dsdiff] dff
[dsf] dsf
[ffmpeg] 16sv 3g2 3gp 4xm 8svx aa3 aac ac3 afc aif aifc aiff al alaw amr anim apc ape asf atrac au aud avi avm2 avs bap bfi c93 cak cin cmv cpk daud dct divx dts dv dvd dxa eac3 film flac flc fli fll flx flv g726 gsm gxf iss m1v m2v m2t m2ts m4a m4b m4v mad mj2 mjpeg mjpg mka mkv mlp mm mmf mov mp+ mp1 mp2 mp3 mp4 mpc mpeg mpg mpga mpp mpu mve mvi mxf nc nsv nut nuv oga ogm ogv ogx oma ogg omg psp pva qcp qt r3d ra ram rl2 rm rmvb roq rpl rvc shn smk snd sol son spx str swf tgi tgq tgv thp ts tsp tta xa xvid uv uv2 vb vid vob voc vp6 vmd wav webm wma wmv wsaud wsvga wv wve
[pcm]
Output plugins:
shout null fifo pipe alsa oss httpd
Encoder plugins:
null vorbis flac
Input plugins:
file curl ffmpeg
Playlist plugins:
extm3u m3u xspf pls asx rss cue cue
Protocols:
file:// http:// gopher:// rtp:// rtsp:// rtmp:// rtmpt:// rtmps://
root@debian-armhf:~# cat /proc/asound/cards
0 [Black ]: TI_BeagleBone_B - TI BeagleBone Black
TI BeagleBone Black
1 [EZUSBUDA3 ]: USB-Audio - EZ_USB(UDA3)
Cypress EZ_USB(UDA3) at usb-musb-hdrc.1.auto-1, high speed
誤解を招く書き方をしてしまったようですね。知りたかったのはtopプロセスの負荷ではなく、usbとlanのデバイスドライバが再生中に表示されるかどうかです(irq/35-musb-hdrとirq/57-4a100000)。#3158の前半のように表示されれば、rtカーネルですし、後半のように表示されれば、rtカーネルではありません。
状況から判断すると多分rt化されていないと思われます。理由はconfigの指定がbasic-rtでなくpreemptのままになっているためだと思います。menuconfigで
Kernel Features ---> Preemption Model ---> Basic RT
を選択して下さい。
Debianもいいですよね。
えふさん
ネットワークインストールされたんですね。私のところはubuntuが何でか調子悪いんですよね(T_T)
給電はUSBですか?どこかで、USBだとネットワークインストールでコケるかもって見たような気がします。
昨晩は確認もせずに書き込んだんですが、Nelsonさんのページどおりのものですか?それともNelsonさんのソースにご自身でRTのpatchを当てたものでしょうか?
もしNelsonさんのページどおりであれば、先に書いたとおりRTではありません。
Nelsonさんのページは5ヶ月ほど前から覗いているんですが、他機種でもRTのpatchが当てられたものは無いようです。
何れにしても、もうゴールは見えてきていると思いますよ。何か必要な物があればおっしゃってください。
相変わらず盛況のようでなによりです。
このところFN1242Aデュアル×2とやなさんDSD原理基板に没頭していたので、久々にこちらを見て、BBBの出現に驚きました。随分と出遅れました。これケースがいいですね。しかも電源は5V。
久しぶりに聴いてみたくなりました。さっそく注文します。
電源はcuboxのものをそのまま流用できますね。ケースはアクリルのやつですか。スマートでよさそうですが、内部の電源ボタンを押すことが多いので、どうしたものかなと思っています。僕は今のところ大きさが丁度の手持ちアクリルケースを使っています。あと3.3vのシリアルケーブルは必須に近いです。
とりあえずインストールするシステムは#3226のdebianがお勧めです。rtカーネルではありませんが、安定していて、音もいいです。rtカーネルだと、syuさんの公開されているarchのイメージ(#3156)がお勧めです。
只今、rtカーネルのチューニング中ですが、ちょっといじるととたんにノイズだらけとなり、cuboxより手強いですね(^^;;;。
専用ケースが出ていたんですね。早速発注しました。
asoyajiさんはハードに詳しそうなので、なんとかI2Sの方もm(__)m
さすがに、簡単な組立図1枚すら入っていません(^^;まあ、販売元のHPの写真と現物合わせで何とかなりますが。アクリルの保護紙を外すのにかなり苦労しました(笑)
組立は結構デリケートですので、時間が掛かってしまいましたが、やはり基板剥き出しのままよりは断然良いですね。
ケース、よさそうですね。
上の蓋を空けっぱなしにしておく(あるいは組み立てた状態で簡単にあける)ことはできますか。
カーネルの入れ換えをした時、電源ボタンを押さないと起動出来ないのですが、そのたびにケースを分解するというのは不便なので。
>上の蓋を空けっぱなしにしておく(あるいは組み立てた状態で簡単にあける)ことはできますか。
最初から、上蓋だけ外して組み付けた方が楽かも知れません。いったん組み付けてから外す場合、当然固定ネジを緩めて行うのですが、恐らく全体的にバラバラになってしまうと思います。
実は、上蓋の一ヶ所に穴が開けてあるのですが、その位置が基板では端過ぎて、ブートSWや電源SWの真上ではないようです。電源SWもさることながら、購入したシリアルケーブルが使えなくなるのが辛いですね(^^;
情報ありがとうございました。よく分かりました。
もうこれ以上システムいじりはしないという状況になってから、ケースに入れるというのが良さそうですね。
少しずつconfigの変更をしています。結構削りました。前より悪くなっているかもしれません。
試してみて問題点(前より良いとか悪いとか、ここを増やせとか削れとか)を指摘していただけると助かります。
https://docs.google.com/file/d/0BxnbJHx0_xurdld2UjR2VU1OOGM/edit?usp=sharing" target="_blank">https://docs.google.com/file/d/0BxnbJHx0_xurdld2UjR2VU1OOGM/edit?usp=sharing
以下は問題なく削ることが可能です。
・General setup ---> <*> Kernel .config support(configの管理が苦手なのでつけてます)
・NFS
こちらのスレッドを大変興味深く読ませいて頂いています。
実は、最近海外のサイト(Computer Audiophile)にBBBをMPDサーバにする記事が載っていました。既にご存知かも知れませんがURLは以下となります。
http://www.computeraudiophile.com/content/533-geek-speak-how-build-beaglebone-black-mpd-music-server/" target="_blank">http://www.computeraudiophile.com/content/533-geek-speak-how-build-beaglebone-black-mpd-music-server/
当方もこちらの手順でMPDサーバを仕立ててみました。192/24(wav/flac)も問題なく再生できています。
実は写真のケースが気になっています。(これからBBBをと言う方にはLogic Supplyのスターターキットもいいですね。)
削っていただいたconfigで、作ってみました。
[root@alarm ~]# uname -a
Linux alarm 3.8.13-rt9_Fa-00899-g69b50aa #1 SMP PREEMPT Tue Jul 23 00:23:09 JST 2013 armv7l GNU/Linux
cpu負荷が減っていて、良い感じですね。音は、かなり改善された気がします。従来よりさらに柔らかくなり、超高解像、歪み感も極小。irq/35-musb-hdrのcpu占有率が12%程度まで下がっています(16/44.1)から、これが貢献しているのかも。
dsfも瞬断なく再生できています。これは私の環境では初めて。
しかし時々、挙動不審です。ttyもsshもgmpcも接続が切れて、暴走しているような状態になることが稀にあります。何がきっかけになっているのかは不詳。こうなるとリセットボタンを押すしかなくなります。
とりあえずは、第一報。
面倒な作業だったと思います。感謝。
top - 18:20:42 up 27 min, 1 user, load average: 1.93, 0.61, 0.33
Tasks: 74 total, 1 running, 73 sleeping, 0 stopped, 0 zombie
%Cpu(s): 3.1 us, 15.6 sy, 0.0 ni, 79.8 id, 0.0 wa, 0.0 hi, 1.5 si, 0.0 st
KiB Mem: 511672 total, 369444 used, 142228 free, 2344 buffers
KiB Swap: 0 total, 0 used, 0 free, 300672 cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
69 root -56 0 0 0 0 S 14.2 0.0 3:26.84 irq/35-musb+
331 root 20 0 83396 79684 28288 S 5.3 15.6 0:23.94 mpd
351 root -54 0 0 0 0 S 3.3 0.0 0:12.71 cifsd
96 root -54 0 0 0 0 S 3.0 0.0 0:12.05 irq/57-4a10+
97 root -54 0 0 0 0 S 0.7 0.0 0:02.97 irq/58-4a10+
404 root 20 0 4852 1196 928 R 0.3 0.2 0:00.92 top
1 root 20 0 4772 2656 1816 S 0.0 0.5 0:02.10 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd
こんな現象も
[root@alarm ~]# systemctl status mpd
mpd.service - Music Player Daemon
Loaded: loaded (/usr/lib/systemd/system/mpd.service; enabled)
Active: active (running) since Sat 2000-01-01 09:01:46 JST; 13 years 6 months ago
Main PID: 331 (mpd)
CGroup: name=systemd:/system/mpd.service
└─331 /usr/local/bin/mpd --no-daemon
Jan 01 09:01:46 alarm systemd[1]: Started Music Player Daemon.
Jan 01 09:01:46 alarm systemd[1]: Started Music Player Daemon.
Jan 01 09:01:46 alarm systemd[1]: Started Music Player Daemon.
Jan 01 09:01:46 alarm systemd[1]: Started Music Player Daemon.
Jan 01 09:01:46 alarm systemd[1]: Started Music Player Daemon.
control-cを押すまで延々これが続きます。
はじめまして。ケースいいですね。以前、写真は見たことがあったんですが、その時はどこで買えるのか分からなかったので、えふさんと同じアクリルのものにしました。
BBB+RTでは問題も多いのですが、少なくともCDリップのソースについては、非常に良い音で鳴ってくれます。
configの公開ありがとうございます。早速ためしてみましたが、ビルドの終わりで次のエラーになります。
GEN .version
CHK include/generated/compile.h
UPD include/generated/compile.h
CC init/version.o
LD init/built-in.o
drivers/built-in.o: In function `tps65217_irq':
ti_am335x_adc.c:(.text+0x2e89c): undefined reference to `input_event'
ti_am335x_adc.c:(.text+0x2e8aa): undefined reference to `input_event'
ti_am335x_adc.c:(.text+0x2e8cc): undefined reference to `input_event'
ti_am335x_adc.c:(.text+0x2e8da): undefined reference to `input_event'
drivers/built-in.o: In function `tps65217_probe':
ti_am335x_adc.c:(.text+0x2eac0): undefined reference to `devm_input_allocate_device'
ti_am335x_adc.c:(.text+0x2eaf2): undefined reference to `input_register_device'
make: *** [vmlinux] Error 1
最後にdriversのbuilt-in.oを作成しようとして、定義されていない参照名を呼び出したということらしいのですが、何か魔法のお呪いが必要なのですかね。
> 以下は問題なく削ることが可能です。
> ・General setup ---> <*> Kernel .config support(configの管理が苦手なのでつけてます)
> ・NFS
NFSの方ですが、NFS server support と NCP file system support (to mount NetWare volumes) は削除するとcpu負荷が大きくなることはありませんか(理由はよく分からないのですが)。
いろいろ削って、44.1KHzでcpu負荷を5%位までチューニング出来たのですが、この二つを削除したら13%位に上昇。あわてて元に戻しました。他にもメインの機能がm指定でサブの機能が*になっているやつのメインの機能を削除すると、結構cpu負荷が上がります。こういうことはcuboxやSmartTVBoxでは経験しなかったので不思議です。
情報ありがとうございます。
遂にComputerAudiophileでもBBBがとりあげられるようになりましたか。一週間でコメントが35というのが凄いですね。あれだけ丁寧にインストールの仕方を解説してあれば、BBBユーザの数も増えるでしょうね。
cuboxについては昨年の12月にCAのこのスレッド
http://www.computeraudiophile.com/f10-music-servers/cubox-any-one-14257/" target="_blank">http://www.computeraudiophile.com/f10-music-servers/cubox-any-one-14257/
で取り上げられ、まだ続いているようです。
cuboxよりBBBの方が入手は容易だし、グローバルな情報は多いので、こっちがメイジャーになるかもしれませんね。
試して頂いてありがとうございます。
こちらの環境では、ハイレゾでの検討はあまりやってないですし、DSDは環境が無いのでスルーです。
異なった環境では、何かおかしなところが有りそうですね。
実は昨日UPしたものは、こちらでのローカルVerがFbとしているものです。別途Fcとしたもの(Fbからさらに削ったものです)で確認中です。負荷も0.5%程度下がっているようで、Fb同様余韻は綺麗です。Fbに比べると少し固い感じもします。ただ、もうここまでくると純粋に好みの世界かもしれません。
>Jan 01 09:01:46 alarm systemd[1]: Started Music Player Daemon
これはどうしてなんでしょうね。
そういえば昨日、pacman -Suyしたらmpdがupdateされました。最近upgradeされましたか。
>何か魔法のお呪いが必要なのですかね。
特に何もしてないです。開発環境の違いなのでしょうか。
>NFSの方ですが、
今まで気にしたことはなかったです。
NFSではないですが、削ったことによって負荷が増える場合もありますね。なかなか思いどおりにいかないです。
>こちらでのローカルVerがFb
てことは、昨晩できたつもりのブツがFaなのは、なんか変だってことですねヽ(´o`;;
cpu負荷は減ってるし、音も良いんだけどなあ。
これは保存しといて・・・、
ファイルを落とすところまでさかのぼり、再度トライしてみます。
>mpdがupdate
実は昨晩pacman -S htopとかpacman -Syuとか試みたんですが、接続できませんでした。
今やってみたら、こんなことに・・・固まってしまいました。
[root@alarm ~]# pacman -Syu
:: Synchronizing package databases...
core 48.4 KiB 52.6K/s 00:01 [######################] 100%
extra 543.7 KiB 182K/s 00:03 [######################] 100%
community 551.4 KiB 140K/s 00:04 [######################] 100%
alarm 7.9 KiB 27.2K/s 00:00 [######################] 100%
aur 18.3 KiB 28.9K/s 00:01 [######################] 100%
:: Starting full system upgrade...
resolving dependencies...
looking for inter-conflicts...
Packages (20): alsa-lib-1.0.27.2-1 gettext-0.18.3-1 git-1.8.3.3-1
gpgme-1.4.2-1 kmod-14-1 libassuan-2.1.1-1 libdrm-2.4.46-2
libnl-3.2.22-1 libpciaccess-0.13.2-1 libusbx-1.0.16-1
linux-am33x-3.8.13-7 linux-headers-am33x-3.8.13-7 mesa-9.1.5-1
mesa-libgl-9.1.5-1 mpd-0.17.4-3 opus-1.0.3-1
reiserfsprogs-3.6.23-1 rtmpdump-20121230-2 tzdata-2013d-1
wayland-1.2.0-1
Total Download Size: 28.59 MiB
Total Installed Size: 107.49 MiB
Net Upgrade Size: -0.64 MiB
:: Proceed with installation? [Y/n]
:: Retrieving packages ...
gettext-0.18.3-1-armv7h 2024.7 KiB 242K/s 00:08 [######################] 100%
gpgme-1.4.2-1-armv7h 181.0 KiB 97.3K/s 00:02 [######################] 100%
kmod-14-1-armv7h 90.7 KiB 62.0K/s 00:01 [######################] 100%
libassuan-2.1.1-1-a... 72.8 KiB 57.6K/s 00:01 [######################] 100%
libnl-3.2.22-1-armv7h 191.3 KiB 107K/s 00:02 [######################] 100%
libusbx-1.0.16-1-armv7h 43.9 KiB 45.1K/s 00:01 [######################] 100%
linux-am33x-3.8.13-... 14.8 MiB 852K/s 00:18 [######################] 100%
linux-headers-am33x... 5.4 MiB 725K/s 00:08 [######################] 100%
reiserfsprogs-3.6.2... 166.4 KiB 87.8K/s 00:02 [######################] 100%
tzdata-2013d-1-any 257.8 KiB 123K/s 00:02 [######################] 100%
alsa-lib-1.0.27.2-1... 340.2 KiB 112K/s 00:03 [######################] 100%
git-1.8.3.3-1-armv7h 2.7 MiB 240K/s 00:12 [######################] 100%
libpciaccess-0.13.2... 22.7 KiB 37.9K/s 00:01 [######################] 100%
libdrm-2.4.46-2-armv7h 90.2 KiB 61.4K/s 00:01 [######################] 100%
wayland-1.2.0-1-armv7h 71.0 KiB 36.3K/s 00:02 [######################] 100%
mesa-9.1.5-1-armv7h 1822.7 KiB 319K/s 00:06 [######################] 100%
mesa-libgl-9.1.5-1-... 2.8 KiB 0.00B/s 00:00 [######################] 100%
mpd-0.17.4-3-armv7h 164.6 KiB 91.6K/s 00:02 [######################] 100%
opus-1.0.3-1-armv7h 172.6 KiB 96.0K/s 00:02 [######################] 100%
rtmpdump-20121230-2... 95.0 KiB 47.4K/s 00:02 [######################] 100%
(20/20) checking keys in keyring [######################] 100%
(20/20) checking package integrity [######################] 100%
(20/20) loading package files [######################] 100%
(20/20) checking for file conflicts [######################] 100%
( 1/20) checking available disk space [#---------------------] 5%
(固まった)
>てことは、昨晩できたつもりのブツがFaなのは、なんか変だってことですねヽ(´o`;;
誤解させてすいません。ちゃんと出来てると思います。
Verが変わらないほうが、modulesまで作り直さなくていいかなと思って、UPするときに_Faに変更してUPしました。
昨日upgradeした時にmpd.serviceも書き換えられたんで、次はmpdをupdateさせないように、pacman.confを以下のように書き換えました。
IgnorePkg = mpd
近いうちに、今、試しているFcもUPします(ローカルバージョンはFaに修正して)
よろしければ、また感想きかせてください。
今までDefault I/O schedulerをDeadlineにして調整してきましたが、FcではCFQのほうが良いようです。
初めて投稿させて頂きます。TATと申します。
PCオーディオ超初心者です。CuBoxを購入しましたが、「日経Linux8月号」で音楽サーバーとしての活用を知り、みみず工房さんにたどり着きました。早速梅雨入りバージョンをインストールして、とりあえず音楽の再生できるかどうか試したくて、"/var/lib/mpd/music"の下に楽曲ファイルを直接配置し、iPhoneにMPoDをインストールして、Cuboxの光オーディオケーブル出力をONKYO CR-D1に接続し、再生を試みました。MPoDで、サーバーを認識し、アルバム表示、楽曲表示はできたのですが、再生ができません。再生ボタンを押してもpause状態のまま再生してくれません。logを見ると下記のようになっていました。
-----------------------------------------------------------------------------------------------------------------------------
[root@cubox ~]# cat /tmp/mpd/mpd.log
Jul 19 19:19 : config: option 'enabled' on line 19 was not recognized
Jul 19 19:19 : config: option 'dsdsampleformat' on line 20 was not recognized
Jul 19 19:19 : config: option 'tagsupport' on line 21 was not recognized
Jul 19 19:19 : avahi: Service 'Music Player' successfully established.
Home directory not accessible: Permission denied
ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Connection refused
Jul 19 19:20 : mixer: Failed to read mixer for 'My ALSA Device': failed to attach to default: Connection refused
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround51
Jul 19 19:20 : output: Failed to open "My ALSA Device" [alsa]: Failed to open ALSA device "default": No such file or directory
---------------------------------------------------------------------------------------------------------------------------------
My ALSA Deviceに問題があるような気がします。あるいは、"Home directory"のパーミッションがおかしいのかも知れませんが、"Home directory"が何であるかもわからず、対処方法がわかりません。
初心者ゆえの無知な質問かも知れませんが、対処方法をご教授いただけると幸甚です。
試行錯誤をし、過去のログを拝見したりしても解決しませんでした。場違いな質問であればご容赦願います。
梅雨入りバージョンのディフォルトのカーネル(3.8)はCuboxの光オーディオケーブル出力を認識しません。雛祭りバージョンにするか、selbootで3.6カーネルに変更してお試し下さい。
後、パーミションの問題は、fstabでuid=mpdに変更して頂けますか(多分rootになっていると思います)。
早速のコメントありがとうございます。
雛祭りバージョンで試してみます。
まだまだわからないことが多いのですが、試行錯誤してみます。
これからもよろしくお願いいたします。
アドバイスいただきました雛祭りバージョンで無事再生が可能となりました。再生ボタンを押しても再生しない、という症状は、/etc/mpd.conf の
------------------------------------------------
audio_output {
type "alsa"
name "My ALSA Device"
# device "hw:1,0"
以下略
-------------------------------------------------
device "hw:1,0"
をコメントアウトすると回避できました。
音が出てきたときは、ちょっと感動モノでした。期待に違わぬ音質と感じました。
どうもありがとうございました。
こんにちは。
hiFaceドライバをソースからコンパイルするのは!と躊躇していましたが、
コンパイル済みのhiFaceドライバがパッケージで登録されていました。
これならばと思い、インストールしましたが、残念ながら、力不足で、動作しません。
※ドライバは認識されています。
インストール情報を探しましたが見つからなかったので、他のサイトを参考にインストールしました。手順が間違っているかもしれませんが・・・
問題なく、動作している方はいますか?
手順
・version確認
root@voyage:~# uname -r
3.8.13-voyage
・ドライバモジュールのサーチ
root@voyage:~# apt-cache search snd-usb-asyncaudio-modules
snd-usb-asyncaudio-modules-3.8.12-voyage - snd-usb-asyncaudio modules for Linux (kernel 3.8.12-voyage).
snd-usb-asyncaudio-modules-3.8.13-voyage - snd-usb-asyncaudio modules for Linux (kernel 3.8.13-voyage).
snd-usb-asyncaudio-modules-3.8.11-voyage - snd-usb-asyncaudio modules for Linux (kernel 3.8.11-voyage).
snd-usb-asyncaudio-modules-3.6.9-voyage - snd-usb-asyncaudio modules for Linux (kernel 3.6.9-voyage).
・ドライバモジュールのget
root@voyage:~# apt-get install snd-usb-asyncaudio-modules-3.8.13-voyage
・ドライバ一時登録
root@voyage:~# cd /lib/modules/3.8.13-voyage/misc/
root@voyage:/lib/modules/3.8.13-voyage/misc# insmod snd-usb-hiface.ko
・ドライバ一覧の確認
root@voyage:/lib/modules/3.8.13-voyage/misc# lsmod
Module Size Used by
snd_usb_hiface 5565 0
nfsd 148133 2
exportfs 2424 1 nfsd
・ドライバ登録情報を更新
root@voyage:~# depmod -a
・再起動&hiFace接続
・hifaceドライバが組み込まれているか確認
root@voyage:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: hiFace [hiFace], device 0: USB-SPDIF Audio [USB-SPDIF Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
・念のため /etc/modulesの最終行に、snd-usb-hiface と登録しましたが、状況は変わりません。
状況
GMPCから再生指示を出すと、接続が切れ、しばらくすると再接続されます。
音楽は、再生されません。
ログ
root@voyage:~# cat /var/log/mpd/mpd.log | tail
no message buffer overruns
May 31 21:35 : avahi: Service 'Voyage Music Player' successfully established.
May 31 12:38 : mixer: Failed to read mixer for 'My ALSA Device': no such mixer control: PCM
May 31 12:38 : No such playlist
May 31 12:40 : output: Failed to open "My ALSA Device" [alsa]: Error opening ALSA device "hw:0,0" (snd_pcm_hw_params): Input/output error
May 31 12:40 : player_thread: Failed to open audio output
May 31 12:40 : player_thread: problems opening audio device while playing "http://89.16.185.174:8000/stream"" target="_blank">http://89.16.185.174:8000/stream"
May 31 12:43 : decoder_thread: Failed to open "/var/lib/mpd/music/usbmount/usb0/EAC/アンニュイな午後の風/01 テイク・ファイヴ(デイヴ・ブルーベック).flac": Input/output error
May 31 12:43 : decoder_thread: Failed to open "/var/lib/mpd/music/usbmount/usb0/EAC/アンニュイな午後の風/01 テイク・ファイヴ(デイヴ・ブルーベック).flac": Input/output error
May 31 12:43 : No such playlist
root@voyage:~# dmesg | tail
[ 8.205280] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 9.516583] tg3 0000:02:00.0 eth0: Link is up at 1000 Mbps, full duplex
[ 9.516767] tg3 0000:02:00.0 eth0: Flow control is on for TX and on for RX
[ 9.516767] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 10.759644] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[ 345.180036] usb 2-4: reset high-speed USB device number 3 using ehci-pci
[ 360.348037] usb 2-4: device descriptor read/64, error -110
[ 375.617035] usb 2-4: device descriptor read/64, error -110
[ 375.820029] usb 2-4: reset high-speed USB device number 3 using ehci-pci
[ 390.988035] usb 2-4: device descriptor read/64, error -110
hiFaceを持っていないし、voyageも使っていないので、頼りにはなりませんが、
> May 31 12:40 : output: Failed to open "My ALSA Device" [alsa]: Error opening ALSA device "hw:0,0" (snd_pcm_hw_params): Input/output error
これが原因で音が出ないのだと思います。
Error以下をキーワードにしてググったら、
http://www.computeraudiophile.com/f10-music-servers/new-linux-os-aimed-computer-audiophiles-voyage-mpd-5505/index3.html" target="_blank">http://www.computeraudiophile.com/f10-music-servers/new-linux-os-aimed-computer-audiophiles-voyage-mpd-5505/index3.html
というページがあったのですが、関係ありませんか。
あと、
> [ 360.348037] usb 2-4: device descriptor read/64, error -110
というメッセージも usb 2-4 にhiFaceがつながっているとすれば関係するかもしれませんね。
情報ありがとうございます。もう少し頑張ってみます。
教えていただいたページを確認しました。
現象は同じようですが、解決策は見つけられませんでした。
usbのエラーでも検索してみましたが、解決策は見つけられませんでした。
一応、電源周りも疑うべきだとありましたので、USB接続のディスクを外し、起動用のCFに音楽データをコピーしてみましたが現象変わらずでした。
※環境は、HP T5730をCFで起動し、音楽データはUSB接続のHDDにあります。
X-DDCでは問題なく動作しています。
voyageMPD0.9RC2での動作確認報告がありましたので、RC2で再挑戦もしてみたいと思います。これで動作しなければ手順ミスでしょうね。
http://comments.gmane.org/gmane.linux.distributions.voyage.general/7168" target="_blank">http://comments.gmane.org/gmane.linux.distributions.voyage.general/7168
Punkyさんにメールして、「このページを見て頂戴」と質問する手はとれますが、どうしますかね。
0.9のCDイメージがusbから起動出来なかった時はこの手を使いました。
http://www.symphonic-net.com/kubotayo/cgi-bin/read.cgi?mode=all&list=topic&no=2739#2799" target="_blank">http://www.symphonic-net.com/kubotayo/cgi-bin/read.cgi?mode=all&list=topic&no=2739#2799
に履歴が残っています。
Please read this link for instructions:
http://linux.voyage.hk/content/voyage-mpd-090-released" target="_blank">http://linux.voyage.hk/content/voyage-mpd-090-released
1. For 0.9.0, you need 3.8.11 kernel module
2. You need to download and install firmware by yourself.
3. Another user reported that you need silly.sh to initialize the driver.
Please let me know if it works or not after following above instructions. Thanks.
Thank you for your support.
I am a little confused. As the first message of Naknaka(なかなか)-san, he used snd-usb-asyncaudio-modules-3.8.13-voyage and 3.8.13 kernel and it didn't work(no sound).
Should he use snd-usb-asyncaudio-modules-3.8.11-voyage and 3.8.11 kernel ?
When I installed Voyage0.9.0, kernel was 3.8.12, not 11 nor 13.
And Nakanaka says his kernel is 3.8.13, (that version is causing mulfunction on my cubox).
did he change kernel after installation of voyage?
Punky says to use 3.8.11-module, but does 3.8.12 has something wrong with hiface?
My simple recognition is that " kernel version and modules version shuld be same", am I wrong?
And another recognition is " To ask author for something, be sure you are using original version"
FYI. voyageMPD0.9RC2 installs kernel 3.6.9.
voyage mpd 0.9.0 is with kernel 3.8.11
voyage daily is now with kernel 3.8.12.
If you are using 0.9~rc2, the kernel is 3.6.9. All kernel version used in each version are record in /README.
Regards,
Punky
current版のLiveCDを使用したためです。
私も混乱しています。すいません。
insmodでエラーが出ているドライバを、depmod -a で組み込んでしまったため
変な現象が発生していると考えられます。
voyageMPD0.9RC2、snd-usb-asyncaudio-modules-3.6.9-voyageのインストールを
してみましたが、insmodでエラーが発生しました。
root@voyage:/lib/modules/3.6.9-voyage/misc# insmod snd-usb-hiface.ko
Error: could not insert module snd-usb-hiface.ko: Unknown symbol in module
root@voyage:/lib/modules/3.6.9-voyage/misc# dmesg
[ 246.931480] snd_usb_hiface: Unknown symbol snd_pcm_new (err 0)
[ 246.931871] snd_usb_hiface: Unknown symbol snd_card_register (err 0)
[ 246.932484] snd_usb_hiface: Unknown symbol snd_card_free (err 0)
[ 246.932869] snd_usb_hiface: Unknown symbol snd_pcm_lib_preallocate_pages_for_all (err 0)
[ 246.933499] snd_usb_hiface: Unknown symbol snd_pcm_stop (err 0)
[ 246.933904] snd_usb_hiface: Unknown symbol snd_pcm_lib_malloc_pages (err 0)
[ 246.934447] snd_usb_hiface: Unknown symbol snd_pcm_lib_ioctl (err 0)
[ 246.934852] snd_usb_hiface: Unknown symbol snd_pcm_lib_free_pages (err 0)
[ 246.935411] snd_usb_hiface: Unknown symbol snd_card_free_when_closed (err 0)
[ 246.935867] snd_usb_hiface: Unknown symbol snd_pcm_set_ops (err 0)
[ 246.936373] snd_usb_hiface: Unknown symbol snd_pcm_hw_constraint_list (err 0)
[ 246.936832] snd_usb_hiface: Unknown symbol snd_pcm_link_rwlock (err 0)
[ 246.937351] snd_usb_hiface: Unknown symbol snd_card_disconnect (err 0)
[ 246.937780] snd_usb_hiface: Unknown symbol snd_card_create (err 0)
[ 246.938285] snd_usb_hiface: Unknown symbol snd_pcm_period_elapsed (err 0)
[ 289.817208] snd_usb_hiface: Unknown symbol snd_pcm_link_rwlock (err 0)
[ 289.817625] snd_usb_hiface: Unknown symbol snd_card_disconnect (err 0)
[ 289.818152] snd_usb_hiface: Unknown symbol snd_card_create (err 0)
[ 289.818558] snd_usb_hiface: Unknown symbol snd_pcm_period_elapsed (err 0)
>voyageMPD0.9RC2、snd-usb-asyncaudio-modules-3.6.9-voyageのインストールを
>してみましたが、insmodでエラーが発生しました。
当方も0.9RC2にドライバーをインストールしていますが、問題なく動作しています(ALIX)。ただし、ソースからビルドしましたし、モジュール名も当時はsnd-usb-asyncaudio.koでした。
modinfo snd-usb-hiface.koでvermagicはどう表示されますか。
あと、当方でもinsmodの際はエラーが出たように記憶しています。ただ、depmod -aでは問題なく組み込めました。
ドライバーモジュールのインストールで躓いておられるようなので、ここは一つ「急がば回れ」で、ドライバーソースからビルドする方向で検討してみては如何でしょうか。
0.9~rc2 need to use 3.6.9 drivers, unless you upgrade to newer kernel.
Some successfully story for 0.9~rc2 with hiface driver.
http://thread.gmane.org/gmane.linux.distributions.voyage.general/7168/focus=7182" target="_blank">http://thread.gmane.org/gmane.linux.distributions.voyage.general/7168/focus=7182
Since I don't have hiface hardware to test, your test report is important to know if it works or not.
Punky
>modinfo snd-usb-hiface.koでvermagicはどう表示されますか。
vermagic: 3.6.9-voyage SMP mod_unload 486 となっています。
>あと、当方でもinsmodの際はエラーが出たように記憶しています。ただ、depmod -aでは問題なく組み込めました。
はい、こちらも問題なく組込はできて、aplay -l で認識されています。
でも、音がでません。mpd.log には、以下のメッセージが出力されます。なぜでしょうね?
Jun 03 19:14 : output: Failed to open "My ALSA Device" [alsa]: Error opening ALSA device "hw:0,0" (snd_pcm_hw_params): Input/output error
Jun 03 19:14 : player_thread: Failed to open audio output
Jun 03 19:14 : player_thread: problems opening audio device while playing "DRM_Free_sample2496.flac"
今度は、RC2でソースからのビルドに挑戦してみます。
動作しているとのことで心強いです。ありがとうございました。
mpd.confに、hiFace用の修正は必要でしょうか?
> Error: could not insert module snd-usb-hiface.ko: Unknown symbol in module
というのが問題なのではないでしょうか。このエラーは3.8.13でも発生していたのでしょうか。
> はい、こちらも問題なく組込はできて、aplay -l で認識されています。
これは3.6.9の場合も同じでしょうか。insmodでエラーになっているのに、depmodで登録させることが出来るのでしょうか。
Punkyさんのアドバイス通り、僕のVmwarePlayer環境の VoyageMPD 0.9.0(kernel 3.8.11)で試してみました。
root@voyage:~# uname -r
3.8.11-voyage
root@voyage:~# apt-get install snd-usb-asyncaudio-modules-3.8.11-voyage
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
snd-usb-asyncaudio-modules-3.8.11-voyage
0 upgraded, 1 newly installed, 0 to remove and 13 not upgraded.
Need to get 7958 B of archives.
After this operation, 56.3 kB of additional disk space will be used.
WARNING: The following packages cannot be authenticated!
snd-usb-asyncaudio-modules-3.8.11-voyage
Authentication warning overridden.
Get:1 http://www.voyage.hk/dists/0.9/" target="_blank">http://www.voyage.hk/dists/0.9/ ./ snd-usb-asyncaudio-modules-3.8.11-voyage 0.0git20130220-1+12.4-1 [7958 B]
Fetched 7958 B in 0s (20.8 kB/s)
Selecting previously unselected package snd-usb-asyncaudio-modules-3.8.11-voyage.
(Reading database ... 16706 files and directories currently installed.)
Unpacking snd-usb-asyncaudio-modules-3.8.11-voyage (from .../snd-usb-asyncaudio-modules-3.8.11-voyage_0.0git20130220-1+12.4-1_i386.deb) ...
Setting up snd-usb-asyncaudio-modules-3.8.11-voyage (0.0git20130220-1+12.4-1) ...
root@voyage:~# cd /lib/modules/3.8.11-voyage/misc/
root@voyage:/lib/modules/3.8.11-voyage/misc# insmod snd-usb-hiface.ko
root@voyage:/lib/modules/3.8.11-voyage/misc# lsmod
Module Size Used by
snd_usb_hiface 5565 0
nfsd 148133 2
exportfs 2424 1 nfsd
ipv6 174278 34
snd_ens1371 11096 0
snd_ac97_codec 68031 1 snd_ens1371
ac97_bus 596 1 snd_ac97_codec
snd_seq_midi 2756 0
snd_seq_midi_event 3175 1 snd_seq_midi
snd_rawmidi 11319 2 snd_ens1371,snd_seq_midi
snd_pcm 46479 3 snd_usb_hiface,snd_ac97_codec,snd_ens1371
snd_page_alloc 4886 1 snd_pcm
snd_seq 30436 2 snd_seq_midi_event,snd_seq_midi
snd_seq_device 3189 3 snd_seq,snd_rawmidi,snd_seq_midi
snd_timer 11046 2 snd_pcm,snd_seq
coretemp 3924 0
snd 32736 8 snd_usb_hiface,snd_ac97_codec,snd_timer,snd_pcm,snd_seq,snd_rawmidi,snd_ens1371,snd_seq_device
以降省略
という具合に問題なく組み込むことが出来ました(Authentication warningはありますが、insmodは正常終了しています)。
I also haven't hiface therefore I cann't confirm the sound but in my VmwarePlayer environment I can include hiface driver as the message just before.
However Nakanaka tried voyage 0.9rc2 / 3.6.9 driver and he couldn't include it because insmod ended with "Error: could not insert module snd-usb-hiface.ko: Unknown symbol in module".
He has hiface hardware so he can confirm whether it works really. In current version of live-CD (kernel is 3.8.13 and driver 3.8.13) he could include the driver and alsa recognised hiface, but hiface didn't work(no sound). Details are in the first message of this thread.
Just run 0.9-rc2 on my VirtualBox again and install snd-usb-asyncaudio for 3.6.9 kernel. No unknown symbol is reported. Perhaps, please show output of "lsmod |grep snd" to see if snd_pcm is loaded?
BTW, I use "modprobe snd-usb-hiface" to load instead if insmod. Also please make sure running 3.6.9 kernel (verify by "uname -r")
Punky
>これは3.6.9の場合も同じでしょうか。insmodでエラーになっているのに、depmodで登録させることが出来るのでしょうか。
はい、エラーになりますが、depmod -aを実行し、rebootすれば組込まれています。
root@voyage:~# uname -r
3.6.9-voyage
root@voyage:~# lsmod | grep snd
snd_usb_hiface 6053 0
snd_pcm 49190 1 snd_usb_hiface
snd_page_alloc 4914 1 snd_pcm
snd_seq 33086 0
snd_seq_device 3581 1 snd_seq
snd_timer 12110 2 snd_pcm,snd_seq
snd 35366 5 snd_usb_hiface,snd_timer,snd_pcm,snd_seq,snd_seq_device
soundcore 3331 1 snd
usbcore 96018 4 snd_usb_hiface,usb_storage,ohci_hcd,ehci_hcd
root@voyage:~#
ノートPC(Dell XPS1210)に8GBのUSBメモリをセットしてインストールしましたが、
インストール中にエラーが発生せず、問題なく音が出ました。
・apt-get installでは、Authentication warning 警告なし
・insmodでも、Unknown symbol in moduleのエラーは起きません。
Dell XPS1210(CPU=core2duo T5500 Mem=4GB)
voyageMPD0.9RC2 snd-usb-asyncaudio-modules-3.6.9-voyage
正常に動かないのは、ハードウェア的な問題が何か有るのかもしれません。X-DDCで問題ないので故障ではないと思います。
HP Compaq t5730 Thin Client(CPU=AMD Sempron 2100+ Mem=512MB)
ハードの問題ではないと思います。
Punkyさんが書かれているように、VoyageMPDのインストールされた時、何らかの理由で snd_pcmが組み込まれなかったため、insmodでエラーが発生した。その後、無理やり"depmod -a"て組み込んだが、Unknown symbolの問題は解決されていないため、音が出なかったのだと思います。
問題は「snd_pcmが組み込まれなかった」理由ですが、Punkyさんが分かるのではないかと思います。
Nakanaka's problem (no sound with hiface) was solved. Thank you for your support.
He reinstalled 0.9rc2 to his note PC(Dell XPS1210) by using usb memory stick and install/insmod snd-usb-asyncaudio-modules-3.6.9-voyage. The installation has finished without problem and he has succeeded in putting out the sound.
Therefore I think Nakanaka's problem (no sound with hiface) was caused by his operation forcing to include snd-usb-hiface driver by "depmod -a" even though there is an insmod error "Unknown symbol".
But I am not sure why snd_pcm was not included in his previous installation. If you know the reason, please teach us.
I also feel puzzeled about Nakanaka's problem. "depmod -a" should be very safe and should not caused any problem. snd_pcm module is included in the voyage kernel, unless it is accidentially deleted.
Thank you for support Voyage MPD.
Punky
自分としては同じものでインストしたつもりが、VMwareでは3.8.11-voyage(Build Date 20130510)、ALIXでは3.8.12-voyage(Build Date 20130521)でしたので、当然それに対応したhifaceモジュールインストして、それらの違いはありますが以下のような結果でした。
・VMware insmod、depmodともエラーなし。
・ALIX insmodでError: could not insert module snd-usb-hiface.ko: Unknown symbol in module表示。depmodエラーなし。
実際にhifaceを接続してテストしたのはALIXのみですが、GMPCでFailed to decode music/ …となり動作せず、というような状況でした。
昨日は時間切れでここまでしか追っかけていません。insmodの際のエラーが問題だと思うのですが、yoさん指摘の「snd_pcm」についてPunkyさんによれば、kernelに含まれているということなので、益々迷宮に迷い込んだ感じです。
ちなみに、このrelease版をALIX用のCFにインストする際、USBドライブでは例のエラーとなりましたので、ツールを使ってisoイメージをUSBメモリに書き込んでからインストしました。
以前は、マザーボードのSoundをBIOSで無効してサウンドカードなし状態でのインストールでした。
snd_pcmがロードされていないでは?ということにヒントを得て、
マザーボードのSoundを有効にして、ドライバをインストールすると、insmod でエラーは発生しませんでした。
音はでないままですが、insmod のエラーは出なくなりました。
Jun 05 14:11 : output: Failed to open "My ALSA Device" [alsa]: Error opening ALSA device "hw:1,0" (snd_pcm_hw_params): Input/output error
Jun 05 14:11 : player_thread: Failed to open audio output
※オーディオ・デバイスの番号(順番)が変わるのを防ぐための設定方法を試してみようとしましたが、以下の様な状態です。
root@voyage:~# cat /proc/asound/cards
0 [SB ]: HDA-Intel - HDA ATI SB
HDA ATI SB at 0xfe024000 irq 16
1 [hiFace ]: snd-usb-hiface - hiFace
hiFace at usb-0000:00:13.5-4
root@voyage:~# cat /proc/asound/card1/usbid
cat: /proc/asound/card1/usbid: No such file or directory
いろいろあって目が回りそうですが、整理すると
0.9rc2(kernel 3.8.9)
DellXPS1210(Nakanaka) with hiface : can include 3.8.9-driver without error and works without problem #2897
alix(efu) with hiface : works without problem but insmod "Unknown symbol"(?) error #2890
Compaq t5730(Nakanaka) with hiface and build-in sound effective on bios :
can include 3.8.9-driver without error but does not work(no sound) and no usbid in alsa. #2903
Compaq t5730(Nakanaka) with hiface and build-in-sound ineffective on bios :
insmod with "Unknown symbol" error. Others are same above. #2896
0.9.0(kernel 3.8.11/12/13)
Vmware Player without hiface : can include driver #2902
alix(efu) with hiface : does not work(Failed to decode music) and insmod with "Unknown symbol" error #2902
Compaq t5730(Nakanaka) with hiface and build-in-sound ineffective on bios :
insmod with "Unknown symbol" error and does not work(no sound) #2879
#9999 means message number.
I think insmod's "Unknown symbol" error depends on whether snd_pcm is effective or not.
And I estimate Compaq's no sound is caused by some other reason.
Hi Punky, Do you have any comments about this results.
なかなかさん、DellXPS1210で0.9.0を試してみて頂けますか。
So here, hiface driver could work on 0.9-rc2 (3.6.9 kernel).
And 0.9.0 (3.8.11) is required further verfication.
On Compaq t5730(Nakanaka), try blacklist intel hda module first. Please show me what snd* module is loaded by running command "lsmod |grep snd".
Then put the module to /etc/modprobe.d/blacklist.conf, e.g.
blacklist <snd-your-intel-hda-module>
Next, regenerate initramfs by command "update-initramfs -u -k all". Reboot.
If it still have problem, please show me the "dmesg" output to troubleshoot.
Punky
Compaqの方はPunkyさんのメッセージ通り、試してみて頂けますか。
snd-*(intel-hda-module)が悪さをしているのではないかということらしいです。
「lsmod |grep snd」は「depmod -a」のbeforeとafterにとった方がいいと思います。
DellXPS1210で0.9.0(3.8.11)は、USBメモリーにインストールするので無理でした。
0.9.0(3.8.13)でのインストールは問題なく、音も出ました。
※usbmountの停止がわからず、USBメモリーへのインストールは苦労しましたが・・・
Compaqの方は、Punkyさんのメッセージ通り試してみましたが、駄目でした。
dmesgは、200行ちょっとありますが、貼って大丈夫ですか?
どこが必要かわからないので省略できません。
root@voyage:/etc/modprobe.d# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: hiFace [hiFace], device 0: USB-SPDIF Audio [USB-SPDIF Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: SB [HDA ATI SB], device 0: ALC262 Analog [ALC262 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
root@voyage:/etc/modprobe.d# cat /proc/asound/cards
0 [hiFace ]: snd-usb-hiface - hiFace
hiFace at usb-0000:00:13.5-4
1 [SB ]: HDA-Intel - HDA ATI SB
HDA ATI SB at 0xfe024000 irq 16
root@voyage:/etc/modprobe.d# lsmod | grep snd
snd_hda_codec_realtek 41171 1
snd_hda_intel 18797 0
snd_hda_codec 49535 2 snd_hda_codec_realtek,snd_hda_intel
snd_usb_hiface 6053 0
snd_pcm 49190 3 snd_usb_hiface,snd_hda_codec,snd_hda_intel
snd_page_alloc 4914 2 snd_pcm,snd_hda_intel
snd_seq 33086 0
snd_seq_device 3581 1 snd_seq
snd_timer 12110 2 snd_pcm,snd_seq
snd 35366 8 snd_hda_codec_realtek,snd_usb_hiface,snd_timer,snd_pcm,snd_seq,snd_hda_codec,snd_hda_intel,snd_seq_device
soundcore 3331 1 snd
usbcore 96018 3 snd_usb_hiface,ohci_hcd,ehci_hcd
root@voyage:/etc/modprobe.d# cat blacklist.conf
blacklist prism54
blacklist snd_hda_intel
root@voyage:/etc/modprobe.d# update-initramfs -u -k all
update-initramfs: Generating /boot/initrd.img-3.6.9-voyage
live-boot: core filesystems devices utils memdisk udev wget blockdev.
Warning: Not updating LILO; /etc/lilo.conf not found!
root@voyage:/etc/modprobe.d#
リブート後
root@voyage:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: hiFace [hiFace], device 0: USB-SPDIF Audio [USB-SPDIF Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
root@voyage:~# cat /proc/asound/cards
0 [hiFace ]: snd-usb-hiface - hiFace
hiFace at usb-0000:00:13.5-4
root@voyage:~# lsmod | grep snd
snd_usb_hiface 6053 0
snd_pcm 49190 1 snd_usb_hiface
snd_page_alloc 4914 1 snd_pcm
snd_seq 33086 0
snd_seq_device 3581 1 snd_seq
snd_timer 12110 2 snd_pcm,snd_seq
snd 35366 5 snd_usb_hiface,snd_timer,snd_pcm,snd_seq,snd_seq_device
soundcore 3331 1 snd
usbcore 96018 3 snd_usb_hiface,ohci_hcd,ehci_hcd
root@voyage:~#
結果は、
root@voyage:~# cat /var/log/mpd/mpd.log | tail
Jun 06 00:52 : avahi: Client Disconnected, will reconnect shortly
no message buffer overruns
Jun 06 09:51 : avahi: Service 'Voyage Music Player' successfully established.
no message buffer overruns
Jun 06 00:55 : avahi: Service 'Voyage Music Player' successfully established.
Jun 06 00:55 : mixer: Failed to read mixer for 'My ALSA Device': no such mixer control: PCM
Jun 06 00:55 : No such playlist
Jun 06 00:56 : output: Failed to open "My ALSA Device" [alsa]: Error opening ALSA device "hw:0,0" (snd_pcm_hw_params): Input/output error
Jun 06 00:56 : player_thread: Failed to open audio output
Jun 06 00:56 : player_thread: problems opening audio device while playing "music/MISIA/MISIA GREATEST HITS/01 つつみ込むように….m4a"
現状をまとめるとDellは、0.9RC2(3.6.9)や0.9.0(3.8.13)は問題ないが、Compaqはダメという感じでしょうか。yoさんは、ハードは関係ないのではとおっしゃっていますが、やはりハードに依存した何かが有りそうな気もしますね。
実は、当方の状況も前回の発言から変化がありまして、再度、0.9RC2上でinsmodを実行したら例のUnkown Symbolエラーが出まして今度こそ本当に動作しなくなりました(^^;
ネットを検索した結果の対処として、0.85(3.2.11)をインストール。insmodでもエラーは起きませんし、MPDの動作も快調です。ただ、hifaceドライバとMPDを0.17.2 + yanさんパッチとするため、それぞれビルドしています。というような状況なので、大変申し訳ないですが前回の「0.9RC2は動作しています」という発言は訂正させていただきます。
ネット検索すると、Unknown symbol in module表示は、kernelとmoduleのバージョンの違いで起こるとの記述もありましたが、その点はかなり気を使って作成していますのでよく分かりません。
>DellXPS1210で0.9.0(3.8.11)は、USBメモリーにインストールするので無理でした。
USBドライブ問題でインストールできない版でも、isoファイルとVMware Playerを使えば簡単にインストールできますよ。実際にインストするわけではなく、起動さえしてしまえば良いわけですから。もちろん、当方のCFのようにインスト対象媒体を外部に取り出せる場合に限定されますが。
I suspect hiface is initialized as USB1.1 mode instead of USB 2.0.
root@voyage:~# dmesg | grep usb
[ 1.160591] ACPI: bus type usb registered
[ 1.160708] usbcore: registered new interface driver usbfs
[ 1.160780] usbcore: registered new interface driver hub
[ 1.175126] usbcore: registered new device driver usb
[ 2.156178] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 2.156229] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 2.156284] usb usb1: Product: EHCI Host Controller
[ 2.156332] usb usb1: Manufacturer: Linux 3.6.9-voyage ehci_hcd
[ 2.156380] usb usb1: SerialNumber: 0000:00:13.5
[ 2.213089] usb usb2: New USB device found, idVendor=1d6b, idProduct=0001
[ 2.213152] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 2.213207] usb usb2: Product: OHCI Host Controller
[ 2.213254] usb usb2: Manufacturer: Linux 3.6.9-voyage ohci_hcd
[ 2.213303] usb usb2: SerialNumber: 0000:00:13.0
[ 2.274082] usb usb3: New USB device found, idVendor=1d6b, idProduct=0001
[ 2.274144] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 2.274200] usb usb3: Product: OHCI Host Controller
[ 2.274248] usb usb3: Manufacturer: Linux 3.6.9-voyage ohci_hcd
[ 2.274295] usb usb3: SerialNumber: 0000:00:13.1
[ 2.334126] usb usb4: New USB device found, idVendor=1d6b, idProduct=0001
[ 2.334188] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 2.334242] usb usb4: Product: OHCI Host Controller
[ 2.334289] usb usb4: Manufacturer: Linux 3.6.9-voyage ohci_hcd
[ 2.334337] usb usb4: SerialNumber: 0000:00:13.2
[ 2.395091] usb usb5: New USB device found, idVendor=1d6b, idProduct=0001
[ 2.395151] usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 2.395205] usb usb5: Product: OHCI Host Controller
[ 2.395252] usb usb5: Manufacturer: Linux 3.6.9-voyage ohci_hcd
[ 2.395300] usb usb5: SerialNumber: 0000:00:13.3
[ 2.451064] usb usb6: New USB device found, idVendor=1d6b, idProduct=0001
[ 2.451117] usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 2.451172] usb usb6: Product: OHCI Host Controller
[ 2.451220] usb usb6: Manufacturer: Linux 3.6.9-voyage ohci_hcd
[ 2.451269] usb usb6: SerialNumber: 0000:00:13.4
[ 2.458056] usb 1-4: new high-speed USB device number 2 using ehci_hcd
[ 2.573437] usb 1-4: config 0 interface 0 altsetting 0 bulk endpoint 0x2 has invalid maxpacket 1024
[ 2.573926] usb 1-4: New USB device found, idVendor=04b4, idProduct=930b
[ 2.573978] usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 2.574040] usb 1-4: Product: USB-SPDIF
[ 2.574086] usb 1-4: Manufacturer: M2TECH
[ 2.574277] usb 1-4: config 0 descriptor??
[ 3.871422] usbcore: registered new interface driver snd-usb-hiface
root@voyage:~#
どうも、Voyage MPD 0.9.0(というかKernel 3.8系)でhifaceのドライバを組み込もうとすると問題が発生する場合があるようですね。3.8対応でsnd_usb_hifaceに手が入っているのは確実だから、これが影響しているのかもしれません。えふさんがおっしゃるように使用するハード(パソコン)も関連しているようです。
今のところ3.8系でまったく問題がないのはDellXPS1210だけで、alix、Compaq共に駄目ということのようですから。両者の違いはノートPCかそうでないかです。"Unknown symbol" もこれに関連しているようなので、このあたりに解決の鍵があると思います。
あと、えふさんの場合は自力でビルドされているので、ビルド時の指定によって上手くいったり、いかなかったりすることがあるということでしょうか。
不思議なのはえふさんはcubox+kernel 3.8でhifaceを動かしておられるようなので、armアーキテクチュアだと関係ないということですかね。
それで、えふさんにお願いなのですが、公開予定のcubox kernel 3.8+arch+debianhfのイメージがリンク先にあります。hifaceのドライバは組み込み済です。試して頂けますか。
http://www.symphonic-net.com/kubotayo/cgi-bin/downlogs.cgi?id=0B1V9ShHUc5NqQXYyZlVtMXVZVTA" target="_blank">http://www.symphonic-net.com/kubotayo/cgi-bin/downlogs.cgi?id=0B1V9ShHUc5NqQXYyZlVtMXVZVTA
Please paste the results of "cat /proc/asound/card0/*" (card0 shoud be hiface).
root@voyage:~# cat /proc/asound/cards
0 [hiFace ]: snd-usb-hiface - hiFace
hiFace at usb-0000:00:13.5-4
root@voyage:~# cat /proc/asound/card0/*
hiFace
cat: /proc/asound/card0/pcm0p: Is a directory
root@voyage:/proc/asound/card0# ls pcm0p
info sub0
root@voyage:/proc/asound/card0# cd pcm0p
root@voyage:/proc/asound/card0/pcm0p# cat info
card: 0
device: 0
subdevice: 0
stream: PLAYBACK
id: USB-SPDIF Audio
name: USB-SPDIF Audio
subname: subdevice #0
class: 0
subclass: 0
subdevices_count: 1
subdevices_avail: 1
root@voyage:/proc/asound/card0/pcm0p# cat sub0
cat: sub0: Is a directory
root@voyage:/proc/asound/card0/pcm0p# cd sub0
root@voyage:/proc/asound/card0/pcm0p/sub0# ls
hw_params info prealloc prealloc_max status sw_params
root@voyage:/proc/asound/card0/pcm0p/sub0#
どうも compaqdではalsaがhifaceをusb音源として正しく認識出来ていないようですね。
"cat /proc/asound/card0/*"でstream情報が出力されるはずなのですが、無いようです(Dellで同じことすれば、表示されると思います)。Punkyさんの推測のように、usb1.1の音源として初期化されているということかもしれません。
> usb 1-4: config 0 interface 0 altsetting 0 bulk endpoint 0x2 has invalid maxpacket 1024
というのが怪しいです。
何故そうなるのかですが、snd_pcmが初期状態で組み込まれていないのが問題だと思います(Dellでは組み込まれているので、insmodもすんなり通り、音も出る)。あとはPunkyさんの回答待ちですね。
次期公開版についての中間報告です。
取りあえず、debian側でhifaceが問題なく動作することを確認しました。ただ、GMPCでNASのデータが見えなくて、/etc/hostsのIPv6部分をコメントアウトしてから見えるようになりました(たぶん)。この処置は正しいのでしょうか。
arch側は、待てど暮らせどGMPCにデータが現れてきませんので、後回しにしましたが、これからいろいろやってみます。当方、基本的にLinuxド初級者のため、何か勘違い・見落ししている部分があるかも知れません。
あと、LED動作が復活したんですね。動作状態を確認する上でやはり便利ですね。
> /etc/hostsのIPv6部分をコメントアウトしてから見えるようになりました(たぶん)。この処置は正しいのでしょうか。
正しいと思います。僕の確認もれです(GMPCでは確認していませんでした)。arch側はこの件は対処済のはずですが、やはりGMPCだと駄目なのですかね。僕はNexus7 MPDoidを使っているので、問題は確認できませんでした。
> あと、LED動作が復活したんですね。動作状態を確認する上でやはり便利ですね。
これは t-taさんの情報のおかげです。簡略方式ですが、有効だと思います。
hifaceの件はますます謎は深まるばかりですね。snd_pcmはカーネル組み込みにしているのですが、これが影響するのですかね。
今、確認したら、僕の環境ではGMPCを使い、ホスト名「cubox.local」で、arch、debianhf共に接続できます。
まあ、mpdはipv6をdisableにしてビルドしたので、debian側の設定は問題ありですが、変ですね。
Dellで同じ事をしてみましたが、compaqと同じ表示でした。
違いを発見出来ませんでした。でも、問題なく音が出ています。
わけがわかりません。
>"cat /proc/asound/card0/*"でstream情報が出力されるはずなのですが、無いようです(Dellで同じことすれば、表示されると思います)。
root@voyage:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: STAC92xx Analog [STAC92xx Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 1: STAC92xx Digital [STAC92xx Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: hiFace [hiFace], device 0: USB-SPDIF Audio [USB-SPDIF Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
root@voyage:~# cat /proc/asound/cards
0 [Intel ]: HDA-Intel - HDA Intel
HDA Intel at 0xefffc000 irq 45
1 [hiFace ]: snd-usb-hiface - hiFace
hiFace at usb-0000:00:1d.7-7
cat /proc/asound/card0/* は、card0のIntelの情報が表示されます。
root@voyage:/proc/asound/card1/pcm0p# cat /proc/asound/card0/*
Codec: SigmaTel STAC9221 A1
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x83847680
Subsystem Id: 0x102801d7
Revision Id: 0x103601
No Modem Function Group found
Default PCM:
rates [0x7e0]: 44100 48000 88200 96000 176400 192000
bits [0xe]: 16 20 24
formats [0x1]: PCM
省略
Intel
cat: /proc/asound/card0/pcm0c: Is a directory
cat: /proc/asound/card0/pcm0p: Is a directory
cat: /proc/asound/card0/pcm1p: Is a directory
cat /proc/asound/card1/* は、crad1のhiFaceの情報は表示されません。
root@voyage:~# cat /proc/asound/card1/*
hiFace
cat: /proc/asound/card1/pcm0p: Is a directory
> usb 1-4: config 0 interface 0 altsetting 0 bulk endpoint 0x2 has invalid maxpacket 1024
というのが怪しいです。
Dellでも同じメッセージが出ています。
root@voyage:~# dmesg | grep usb
[ 1.581075] usb 1-7: new high-speed USB device number 4 using ehci-pci
[ 1.695426] usb 1-7: config 0 interface 0 altsetting 0 bulk endpoint 0x2 has invalid maxpacket 1024
[ 1.695924] usb 1-7: New USB device found, idVendor=04b4, idProduct=930b
[ 1.695979] usb 1-7: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1.696045] usb 1-7: Product: USB-SPDIF
[ 1.696096] usb 1-7: Manufacturer: M2TECH
[ 1.696256] usb 1-7: config 0 descriptor??
「うーむ」ですねぇ。stream情報がないのに、何て再生出来るのですかね。
ちょっと考えられない状況なので、頭を冷やして考えてみます。
>今、確認したら、僕の環境ではGMPCを使い、ホスト名「cubox.local」で、arch、debianhf共に接続できます。
うーん、そうですか。当方は、cubox.localではダメでどちらも固定IPでないと繋がりません。archでは、繋がるけどいつまでもデータが見えず、debianも起動直後は繋がらず、/etc/init.d/mpd restartを実行すると繋がります。ちなみに、マウントポイントをlsするとNASのディレクトリは見えます。
やはり、当方の環境、何か変ですよね(^^;
このスレッドでcuboxの件を続けていいか迷いましたが、既に正式版(20130608)が公開されましたので、報告させていただきます。
arch側の問題は、やはり/etc/hostsでした。原因が分からない(既にいろいろ設定変更している)ので、原点に帰ってもう一度イメージを焼き直し、再度慎重に調べてようやく分かりました。以下のようになっています。
#
# /etc/hosts: static lookup table for host names
#
#<ip-address> <hostname.domain.org> <hostname>
127.0.0.1 localhost cubox
127.0.1.1 cubox
# End of file
二行目を127.0.0.1へ修正したら、GMPCからディレクトリが見えて、問題なくhifaceや他のDDCで再生できました。
先程、正式版を展開してみましたが、やはりそのままのようです。よろしくお願いします。
> 二行目を127.0.0.1へ修正したら、GMPCからディレクトリが見えて、問題なくhifaceや他のDDCで再生できました。
新規スレッドに書き込みます。
いろいろお願いばかりで恐縮ですが、VoyageMPDとcuboxで
cat /proc/asound/card0/*
の結果を貼り付けてもらえますか。どうもstram情報の作成のされかたが違うようなので。
I have no idea what is your problem. But here I built the latest code from github:
For 0.9-rc2
http://www.voyage.hk/dists/experimental/snd/snd-usb-asyncaudio-modules-3.6.9-voyage_0.0git20130607-1+12.2-1_i386.deb" target="_blank">http://www.voyage.hk/dists/experimental/snd/snd-usb-asyncaudio-modules-3.6.9-voyage_0.0git20130607-1+12.2-1_i386.deb
For 0.9.0
http://www.voyage.hk/dists/experimental/snd/snd-usb-asyncaudio-modules-3.8.11-voyage_0.0git20130607-1+12.4-1_i386.deb" target="_blank">http://www.voyage.hk/dists/experimental/snd/snd-usb-asyncaudio-modules-3.8.11-voyage_0.0git20130607-1+12.4-1_i386.deb
Let me know the result after testing it. Thanks.
Punky
voyage MPD(0.85)
root@voyage:~# cat /proc/asound/card0/*
hiFace
VOLUME "" 0
BASS "" 0
TREBLE "" 0
SYNTH "" 0
PCM "" 0
SPEAKER "" 0
LINE "" 0
MIC "" 0
CD "" 0
IMIX "" 0
ALTPCM "" 0
RECLEV "" 0
IGAIN "" 0
OGAIN "" 0
LINE1 "" 0
LINE2 "" 0
LINE3 "" 0
DIGITAL1 "" 0
DIGITAL2 "" 0
DIGITAL3 "" 0
PHONEIN "" 0
PHONEOUT "" 0
VIDEO "" 0
RADIO "" 0
MONITOR "" 0
cat: /proc/asound/card0/pcm0p: Is a directory
Cubox (3.8.10-rt6 arch_linux)
[root@alarmcubox ~]# cat /proc/asound/card0/*
hiFace
cat: /proc/asound/card0/pcm0p: Is a directory
Voyage MPDは情報表示はあるが、中身が無い(?)。Cuboxは、なかなかさんのDELLなどと一緒で、情報表示なしですね。
長くなりますが、dmesg | grep usbの結果です。
Voyage MPD
root@voyage:~# dmesg | grep usb
[ 2.505650] usbcore: registered new interface driver usbfs
[ 2.505907] usbcore: registered new interface driver hub
[ 2.521514] usbcore: registered new device driver usb
[ 3.333445] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 3.333510] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 3.333584] usb usb1: Product: EHCI Host Controller
[ 3.333636] usb usb1: Manufacturer: Linux 3.2.17-voyage ehci_hcd
[ 3.333694] usb usb1: SerialNumber: 0000:00:0f.5
[ 3.485779] usb usb2: New USB device found, idVendor=1d6b, idProduct=0001
[ 3.485854] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 3.485926] usb usb2: Product: OHCI Host Controller
[ 3.485977] usb usb2: Manufacturer: Linux 3.2.17-voyage ohci_hcd
[ 3.486035] usb usb2: SerialNumber: 0000:00:0f.4
[ 3.636246] usb 1-2: new high-speed USB device number 2 using ehci_hcd
[ 3.948661] usb 1-2: config 0 interface 0 altsetting 0 bulk endpoint 0x2 has invalid maxpacket 1024
[ 3.949179] usb 1-2: New USB device found, idVendor=04b4, idProduct=930b
[ 3.949246] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 3.949309] usb 1-2: Product: USB-SPDIF
[ 3.949353] usb 1-2: Manufacturer: M2TECH
[ 3.949862] usb 1-2: config 0 descriptor??
[ 7.042237] usbcore: registered new interface driver snd-usb-hiface
Cubox
[root@alarmcubox ~]# dmesg | grep usb
[ 10.385774] usbcore: registered new interface driver usbfs
[ 10.385832] usbcore: registered new interface driver hub
[ 10.385930] usbcore: registered new device driver usb
[ 11.060969] usbcore: registered new interface driver usb-storage
[ 11.144424] usbcore: registered new interface driver usbhid
[ 11.148665] usbhid: USB HID core driver
[ 11.151545] usbcore: registered new interface driver snd-usb-audio
[ 11.376783] usb 2-1: new high-speed USB device number 2 using orion-ehci
[ 11.527272] usb 2-1: config 0 interface 0 altsetting 0 bulk endpoint 0x2 has invalid maxpacket 1024
[ 11.535701] usb 2-1: config 0 descriptor??
[ 26.390538] usbcore: registered new interface driver snd-usb-hiface
[ 294.469087] usb 2-1: USB disconnect, device number 2
[ 302.077759] usb 2-1: new high-speed USB device number 3 using orion-ehci
[ 372.028835] usb 2-1: USB disconnect, device number 3
[ 381.687564] usb 2-1: new high-speed USB device number 4 using orion-ehci
[ 382.028156] usb 2-1: config 0 interface 0 altsetting 0 bulk endpoint 0x2 has invalid maxpacket 1024
[ 382.039519] usb 2-1: config 0 descriptor??
CFがもう一個余っているので、Punkyさんが再作成されたモジュールを試してみますかね。
ドライバが組み込まれ、ハードウェア情報があれば、alsaは音源として認識しているということですね。
となると、Punkyさんが暗に指摘されているように、snd_usb_hifaceの作りの問題ということになるので、最新版で試してみるというのが、正解だと思います。後は、ソースを追っかけるという手はあるのですが、どなたか分かるかたいらっしゃいませんかね。
www.m2tech.biz/evo.html#driverのページから判断する限りでは、snd-usb-hifaceのソースコード自体は昨年10月以来、更新されていないと思います。それでも、現在使用中の3.8.13-rt10 kernelのCubox/Archlinuxではこのソースは普通にコンパイルでき、使用上も問題はありません。
このスレッドではあまりお役には立てませんが、上記、お知らせいたします。
snd-usb-asyncaudio-modules-3.8.11-voyage_0.0git20130607-1+12.4-1_i386.deb
この組み合わせで試してみました。insmodでは例のエラーメッセージが出ました。ただ、自分自身よく理解していないのですが、そもそもdpkgでインストールした後にこのコマンドは必要ですかね。
最終的には、depmod -aしてリブート後問題なく動作しました。結局、モジュールの作り方ということなのでしょうが、どういう所がポイントだったんでしょうね?
Hi Punky,
I tried the latest module. The error message appeared, but worked without a problem.
Thanks.
I am not sure why. But in efu(えふ)-san's environment(alix) your new module seems to works without prolbem. Thank you for your support.
以前と同様に情報を取りましたが、内容は同じでした。
なんとか、3.8.13を使ってソースからコンパイルしてみます。
voyageMPD0.9RC2(3.6.9)
snd-usb-asyncaudio-modules-3.6.9-voyage_0.0git20130607-1+12.2-1_i386.deb
結局、振出に戻ったということですね。ハードは認識され、ドライバも登録されているようだとなると、仰るようにハード(usbチップとhiface)の組み合わせで発生する問題なのでしょうか。compaqでWindowsでは音は出ているのでしょうか ?
大変遅くなりましたが、compaqにWindowsXPをインストールしてみました。
※IDEのノート用HDDの調達に手間取りました。
どうしてもCFにインストールできずに、HDDにインストールしました。
結果は、音が出ませんでした。
やはり、ハードの相性ということになりそうです。
Can you check:
1. Is the USB port in Compaq USB 2.0 compatibile?
2. Please also check the USB cable too. I have a USB cable that cannot work on USB 2.0.
Hope this help.
~Punky
1.probably, USB2.0 compatibile
http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=c01342752&prodSeriesId=3634720" target="_blank">http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=c01342752&prodSeriesId=3634720
2.hiFace not use USB Cable
can be directly connected to a High Speed USB 2.0 port.
Thank you for your support.
At last, did you tried different USB ports?
(I believe you did...)
~Punky
残念ですね。後はbiosの更新という手はありますが、それで上手くいくという保証はないので、リスクをおかしてトライするかどうかは疑問ですね。
いつも楽しみに拝見させていただいております。
さっそくですが、梅雨入りバージョンでのアップサンプリングの方法が分からず苦慮しております。
mpd.conf の audio_output に
format "88200:24:2"
と追加し rebootしてみたのですが、音が途切れて再生されてしまいます。
(例えていうなら、「あー」というところが「あ、あ、あ、あ・・・」のような感じです)
ひな祭りバージョンではうまくアップサンプリングできていたのですが。
ついでにもう一つお聞きしてしまいます。
インターネットラジオなのですが、playlist の m3u ファイルで、mms:// で始まるものが再生できなくなってしまいました。
NHK や Ottava です。http:// で始まるものはちゃんと再生ができています。
mms はサポートされなくなってしまったのでしょうか?
教えてばかりで恐縮ですが、どうぞよろしくお願いします。
多分、両方ともrootfsをarch linuxにしたため、発生するようになった問題だと思います。
debianの方で試してみて下さい。やり方は
selpart d
です。元に戻すには
selpart a
です。
リプライどうもありがとうございました。
なるほど、distribution の違いで発生してしまった問題でしたか。
さっそく selpart d を入れて、
/etc/interfaces, fstab, mpd.conf をひな祭りバージョンのように変更して試しているのですが、
今度は NAS へ ip address を使って cifs mount するところで NT_STATUS_LOGON_FAILURE と認証エラーが出てしまいました。
過去ログや「MPD on Cubox(19)」の記事を参考に、いろいろ試しているのですが、解決にはもう少し時間が必要みたいです。
うまくいきましたら、またご報告させていただきます。
(今忙しいので週末になるかもです)
とりいそぎご報告まで。
おかげさまで、NHK や Ottava は聞くことができるようになりました。どうもありがとうございました。
アップサンプリングの方ですが、残念ながら同じ症状で、改善はされませんでした。
このままでも十二分に良い音質なのですが、ちょっとだけ試してみたくなってしまったもので。。。。
もし他にお心当たりがありましたら、よろしくお願いします。 m(_ _)m
> NHK や Ottava は聞くことができるようになりました。
archのmpdも「/etc/local/bin/mpd -V」で確認すると
Protocols:
file:// http:// mms:// mmsh:// mmst:// mmsu:// gopher:// rtp:// rtsp:// rtmp:// rtmpt:// rtmps://
と表示されますので、mmsはサポートされているはずなのですが、何か設定が必要なのでしょうね。そのうち調べてみるつもりです。
> アップサンプリングの方ですが、残念ながら同じ症状で、改善はされませんでした。
ということはrootfsのパッケージのバージョンが変わったことか、Kernelを3.8にしたことが原因となります。切り分けるには
selboot 17-CFQ
とやれば、3.6.9(雛祭り版のディフォルトのKernel)になりますので、これで動けばカーネルの問題、これでも駄目ならパッケージということになります。
元にもどすには
selboot 20-CFQ
です。
梅雨入り版ではないのですが、arch + kernel 3.8.x+rt + rt化mpdで使用しております。アップサンプリング(44.1->88.2)は、問題なく動いています。
kernelは、3.8.9+rt4 -> 3.8.10+rt6 -> 3.8.11+rt8 -> 3.8.13+rt11 or 12と更新していますが、どのバージョンでもOKでした。
3.8.13+rtは不安定なところがありますが(アップサンプリングとは関係なくたまにurbエラーを出す)、梅雨入り版に入っているのと同じ3.8.11+rt8は安定していました。
アップサンプリングで音が切れ切れになる現象ですが、過去2回体験しています。
1.archを最初に入れた際にrtのprioを初期化するrtset.confを入れてなくかった際に起こっていました。
cpu負荷自体は高くなってはいませんでした。
2.debienがhfで無かったバージョン(確か年末版)ではアップサンプリングがうまく行きませんでした。
この場合はcpu負荷が非常に高くなっていました。
しかし梅雨入り版に関しては2つともあてはまらないですね・・・
1.に関しては、以前のmpd.confを使い回していて、rtの優先度が変更になった場合に整合性が取れなくなると起こりそうな気もします。
いろいろとアドバイスどうもありがとうございました。
まずArchのmpdのmmsサポートの件ですが、mpd.logにエラーログが残りましたので、コピペしておきます。
Jun 28 21:50 : decoder_thread: mmsx_connect() failed
次にDebianでのselboot 17-CFQの結果ですが、
今度はまったく音が出なくなってしまいました。
私は JAVS X-DDC を使っているのですが、パネルに88.2KHzと表示されていますので、もうちょっとなのかと。。。
そこでmpd.log を見ると
cannot submit urb (err = -27)
が12行表示されて止まっていました。
fHiroさん
リプライどうもありがとうございます。
私は Linux に関しては素人で、おっしゃっていることがあまり理解できず申し訳ないです。
ちなみにmpd.confですが、分からないこともあり、ついてきたmpd.confはほとんど編集していないです。。。
と思って、ひな祭りバージョンと見比べていたら、
priority "FIFO:53"(ひな祭り)
priority "FIFO:54"(梅雨入り)
になっているのを見つけました。
FIFO:53 に変更したら、見事に88.2KHzで再生できるようになりました!!!
selboot 17-CFQ
selboot 20-CFQ
両方ともOKでした。
最後に、selpart a で Arch に切り替えて、mpd.conf の FIFO:53 にしたところ、こちらも88.2KHzで再生できました♪
ちなみに、176.4KHz までアップサンプリングさせてみました。
mpdのCPU使用率は最大で70%くらいまで上がりますが、安定して良い音を聞かせてくれています。
yoさん、fHiroさん
本当にどうもありがとうございました m(_ _)m
興味深い結果ですね。mpd outputの優先度を下げると音切れなしで再生できるようになったということになります。しかし、それでもplayerとdecoderの優先レベルよりは高いので、関係がなさそうなのですが、よく分かりません。まあ、解決されたことでよしとしますかね。
参考までに、音切れなしで動いている状態の
ps -eLo pid,lwp,rtprio,priority,time,cmd | egrep "irq/24|irq/29|mpd|cifsd"
の結果を教えていただけますか。
優先度を下げてOKになったということなんですか、確かに訳がわからないですね。。。
以下取得ログになります。
FIFO:53
88.2KHz upsampling
root@(cubox):~# ps -eLo pid,lwp,rtprio,priority,time,cmd | egrep "irq/24|irq/29|mpd|cifsd"
64 64 54 -55 00:00:03 [irq/24-ehci_hcd]
1395 1395 55 -56 00:00:00 [irq/29-eth0]
1531 1531 53 -54 00:00:00 [cifsd]
2246 2246 - 20 00:00:00 /usr/local/bin/mpd /tmp/mpd/mpd.conf
2246 2248 - 20 00:00:00 /usr/local/bin/mpd /tmp/mpd/mpd.conf
2246 2249 52 -53 00:00:00 /usr/local/bin/mpd /tmp/mpd/mpd.conf
2246 2250 49 -50 00:00:01 /usr/local/bin/mpd /tmp/mpd/mpd.conf
2246 2251 53 -54 00:00:15 /usr/local/bin/mpd /tmp/mpd/mpd.conf
2346 2346 - 20 00:00:00 egrep irq/24|irq/29|mpd|cifsd
root@(cubox):~#
私の使用しているファイルは44.1KHz,16bitのFLACで、これを88.2KHz,24bitに変換して再生しています。
それから、upsampling をしていない状態で、priority "FIFO:54" のときですが、
96KHzや192KHzのFLACファイルは正常に再生できていました。
ですのでTUさんの件とはちょっと違うのかな?とも思っています。
わたくしの抱えていた問題は、88.2KHZその他ハイレゾのFlacの再生が途切れることでした。mpdではアップサンプリングの設定はしていません。しかし、FIFO:53としたら、途切れなくなったのは事実です。
>yoさん
いちおう私の優先度ログも確認してみました.(arch + 3.8.13+rt11 + git版mpd(rt)です)
mpd.confのoutputは53でした。元々ひな祭り版のmpd.confをarch+rtに持ってきたので。
試しにFIFO:54にすると、まさまささんと同じく44.1はOKですが、88.2はNGでした。
比較してみると相違点はcifsdとの関係が変わっているくらいですね、
仕組みをちゃんと理解していないので、これが原因になるのどうかは分かりませんが..
FIFO:53
[root@cubox ~]# ps -eLo pid,lwp,rtprio,priority,time,cmd | egrep "irq/24|irq/29|mpd|cifsd" 65 65 54 -55 00:00:04 [irq/24-ehci_hcd]
225 225 55 -56 00:00:00 [irq/29-eth0]
332 332 - 20 00:00:03 /usr/local/bin/mpd --no-daemon /etc/mpd.conf
332 408 - 20 00:00:00 /usr/local/bin/mpd --no-daemon /etc/mpd.conf
332 409 52 -53 00:00:00 /usr/local/bin/mpd --no-daemon /etc/mpd.conf
332 410 49 -50 00:00:03 /usr/local/bin/mpd --no-daemon /etc/mpd.conf
332 411 53 -54 00:00:29 /usr/local/bin/mpd --no-daemon /etc/mpd.conf
365 365 53 -54 00:00:00 [cifsd]
9973 9973 - 20 00:00:00 egrep irq/24|irq/29|mpd|cifsd
FIFO:54
[root@cubox ~]# ps -eLo pid,lwp,rtprio,priority,time,cmd | egrep "irq/24|irq/29|mpd|cifsd"
225 225 55 -56 00:00:00 [irq/29-eth0]
331 331 - 20 00:00:00 /usr/local/bin/mpd --no-daemon /etc/mpd.conf
331 404 - 20 00:00:00 /usr/local/bin/mpd --no-daemon /etc/mpd.conf
331 405 52 -53 00:00:00 /usr/local/bin/mpd --no-daemon /etc/mpd.conf
331 406 49 -50 00:00:00 /usr/local/bin/mpd --no-daemon /etc/mpd.conf
331 407 54 -55 00:00:00 /usr/local/bin/mpd --no-daemon /etc/mpd.conf
360 360 53 -54 00:00:00 [cifsd]
471 471 - 20 00:00:00 egrep irq/24|irq/29|mpd|cifsd
FIFO:53 54共に
> 64 64 54 -55 00:00:03 [irq/24-ehci_hcd]
FIFO:54
> 331 407 54 -55 00:00:00 /usr/local/bin/mpd --no-daemon /etc/mpd.conf
FIFO:53
> 2246 2251 53 -54 00:00:15 /usr/local/bin/mpd /tmp/mpd/mpd.conf
これが原因ですね。irq/24-ehci_hcdはusb-dacのハード割り込み処理を行うドライバです。mpd outputとusb割り込み処理が同じレベルで動くことになったため、ハードの割り込み処理が動けなくなるタイミングあり、音切れになるということのようです。androidの場合は別のスレッドにTUさんの報告がありますが、
> 44 44 54 -55 00:00:00 [irq/39-ehci_hcd]
となっていて同じことになります。アップサンプリングしていても、直接に96KHzの再生をしていても同じということだと思います。
rtカーネルというのは割り込みハンドラの処理中に割り込まれることを禁止するという仕組みですので、ハンドラ(この場合はmpd output)が必要以上の長時間に走行し続けるとこういうことになります。rtカーネルの特性を理解するという意味では興味深い事例でしたね。
しかし、何でmpd outputの優先レベルを一つあげちゃったのですかね。僕がやったのは間違いないのですが、理由を思い出せません(^^;;;。まあ、とりあえず、このケースでは元に戻すが正解だということでご容赦をお願いします。
当方Linux初心者です。(yo様にもお世話になっております)
恥ずかしながら教えて頂きたいのですが、mpd.confの編集するためのコマンドってどう打ち込んだらよいのでしょうか?本当に初歩的な質問で恐縮です。。。
よろしくお願いします。
私を含め、初心者だと CuBox+Linux+MPD って結構敷居が高くてたいへんですよね~
でも良い音を聞きたいっていう衝動にかられて、ついつい手をだしちゃう(苦笑)
編集するためのコマンドですが、皆さんは nano エディタというのを使われているみたいです。コマンドは以下の通りです。
nano /etc/mpd.conf
私の場合は、かなーり昔に vi エディタというのをかじった経験があり、vi を使っています。もちろん知っている操作しかしませんけど。
ちなみに、nano の使い方ですが、ググってみるとたくさん出てくると思いますが、ここなんか詳しそうです。
http://www.obenri.com/_nano/index.html" target="_blank">http://www.obenri.com/_nano/index.html
左上に目次がありますので、まずは一通り目を通され、
一度練習されておくことをお勧めします。
例えば、/etc/mpd.conf を /etc/mpd.test にコピーしておいて
cp /etc/mpd.conf /etc/mpd.test
つぎに /etc/mpd.testを試しに編集してみるなどです。
nano /etc/mpd.test
ご健闘をお祈りしております!
まさまささんの書かれているように、nanoやviの使い方を覚えておくと、今後いろいろ試されるときに便利だと思います。是非がんばってください。
どうしてもnanoやviなどが性にあわないとか教義に反する^^;などの時には、邪道かもしれないですがこんなものもあります(win用です。macにも同じようなものがあると思います)
http://www.forest.impress.co.jp/library/software/winscp/" target="_blank">http://www.forest.impress.co.jp/library/software/winscp/
これだとwin用のeditor(秀丸とかサクラエディタなど)を使うことができます。
そうですね、tinkerさんが書かれているように、今後のためにも是非基本的な部分だけでも操作方法を習得されることをお勧めします。そのための情報はググればいくらでも得ることができますので。
まあ特にviなどはクセがありますので、使いこなすには経験が必要でしょうが、nanoは画面上にコマンド・キーが表示されていたりして、比較的直感的な操作が可能かも知れません。
蛇足ですが、当方はviのコマンドなどはその昔「人に聞けないUNIXの使い方」という書籍を購入して覚えました(^^;
ご回答、アドバイス感謝致します。(本当に皆様親切で有り難いです!)
>蛇足ですが、当方はviのコマンドなどはその昔「人に聞けないUNIXの使い方」という書籍を購入して覚えました(^^;
まさに「人に聞けない」で投稿するのに毎回1時間ほどぐずぐずしてしまいます(笑)
毎回タイムリーな返答には有り難いばかりです。
当方のコマンドを受け付けない理由は単純にviのあとにスペースがなかっただけでした・・・。
いざ/etc/mpd.confを編集しようと、yoさんが仰るmpd-outputプロセスの優先度を53-54へ変更しようと思い試みましたがまたしてもコマンドで編集なのですね・・・。
再びですが、ご指導願います。
当方の環境ではDSDが再生はするのですが1曲が長めの(30分とか)曲で、途中ブツブツと激しく途切れます。以前のバージョン(雛祭り)では出ませんでした。
余談ですが皆様のおススメ通り、コマンドの勉強はしておりますがまだまだお世話になるかと思いますがよろしくお願いします。
コマンドというのはlinuxで何かを行う時にコンソールから操作する内容のことをいいます。例えばファイルのコピー(cp)、ディレクトリの作成(mkdir)、エディターの起動(nano)などです(括弧内がコマンド(名)です)。コマンドは行いたい操作の内容をオペランドという形で指定する必要があります。例えばエディターの起動であれば、操作したいファイル名を指定する必要があります。
nano /etc/mpd.cof
の/etc/mpd.confという部分が操作をしたいファイル名(とディレクトリ名)になります。
さて、コマンドを使いエディター(nano)を起動した後はエディターの操作となり、コマンドは関係ありません。GUIを使ったnanoの操作を行うことになります。
nano /etc/mpd.cof
と操作すると(ちょっと長くなりまが)
-------------------------------------------------------
realtime_option {
memlock "yes"
stack_reserve "4096"
heap_reserve "10240"
main_priority "OTHER:0"
player_priority "FIFO:52"
decoder_priority "FIFO:49"
update_priority "OTHER:0"
}
decoder {
plugin "dsdiff"
enabled "yes" # DSD native
}
decoder {
plugin "dsdiff_native"
enabled "yes"
dsdsampleformat "24"
tagsupport "id3v1_encoding"
}
# 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
# use_mmpa "yes"
# buffer_time "2900000"
# period_time "1400000"
priority "FIFO:54"
dsd_usb "yes"
}
#
#audio_buffer_size "16368"
#audio_buffer_size "8184"
audio_buffer_size "4092"
[ Read 463 lines ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Page ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where Is ^V Next Page ^U UnCut Text ^T To Spell
-------------------------------------------------------
という画面が表示されるはずです。この画面が表示中はWindowsのメモ帳を使っている時と同じように操作ができます(操作方法もマウスが使えないことを除けばメモ帳と同じような感じでず)。画面に表示されている任意の場所にカーソルで移動。PageUp、PageDownで任意のページに移動。変更したい文字を入力、不要な文字はbsやdelキーで削除。ということができます。
従って
priority "FIFO:54"
53に変えたい時は、5の上にカーソル(緑で表示されています)をもっていってdelキーを二回入力。53と入力。で変更できます。変更した内容は保存する必要がありますので、ctrl+O(コントロールキーを押しながらOキーを押す)で
File Name to Write: /etc/mpd.conf
というガイド画面が表示されますので、改行キーを押せばいいです。nanoを終了させるにはctrl+Xで終わらせることができます。
こういう具合にGUIの操作を文字で書くと非常に大変なので、詳しくはまさまささんの書き込みのリンク先をご覧ください。
今回も大変詳しい手解き感謝致します。
お陰様で安心してボリュームを上げられました!
ありがとう御座いました。
素人ながら・・・yo様へ。BeagleBone Blackの解説、期待しております(笑)!
いつも大変お世話になっております。優先レベル設定の記事を拝見して、私も自分の設定を確認しました。
現在使用しているのは「梅雨入りバージョン」つまり優先度54でUSB2とMPDが同じ優先度の状態でした。しかし不思議なことにこれまでサンプリング周波数の高いものやDSDを再生しても全く音切れが発生しませんでした。
念のためAudioOutputの優先度を54から53に変更してみましたが、やはり同じように全く音切れが発生しません。
つまり、私の場合は、優先度が54でも53でも問題が発生しません(ちなみにirq/24-ehci_hcdの優先度は54になっています)。
再生上不都合がないので別に問題にしなくてもよいのですが、何かのご参考になるかもしれないと思い、ポストさせていただきました。
Android Smart TV Boxを友人に返したので、かわりにBeagleBone Blackを購入してみました。
あまり期待はしていなかったんですが、いい買い物だったかもしれません。あまりいじってないのですが、個人的には以下のように感じます。
Android Smart TV Box < BeagleBone Black = Cubox
確認したkernelは以下のとおりです。
1.http://www.eewiki.net/display/linuxonarm/BeagleBone+Black" target="_blank">http://www.eewiki.net/display/linuxonarm/BeagleBone+Black
kernel3.8.13(none RT:RTのパッチが上手く当たらない)
2.https://github.com/beagleboard/kernel/tree/3.8-rt" target="_blank">https://github.com/beagleboard/kernel/tree/3.8-rt
kernel3.8.13(Basic RT)
ブートローダー及びSDは1に準じkernelは2のものを使用しています。
面白そうですね。これはトライしてみる一手だと思い、早速オーダしました。
実は、1年位前、cuboxをはじめる時、yanさんが「beagleboneというのがあってこれも面白そうだよ」と書かれていたのですが、
http://www.symphonic-net.com/kubotayo/cgi-bin/read.cgi?mode=all&list=topic&no=1531" target="_blank">http://www.symphonic-net.com/kubotayo/cgi-bin/read.cgi?mode=all&list=topic&no=1531
結局、上手くいかないという情報で
http://www.symphonic-net.com/kubotayo/cgi-bin/read.cgi?mode=all&list=topic&no=1613" target="_blank">http://www.symphonic-net.com/kubotayo/cgi-bin/read.cgi?mode=all&list=topic&no=1613
cuboxを発注したという経緯でした。
別のスレッドでPunkyさんがCubox用のVoyageMPDの紹介をされているので、Cuboxはそちらにお任せして、「さようならMPD on Cubox、こんにちはMPD on BBB」しますかね。
・dsdは環境が無いので未確認です。
・Full RTでbootしていません。cuboxのようにvmalloc=144Mとかのブートオプションを書かないといけないのかもしれません。
・BBB→x-ddc→同軸→udac192で音が途切れます。cuboxの3.6.9の時みたいです。kernelのバージョンなのかconfigなのか、今のところわかりません。BBB→usb接続の時は大丈夫です。
andbox44を使われている方が誤解されるといけないので、理由を書いておきいます。
・kernelの違い。3.8系の音は3.4系とは違っていて、個人的に好みだから。
・借りていたandbox44は、いつの間にか無反応になることがよくありました。いまいち安定性に欠ける印象。
amazonだと速いですね。次の日に届き、ここにある
http://archlinuxarm.org/platforms/armv7/beaglebone-black" target="_blank">http://archlinuxarm.org/platforms/armv7/beaglebone-black
arch用のパッケージを使い、音を出すことが出来ました。
仰るようになかなかいいですね。cuboxとは傾向は違いますが、超高解像度のきれのいい音だと思います。
arch用パッケージは簡単でいいですね。ページの解説通りの操作で問題なく動き(boot部分の展開でオーナの変更が出来ないというエラーは出ますが、無視できます)、ssh接続で簡単にmpdのセットアップが出来ました。
それで、シリアルケーブルが届くまでの準備にご紹介頂いた二つ目のリンクからソースを入手、ビルドしてみました。
git checkout origin/3.8-rt -b 3.8-rt
とチェックアウト。これでrtパッチのかかったソースになるようですね。
しかし、その後ページに書かれた手順でビルトしてみましたが、ビルドの真ん中、sound関連のドライバのコンパイルで
LD sound/built-in.o
MK_FW firmware/am335x-pm-firmware.bin.gen.S
make[1]: *** No rule to make target `firmware/am335x-pm-firmware.bin', needed by `firmware/am335x-pm-firmware.bin.gen.o'. Stop.
make: *** [firmware] Error 2
というエラーが発生。どうも、hdmi関連の音源モジュールのコンパイルでエラーになっているようなので、am335xと関連するモジュールを組み込まないことで対応して、先に進める。ところが、今度はビルドの終わり近くで
LD init/built-in.o
drivers/built-in.o: In function `nxp_hdmi_codec_remove':
/home/yo/build/kernel/kernel/drivers/gpu/drm/i2c/tda998x_audio_drv.c:56: undefined reference to `snd_soc_unregister_codec'
drivers/built-in.o: In function `nxp_hdmi_codec_probe':
/home/yo/build/kernel/kernel/drivers/gpu/drm/i2c/tda998x_audio_drv.c:50: undefined reference to `snd_soc_register_codec'
make: *** [vmlinux] Error 1
というエラーになります。tda998xというのはhdmi対応のモジュールのようなので、これも関連のモジュールを組み込みを行わないことで対応。先に進めて
LZO arch/arm/boot/compressed/piggy.lzo
/bin/sh: 1: lzop: not found
make[2]: *** [arch/arm/boot/compressed/piggy.lzo] Error 1
make[1]: *** [arch/arm/boot/compressed/vmlinux] Error 2
make: *** [uImage] Error 2
というエラーが発生。これはGeneral setupの圧縮形式(Kernel compression mode)を変えることで対応。
一応ビルドは正常?終了して、zImageとdtbsは作成できています。
これでいいのですかね。tinkerさんのところでも同じようなエラーが発生していますか。
エラーは出ていないです。こっちでやった手順を書いておきます。
1.https://github.com/beagleboard/kernel/tree/3.8-rt" target="_blank">https://github.com/beagleboard/kernel/tree/3.8-rtからzipファイルを取ってきて、展開後、/kernel-3.8-rtに移動して./patch.shを起動
2.README.mdに
Get am335x-pm-firmware.bin from http://arago-project.org/git/projects/?p=am33x-cm3.git;a=tree;f=bin" target="_blank">http://arago-project.org/git/projects/?p=am33x-cm3.git;a=tree;f=bin and copy it to kernel/firmwareってあるので、該当ファイルを取ってきて、
所定の場所にコピー
cd kernel
cp ../configs/beaglebone .config
make -j3 uImage dtbs
make -j3 modules
圧縮形式は変更していません。
圧縮でエラーになるのは、たぶんapt-get install lzopですね。うちのは、wandboardのmakeで使っているので、すでにinstall済みです。
wandboradはまだ3.0.35なんです。3.10では使えるようになるので、あとひと月くらいの辛抱です。
クロスコンパイルはCROSS_COMPILE=/usr/bin/arm-linux-gnueabihf-ですよね。
あと、archlinuxをベースにすると/dev/mmcblk1p2(rootfsw側です)の/boot/zImageと/boot/dts/*.dtbを入れ換えれば、よさそうなのですが、DebianだとuImageを使っているのですか ?
です。-j3はいくつのcpuコアを使うかなので、なくても問題ないと思います。
>DebianだとuImageを使っているのですか ?
zImageを使っています。
私も仲間に入れてください(^^;
当方の場合も日曜日にamazonから到着。yoさんと同じ方法で、やっと先程Arch_linuxを起動させたところです。
今まで時間が掛かったのは、単にブートSWを押す操作をしていなかったためでした。ドキュメントにちゃんと書いてあるのに、ちゃんと読まなかった自分がおバカでした。
今は脱力感がひどくちょっと休憩中ですが(笑)、なるべく早くお二人に追い着きたいと思います。
こちらこそよろしくお願いします。
やっぱり駄目じゃんって時は、笑ってゆるしてくださいm(_ _)m ちょっと気になってることもあるので・・・
この板は、noneRTとRTではっきりと違いが出るように感じます。
こちらも、hifaceが動けば儲けもの程度でしか考えていませんのでお気遣い無く。
まずは、音出しできるところまでは設定を行ってみようと思います。
zipからの方法でやってみましたが、結果は同じですね。
wget https://github.com/beagleboard/kernel/archive/3.8-rt.zip" target="_blank">https://github.com/beagleboard/kernel/archive/3.8-rt.zip
unzip 3.8-rt.zip
cd kernel-3.8-rt/
./patch.sh
cd kernel
cp ../configs/beaglebone .config
cp /music/bin_am335x-pm-firmware.bin firmware/ # /musicにbinファイルをダウンロード済
export ARCH=arm
export CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf-
make menuconfig
make uImage dtbs
結果は
LD sound/built-in.o
MK_FW firmware/am335x-pm-firmware.bin.gen.S
make[1]: *** No rule to make target `firmware/am335x-pm-firmware.bin', needed by `firmware/am335x-pm-firmware.bin.gen.o'. Stop.
make: *** [firmware] Error 2
です。gitで最新のソースをもってきているわけですが、その内容に問題ありということですかね。
git log の冒頭ですが
commit d7f53a0388085294eb25f0fb4ec97280a0bfd077
Author: yo <yo@ubuntu.(none)>
Date: Mon Jun 24 22:38:12 2013 -0700
v3.8.13-preempt-rt-rt
commit 7eced479083dafd786444c4395be1f28bda04a0a
Author: Thomas Gleixner <tglx@linutronix.de>
Date: Wed Jun 29 14:58:57 2011 +0200
kconfig-preempt-rt-full.patch
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
commit 51882994e5d0052c53b8f4bc51720c23d04c7549
Author: Thomas Gleixner <tglx@linutronix.de>
Date: Sun Jul 24 12:11:43 2011 +0200
kconfig-disable-a-few-options-rt.patch
Disable stuff which is known to have issues on RT
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
commit 0836d87b4f880a3393c96c0cbe13a5bb28ec1a9e
Author: Thomas Gleixner <tglx@linutronix.de>
Date: Fri Jan 11 11:23:51 2013 +0100
completion: Use simple wait queues
Completions have no long lasting callbacks and therefor do not need
the complex waitqueue variant. Use simple waitqueues which reduces the
contention on the waitqueue lock.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
commit ae791be8ea01678c0947ef59dd4d234e2827ed38
Author: Thomas Gleixner <tglx@linutronix.de>
Date: Thu Jan 10 11:47:35 2013 +0100
wait-simple: Rework for use with completions
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
という内容です。commit IDで古い内容に巻き戻すしかなさそうですが、tinkerさんの内容を教えていただけますか。
ちなみに am335xというのはBBB用のTI製チップですね。上記のエラーメッセージでググったら
http://processors.wiki.ti.com/index.php/AM335x-PSP_04.06.00.07_Release_Notes" target="_blank">http://processors.wiki.ti.com/index.php/AM335x-PSP_04.06.00.07_Release_Notes
にこの件の情報はあるのですが(冒頭のRead This Firstという部分)、対応方法がGitHubのページと同じことしか書いてないので、役に立たないです。
>cp /music/bin_am335x-pm-firmware.bin firmware/
この部分なんですが、ファイル名をam335x-pm-firmware.binに変更してコピーしてください。
こちらでも落としたファイル名はbin_am335x-pm-firmware.binになりました。
gitが原因でなかったのですね。
実は前のメッセージを読み直して、僕もコピーしたファイル名とエラーメッセージのモジュール名が食い違っていることに気が付き、menuconfigで Device Drivers ---> Generic Driver Options ---> External firmware blobs to build into the kernel binary を bin_am335x-pm-firmware.bin にして、ビルドはエラーなしに終了することを確認しました。
しかし、tinkerさんのところでコンフィグは変更せず、ファイル名を変えて、対応されたとすると、そちらが正しいのでしょうね。只今、ファイル名を変えてビルド中です。
とりあえず、ビルドは通りました。#3027の
cp /music/bin_am335x-pm-firmware.bin firmware/am335x-pm-firmware.bin
と変更して、実行すればいいようです。あと
make modules
mkdir ../../modules-bbb-arch
INSTALL_MOD_PATH=../../modules-bbb-arch/ make modules_install
cd ../../modules-bbb-arch/
tar czf ../modules-bbb-arch.tar.gz *
でモジュールも作成できました(もちろん実機で展開する必要あり)。
> 単にブートSWを押す操作をしていなかったためでした。
これは電源を落とすと毎回押さないといけないようなのですが、なんとかならないのですかね。多分u-bootの設定で出来そうな気がするのですが、シリアルケーブルがないことには手も足も出ないですね。
tinkerさんはどうしていらっしいますか。
yoさんやえふさんと違うところは、http://www.eewiki.net/display/linuxonarm/BeagleBone+Black" target="_blank">http://www.eewiki.net/display/linuxonarm/BeagleBone+BlackのubootとuEnv.txtを使ってることくらいです。
uEnv.txt内のmmcroot=/dev/mmcblk0p2 roは、念のためmmcroot=/dev/mmcblk0p2 rwに変更しています。
シリアルケーブルが届いたので、とりあえずarch linuxのrootfsの/boot/zImageと/boot/dtbs/*.dtbをビルドしたものに入れ換え試してみました。問題なくブート出来ますね。rtカーネルへの入れ換えに成功しました。
ただ動作はシビアで、ディフォルトの状態で多少ノイジィです。音を出すと、コンソールに
[ 598.579654] delay: estimated 0, actual 154
[ 604.013276] delay: estimated 7, actual 155
[ 605.524651] delay: estimated 51, actual 155
という感じのメッセージが延々と出力され音も歪み気味になります。
chrt -f -p 54 `pgrep irq/35-musb-hdr`
chrt -f -p 55 `pgrep irq/57-4a100000`
chrt -f -p 55 `pgrep irq/58-4a100000`
という感じでチューニングしたら、ノイジィな感じは消え、メッセージも出なくなりました。
まだチューニングの余地はありそうですが、一応問題なく動作するようになりました。
僕の環境ではarchよりdebianの方がいいかもしれません。これからいろいろ試してみるつもりです。Cuboxよりよくなる可能性はありそうです。
ブートボタンの件もdebian(というかuEnvの変更)で試してみますかね。
DSD及びハイレゾなファイルの再生はどうでしょうか?
こちらではflac96k/24bitまでしか確認していません。
>Cuboxよりよくなる可能性
cuboxの押し出しというか圧力みたいなものが、ちょっと希薄ですよね。そのぶん人の声は綺麗です。
debianを試してみましたが、非常にノイジィで、ちょっとチューニングで対応できるという感じではないですね。
archと比較して何故こんなに差がでるのか不思議です。さらに不思議なのはrtカーネルだとノイズが酷くなることです。tinkerさんのところではノイズは無いようなので、音源によるのですかね。いまのところ試している音源はHD-7A 192だけなのですが、192KHzだとノイジィで対応不可能。96KHzだと多少ノイジィだけどチューニングすればなんとかなる。44Khzではチューニングなしで聴ける(以上はarchの場合です)。ノイズを解消すれば、音は非常に良い。という状況です。dsd-dacは別の部屋にあるので、まだ試していません。
あと、u-bootをビルドし、eEnvをbootパーティションにカーネルを置くものに変更したら、毎回Bootスイッチを押さないといけない問題は解消しました。
現在、以下の設定で試しています。
/dev/mmcblk0p1 * 2048 206847 102400 e W95 FAT16 (LBA)
/dev/mmcblk0p2 206848 5326847 2560000 83 Linux(Debian Wheezy)
/dev/mmcblk0p3 5326848 10446847 2560000 83 Linux(Ubuntu 13.04)
/dev/mmcblk0p4 10446848 15554559 2553856 83 Linux(Arch Linux)
ubuntuは変な挙動で他の2つよりcpu使用率も高いです。もしかしたら、使い回しのrootfsが壊れてるのかもしれませんので除外。
・flac44.1K/16bit
Debian、Arch問題なし。音は両方共非常に良いと思います。Archのほうが若干良いかも。
・flac96K/24bit
Debian問題なし。Archはノイズが入る,途切れるって感じでだめですね。
configでUSBの設定がCONFIG_MUSB_PIO_ONLY=yになってるんですね。DMA使ってないようなので、ハイレゾは駄目なのかもしれないです。
DSD再生時の瞬断現象でお世話になりました。いまだ解決に至っていませんが、それ以外では圧倒的に良好な音楽を聴かせてくれるので、離れる気持ちにはなれません。そこで、BBBも後追いなら何とかなるかと、試してみようとしています。
皆さんの記事を参考に、rtなしの3.8.13-4で音が出る状態にこぎつけました。このままでも、過剰な艶っぽさや五月蝿さはCuboxより少なく、好感触です。DSDファイルも、曲終了時のノイズ以外は問題なく、BBB>UDA3>spdif(24/88.2)及びsdif3(64fs)どちらも良好に再生できました。
rt化もやってみました。Arch Linux 3.8.13-rt9-00899-g54b1b78は問題なく立ち上がったのですが、音が出ません。NASのマウントに失敗しているのが原因です。
[ OK ] Started Music Player Daemon.
[FAILED] Failed to mount /music.
See 'systemctl status music.mount' for details.
[DEPEND] Dependency failed for Remote File Systems.
<略>
Arch Linux 3.8.13-rt9-00899-g54b1b78 (ttyO0)
alarm login: root
Password:
Last login: Fri Jun 28 21:36:28 JST 2013 on ttyO0
Last login: Fri Jun 28 21:50:39 on ttyO0
[root@alarm ~]# systemctl status music.mount
music.mount - /music
Loaded: loaded (/etc/fstab)
Active: failed (Result: exit-code) since Sat 2000-01-01 09:44:06 JST; 13 years 5 months ago
Where: /music
What: //192.168.11.21/Public/Music
Process: 338 ExecMount=/bin/mount //192.168.11.21/Public/Music /music -t cifs -o username=xxxxx,password=xxxxxx,uid=mpd,file_mode=0666,dir_mode=0766,iocharset=utf8,rsize=130048,wsize=4096 (code=exited, status=32)
Jan 01 09:44:06 alarm mount[338]: mount error: cifs filesystem not supported by the system
Jan 01 09:44:06 alarm mount[338]: mount error(19): No such device
Jan 01 09:44:06 alarm systemd[1]: music.mount mount process exited, code=exited status=32
Jan 01 09:44:06 alarm systemd[1]: Failed to mount /music.
Jan 01 09:44:06 alarm systemd[1]: Unit music.mount entered failed state.
[root@alarm ~]# modprobe cifs
modprobe: FATAL: Module cifs not found.
[root@alarm ~]# mount -a
mount error: cifs filesystem not supported by the system
mount error(19): No such device
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
fstabなどはrtなしのときのままですので、configに問題があるのかと思っています。make menuconfigでの注意点、その他お気づきの点など、ご指摘よろしくおねがいいたします。
[root@alarm music]# mount.cifs
Usage: mount.cifs <remotetarget> <dir> -o <options>
Mount the remote target, specified as a UNC name, to a local directory.
<以下略>
お仲間が増えてうれしい限りです(^^;
当方は現在、rt化カーネル(rootfsはdebian)でmpdをビルド中です。今回初めてシリアルケーブルを利用させてもらいましたが、こんなに素晴らしいものだとは思いませんでした(笑)
それはさておき、cifsの件はまさに「make menuconfig」を見直されたら良いと思います。確か、File Systems配下のcifsがデフォルトでは*が入ってなかったように思います。
当方の勘違いであれば、ごめんなさい。
えふさんが書かれてるようにcifsをチェックしてください。その他Native language support(File systems ---> Native language support)を適当にチェックしてください。
こちらの場合は、以下のようにしています。以下以外はnot setです。
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_UTF8=y
.configのcifsとutf-8関連部分をいじって、rtで音が出ています。ありがとうございました。
uda3 > spdif > zodiac-goldで試していますが、RRのHRXシリーズ音源(24bit/176.4kHz)も、問題なく再生できています。雑音はありません。zodiacでのBBB > usb接続は、まだ設定不足で未検討。
uda3 > sdif3経由の別のdacは、pllのロック幅が狭いので、sdif3経由のDSDも、そのuda3によるpcm変換(24/88.2)spdifも、ロックしません。rtなしだと再生できる(ロックする)のが、理由不明です。
しかし、BBB、なかなかよか~。(^.^)/~
次はMPDのパッチですね。
追記:24/176.4はわずかな「プチッ」ノイズが時々混入します。spdifの限界か?usb直結を試みます。
24bit/176.4kHzの再生も出来るんですね。
yoさんのところはダメそうですし、DACの相性問題がありそうな感じです。
HD-7A 192はandroidだと192Hzをまったく問題なく再生できるのですが、beagleだと駄目です。微妙なものですね。DSD再生用のaitlaboはddc部分はUDA3なので、OKだと思いますが、archをcubox梅雨入れ版に入れ換えたら、ネッワーク接続が変な状態になってバタバタしていまして、まだ確認していません。
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`
x-ddcの方は、Debian,Archとも96kHz,192kHzは何とかなりそうでなんともならないって状態です。
やはりCONFIG_MUSB_PIO_ONLY=yなので苦しいです。PIO bufferって設定で増やせるんですかね?
*個人的にはCDリップだけ何とかなればOKですが・・・
現在の状況報告です。
rtコンパイル時のconfigはcifs,utf8,Size in Mega Bytesを128MB指定のみ。
サウンドデバイスはオンボードが生きたまま。
-j3指定なし。
Linux alarm 3.8.13-rt9-00899でyanさんパッチの当たったmpd0.17.4。rtset.confを適用。
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`
実行前は
16/44.1は再生可能。
dsdは断続しながら再生。使用不可。
24/176.4は音が出ない。
実行後は
16/44.1は過去最高の柔らかさで高解像。嫌な音が少ない。
sdif3接続のdsdも問題少なく再生。音質的には過去最高。
ときどき音が出なくなる。cuboxでは瞬断だが、BBBではだんまりが継続。
音が出ない状態でも出力は進行しており、軽いホワイトノイズ。「一時停止 > 再生」で復活。
曲終了時の雑音はソースに依存して出たり出なかったり。
24/176.4は再生可。良質。まれに「プチ」ノイズ。
こんな状況です。十分実用になり、楽しめます。
当方、後方で待機中ですので、皆様、よろしく(^.^;
応援ありがとうございます。確かに音いいんですよね。探してたイメージに一番近いんです。なので、もう少し頑張ってみます。
I2SはHDMIから取れるらしいです。
安価で(本体位まで?)なんとかなるんなら実験してみたいですが、当方ハードは全くわかりません。eBayでもあさってみようかな・・・
えふさん
状況はどうですか?もしどこかで手間取っているとか、何か必要なものとかあればUPしますよ。
別件ですが、3.10がリリースされたようです。当方の最終兵器(wandboard)も、やっと表舞台にのれるかも。のれたらいいなぁ・・・
ありがとうございます。取りあえず現在は、rootfsがdebianでmpd-0.17.4(yanさんパッチ)の状態ですが、44KHz 16bitデータでもノイズが入り、これがyoさん云われている状態と同様かなという状況です。Raspberry Piでさえ(?)ノイズなしなので、ちょっと残念という感じでしょうか。
次は、rootfsをArchで試してみようと思いますが、ちょっと悪あがき(?)したいことがあるので、もう少しdebianで遊んでみます。
うまくいってないんですね、申し訳ないです。
この辺いじっても駄目でしょうか?
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`
こちらはRaspberry Piが入ってたピンクのプラ箱に入れてます。
箱どうしようかな。
僕のところもえふさんと同じような状況で結構悪戦苦闘しています。
問題点は二つあって、一つはtinkerさんも指摘されているusbがpio転送であること。僕の環境ではuda3接続でも音楽を再生するとシリアルコンソールに
[ 65.007984] ALSA sound/usb/pcm.c:1334 delay: estimated 0, actual 144
というようなメッセージが出続けて、ノイズが盛大に発生します。
これはsyuさんが指摘されているcmaを指定することで、クリア出来ます(一応実験してみて、メッセージが消えることは確認しています)。しかし、ノイズは消えないのですよね。
もう一つは多分ネットワークの構成に起因して発生する問題で起動直後に
[ 11.989458] libphy: PHY 4a101000.mdio:01 not found
[ 12.004958] net eth0: phy 4a101000.mdio:01 not found on slave 1
というメッセージが出て、回線速度が極端に遅くなること。これはmake moduleとinstallを真面目にやれば解消できそうですが、こちらも実験中です。
以上の状況はrootfsを何にしても共通ですので、カーネルのビルドの問題ですね。archにしても解決しないことは分かっています。cubox用に作成したrootfsも動くことは確認していますが、ネットワーク関連など多少動作に違いが発生するようで、これも悪戦苦闘している理由の一つです。
ただ、たまたま上手くいった時の音は素晴らしいので、もう少し頑張ってみるつもりです。どの機能をmenuconfigできっちりおさえると上手くいくのか分かっていないのが問題なのですよね。
tinkerさんにお願いは.configをどのように設定されたか詳しい情報を頂けますか。
以上中間報告でした。
https://docs.google.com/file/d/0BxnbJHx0_xurZy1qQ0Fzd1dhRzg/edit?usp=sharing" target="_blank">https://docs.google.com/file/d/0BxnbJHx0_xurZy1qQ0Fzd1dhRzg/edit?usp=sharing
>というメッセージが出て、回線速度が極端に遅くなること
こちらでも、同じようになります。
[ 16.702771] net eth0: phy found : id is : 0x7c0f1
[ 16.707759] libphy: PHY 4a101000.mdio:01 not found
[ 16.712798] net eth0: phy 4a101000.mdio:01 not found on slave 1
[ 19.779302] libphy: 4a101000.mdio:00 - Link is Up - 100/Full
最終的に100Mでリンクしているようなので気にしていないです。
今日からwandboardでkernel3.10を使っています。5ヶ月近く待ったので、もう少し感動するかと思ってましたが、BBBを聞いたあとでは色褪せます。
RTになれば、また印象変わるかもしれないですが。
wandboardでは3.8は使えなかったので勘違いかもしれませんが、3.10は3.8と若干音の傾向が違うように感じます。
>うまくいってないんですね、申し訳ないです。
あっ、ごめんなさい。言葉足らずでした。ノイズが出るのは特定のDDCでして、当方手持ちのUSB-DAC等が全滅というわけではないのでご心配なく。
当方がメインと考えているElectrArtさんのUDA基板で残念ながら歪っぽくなってしまいます。ご提示のrtset.confの内容でかなり良くなってはいるのですが。
某雑誌付録のUSB-DACでは、ノイズ無く再生できます。まあ、値段が値段のものなので、多くを期待できないのですが、皆さんが仰っているようにこのBBBの音の素性としてとても良いと感じているところです。現状はこんなところです。
私のuda3改変版も、基本部分は普通のuda3と同じはずなんですが、yoさんもえふさんもuda3で特に歪むんですね。なぜでしょう。
0.18gitにyanさんの20130203パッチを当ててみたんですが、こっちのほうがノイズが出る頻度が高いようです。16/44.1でも時々、バースト状に発生します。
ノイズと言うより、瞬間的な出力ゼロが混入している印象で「フ・・フ‥・フ・フ・・・・・」とランダムに音が瞬間的に途切れる。fsが高いほど、間隔は短くなる傾向みたいです。スパイク状の波高のあるノイズならオシロ(TDS)で捕まえられると思ったんですが、波高の高いノイズを見つけることはできませんでした。
# USB Miscellaneous driversにCONFIG_USB_EZUSB_FX2=mの指定があるんですが、これはこのままで良いのかな。
それから、私のconfigではKernel Features ―> Preemption Modelで
CONFIG_PREEMPT_RTB=y
# CONFIG_PREEMPT_RT_FULL is not set
としたままですが、これは無関係ですか?
共有設定変更してみました。試してみてください。
https://docs.google.com/file/d/0BxnbJHx0_xurZy1qQ0Fzd1dhRzg/edit?usp=sharing" target="_blank">https://docs.google.com/file/d/0BxnbJHx0_xurZy1qQ0Fzd1dhRzg/edit?usp=sharing
後でまた覗きに来ます。
コンフィグ、ダウンロード出来ました。ありがとうございました。
内容をチェックしましたが、僕のとほとんど同じですね。ということはコンフィグがノイズの原因では無いようです。
syuさん
> CONFIG_PREEMPT_RTB=y
> # CONFIG_PREEMPT_RT_FULL is not set
> としたままですが、これは無関係ですか?
PREEMPT_RT_FULLにすると起動しません。
不思議なのはRT Basicでノイズが発生していないことなのですよね。僕の環境ではPREEMPTだけにしないと、ノイズだらけになります(優先度の設定で、ある程度改善させることは可能ですが、またdsdネイティブは再生出来ません)。同じuda3なのに何故ですかね。
えふさん
> 当方がメインと考えているElectrArtさんのUDA基板で残念ながら歪っぽくなってしまいます。
上に書いた通りで、PREEMPTにすれば、問題は回避できます。DSDネイティブ再生も出来ます。
tinkerさんのコンフィグを使って、
Kernel Features ---> Preemption Model ---> Preemptible Kernel
を指定すればいいです。
高いのは買えないですがDAC買い換えたいです。DSDは、今のところ聞きたいソースが殆ど無いので聞けなくても構わないですが、今度はもう少し躍動感のあるものにしたいです。
私のDACはusb接続時24bit/96kHzまでで、class1でいけるためBasicRTでも動いてるってことなんでしょうね。
Full RTでの起動はあきらめムードです。こんなとこで止まられたら、logが見れても何の役にもたちません。
[ 1.504779] bone-capemgr bone_capemgr.9: slot #4: 'Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G'
[ 1.515279] bone-capemgr bone_capemgr.9: slot #5: specific override
[ 1.522010] bone-capemgr bone_capemgr.9: bone: Using override eeprom data at slot 5
[ 1.530169] bone-capemgr bone_capemgr.9: slot #5: 'Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI'
[ 1.541190] bone-capemgr b
> 私のDACはusb接続時24bit/96kHzまでで、class1でいけるためBasicRTでも動いてるってことなんでしょうね。
この可能性もあるかなと思います。
後、別のスレッドですが、「arch linux kernel 3.8.13 + rt12 patchで問題解決」で 3.8.13とrtパッチの問題点が話題になっていますが、このあたりがBBBでも影響しているのかもしれませんね。
梅雨入り版のカーネルは3.8.11+rtと3.8.4+rtにしています。これは3.8.13+rtを試したのですが、まだ問題残りだったのが理由です。
あっちも大変そうですね。3.8.13は難しそうです。3.10に引きずってなければいいんですが。
CMAを取らずにやると、BBBでも数時間で再生止まるんですね。CMAってDMA POOLがなんちゃらって事だったんで、PIOならいらないんじゃないってやってみましたがダメでした。CMAを確保すると24時間でも鳴り続けます。これも不思議です。
nextのgitを見てみましたが、PIO_ONRYのままです。元のdriverはTIが書いたようなんですが、driverのせいかハードのせいか上手く動かなくて、2011にどっかの偉い人がPIO_ONRYのpatchを書いたみたいです。
[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 ~]# mpd --version
mpd (MPD: Music Player Daemon) 0.17.4
[root@alarm ~]# cat /proc/asound/cards
0 [EZUSBUDA3 ]: USB-Audio - EZ_USB(UDA3)
Cypress EZ_USB(UDA3) at usb-musb-hdrc.1.auto-1, high speed
16/44.1と24/176.4ではノイズ(瞬断)はほとんど発生しません。
dsf(64fs)はちと厳しい。音が出なくなる(ホワイトノイズに変わる)現象が頻発します。1分に1回程度。ノイズ波形をFFTすると80kHz付近に狭いピークと全帯域に均質なホワイトノイズ。
その他、時々ですが、「ボッツ」と言う感じの振幅の大きなノイズが出ます。
私が最初に試したconfigでは、変更箇所を最小限に止めましたが、dsf(64fs)のダンマリ現象は20分に1回程度でした。configで何かを殺したばあい、完全に殺せてないと、不要な割り込みが頻発することもあるのではないか、というような、素人っぽい発想で、変更を最小限にしたのですが、その違いかもしれません。
24/176.4再生中のtop
top - 22:53:17 up 7 min, 1 user, load average: 0.16, 0.21, 0.12
Tasks: 75 total, 1 running, 74 sleeping, 0 stopped, 0 zombie
%Cpu(s): 4.4 us, 18.9 sy, 0.0 ni, 75.1 id, 0.0 wa, 0.0 hi, 1.6 si, 0.0 st
KiB Mem: 509132 total, 368232 used, 140900 free, 2960 buffers
KiB Swap: 0 total, 0 used, 0 free, 296292 cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
71 root -56 0 0 0 0 S 18.8 0.0 0:43.81 irq/35-musb+
344 root 20 0 83264 79844 28228 S 5.9 15.7 0:14.09 mpd
362 root -54 0 0 0 0 S 3.6 0.0 0:08.25 cifsd
98 root -54 0 0 0 0 S 2.6 0.0 0:06.20 irq/57-4a10+
99 root -54 0 0 0 0 S 0.7 0.0 0:01.91 irq/58-4a10+
411 root 20 0 4852 1280 1008 R 0.7 0.3 0:01.69 top
19 root 20 0 0 0 0 S 0.3 0.0 0:00.50 kworker/0:1
1 root 20 0 4772 2696 1844 S 0.0 0.5 0:02.76 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.67 ksoftirqd/0
普遍的に楽しめるレベルに持って行くには、まだまだですね。
でもtinkerさんがおっしゃる「BBBを聞いたあとでは色褪せます。」は強く同意です。なんとかしたいですね。
では一旦、後方待機に戻ります。m(__)m
root@cubox:~# uname -a
Linux cubox 3.8.13-rt9_Fa-00899-g9558e8a #16 SMP PREEMPT Wed Jul 3 01:14:54 PDT 2013 armv7l armv7l armv7l GNU/Linux
root@cubox:~# ps -eLo pid,lwp,rtprio,priority,time,cmd | egrep "irq/35|irq/57|irq/58|mpd|cifsd"
71 71 54 -55 00:00:00 [irq/35-musb-hdr]
98 98 55 -56 00:00:00 [irq/57-4a100000]
99 99 55 -56 00:00:00 [irq/58-4a100000]
507 507 53 -54 00:00:00 [cifsd]
616 616 - 20 00:00:00 /usr/local/bin/mpd /etc/mpd.conf
616 617 - 20 00:00:00 /usr/local/bin/mpd /etc/mpd.conf
616 619 52 -53 00:00:00 /usr/local/bin/mpd /etc/mpd.conf
616 620 49 -50 00:00:00 /usr/local/bin/mpd /etc/mpd.conf
616 622 53 -54 00:00:00 /usr/local/bin/mpd /etc/mpd.conf
1099 1099 - 20 00:00:00 egrep --color=auto irq/35|irq/57|irq/58|mpd|cifsd
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 = 44100 Hz (0x5.8333)
Feedback Format = 8.16
Packet Size = 0
Momentary freq = 44100 Hz (0x5.8333)
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
top - 19:35:43 up 2 min, 1 user, load average: 2.93, 0.84, 0.29
Tasks: 86 total, 2 running, 84 sleeping, 0 stopped, 0 zombie
Cpu(s): 3.7%us, 82.8%sy, 0.0%ni, 11.5%id, 0.0%wa, 0.0%hi, 2.0%si, 0.0%st
Mem: 509124k total, 161436k used, 347688k free, 4016k buffers
Swap: 0k total, 0k used, 0k free, 78640k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
71 root -55 0 0 0 0 S 74.2 0.0 0:41.60 irq/35-musb-hdr
619 mpd 20 0 85252 79m 21m S 2.8 15.9 0:02.50 mpd
907 root 20 0 2144 1012 764 R 1.1 0.2 0:00.63 top
1 root 20 0 2628 1544 976 R 0.8 0.3 0:03.62 init
98 root -56 0 0 0 0 S 0.7 0.0 0:00.81 irq/57-4a100000
3 root 20 0 0 0 0 S 0.6 0.0 0:00.78 ksoftirqd/0
次に同じ状態でrt化していないカーネルにするため、zImageとdtbを入れ換えたものです。正常に再生できます。コンフィグはtinkerさんが公開されているものとほぼ同じですが、PREEMPT指定です。
root@cubox:~# uname -a
Linux cubox 3.8.13+ #3 SMP PREEMPT Tue Jul 2 23:52:29 PDT 2013 armv7l armv7l armv7l GNU/Linux
root@cubox:~# ps -eLo pid,lwp,rtprio,priority,time,cmd | egrep "irq/35|irq/57|irq/58|mpd|cifsd"
502 502 53 -54 00:00:01 [cifsd]
615 615 - 20 00:00:01 /usr/local/bin/mpd /etc/mpd.conf
615 616 - 20 00:00:00 /usr/local/bin/mpd /etc/mpd.conf
615 618 52 -53 00:00:00 /usr/local/bin/mpd /etc/mpd.conf
615 620 49 -50 00:00:00 /usr/local/bin/mpd /etc/mpd.conf
615 621 53 -54 00:00:00 /usr/local/bin/mpd /etc/mpd.conf
996 996 - 20 00:00:00 egrep --color=auto irq/35|irq/57|irq/58|mpd|cifsd
cat /proc/asound/card1/stream0の結果は同じ
top - 19:59:53 up 3 min, 1 user, load average: 0.14, 0.23, 0.12
Tasks: 81 total, 1 running, 80 sleeping, 0 stopped, 0 zombie
Cpu(s): 2.2%us, 5.8%sy, 0.0%ni, 91.7%id, 0.0%wa, 0.0%hi, 0.4%si, 0.0%st
Mem: 506148k total, 194384k used, 311764k free, 4020k buffers
Swap: 0k total, 0k used, 0k free, 103592k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1244 root 20 0 2136 1004 764 R 1.6 0.2 0:00.40 top
502 root -54 0 0 0 0 S 1.3 0.0 0:02.66 cifsd
615 mpd 20 0 85268 79m 21m S 1.3 16.0 0:04.62 mpd
9 root 20 0 0 0 0 S 0.3 0.0 0:00.80 rcu_preempt
16 root 20 0 0 0 0 S 0.3 0.0 0:00.48 kworker/0:1
top内容を比較すると、僕の3.8.13-rt9のload averageが異様に高く、ノイズの原因は「Cpu(s): 3.7%us, 82.8%sy」という部分にありそうです。syuさんの場合はload averageは許容値内だと思いますが、「%Cpu(s): 4.4 us, 18.9 sy」であり、これが不安定になる要因のように見えますね。
tinkerさんの同じ内容を教えてもらえると参考になるかと思います。
>私が最初に試したconfigでは、変更箇所を最小限に止めましたが、
syuさんがおっしゃるようにconfigが関係している可能性がありますね。少しずつ変更して様子を見たいとと思います。
>71 root -56 0 0 0 0 S 18.8 0.0 0:43.81 irq/35-musb
やはりここの負荷が高いんですよね。x-ddcにつないだ場合、44.1kHzでも同じような(16%前後)負荷になります。
以下は上限96kHzのusbの方につないだ場合の負荷です(24/96再生時)。usbの方だと変な数字じゃないんですよね。
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1972 mpd 20 0 71964 68m 22m S 5.9 13.7 0:36.46 mpd
71 root -56 0 0 0 0 S 3.0 0.0 0:11.02 irq/35-musb-hdr
98 root -54 0 0 0 0 S 1.3 0.0 0:12.00 irq/57-4a100000
Debian,44.1の場合の数値です。cuboxなんかとそれほど変わらないです。
top - 20:19:54 up 14:06, 1 user, load average: 0.15, 0.13, 0.10
Tasks: 84 total, 1 running, 83 sleeping, 0 stopped, 0 zombie
%Cpu(s): 1.7 us, 2.7 sy, 0.0 ni, 95.2 id, 0.0 wa, 0.0 hi, 0.3 si, 0.0 st
KiB Mem: 509132 total, 324248 used, 184884 free, 10344 buffers
KiB Swap: 0 total, 0 used, 0 free, 249460 cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
71 root -56 0 0 0 0 S 2.6 0.0 0:50.49 irq/35-musb-hdr
1972 mpd 20 0 71964 68m 22m S 2.3 13.7 1:12.85 mpd
98 root -54 0 0 0 0 S 0.7 0.0 0:19.99 irq/57-4a100000
1504 root -54 0 0 0 0 S 0.7 0.0 0:11.25 cifsd
3191 root 20 0 5700 1232 880 R 0.7 0.2 0:01.75 top
10 root -2 0 0 0 0 S 0.3 0.0 0:00.63 rcuc/0
19 root 20 0 0 0 0 S 0.3 0.0 0:07.07 kworker/0:1
2179 root 20 0 8724 2880 2152 S 0.3 0.6 0:04.09 sshd
1 root 20 0 1684 644 540 S 0.0 0.1 0:03.86 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:05.82 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker
tinkerさん rtカーネル
%Cpu(s): 1.7 us, 2.7 sy,
1972 mpd 20 0 71964 68m 22m S 5.9 13.7 0:36.46 mpd
71 root -56 0 0 0 0 S 3.0 0.0 0:11.02 irq/35-musb-hdr
98 root -54 0 0 0 0 S 1.3 0.0 0:12.00 irq/57-4a100000
syuさん rtカーネル
%Cpu(s): 4.4 us, 18.9 sy,
71 root -56 0 0 0 0 S 18.8 0.0 0:43.81 irq/35-musb+
344 root 20 0 83264 79844 28228 S 5.9 15.7 0:14.09 mpd
98 root -54 0 0 0 0 S 2.6 0.0 0:06.20 irq/57-4a10+
yo rtカーネル
Cpu(s): 3.7%us, 82.8%sy,
71 root -55 0 0 0 0 S 74.2 0.0 0:41.60 irq/35-musb-hdr
619 mpd 20 0 85252 79m 21m S 2.8 15.9 0:02.50 mpd
98 root -56 0 0 0 0 S 0.7 0.0 0:00.81 irq/57-4a100000
yo preemptカーネル
Cpu(s): 2.2%us, 5.8%sy,
502 root -54 0 0 0 0 S 1.3 0.0 0:02.66 cifsd
615 mpd 20 0 85268 79m 21m S 1.3 16.0 0:04.62 mpd
9 root 20 0 0 0 0 S 0.3 0.0 0:00.80 rcu_preempt
となりますね。
何故、僕のrtとsyuさんのところでirq/35-musb+の比率が異常に高いのかが問題で、tinkerさんの「私のDACはusb接続時24bit/96kHzまでで、class1でいけるためBasicRTでも動いてる」という仮説があたっているようです。
皆さんの後姿がみえないところであがいています。
BBBのSDイメージのupはしばらく先になるだろうと思い、tnkerさんのconfigを
利用させていただいてコンパイルに挑戦しました。win7のVMware&ububtu12.04です。
で、次のエラーで立ち止まっています。
いつも教えてくんですみませんが、チェックポイントについてよろしくお願いします。
エラーリスト
SHIPPED arch/arm/boot/compressed/ashldi3.S
AS arch/arm/boot/compressed/ashldi3.o
LD arch/arm/boot/compressed/vmlinux
OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready
UIMAGE arch/arm/boot/uImage
"mkimage" command not found - U-Boot images will not be built
make[1]: *** [arch/arm/boot/uImage] エラー 1
make: *** [uImage] エラー 2
apt-get install uboot-mkimageでいけると思います。
試してないので多分ですが、uImageは使ってないのでmake zImage dtbsでも良いのかもしれません。
yoさん
>仮説があたっているようです
これだと新しいDACは全滅っぽいですね。
yoさん、
syuさん rtカーネル
%Cpu(s): 4.4 us, 18.9 sy,
これは24/176.4再生中のものです。
16/44.1再生中はもっと低くなります。
%Cpu(s): 0.8 us, 11.8 sy
再生してないときは、どんなですか。私の場合、
%Cpu(s): 0.3 us, 0.3 sy,
-----
[root@alarm ~]# ps -eLo pid,lwp,rtprio,priority,time,cmd | egrep "irq/35|irq/57|irq/58|mpd|cifsd"
71 71 55 -56 01:10:41 [irq/35-musb-hdr]
96 96 53 -54 00:02:08 [irq/57-4a100000]
97 97 53 -54 00:00:37 [irq/58-4a100000]
328 328 - 20 00:00:04 /usr/local/bin/mpd --no-daemon
328 385 - 20 00:00:00 /usr/local/bin/mpd --no-daemon
328 386 52 -53 00:01:09 /usr/local/bin/mpd --no-daemon
328 387 49 -50 00:01:54 /usr/local/bin/mpd --no-daemon
328 388 53 -54 00:02:11 /usr/local/bin/mpd --no-daemon
351 351 53 -54 00:02:49 [cifsd]
459 459 - 20 00:00:00 egrep irq/35|irq/57|irq/58|mpd|cifsd
topを条件を変えてとってみました。
--------(16/44.1PCM)---------
[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 = 44100 Hz (0x5.8333)
Feedback Format = 8.16
Packet Size = 0
Momentary freq = 44100 Hz (0x5.8333)
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
top - 01:01:55 up 6:11, 1 user, load average: 0.09, 0.10, 0.13
Tasks: 74 total, 1 running, 73 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.8 us, 11.8 sy, 0.0 ni, 87.1 id, 0.0 wa, 0.0 hi, 0.4 si, 0.0 st
KiB Mem: 509132 total, 366364 used, 142768 free, 2064 buffers
KiB Swap: 0 total, 0 used, 0 free, 296232 cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
71 root -56 0 0 0 0 S 17.2 0.0 64:05.98 irq/35-musb+
328 root 20 0 83352 80008 28464 S 1.0 15.7 4:17.39 mpd
96 root -54 0 0 0 0 S 0.7 0.0 1:39.29 irq/57-4a10+
97 root -54 0 0 0 0 S 0.3 0.0 0:28.79 irq/58-4a10+
351 root -54 0 0 0 0 S 0.3 0.0 2:11.05 cifsd
407 root 20 0 0 0 0 S 0.3 0.0 0:06.88 kworker/0:2
430 root 20 0 5084 1280 1008 R 0.3 0.3 0:03.20 top
1 root 20 0 4792 2608 1788 S 0.0 0.5 0:02.74 systemd
-----------(24/96.0PCM)-------------
[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 = 96000 Hz (0xc.0000)
Feedback Format = 8.16
Packet Size = 0
Momentary freq = 96000 Hz (0xc.0000)
top - 01:23:47 up 6:33, 1 user, load average: 0.71, 0.55, 0.37
Tasks: 74 total, 1 running, 73 sleeping, 0 stopped, 0 zombie
%Cpu(s): 2.3 us, 17.1 sy, 0.0 ni, 79.8 id, 0.0 wa, 0.0 hi, 0.8 si, 0.0 st
KiB Mem: 509132 total, 367572 used, 141560 free, 1992 buffers
KiB Swap: 0 total, 0 used, 0 free, 297272 cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
71 root -56 0 0 0 0 S 17.8 0.0 67:58.29 irq/35-musb+
328 root 20 0 83488 80080 28464 S 3.0 15.7 4:54.50 mpd
351 root -54 0 0 0 0 S 2.0 0.0 2:32.16 cifsd
96 root -54 0 0 0 0 S 1.7 0.0 1:55.06 irq/57-4a10+
97 root -54 0 0 0 0 S 0.7 0.0 0:33.65 irq/58-4a10+
447 root 20 0 5084 1280 1008 R 0.3 0.3 0:01.19 top
-----------(24/176.4PCM)------------
[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)
top - 01:17:25 up 6:26, 1 user, load average: 0.27, 0.24, 0.22
Tasks: 74 total, 1 running, 73 sleeping, 0 stopped, 0 zombie
%Cpu(s): 3.8 us, 23.7 sy, 0.0 ni, 71.0 id, 0.0 wa, 0.0 hi, 1.5 si, 0.0 st
KiB Mem: 509132 total, 366364 used, 142768 free, 2100 buffers
KiB Swap: 0 total, 0 used, 0 free, 295676 cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
71 root -56 0 0 0 0 S 19.1 0.0 66:50.11 irq/35-musb+
328 root 20 0 83488 80080 28464 S 6.3 15.7 4:38.21 mpd
351 root -54 0 0 0 0 S 4.0 0.0 2:22.82 cifsd
96 root -54 0 0 0 0 S 2.6 0.0 1:48.11 irq/57-4a10+
97 root -54 0 0 0 0 S 1.0 0.0 0:31.48 irq/58-4a10+
443 root 20 0 5084 1280 1008 R 0.7 0.3 0:00.60 top
------------DSF(64fs)----------
[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)
top - 01:19:28 up 6:28, 1 user, load average: 0.29, 0.26, 0.23
Tasks: 74 total, 1 running, 73 sleeping, 0 stopped, 0 zombie
%Cpu(s): 4.2 us, 18.1 sy, 0.0 ni, 75.8 id, 0.0 wa, 0.0 hi, 1.9 si, 0.0 st
KiB Mem: 509132 total, 362488 used, 146644 free, 1972 buffers
KiB Swap: 0 total, 0 used, 0 free, 291832 cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
71 root -56 0 0 0 0 S 18.5 0.0 67:12.98 irq/35-musb+
328 root 20 0 83488 80080 28464 S 4.3 15.7 4:44.45 mpd
351 root -54 0 0 0 0 S 2.3 0.0 2:26.53 cifsd
96 root -54 0 0 0 0 S 1.6 0.0 1:50.87 irq/57-4a10+
97 root -54 0 0 0 0 S 0.7 0.0 0:32.34 irq/58-4a10+
445 root 20 0 5084 1280 1008 R 0.7 0.3 0:00.25 top
おかげで、PCMが信じられないほど良くなってますので、DSDは当面あせる必要ない、って気になってます。良いものをご紹介いただいて、感謝。
気づいておられると思いますが、投稿3109のこの部分、
Tasks: 86 total, 2 running,
tinkerさんや私の場合 1 running, となっているのが気になりました。これは無関係ですか?
「私のDACはusb接続時24bit/96kHzまでで、class1でいけるためBasicRTでも動いてるって」という仮説ですが、説明しづらいのはrtカーネルだとNGですが、preemptカーネルだとOKなことです。何故、同じ音源ハードの再生で一桁違うCPU負荷の差がでるのか理解出来ないのですよね。
あと、僕とsyuさんの環境で同じ音源ですが、多少差が出ている(結果としてノイズの量の差になる)こともよく分かりません。ネットワーク環境、USB接続環境位しか差がない筈なので、これも謎です。
まあpreemptカーネルにすれば、素晴らしい音で鳴るので、「しばらくはこれで我慢」で問題は無さそうですが、この謎が解けないのは癪に障るのですよね。もう少し頑張るつもりです。おつき合いよろしくです。
> tinkerさんや私の場合 1 running, となっているのが気になりました。これは無関係ですか?
関係あると思います。最大4になることもあります。走行待ちになっているタスクも数えられるとすれば不思議はないのですが、待ちが発生することで、結果としてノイズにつながるということですかね。
問題はrtカーネルだと、何故、待ちが発生し、cpu負荷が高くなるかです。usb2(又はネットワーク関連)ドライバがrtカーネルと整合性をとれた動きになっていなくて、rtカーネルで本来は実行権を放棄し、待機すべき状態の時に不必要なループ処理に陥り、cpu負荷を高くし、待ちも発生させているという可能性はあります。
なんとか音出しまでまでこぎつけました。archパッケージのbootのzImageとdtbsの
dtbを入れ替えたのですが、read-only-filesystemでシンボルがうまく繋がらず
とりあえずfstabで/var/lib/mpd/musicを直接指定しています。
androidの梅雨入り版とごっちゃになって、泥沼に足をとられでばかりです。
read-onlyを解除することはできますか。
Archで1パーティーションですか?Archのブートローダーは使ってないのでよくわかんないです(その辺はyoさん達が書き込んでくれると思います)
代わりにこちらの設定を書いておきます。また使っているブートローダーをUPしておきます。
https://docs.google.com/file/d/0BxnbJHx0_xurNVVQRlRhV2Y2bkE/edit?usp=sharing" target="_blank">https://docs.google.com/file/d/0BxnbJHx0_xurNVVQRlRhV2Y2bkE/edit?usp=sharing
SDのパーティーションの切り方などは
http://archlinuxarm.org/platforms/armv7/ti/beaglebone-black" target="_blank">http://archlinuxarm.org/platforms/armv7/ti/beaglebone-black
のinstallationのタブのとおりでよいと思います。もし4G以上のSDであれば3つに分けておけばArchとDebian(ubuntuはなぜか調子悪いです)とかで聴き比べできます。
/dev/sdb1の中味は、以下のとおりです。
・dtbs ディレクトリ(*.dtbはおやじんさんがmakeされたもの)
・zImage おやじんさんがmakeされたもの
・MLO,u-boot.img,uEnv.txt(UPしたもの) です。
fstabは以下のようにしています。
/dev/mmcblk0p2 / auto errors=remount-ro 0 1
/dev/mmcblk0p1 /boot/uboot auto defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
tmpfs /var/tmp tmpfs defaults 0 0
注)mkdir /boot/uboot も必要
先にUPしたconfigは必要ないところは削ってください(NFSとか)。またIO SchedulersはDeadlineになっています。お好みでCFQに変更してください。
Debianも結構いけますよ。cuboxでDebianだとのっぺりした感じですが、BBBだとほどよくまったりです。まあ解像度はArchに負けますが。
yoさん
>この謎が解けないのは癪に障るのですよね
そうですね。Full RTでbootしないのも何とかしたいです(音が良くなるかは別として)
この件に関する情報を教えてもらえますか。「PIO_ONRYのpatch」というのがどういう仕組みになっているのか知りたいです。
僕もarchのブートローダは使っていないので、何故readonlyになるのか不明です。tinkerさんのブートローダに切り替えるのが正解かと思います(多分同じやり方をしていると思うのですが、僕のところではubuntu(core-12.04.2)でもOKです)。
>この件に関する情報
ごめんなさい。bookmarkしていなかったので、すぐには分からないです。検索は”BeagleBone dma pio”とか”CONFIG_MUSB_PIO_ONLY=Y”でかけたと思います。
ここでCONFIG_MUSB_PIO_ONLY=Yの話が出ています。
https://github.com/RobertCNelson/linux-dev/issues/2" target="_blank">https://github.com/RobertCNelson/linux-dev/issues/2
別件で教えて下さい。
Archでrc.localを作って
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`
chrt -f -p 53 `pgrep cifsd`
と書いているんですが、最後の行が実行されません。
心当たりのことがあれば教えて下さい。
すこしは岸に近づいてきたみたいです。fstabの設定readonlyは解消されました。
zImageとdtbsはsdb2の/bootに入れています。sdb1はMLO,u-boot.imag,uEnv.txt
だけで、uEnv.txtはdebianのパッケージのものをそのまま入れたらブートスイッチ
なしで起動したので手抜きしています。早く音の話ができるところにたどり着きたいです。
>Debianも結構いけます
やっと泥沼から抜け出したような気分になっているのに、なんてことを・・・
しかし、いずれはdebianも試してみるつもりですので、その際はご指導よろしく。
今は、arch-BBB-mpd(yan)の凄さにシビレきってます。
しばらくは音楽聴くのに忙しくなりそうです。
もともと解像度ヲタクなので、システム全体がその方向で最適化されています。例えば800Hzから上はリボンツイタ(raven-R3改)です。相性ピッタリ。満足度最高です。
おやじんさん。
私の能力ではアドバイスできそうにありません。ごめんなさい。
私の場合、ブートローダー等はarchのinstallationページのままです。安全策をとって、都度ブートスイッチを押すことは厭わないことにし、最終的に作動を確認してから、installationページの手順で、BBBのeMMCにarch linuxをインストールし直しました。
rt化したmodule,dtbs,zImageは、作動確認済みのsdカードからコピー。yanさんパッチの当たったmpdは、sdカードの段階でBBB上で新たに作り、eMMCにコピーしています。
ひとまず音が出ていますので、ウォームアップを兼ねていろいろ試してみます。
一回archをemmcに入れてbootswitch無しにしましたが、トラブルのときを考えて
angstomに戻しました。
sdよりもemmcが音によいのであれば、yoさんがbbbのstableイメージを公開
されたときにやってみます。
泥沼での犬掻きは休み休みでないと続きません。
>リボンツイタ(raven-R3改)
確かその辺のアンプくらい重たいやつですよね。800Hzからだと2wayで使われてるんですか?
なんにしても、使ってる方をリアルで見たのは初めてです(*_*)
sdb1にtinnkarさん仕様を sdb2にcuboux.arch梅雨入り版をセットして音出しまで
きました。泥沼であがいたおかげでメタボが少しは解消した音に感じます。
基本がわかっていないのですが、archのzImageでdebianのrootfsがそのまま使えるのでしょうか。
情報ありがとうございます。捜してみます。
> chrt -f -p 53 `pgrep cifsd`
> と書いているんですが、最後の行が実行されません。
> 心当たりのことがあれば教えて下さい。
多分cifsdが二つ起動されていて、片方しかレベル設定されていないのではないかと思います。
chrt -f -p 53 `pgrep -n cifsd`
chrt -f -p 53 `pgrep -o cifsd`
とやってみて下さい。
>sdb1にtinkarさん仕様を sdb2にcuboux.arch梅雨入り版をセットして音出しまできました。
このレベルで、すでに私の理解を越えています。
そんなことも可能なんですねえ。(嘆息)
あとで試してみます。(^^;
わたしレベルか、それよりちょっと高いかなレベルの皆様。
音出しは、改変なくやれば、比較的容易だと思います。
どんどんチャレンジしてくださいませ。ボード安いし・・・
参加したぞ、の宣言だけして、あとはダンマリでも、良いと思います。
新たな参加者が増えれば、yoさんのBBB-sdイメージ公開が早くなるかと愚考します。期待してます。
音さえ出れば、新たな地平に到達できた事を実感できるはずです。でも、音の良さは、MUSB_PIO_ONLYのせいじゃないかなあ・・
tinkerさん
この掲示板は、そおいう板ではないので、スピカ批評にならない範囲で行きましょうかね。で、自宅のR3ですがw、かなり徹底的に改変しましたので、普通のR3みたいな金属的な響きは大幅に低減されています(かなり明確な原因があります)。構造的にトランジェントが良好なので、ノイズの聴こえ方が普通のツイタとはちがいます。yoさんお使いのjetツイタもトランジェントの収束が早いはずです。その点が、ここの板の音質評価では重要な点かなと思い、あえて製品名を書きました。
>2wayで
800Hzクロスの2wayに80Hz以下が15インチサブウーファです。ツイタの立ち上がりが良いと低音が弾むので気持ち良い。
BBBをずっと聴いていますが、16/44.1でも、時々(稀に)、引っかかったような瞬断が発生します。持続音が「フッ」と瞬間的に途切れる。
こっから先は、yoさん頼みです。よろしくお願いします。
おやじんさん
多分元のソースの出処は一緒ですので動くと思います。人柱お願いします(笑)
yoさん
chrt -f -p 53 `pgrep -n cifsd`
chrt -f -p 53 `pgrep -o cifsd`でやってみましたが、うまく動きませんでした。別のスクリプトにして、rc.localから呼び出すようにしましたが、これもダメでした。Archの作法が分かっていないので、どこかで変なことやってるんだと思います。
もう少し調べてみます。
syuさん
変なところに食いついちゃいました。説明ありがとうございます。
私のメインSPは、家では粗大ごみ扱いで、世間では低音が出ないとかボーボーいうとか、あまり評判のよろしくない自作品です。まっ、好きだからいいんです。
SPの話はこのへんでm(_ _)m