Raspberry Pi + Rune Audio ::: Một trải nghiệm nghe nhạc mới

bmc264

Active Member
Xenomai 3.0.8 stretch 4.9.80
- Cơ bản đã add được Google Drive, mount Ok, chưa test kỹ.
- Setup Minimserver và AseetUPnP Ok. chưa test kỹ
- Về không cài được OpenHome vào bản này, có một giải pháp khác nhưng mình không rõ chất lượng âm thanh của nó: OpenHome chạy trên nền Java so với chạy thuần ra sao. Cài vô test chạy mở web config lên thử thấy Ok
Openhome (Java): https://github.com/PeteManchester/MediaPlayer/
Bác cho em hỏi cách FIX mount Google Drive cho bản này với. Em đã cài xong rclone mà không mount được.:(
Cảm ơn bác !
 

bmc264

Active Member
Không mount được, có báo lỗi gì không bác?
Nó chỉ báo như này bác ah :

file nano /opt/mountdrive.sh
#!/bin/bash
/usr/bin/rclone mount gdrive: /home/pi/GDRIVE --allow-other --gid=1000 --uid=1000 --dir-cache-time 7760h --fast-list --umask 002 --log-level INFO --user-agent rclone

pi@raspberrypi:~ $ uname -a
Linux raspberrypi 4.9.80-v7+ #3 SMP Tue Jun 4 10:44:43 CEST 2019 armv7l GNU/Linux

pi@raspberrypi:~ $ sudo systemctl status gdrive.service
● gdrive.service - Gdrive Music
Loaded: loaded (/lib/systemd/system/gdrive.service; enabled; vendor preset: e
Active: activating (auto-restart) (Result: exit-code) since Mon 2020-07-13 10
Process: 1464 ExecStop=/bin/sh /opt/unmountdrive.sh (code=exited, status=1/FAI
Process: 1455 ExecStart=/bin/sh /opt/mountdrive.sh (code=exited, status=1/FAIL
Main PID: 1455 (code=exited, status=1/FAILURE)

Jul 13 10:53:22 raspberrypi systemd[1]: gdrive.service: Failed with result 'exit
lines 1-8/8 (END)
 

quatmo

Well-Known Member
Nó chỉ báo như này bác ah :

file nano /opt/mountdrive.sh
#!/bin/bash
/usr/bin/rclone mount gdrive: /home/pi/GDRIVE --allow-other --gid=1000 --uid=1000 --dir-cache-time 7760h --fast-list --umask 002 --log-level INFO --user-agent rclone

pi@raspberrypi:~ $ uname -a
Linux raspberrypi 4.9.80-v7+ #3 SMP Tue Jun 4 10:44:43 CEST 2019 armv7l GNU/Linux

pi@raspberrypi:~ $ sudo systemctl status gdrive.service
● gdrive.service - Gdrive Music
Loaded: loaded (/lib/systemd/system/gdrive.service; enabled; vendor preset: e
Active: activating (auto-restart) (Result: exit-code) since Mon 2020-07-13 10
Process: 1464 ExecStop=/bin/sh /opt/unmountdrive.sh (code=exited, status=1/FAI
Process: 1455 ExecStart=/bin/sh /opt/mountdrive.sh (code=exited, status=1/FAIL
Main PID: 1455 (code=exited, status=1/FAILURE)

Jul 13 10:53:22 raspberrypi systemd[1]: gdrive.service: Failed with result 'exit
lines 1-8/8 (END)
Bác lưu thành file Image .IMG (sau đó zip lại) gửi mình coi fix rồi gửi lại bác
 

toi511

Well-Known Member
Sẵn trớn em mò tiếp vụ xenomai cho pi4.

May mắn là dev thanhtam-h đã built sẵn xenomai kernel 4.19.86 nên em chỉ cần chạy vài lệnh là xong. Đỡ phải mất 7 tiếng như hôm trước.

Các bước như sau:

Mã:
sudo apt install git

git clone https://github.com/thanhtam-h/rpi4-xeno3.git
cd rpi4-xeno3/prebuilt

chmod +x deploy.sh
./deploy.sh

cd /usr/src/linux-headers-4.19.86-v7l-ipipe
sudo make -i modules_prepare

Thêm vào cmdline.txt

Mã:
dwc_otg.fiq_enable=0 dwc_otg.fiq_fsm_enable=0 dwc_otg.nak_holdoff=0

Thêm vào config.txt

Mã:
total_mem=3072

Check:

Mã:
pi@raspi4:~ $ sudo /usr/xenomai/bin/latency
== Sampling period: 1000 us
== Test mode: periodic user-mode task
== All results in microseconds
warming up...
RTT|  00:00:01  (periodic user-mode task, 1000 us period, priority 99)
RTH|----lat min|----lat avg|----lat max|-overrun|---msw|---lat best|--lat worst
RTD|  0.481|  0.811|  4.055|  0|  0|  0.481|  4.055
RTD|  0.609|  1.004|  4.554|  0|  0|  0.481|  4.554
RTD|  0.553|  0.937|  4.165|  0|  0|  0.481|  4.554
RTD|  0.478|  0.816|  4.146|  0|  0|  0.478|  4.554
RTD|  0.497|  0.862|  4.126|  0|  0|  0.478|  4.554
RTD|  0.552|  0.935|  5.070|  0|  0|  0.478|  5.070
RTD|  0.551|  0.888|  4.125|  0|  0|  0.478|  5.070
RTD|  0.606|  0.976|  4.773|  0|  0|  0.478|  5.070
RTD|  0.549|  0.970|  4.087|  0|  0|  0.478|  5.070
RTD|  0.549|  0.881|  3.846|  0|  0|  0.478|  5.070

Latency sau khi deploy rất đẹp:

Mã:
pi@raspi4:~ $ sudo cyclictest  -l 10000 -m -Sp98 -i100 -d0
# /dev/cpu_dma_latency set to 0us
policy: fifo: loadavg: 0.04 0.33 0.19 1/120 724

T: 0 (  721) P:98 I:100 C:  10000 Min:  28 Act:  53 Avg:  61 Max:  204
T: 1 (  722) P:98 I:100 C:  8762 Min:  32 Act:  61 Avg:  59 Max:  129
T: 2 (  723) P:98 I:100 C:  7425 Min:  25 Act:  69 Avg:  56 Max:  154
T: 3 (  724) P:98 I:100 C:  3548 Min:  26 Act:  47 Avg:  49 Max:  123

Latency trước khi deploy:

Mã:
pi@raspi4:~ $ sudo cyclictest  -l 10000 -m -Sp98 -i100 -d0
# /dev/cpu_dma_latency set to 0us
policy: fifo: loadavg: 0.02 0.05 0.01 1/124 3500

T: 0 ( 3497) P:98 I:100 C:  10000 Min:  6 Act:  12 Avg:  8 Max:  46
T: 1 ( 3498) P:98 I:100 C:  9670 Min:  6 Act:  16 Avg:  8 Max:  18
T: 2 ( 3499) P:98 I:100 C:  9279 Min:  6 Act:  16 Avg:  9 Max:  41
T: 3 ( 3500) P:98 I:100 C:  9015 Min:  5 Act:  15 Avg:  9 Max:  23

Test speed upload:

Mã:
pi@raspi4:~ $ iperf3 -i 10 -c 192.168.18.100
Connecting to host 192.168.18.100, port 5201
[  5] local 192.168.18.24 port 58422 connected to 192.168.18.100 port 5201
[ ID] Interval  Transfer  Bitrate  Retr  Cwnd
[  5]  0.00-10.00  sec  465 MBytes  390 Mbits/sec  0  212 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval  Transfer  Bitrate  Retr
[  5]  0.00-10.00  sec  465 MBytes  390 Mbits/sec  0  sender
[  5]  0.00-10.00  sec  465 MBytes  390 Mbits/sec  receiver

iperf Done.

Test speed download:

Mã:
pi@raspi4:~ $ iperf3 -i 10 -c 192.168.18.100 -R
Connecting to host 192.168.18.100, port 5201
Reverse mode, remote host 192.168.18.100 is sending
[  5] local 192.168.18.24 port 58426 connected to 192.168.18.100 port 5201
[ ID] Interval  Transfer  Bitrate
[  5]  0.00-10.00  sec  1009 MBytes  846 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval  Transfer  Bitrate
[  5]  0.00-10.00  sec  1009 MBytes  846 Mbits/sec  sender
[  5]  0.00-10.00  sec  1009 MBytes  846 Mbits/sec  receiver

iperf Done.

More info:

https://github.com/thanhtam-h/rpi4-xeno3

http://www.simplerobot.net/2019/12/xenomai-3-for-raspberry-pi-4.html

xenomai-pi4.png
cái này tải và cài vào thẻ như nào anh
 

tml3nr

Moderator
@tml3nr
Mã:
- Sau khi build xenomai 4.9.80 cho jessie, theo em biết là nó sẽ leo lên stretch / debian 9. Và anh vẫn chạy openhome trên bản này được ạ?

Sau build xenomai 4.9.80 thì vẫn ở jessie anh à. Em làm nó vẫn ở jessie/debian 8.

Mã:
- Anh thêm driver cho boss dac vào bản nào ạ?

Driver cho boss ở kernel 4.9.80.
--
Xenomai 4.9.80 jessie chạy cả pi 2/3. Pi 3+ và pi 4em không có để test.
Em build kernel xenomai trên pi 3 chỉ khoảng 2 tiếng rưỡi thôi à. PC của anh hơi cổ nên build tận 7 tiếng. Nâng cấp pc thôi anh ơi. Em ngắm thấy cpu AMD giờ giá cả, hiệu năng nhỉnh hơn cpu intel. Nhiều người đánh giá cũng như thế.
Em hỏi thêm cho rõ ạ:

- Hôm trước em build xenomai 4.9.80 theo đúng như tút này:

https://github.com/thanhtam-h/rpi23-4.9.80-xeno3/tree/master/scripts

Sau khi deploy thì folder /boot/overlays có đủ driver cho boss dac và digione. Và lúc đó OS nó là Stretch debian 9 nên openhome hết chạy được.

Vậy cách của anh là build xenomai nhưng chận cho nó không leo lên stretch? Và khi đó nó cũng không có overlays mới luôn?

Ghi chú: Hai bản jessie cuối cùng 4.9.31 và 4.9.35 là có đủ driver cho boss dac và digione.

PS: Hai dòng lệnh em chạy mất 7 tiếng là các lệnh sau :D

make O=build ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 bzImage modules dtbs

make O=build ARCH=arm KBUILD_DEBARCH=armhf CROSS_COMPILE=arm-linux-gnueabihf- -j4 deb-pkg
 
Chỉnh sửa lần cuối:

tml3nr

Moderator
cái này tải và cài vào thẻ như nào anh
Đầu tiên anh download cái này về bung vào thẻ nhớ. Nó là raspbian buster lite 4.19.97. Tạo file /boot/ssh rỗng để putty được:

http://ftp.jaist.ac.jp/pub/raspberr...020-02-14/2020-02-13-raspbian-buster-lite.zip

Sau đó làm theo các bước trong bài này. Chỉ có mấy lệnh thôi:

http://www.hdvietnam.com/posts/10377901/

Sau khi xong mình sẽ có bản raspbian buster xenomai 4.19.80.
 
Chỉnh sửa lần cuối:

tml3nr

Moderator
Hi các anh @TuanQuynhAudio @quatmo @Thanhvo31 .... và cả nhà.

Hơi ngoài lề tí. Em có mấy ý này:

1. Nếu như mình lấy bản moode-r642 4.19.97 rồi deploy xenomai 4.19.86 prebuilt thì sao các anh nhỉ? Lúc đó mình sẽ có kernel xenomai ngon và tận dụng được dàn webui / app của moode?

2. Mình lấy bản smpd 1.0.4 dist-upgrade cho nó lên buster mới. Lúc đó nó sẽ bị mất xenomai, về lại kernel thường. Sau đó mình lại chạy xenomai 4.19.86 prebuilt. Lúc đó mình sẽ có bản smpd xenomai mà không bị remove wifi và usb?
 
Chỉnh sửa lần cuối:

tml3nr

Moderator
@tml3nr em làm theo cái link này
Installation of xenomai 3.08 on rpi kernel v4.9.y from raspberrypi github site.
Đến đây "Installing the distribution files on the mounted sdcard of the Raspberry pi" thì cài vào thẻ nhớ (thẻ nhớ đã cài bản raspbian jessie lite 4.9.35).
Dạ để em coi kỹ lại. Hôm trước bài này em đọc một hồi đuối quá. Sau đó mò qua dev thanhtam-h thấy dễ làm hơn :(

Ủa sao thẻ đang là 4.9.35 mà nó vẫn không chạy được boss dac / digione hở anh?
 

TuanQuynhAudio

Well-Known Member
Dạ để em coi kỹ lại. Hôm trước bài này em đọc một hồi đuối quá. Sau đó mò qua dev thanhtam-h thấy dễ làm hơn :(

Ủa sao thẻ đang là 4.9.35 mà nó vẫn không chạy được boss dac / digione hở anh?

Raspbian 4.9.35 là kernel thường có chạy được boss/digione mà. Chưa có xenomai nên build bản xenomai. Mà bản patch ipipe cho 4.9.35 thì em ko rõ dùng patch nào chuẩn nhất. Vì thế build 4.9.80 xenomai.
 

quatmo

Well-Known Member
Hi các anh @TuanQuynhAudio @quatmo @Thanhvo31 .... và cả nhà...

Hơi ngoài lề tí. Em có mấy ý này.

1. Nếu như mình lấy bản moode-r642 4.19.97 rồi deploy xenomai 4.9.80 thì sao các anh nhỉ? Lúc đó mình sẽ có kernel xenomai ngon và tận dụng được dàn webui / app của moode?

2. Mình lấy bản smpd 1.0.4 dist-upgrade cho nó lên buster mới. Lúc đó nó sẽ bị mất xenomai, về lại kernel thường. Sau đó mình lại chạy xenomai 4.19.80. Lúc đó mình sẽ có bản smpd xenomai mà không bị remove wifi và usb?

Cứ thử cả 2 idea của bác.
 

toi511

Well-Known Member
Đầu tiên là download cái này về bung vào thẻ nhớ. Nó là raspbian buster lite 4.19.97. Tạo file /boot/ssh rỗng để putty được:

http://ftp.jaist.ac.jp/pub/raspberr...020-02-14/2020-02-13-raspbian-buster-lite.zip

Sau đó làm theo các bước trong bài này. Chỉ có mấy lệnh thôi:

http://www.hdvietnam.com/posts/10377901/

Sau khi xong mình sẽ có bản raspbian buster xenomai 4.19.86.
Thanks bác để em thử
 

TuanQuynhAudio

Well-Known Member
Đầu tiên là download cái này về bung vào thẻ nhớ. Nó là raspbian buster lite 4.19.97. Tạo file /boot/ssh rỗng để putty được:

http://ftp.jaist.ac.jp/pub/raspberr...020-02-14/2020-02-13-raspbian-buster-lite.zip

Sau đó làm theo các bước trong bài này. Chỉ có mấy lệnh thôi:

http://www.hdvietnam.com/posts/10377901/

Sau khi xong mình sẽ có bản raspbian buster xenomai 4.19.86.

Pi 4 phải dùng kernel 4.19.x rồi. 4.14.x trở xuống không chạy được trên pi 4. Xenomai 4.9.80 chỉ chạy pi 2/3 thôi à.
 

tml3nr

Moderator
Raspbian 4.9.35 là kernel thường có chạy được boss/digione mà. Chưa có xenomai nên build bản xenomai. Mà bản patch ipipe cho 4.9.35 thì em ko rõ dùng patch nào chuẩn nhất. Vì thế build 4.9.80 xenomai.
- Vậy sau khi build xenomai thì openhome vẫn chạy được vì nó vẫn là jessie?

- Lúc đó boss dac và digione chạy được?
 

TuanQuynhAudio

Well-Known Member
@tml3nr
Mã:
- Vậy sau khi build xenomai thì openhome vẫn chạy được vì nó vẫn là jessie?
- Lúc đó boss dac và digione chạy được?
- Em cài OpenHome player chạy được.
- Em dùng lệnh "lsmod" thì thấy nó load driver boss dac đầy đủ. Cài openhome và test radio -> ok. Chạy tốt.
Khi đổi sang driver hifiberry-digi-pro để chạy 502DAC PRO thì openhome báo lỗi "volum undisable".
- Em không có boss nên không test 100%, nhưng ok đến 99,9999%.
- Em đang build lại 1 bản hoàn chỉnh rồi gửi anh test trên boss dac.
 

tml3nr

Moderator
@tml3nr
Mã:
- Vậy sau khi build xenomai thì openhome vẫn chạy được vì nó vẫn là jessie?
- Lúc đó boss dac và digione chạy được?
- Em cài OpenHome player chạy được.
- Em dùng lệnh "lsmod" thì thấy nó load driver boss dac đầy đủ. Cài openhome và test radio -> ok. Chạy tốt.
Khi đổi sang driver hifiberry-digi-pro để chạy 502DAC PRO thì openhome báo lỗi "volum undisable".
- Em không có boss nên không test 100%, nhưng ok đến 99,9999%.
- Em đang build lại 1 bản hoàn chỉnh rồi gửi anh test trên boss dac.
Yeah!

Anh thật là siu pro :eek: :eek: :eek:
 

tml3nr

Moderator
Hi anh @quatmo và cả nhà.

Mình set cho asset upnp chạy với quyền root tiếng hay hơn nhiều lắm ạ. Âm thanh tươi sáng và nét hơn.

crontab -e

Mã:
@reboot sudo /home/pi/bin/AssetUPnP/AssetUPnP

Lúc này folder config sẽ là:

Mã:
/root/.dBpoweramp

Nếu không muốn setup và scan lại library. Mình chỉ cần move /home/pi/.dBpoweramp sang /root/.dBpoweramp

Thông thường để đạt hiệu quả cao nhất. Người ta sẽ cho chạy các process âm thanh với user audio nằm trong group audio hoặc group realtime. Từ từ mình sẽ mò típ ạ. Giờ cái gì dễ mình làm trước :rolleyes:

Asset upnp chạy với root. Mình được lợi về priority hơn:

assetupnp-pi2-htop.png
 
Chỉnh sửa lần cuối:
Bên trên