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

Thanhvo31

Well-Known Member

rndce

Well-Known Member

quatmo

Well-Known Member
Rclone add thêm Cloud khác cũng được hả bác?
Cơ mà cái này mount mệt mỏi quá.
Trước mình có test add Onedrive 5T (China) vào được bác.
Mình cài trên bản này phải biên dịch lại thư viện fuse. Câu lệnh App install của SMPD áp đặt chắc để user không cài những cái ngoài thư viện họ. Không có sẵn apt-get (muốn có chắc phải biên dịch apt-get)

Bản này có cài được cho Pi3B không bác, hay chỉ dùng cho Pi 4, nó dùng Scratch Linux rồi.
SMPD 1.0 trở lên chỉ dành cho Pi 4 á bác
 

rndce

Well-Known Member
Trước mình có test add Onedrive 5T (China) vào được bác.
Mình cài trên bản này phải biên dịch lại thư viện fuse. Câu lệnh App install của SMPD áp đặt chắc để user không cài những cái ngoài thư viện họ. Không có sẵn apt-get (muốn có chắc phải biên dịch apt-get)


SMPD 1.0 trở lên chỉ dành cho Pi 4 á bác
Tải về để dành, con Pi 4 em mua trên AliExpress đang trên đường về. Tracking thì thấy đã lên máy bay từ hôm qua. Ko biết về tới nơi nhanh ko nữa, có phải chịu thuế nữa ko.
 

quatmo

Well-Known Member
Mình cài Minimserver theo hướng dẫn từ trang chủ minimserver:
https://minimserver.com/install-linux-mserver.html
- Cài java vật vã rồi cũng thành công (java -version đã hiện version của java)
- Đến bước cài minimserver :
minimserver/bin/setup, thì trên terminal hiện ra các bước sau để chọn

MinimServer desktop integration is not available
MinimServer automatic startup is disabled
Do you want to change these settings (y/n)?
y
Enable automatic startup for MinimServer (y/n)?
y
--> thì dừng tại đây không chạy nữa, theo mình biết thì nếu chạy tiếp thì nó sẽ tạo file minimserver.service trong folder /usr/lib/systemd/system/ để auto khởi động, nhưng vì trong folder usr/lib không có folder systemd nên file minimserver.service không được tạo -> minimserver không chạy được. Nếu chạy thành công thì sẽ xuất hiện thông báo này trên terminal
Created symlink /etc/systemd/system/multi-user.target.wants/minimserver.service -> usr/lib/systemd/system/minimserver.service.
MinimServer automatic startup has been enabled
- Không biết nếu tạo folder /usr/lib/systemd/system/ để chứa file minimserver.service thì có được ko?
(Buffalo NAS LS-WVL này chạy bản Linux gốc thì phải)

Nếu tới bước này bác có thể test như sau, nếu nó chạy thì tạo file khởi động (nếu chạy mình hướng dẫn sau)
Vào folder chứa minimserver:
minimserver/bin/startc
minimserver/bin/stopall
minimserver/bin/startc

Mở MinimWatch xem có dò ra không hoặc vào ipnas:9790
 

rndce

Well-Known Member
Để mình thử và thông báo lại. Cài lên mấy dòng NAS này nhức đầu quá. Chắc tại vì đồ cổ nên Minimserver nó không support như Sysnology hay QNAP.
 

zeze

Well-Known Member
Cáp này dùng ngon bác a . Cat7 từ 2m đến 25m bác ơi hihi . o_O

https://item.taobao.com/item.htm?sp...574&pvid=d65ec0d5-2cf9-4b58-9990-b9b17a9f8129
GHJ.jpg


Mình dùng cộng 30m từ dưới nhà (moden + nas) lên gác (miniPC 4 cổng mạng) rất ngon a . :rolleyes:
Chữ tiếng Hoa làm sao đặt mua được bác?
Ở Nhật Tảo có bán cable Cat7 không bác?
 

rndce

Well-Known Member
Nếu tới bước này bác có thể test như sau, nếu nó chạy thì tạo file khởi động (nếu chạy mình hướng dẫn sau)
Vào folder chứa minimserver:
minimserver/bin/startc
minimserver/bin/stopall
minimserver/bin/startc

Mở MinimWatch xem có dò ra không hoặc vào ipnas:9790
Mình chạy 3 câu lệnh của bác, và kiểm tra lại java -version, chưa được rồi vì thiếu usr/lib/libstdc++.so.6 thì phải. Bác hướng dẫn thêm cho mình với. Cảm ơn bác nhiều.
root@LS-WVLFF5:/usr/local# minimserver/bin/startc
MinimServer 0.8.5.2, Copyright (c) 2012-2017 Simon Nash. All rights reserved.
autoUpdate: installed package 'minimserver-0.8-update-134'
Enter command (? for help):
autoUpdate: relaunching
>MinimServer 0.8.5.2 update 134, Copyright (c) 2012-2020 Simon Nash. All rights reserved.
java.lang.UnsatisfiedLinkError: /usr/local/minimserver/tmp/native/libohNet.so: / usr/lib/libstdc++.so.6: version `CXXABI_ARM_1.3.3' not found (required by /usr/l ocal/minimserver/tmp/native/libohNet.so)
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1837)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at org.jminim.lib.OhNetService.createLibrary(OhNetService.java:663)
at org.jminim.lib.OhNetService.createDeviceStack(OhNetService.java:573)
at org.jminim.lib.OhNetService.createDeviceFactory(OhNetService.java:476 )
at org.jminim.lib.OhNetService.access$2100(OhNetService.java:52)
at org.jminim.lib.OhNetService$Proxy.createDeviceFactory(OhNetService.ja va:1111)
at org.jminim.lib.MonitorService$Monitor.createDevice(MonitorService.jav a:264)
at org.jminim.lib.MonitorService$Monitor.listenerAdded(MonitorService.ja va:340)
at org.jminim.core.RuntimeImpl.addEventListener(RuntimeImpl.java:2124)
at org.jminim.lib.RuntimeService$Proxy.addEventListener(RuntimeService.j ava:218)
at com.minimserver.Server.doStart(Server.java:835)
at com.minimserver.Server.start(Server.java:535)
at org.jminim.core.ContextImpl.startComponent(ContextImpl.java:167)
at org.jminim.core.ContextImpl.start(ContextImpl.java:92)
at org.jminim.core.RootContextImpl.startComponent(RootContextImpl.java:6 8)
at org.jminim.core.ContextImpl.start(ContextImpl.java:92)
at org.jminim.core.RuntimeImpl.run(RuntimeImpl.java:2334)
at org.jminim.core.LauncherImpl.run(LauncherImpl.java:1267)
at org.jminim.core.LauncherImpl.launch(LauncherImpl.java:142)
at org.jminim.core.LauncherImpl.launch(LauncherImpl.java:126)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jminim.mlaunch.MinimLaunch.doLaunch(MinimLaunch.java:519)
at org.jminim.mlaunch.MinimLaunch.launch(MinimLaunch.java:150)
at org.jminim.mlaunch.MinimLaunch.launch(MinimLaunch.java:90)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jminim.launch.Launcher.launch(Launcher.java:88)
at com.minimserver.launch.LaunchServer.main(LaunchServer.java:34)
MinimServer error: now stopped, use 'restart' or 'exit'
Enter command (? for help):
>exit
root@LS-WVLFF5:/usr/local# java -version
java version "1.8.0_211"
Java(TM) SE Embedded Runtime Environment (build 1.8.0_211-b12, headless)
Java HotSpot(TM) Embedded Client VM (build 25.211-b12, mixed mode)
root@LS-WVLFF5:/usr/local# minimserver/bin/stopall
No MinimServer instances are running
root@LS-WVLFF5:/usr/local# minimserver/bin/startc
MinimServer 0.8.5.2 update 134, Copyright (c) 2012-2020 Simon Nash. All rights reserved.
java.lang.UnsatisfiedLinkError: /usr/local/minimserver/tmp/native/libohNet.so: /usr/lib/libstdc++.so.6: version `CXXABI_ARM_1.3.3' not found (required by /usr/local/minimserver/tmp/native/libohNet.so)
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1837)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at org.jminim.lib.OhNetService.createLibrary(OhNetService.java:663)
at org.jminim.lib.OhNetService.createDeviceStack(OhNetService.java:573)
at org.jminim.lib.OhNetService.createDeviceFactory(OhNetService.java:476)
at org.jminim.lib.OhNetService.access$2100(OhNetService.java:52)
at org.jminim.lib.OhNetService$Proxy.createDeviceFactory(OhNetService.java:1111)
at org.jminim.lib.MonitorService$Monitor.createDevice(MonitorService.java:264)
at org.jminim.lib.MonitorService$Monitor.listenerAdded(MonitorService.java:340)
at org.jminim.core.RuntimeImpl.addEventListener(RuntimeImpl.java:2124)
at org.jminim.lib.RuntimeService$Proxy.addEventListener(RuntimeService.java:218)
at com.minimserver.Server.doStart(Server.java:835)
at com.minimserver.Server.start(Server.java:535)
at org.jminim.core.ContextImpl.startComponent(ContextImpl.java:167)
at org.jminim.core.ContextImpl.start(ContextImpl.java:92)
at org.jminim.core.RootContextImpl.startComponent(RootContextImpl.java:68)
at org.jminim.core.ContextImpl.start(ContextImpl.java:92)
at org.jminim.core.RuntimeImpl.run(RuntimeImpl.java:2334)
at org.jminim.core.LauncherImpl.run(LauncherImpl.java:1267)
at org.jminim.core.LauncherImpl.launch(LauncherImpl.java:142)
at org.jminim.core.LauncherImpl.launch(LauncherImpl.java:126)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jminim.mlaunch.MinimLaunch.doLaunch(MinimLaunch.java:519)
at org.jminim.mlaunch.MinimLaunch.launch(MinimLaunch.java:150)
at org.jminim.mlaunch.MinimLaunch.launch(MinimLaunch.java:90)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jminim.launch.Launcher.launch(Launcher.java:88)
at com.minimserver.launch.LaunchServer.main(LaunchServer.java:34)
MinimServer error: now stopped, use 'restart' or 'exit'
Enter command (? for help):
 

quatmo

Well-Known Member
SMPD + Cloud + MinimServer.
https://drive.google.com/file/d/1bXcjVZTpQ8BCewTZXw0oLe3uEtQ0sHNp/view?usp=sharing

- Add demo 2 album (cloud)
- Giữ cho nhẹ nhàng vốn có nên bản này mình không cài Tidal downloader
- SMPD chia phân vùng OS rất hạn chế, cần mở rộng phân vùng ra (nếu bác nào cần).

Cũng cài được mount truyền thống mount cifs.

Mount test Ok với dòng:
mount -t cifs //192.168.11.20/flac -o username=nas,password=admin,rw,nounix,iocharset=utf8,file_mode=0644,dir_mode=0755,sec=ntlmssp,vers=1.0 /mnt/NAS01

- MinimServer kết nối NAS, PC.. sẽ đơn giản hơn
- Ưu điểm kết hợp MinimServer + Mount sẽ không làm cho MPD xử lý giao diện nặng nề
- Mình đang test, chỉnh sửa, khi nào xong mình build 1 bản update.
- Add được nhiều mount point (nhiều folder NAS)
 
Chỉnh sửa lần cuối:

tml3nr

Moderator
Cơ chế suggest của Tidal lúc này khôn quá các anh ạ. Em nghe được vài tháng thì nó gợi ý mấy cái playlist "Mixes For You" rất xuất sắc. Em nghe sướng tê người luôn:

tidal_mix4u.png

Trong mấy playlist này. Em thấy có bài Paris - Caro Emerald rất lạ tai. Em liền tạo một cái radio từ bài này:

tidal_paris.png

Hay tê tái các anh ạ. Mời các anh nghe thử:

https://listen.tidal.com/playlist/21c2904b-47ab-485b-9f80-dfb161aa9043
 
Chỉnh sửa lần cuối:

quatmo

Well-Known Member
Cơ chế suggest của Tidal lúc này khôn quá các anh ạ. Em nghe được vài tháng thì nó gợi ý mấy cái playlist Mixes For You rất xuất sắc. Em nghe sướng tê người luôn:

tidal_mix4u.png

Trong mấy playlist này. Em thấy có bài Paris - Caro Emerald rất lạ tai. Em liền tạo một cái radio từ bài này:

tidal_paris.png

Hay tê tái các anh ạ. Mời các anh nghe thử:

https://listen.tidal.com/playlist/21c2904b-47ab-485b-9f80-dfb161aa9043

Thanks bác, nghe ké bác! Download để dành nghe luôn.


2020-07-11-00_14_32-C.png
 

zeze

Well-Known Member

tml3nr

Moderator
Theo em anh nên dùng cái này. Trước mắt nên tránh mấy loại có shield, sau này hãy tính.

https://vitinhtanhung.com/cap-nhay-patch-cord-commscope-amp-cat6-utp-dai-1-5m.html

https://vitinhtanhung.com/cap-nhay-patch-cord-commscope-amp-cat6-utp-dai-2m.html

AMP-UTP-cat6.jpg

Cầu kỳ hơn thì mua sợi này:

https://www.amazon.com/dp/B00FY82PI8/

81-pOJjQ1IL._AC_SL1500_.jpg
 
Chỉnh sửa lần cuối:

zeze

Well-Known Member
Chỉnh sửa lần cuối:

zeze

Well-Known Member
Mua về 3-4 hôm nay, vẫn chưa mở để vọc. Định mua 2, mà shop còn có 1 cái cuối cùng.
20200711_065107.jpg
 

tml3nr

Moderator
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-get update

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 xenomai.supported_cpus=0x3

Thêm vào config.txt

Mã:
total_mem=3072

Thế là xong!

Mã:
sudo reboot

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

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/tree/master/prebuilt

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

xenomai-pi4.png

Em test tiếp trên pi4 để làm rõ việc tốc độ upload của pi chậm.

Test trên dây ethernet, các thiết bị liên quan đều là gigabit.

pi@raspi4:~ $ uname -a
Linux raspi4 4.19.118-v7l+ #1311 SMP Mon Apr 27 14:26:42 BST 2020 armv7l GNU/Linux

pi@raspi4:~ $ cat /proc/device-tree/model
Raspberry Pi 4 Model B Rev 1.1

Check eth0:

Mã:
pi@raspi4:~ $ ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
  inet 192.168.18.24  netmask 255.255.255.0  broadcast 192.168.18.255
  ether dc:a6:32:4a:0a:cb  txqueuelen 1000  (Ethernet)
  RX packets 17908274  bytes 1480419362 (1.3 GiB)
  RX errors 0  dropped 3  overruns 0  frame 0
  TX packets 20180815  bytes 2908126291 (2.7 GiB)
  TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Mã:
pi@raspi4:~ $ sudo ethtool eth0
Settings for eth0:
  Supported ports: [ TP MII ]
  Supported link modes:  10baseT/Half 10baseT/Full
  100baseT/Half 100baseT/Full
  1000baseT/Half 1000baseT/Full
  Supported pause frame use: Symmetric Receive-only
  Supports auto-negotiation: Yes
  Supported FEC modes: Not reported
  Advertised link modes:  10baseT/Half 10baseT/Full
  100baseT/Half 100baseT/Full
  1000baseT/Half 1000baseT/Full
  Advertised pause frame use: Symmetric Receive-only
  Advertised auto-negotiation: Yes
  Advertised FEC modes: Not reported
  Link partner advertised link modes:  10baseT/Half 10baseT/Full
  100baseT/Half 100baseT/Full
  1000baseT/Full
  Link partner advertised pause frame use: Symmetric
  Link partner advertised auto-negotiation: Yes
  Link partner advertised FEC modes: Not reported
  Speed: 1000Mb/s
  Duplex: Full
  Port: MII
  PHYAD: 1
  Transceiver: internal
  Auto-negotiation: on
  Supports Wake-on: gs
  Wake-on: d
  SecureOn password: 00:00:00:00:00:00
  Current message level: 0x00000007 (7)
  drv probe link
  Link detected: yes

1. Test bằng speedtest-cli 2.0.2 - Tốc độ upload rất chậm:

pi@raspi4:~ $ sudo apt install speedtest-cli

pi@raspi4:~ $ speedtest-cli --version
2.0.2

Mã:
pi@raspi4:~ $ speedtest-cli
Retrieving speedtest.net configuration...
Testing from VNPT (222.254.198.xxx)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by VTC DIGICOM (Ho Chi Minh City) [7.56 km]: 3.169 ms
Testing download speed................................
Download: 62.95 Mbit/s
Testing upload speed..................................
Upload: 3.93 Mbit/s

2. Test bằng speedtest-cli 2.1.2 - Tốc độ upload OK:

pi@raspi4:~ $ sudo apt-get install python-pip

pi@raspi4:~ $ sudo pip install speedtest-cli

pi@raspi4:~ $ speedtest --version
speedtest-cli 2.1.2
Python 2.7.16 (default, Oct 10 2019, 22:02:15) [GCC 8.3.0]

Mã:
pi@raspi4:~ $ speedtest
Retrieving speedtest.net configuration...
Testing from VNPT (222.254.198.xxx)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by VTC DIGICOM (Ho Chi Minh City) [7.56 km]: 4.693 ms
Testing download speed................................
Download: 65.23 Mbit/s
Testing upload speed..................................
Upload: 64.02 Mbit/s

Em tạm kết luận:

- Có vẻ như pi4 chưa tương thích tốt với OS và phần mềm. Việc này tương tự như pi3 lúc mới ra. Phải hơn 1 năm sau khi release pi3 mới ổn định về mặt tương thích software.

- Nên theo dõi thường xuyên tốc độ upload từ pi.
 
Chỉnh sửa lần cuối:
Bên trên