設為首頁fbYouTubeWhatsapp頻道IG

Post76.hk

搜索
查看: 4472|回覆: 21

[CAS音響] SBT 代替品 Router As SqueezeBox Player ~ 教學篇 ~

  [複製鏈接]

62

主題

2297

回帖

2

精華

鑽石玩家

Rank: 12Rank: 12Rank: 12

積分
323388

76 榮譽忠義勲章

發表於 2013-12-5 21:04 | 顯示全部樓層 |閱讀模式

如果想睇到更多76師兄嘅分享,快啲登入成為會員啦!

您需要 登入 收看或下載更多內容。還未成為會員?成為會員

x
本帖最後由 jackt 於 2013-12-14 15:41 編輯

引言

由於這篇文章內容主要講述,如何安裝一個路由器成為SBT代替品,所以內容只是有關串流系統的播放器部分,如果師兄有需要建立 Logitech Media Server,請參考其他文章。

有關硬件

- 任何舊款無線路由器 (Wireless Router),可以到 OpenWRT 的 Web Site 看看硬件是否支援 http://wiki.openwrt.org/toh/start ,路由器需要有 USB 2.0 介面
- 支援標準 USB 2.0 DAC (電腦術語稱為音效卡)
- USB 接線
- 一台電腦作設定用途
- NAS/Windows/Mac 作LMS
- 可連接Internet的家用有線網絡
- 網絡接線

作為自建系統,用戶最好有簡單網絡知識,及一般 Command Line 使用知識。

安裝過程

安裝時有需求連接或拔除網絡,首先使用電腦上網下載有關Firmware (OpenWRT一般稱作Firmware,類似路由器的叫法),電腦離線後再直駁Router,Flash路由器系統成為 OpenWRT firmware,將路由器及電腦接上家用網絡,進入路由器系統並改裝成為串流播放器,開啟瀏覽器連接LMS,完成及享受音樂。

相關步驟

1) 選擇適當的 Firmware 下載,可到 http://downloads.openwrt.org/ 下載不同版本,現時stable版為 Attitude Adjustment,但我比較喜歡最新trunk版,可到 http://downloads.openwrt.org/snapshots/trunk/  下載,Trunk版支援硬件較多,而且使用最新 Linux Kernel,所以支援度較高,但因為是unstable版,可能有些少bug出現,不過以OpenWRT來說,一般都穩定,又因為每數天更新,所以會有前後版本不兼容情況,其實安裝之後很少更新,除非有不穩定情況。

下載時請留意,一般會有 Factory 和 Sysupgrade 兩個版本,作為播放器只需要簡單系統,所以選擇 Factory 版,就算使用sysupgrade版,也需要安裝factory版,之後再升為sysupgrade版。

由於小弟使用 TP-Link TL-WR1043ND,內容會以 TP-Link TL-WR1043ND 作例子。

*注意:有部分型號會有不同硬體版本,下載時要留意版本,如果使用錯誤版本,路由器可能會變成磚頭。

選擇適當型號版本 (型號 TL-WR1043ND,硬體版本 V1,Factory版)
http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-tl-wr1043nd-v1-squashfs-factory.bin

Download correct version.jpeg

下載後將檔案存到電腦內

2a) Flash Firmware,如果第一次安裝OpenWRT系統,請參照以下內容,如果已經安裝了OpenWRT系統,可跳到 2b) 更新Firmware:

首先用網絡線將電腦連接到路由器,將電腦IP地址設成同一網絡但不同地址,
例:電腦IP為 192.168.1.2,路由器IP為 192.168.1.1

在瀏覽器 Address 輸入 192.168.1.1,輸入 user name 和 password,選取 Firmware Upgrade,選擇檔案並開始更新。



*注意:更新時,請不要拔除網絡或電源,如果出現問題,可使路由器變成磚頭。

2b) 更新Firmware,由於OpenWRT經常有新版本,如果本身裝有舊版,可根據以下內容,更新最新版本,由於作為播放器只需要簡單系統,請選擇 Factory 版。

選擇適當型號版本,可按滑鼠右鍵複製連接網址,打開 Terminal,登入後再到/tmp資料夾,下載firmware,再進行升級。

> cd /tmp
> wget http://downloads.openwrt.org/sna ... quashfs-factory.bin
> sysupgrade -v /tmp/openwrt-ar71xx-generic-tl-wr1043nd-v1-squashfs-factory.bin

系統進行升級時,需要等一般短時間,升級後會從新起機,然後再登入和安裝程式。

3) 登入系統,打開 Terminal / Command Prompt,輸入 telnet 192.168.1.1 (預設IP地址) 直接登入,如果使用其他網絡地段,請更改電腦IP地址。也可以同時打開本文章和Terminal,Copy and paste 文章指令到Terminal上。

> telnet 192.168.1.1

telnet 1.jpeg

開始登入時是不需用戶名稱及密碼,以後需要密碼時,可輸入指令 passwd 更改密碼,而一般用戶名稱為 root,之後可用 ssh root@192.168.1.1 登入系統 (Windows 用戶可用 putty),但用戶不一定需要更改密碼,除非家用網絡出現不安全情況。

telnet 2.jpeg

4) 停用不需要的服務,輸入以下指令:

> /etc/init.d/dnsmasq disable
> /etc/init.d/6relayd disable

disable services.jpeg

以上兩個服務在 TL-WR1043ND firmware 為內定,但不是每一個型號也存在這兩個服務,頭一個為NAT/DNS服務,作為播放器不需要使用,第二個為IPv6服務,其他型號不一定存在,當然可以自己檢查有沒有其他不需要的服務,使用指令 ps 便可看到現行服務,但dropbear及telnet一定需要存在的,請不要把它們關掉,如果不知道是甚麼服務,也不需要關掉他們。

5) 設定網絡,登入後可以輸入以下指令,設定網絡IP地址,如果使用其他IP地址,可以將以下的 192.168.1.11 改成自己網絡的地址,注意gateway即是上網的路閘,如果使用其他地段,請將所有地段改成家用網絡的地段,例:家用Router IP為 192.168.0.1,將IP頭三個數字 192.168.1 改成 192.168.0。

> uci set network.lan.ipaddr=192.168.1.11
> uci set network.lan.gateway=192.168.1.1
> uci set network.lan.dns=192.168.1.1
> uci commit

set network.jpeg

設定後可使用以下指令看看網絡設定:

> uci show network

show network.jpeg

如果沒有問題,可以重新開機,將播放器接電腦上的網絡線除下,並將播放器接上家用網絡,重新開機指令如下:

> reboot

指令 reboot 會即時截斷連線,會有一段時間不能使用這個 Terminal 程式,如果想快,可以重新開啟 Terminal 程式。

取消電腦自定IP,再將電腦接入家用網絡。

6) 安裝 USB 支援驅動程式,OpenWRT系統內,Kernel Modules、Modules、Libraries、Programs都可能以Packages型式存在,這亦是OpenWRT最方便的地方,可以安裝任何支援的程式或驅動裝置,只需要輸入簡單指令便可以進行安裝。每當安裝Package之前,請先 update package list,播放器需要使用Internet下載Packages,所以要確保播放器可以連接上網,檢查連線可用指令 ping www.yahoo.com,之後可按 Ctl-C 停止 ping 命令,再輸入以下指令安裝Packages:

> opkg update
> opkg install kmod-usb-audio kmod-sound-core

package update.jpeg

install usb audio.jpeg

可能安裝完後不能自動上掛上驅動程式,可重新 reboot,重啟後會自動上掛。

7) 安裝 ALSA,ALSA 為 Linux Sound 的標準,大部分程式會使用這個標準 Library,可輸入以下指令安裝ALSA:

> opkg update
> opkg install alsa-lib alsa-utils

install alsa.jpeg

以上基本 Packages 已經安裝完成。

8) 安裝 Squeezelite,(假設安裝在/root目錄內,登入時的位置) 輸入以下指令直接安裝:

> wget http://squeezelite.googlecode.com/files/squeezelite-mips-ar71xx
> chmod 755 squeezelite-mips-ar71xx

install squeezelite.jpeg

因為下載後,這個程式不能執行,要使用 chmod 指令將它改為可執行檔。

9) 執行程式,輸入以下指令:

> ./squeezelite-mips-ar71xx
或背景執行 (測試時可使用)
> ./squeezelite-mips-ar71xx -o hw:0,0 &
又或者開機自動執行,修改 /etc/rc.local,(假設Squeezelite安裝在/root目錄內) 以後開機便會自動執行,先copy以下指令
/root/squeezelite-mips-ar71xx -o hw:0,0 &
> vi /etc/rc.local
使用 cursor 移到 exit 之上位置,按 i,再paste,按 [esc],輸入 :wq,按 [return],完成。

edit rc.jpeg

Squeezelite 可輸入其他參數,參考 https://code.google.com/p/squeezelite/ 設定,不加參數時使用內定值,也會自動尋找LMS,例:參數 -o 設定音效卡,如 -o hw:0,0 ,多於一張卡時可自定那張輸出,使用第二張 -o hw:1,0。

10) 檢查 USB Sound,安裝完成後,可使用簡單指令檢查音效設備。

> cd /proc/asound
> ls
如果出現 card0,表示已找到音效卡。

check usb dac.jpeg

> cd /proc/asound/card0
> cat stream0
可看到現時音效卡處理的內容。

stream.jpg

檢查處理內容前,必須使用瀏覽器開LMS網址,播LMS內歌曲時才有 Running 顯示。

以下為方便大家,將有關改裝指令集合,當大家對以上步驟有所了解,直接使用以下指令更為便捷。

安裝播放器使用指令 (可直接 copy and paste)

--- 直駁路由器,flash firmware 後,登入 ---
/etc/init.d/dnsmasq disable
/etc/init.d/6relayd disable
uci set network.lan.ipaddr=192.168.1.11
uci set network.lan.gateway=192.168.1.1
uci set network.lan.dns=192.168.1.1
uci commit

reboot
--- 接上家用網絡後,登入 ---
opkg update
opkg install kmod-usb-audio kmod-sound-core
reboot
-- 重新啟動後,登入 ---

opkg update
opkg install alsa-lib alsa-utils
wget http://squeezelite.googlecode.com/files/squeezelite-mips-ar71xx
chmod 755 squeezelite-mips-ar71xx

簡單指令

ls 列出目錄內容,如 ls、ls -l
cd 轉變目前的目錄,如 cd /root、cd /tmp、cd ..
cat 瀏覽文件內容,如 cat /etc/rc.local、cat stream0
ps 檢查現時執行程式或服務


補充

其實一般路由器速度十分慢,只有足夠能力應付高清WAV檔傳輸,所以不建使用路由器內的CPU資源做解壓,故建議在LMS設定所有檔案轉成PCM或Native選項。

另外,如果有師兄想買全新路由器作串流播放器,小弟建議使用 TP-Link TL-WR1043ND V2,因為CPU速度較高,實試頗為暢順。

評分

參與人數 4威望 +35 金錢 +32 收起 理由
hkcl614 + 3 精彩報告
chhanthony + 10 + 10
sealteam4 + 12 + 12 精彩分享教學
JKC710 + 10 + 10

查看全部評分

0

主題

22

回帖

0

精華

新仔玩家

Rank: 1

積分
277
發表於 2013-12-5 21:47 | 顯示全部樓層
感谢师兄的教学贴!心急没等到师兄的教学贴就着急刷了,刷好后因为连不上网络,自己改了network,wireless,现在变砖了,ping不通192.168.1.1了,telnet开始还可以连上,ssh无法连接,修改passwd,提示只读,之后一会儿,telnet也连不上了,好在我还有TTL线,明天救砖

62

主題

2297

回帖

2

精華

鑽石玩家

Rank: 12Rank: 12Rank: 12

積分
323388

76 榮譽忠義勲章

 樓主| 發表於 2013-12-5 22:29 | 顯示全部樓層
thinzhang 發表於 2013-12-5 21:47
感谢师兄的教学贴!心急没等到师兄的教学贴就着急刷了,刷好后因为连不上网络,自己改了network,wireless ...

我以前也試過有這樣情況出現,應該是網絡的問題,無論如何也不能用網絡方式連接,最後只能用TTL方式去連接,原因是無線網絡上的設定錯誤,所以在這裡不打算寫無線網絡設定,其中一樣無線網絡不宜傳較高頻率的音源,其次它會制造噪音,所以不建議使用。

這是一個很好的學習機會,我也經過不同的失敗,才得到少少成果,希望師兄繼續學習,將來必有所成。

0

主題

22

回帖

0

精華

新仔玩家

Rank: 1

積分
277
發表於 2013-12-5 22:42 | 顯示全部樓層
jackt 發表於 2013-12-5 22:29
我以前也試過有這樣情況出現,應該是網絡的問題,無論如何也不能用網絡方式連接,最後只能用TTL方式去連 ...

谢谢师兄鼓励!受教了!我这人的性格是不撞南墙不回头,撞了南墙也不回头,越挫越战!呵呵,正好学习练手。

評分

參與人數 1威望 +10 金錢 +10 收起 理由
jackt + 10 + 10 值得大家學習,努力!

查看全部評分

62

主題

2297

回帖

2

精華

鑽石玩家

Rank: 12Rank: 12Rank: 12

積分
323388

76 榮譽忠義勲章

 樓主| 發表於 2013-12-6 10:03 | 顯示全部樓層
本帖最後由 jackt 於 2013-12-6 11:15 編輯

各位 QuteHD / HiFace DAC 的用家,小弟最近compile咗 HiFace driver 做 package,各位可用以下方法安裝,但因小弟的QuteHD已賣出,所以沒有試這個driver能否運作,如果有師兄能作出測試,敬請提出答案。

方法一
> opkg --nodeps install http://jackhomenet.no-ip.biz:60080/kmod-sound-hiface_3.10.21-1_ar71xx.ipk

方法二
> cd /tmp
> wget http://jackhomenet.no-ip.biz:60080/kmod-sound-hiface_3.10.21-1_ar71xx.ipk
> opkg --nodeps install kmod-sound-hiface_3.10.21-1_ar71xx.ipk

0

主題

22

回帖

0

精華

新仔玩家

Rank: 1

積分
277
發表於 2013-12-14 13:54 | 顯示全部樓層
哈哈!谢谢师兄!4530R搞定!
4530.jpg

62

主題

2297

回帖

2

精華

鑽石玩家

Rank: 12Rank: 12Rank: 12

積分
323388

76 榮譽忠義勲章

 樓主| 發表於 2013-12-14 15:02 | 顯示全部樓層
thinzhang 發表於 2013-12-14 13:54
哈哈!谢谢师兄!4530R搞定!

0

主題

22

回帖

0

精華

新仔玩家

Rank: 1

積分
277
發表於 2013-12-15 11:15 | 顯示全部樓層
师兄,发现个bug,重启路由后,squeezelite会丢失。已经添加到启动项了,
# Put your custom commands here that should be executed once
# the system init finished. By default this file does nothing.

/root/squeezelite-mips-ar71xx -o hw:0,0 -n 4530R-BOX

exit 0

62

主題

2297

回帖

2

精華

鑽石玩家

Rank: 12Rank: 12Rank: 12

積分
323388

76 榮譽忠義勲章

 樓主| 發表於 2013-12-15 11:25 | 顯示全部樓層
thinzhang 發表於 2013-12-15 11:15
师兄,发现个bug,重启路由后,squeezelite会丢失。已经添加到启动项了,
# Put your custom commands here ...

謝謝,還可以再加個 "&",

/root/squeezelite-mips-ar71xx -o hw:0,0 -n 4530R-BOX &

因為之前沒有詳測,可能有其他問題,加了之後會好少少。

62

主題

2297

回帖

2

精華

鑽石玩家

Rank: 12Rank: 12Rank: 12

積分
323388

76 榮譽忠義勲章

 樓主| 發表於 2013-12-15 11:36 | 顯示全部樓層
thinzhang 發表於 2013-12-15 11:15
师兄,发现个bug,重启路由后,squeezelite会丢失。已经添加到启动项了,
# Put your custom commands here ...

可能加個 mac address 會好一些

-m <mac addr>         Set mac address, format: ab:cd:ef:12:34:56

師兄可以試試!
您需要登錄後才可以回帖 登錄 | 成為會員

本版積分規則  允許回帖郵件提醒樓主

重要聲明:本討論區是以即時上載留言的方式運作,Post76玩樂討論區對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意 見,並非本網站之立場,讀者及用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,讀者及用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本討論區受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者及用戶發現有留言出現問題,請聯絡我們。Post76玩樂討論區有權刪除任何留言及拒絕任何人士上載留言 (刪除前或不會作事先警告及通知 ), 同時亦有不刪除留言的權利,如有任何爭議,管理員擁有最終的詮釋權 。用戶切勿撰寫粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。權利。
快速回復 返回頂部 返回列表