2011年10月30日 星期日

[實驗報告]HD-A5 內接硬碟關機

HD-A5 灌原版韌體、PBO或PBO衍生...等SDK3韌體,其內接硬碟的馬達並不會隨機器關機而停止運轉。

本文介紹不用修改硬體就能讓2.5吋內接硬碟關機以及小部分修改就能讓3.5吋內接硬碟關機的方法。

準備動作

如果只想內接2.5吋硬碟,那就什麼都不必改。

如果想拉一條「帶電源,公對母SATA延長線」接3.5吋硬碟就要做「切斷一條線再拉一條線」的修改:

原本線路


修改線路示意圖 (SATA座的電源部分,每3 pin連在一起為一組)


實際修改完成



實現內接硬碟關機

實現內接硬碟關機很簡單:

灌SDK4韌體!


實作經驗:

1.
erise 版 ACRBO 5440

2.
淡水版 4.0.3 (上海版應該也可以)

都可以在關機後讓硬碟停止運轉。(試過2.5吋500G、3.5吋640G。原廠電源供應器可以正常驅動3.5吋硬碟)

其實它並沒有真的切斷5V、12V,因為用三用電表量,5V、12V的電壓都還在,應該是韌體在關機時丟了休眠的指令給硬碟。

至於市面上會不會買到不會休眠的SATA硬碟,這我就不知道了。

HD-A5 透過 7+15P 排線連接3.5吋 SATA 硬碟的照片:




erise 版 ACRBO 5440 的休眠耗電量測

關機後的耗電量(接3.5吋硬碟)是:


不接3.5吋硬碟的關機耗電:(宜以零點幾瓦視之)



淡水版 4.0.3 的休眠耗電量測

關機後的耗電量(接3.5吋硬碟)是:


不接3.5吋硬碟的關機耗電:




顯然 ACRBO 5440 睡的比較沉,難怪關機時間比較長。






.

2011年10月25日 星期二

[HD-A5實驗報告]前進淡水4.0.3---以修改背景圖為例

squashfs1.img 是 install.img 中最吸引人的「叢林」,它是媒體播放機的根目錄。

您對它越了解,您能變的花樣就越多。也可說是:「越好玩」。

本文的目的是幫您了解如何解開 squashfs1.img、做一個最小程度的修改(改變主畫面的背景圖)、然後再將它封包回去。



學會修改背景圖,等於打開了改機大門。

進入這個大門,可玩的東西可多了,包括減肥、增胖、自訂 IMS 項目...等等。


以下就是完整的步驟:

1.
取出 install.img 中的 squashfs1.img。。(取得方法可以參考這一篇)

2.
在磁碟C:建立 000puppy 目錄(零零零開頭是為了排在最前頭),並將 squashfs1.img 放到這個目錄下:
 



3.
準備一張1280x720 .png 圖片,並改名為 HomeMenu_BG.fsp。(檔案不要太大,原檔只有50幾K,我的替換檔是60幾K。記憶空間有限,不宜浪費。)

4.
下載 www.puppylinux.org 的 puppy-3.01-seamonkey.iso(98.8M) ,燒成光碟。

4.
啟動 PuppyLinux 光碟

5.
進入 PuppyLinux 後,要先把硬碟 mount 進來才能看到裡面的 000puppy 目錄。先按 drives 圖示,再按mount 按鈕:



之後按 Home 圖示再按「向上箭頭」就可以找到位於 /mnt/sda2/ 的 000puppy 目錄:(/mnt/sda2 由當時電腦環境決定)






接下來,我們要做的是:
a.把 squashfs1.img 解包(會自動產生並放入squashfs-root子目錄);
b. 用自製的 HomeMenu_BG.fsp 取代 /usr/local/bin/home_menu/image 裡面的HomeMenu_BG.fsp;
c.把 squashfs-root 子目錄中的所有檔案重新打包成 squashfs1.img 。

6.
點選 Console:


在 rxvt 視窗中輸入df ,記下磁碟機目錄代號,進入 000puppy 目錄,輸入將squashfs1.img 解包的指令:

unsquashfs squashfs1.img

解包後,所有的檔案都放在 squashfs-root 目錄下:




接著用自製的 HomeMenu_BG.fsp 取代 /usr/local/bin/home_menu/image 裡的HomeMenu_BG.fsp。

然後準備重新封包squashfs-root 目錄下的所有檔案:

先進入 squashfs-root 目錄,再下封包指令:

mksquashfs * ../squashfs1.img -noappend -all-root  
(新的squashfs1.img會蓋過舊的)


mksquashfs * squashfs1.img -noappend -all-root 
 (新的squashfs1.img會放在squashfs-root目錄下)




上面箭頭指出原本檔案的長度,下方箭頭指出新檔長度。


7.
結束 PuppyLinux ,回到 Windows。用新的 squashfs1.img 取代 install.img --> installimage --> package2 裡面的 squashfs1.img 再整個封包成 install.img ,這就是您的新版韌體了。

8.
完成


000puppy 目錄下的 squashfs-root 子目錄先不用急著殺掉,有空就用 Windows 瀏覽,看看哪些檔案您最有興趣修改。


2011-11-11 補充

我在 2011-11-11 依本文重做一次新的背景:


並無問題。如果有人做不出來,應該是某個環節出了差錯。

============================
2012-08-15 補充

在執行 mksquashfs 指令時,可以在視窗中看到 Creating little endian 3.0 filesystem 字串
這是重要訊息,如果您換用別的 Linux 版本,可能會看到 Creating little endian 4.0 filesystem
或 Creating little endian 3.1 filesystem ,雖然都可以壓縮,但是壓完的 squashfs1.img 都不能用。

卡莎布蘭卡韌體解開後都可以用puppy-3.01裡面的mksquashfs來壓縮,是不是有哪個 Linux
版本也內含相同版本的 mksquashfs,這個我就不知道了。



.

2011年10月24日 星期一

[HD-A5實驗報告]朝淡水4.0.2邁進---修改 install.img 中的 rcS

.

之前,我們已經練習很多次:
install.img + irfake4 + irfake_irrp + venus_ir_new.ko + 加修改過的 rcS

install.img + irfake4 + shadow_irrp.dat + venus_ir_new.ko + 加修改過的 rcS

就可以在您的機器上用原本的遙控器執行新韌體。

在修改過程,我們都是把
irfake4
irfake_irrp (或shadow_irrp.dat)
venus_ir_new.ko
這三個檔放到 /usr/local/etc 目錄下,而要修改的 rcS 也是在這個目錄中。

每個人都會問:我們可不可以事先就把這三個檔案與修改過的rcS放入install.img中?
答案是:可以的。

/usr/local/etc 這整個目錄其實是放在install.img-->installimg-->package2-->裡面的一個壓縮檔usr.local.etc.tar.bz2 中。(這部分的解開方法可以參考上一篇)

usr.local.etc.tar.bz2壓縮檔可以用 winrar 看到內容:



winrar 可以抓出 usr.local.etc.tar.bz2 裡面的檔案,但是卻放不回去。如果可以,事情就簡單多了。

要解開 usr.local.etc.tar.bz2 、放入三個檔案、修改rcS、再封包,還是靠 Linux/Unix 比較妥當。

我靠的是一張免安裝Linux光碟,如果您的筆電沒有光碟機,那就要靠 USB Linux(這裡不討論)。

以下就是完整的步驟:

1.
先在磁碟C:建立 000puppy 目錄(零零零開頭是為了排在最前頭),並且將 usr.local.etc.tar.bz2 放到這個目錄下,然後在000puppy 目錄裡面再建立一個子目錄 new : 



2.

irfake4
irfake_irrp (或shadow_irrp.dat)
venus_ir_new.ko
放入 new 這個子目錄下:



3.
下載 www.puppylinux.org 的 PuppyLinux ISO (128M) ,燒成光碟。(5.2.8版,勿用其他版本替代)

4.
啟動 PuppyLinux 光碟

5.
進入 PuppyLinux 後,要先把硬碟 mount 進來才能看到裡面的 000puppy 目錄。先按 mount 圖示:


確定磁碟機後,再按mount 按鈕:


看到/mnt/sda2 中的 000puppy 目錄了:(/mnt/sda2 由當時電腦環境決定)


/mnt/sda2/000puppy 目錄中的usr.local.etc.tar.bz2與 new 子目錄:


/mnt/sda2/000puppy/new 目錄中的三個檔案:


接下來,我們要做的是:
a.把usr.local.etc.tar.bz2解包放入 new 子目錄;
b.修改 new 子目錄中的 rcS;
c.把 new 子目錄中的所有檔案重新打包成usr.local.etc.tar.bz2 (共增加三個檔案與一個修改過的rcS)。

6.
點選 Console:


在 ROXTerm 視窗中輸入df ,記下磁碟機目錄代號,進入 000puppy 目錄,輸入將usr.local.etc.tar.bz2解包放入new子目錄的指令:

tar -jxvf usr.local.etc.tar.bz2 -C new



new 子目錄的內容變成:


7.
滑鼠右鍵點選 rcS,選 Open As Text 開始編輯,在 rcS 中加入一行:(如果之前加入的是shadow_irrp.dat,那 rcS 就不是這樣改)
/sbin/insmod /usr/local/etc/venus_ir_new.ko

再把 rcS 中的
./RootApp DvdPlayer&
./DvdPlayer&
這兩行分別改成:
/usr/local/etc/irfake4 -r -f /usr/local/etc/irfake_irrp | ./RootApp DvdPlayer&
/usr/local/etc/irfake4 -r -f /usr/local/etc/irfake_irrp | ./DvdPlayer&



修改後,存檔。

8.
進入 new 子目錄(要確認在 new 子目錄下),執行封包指令:

tar -jcvf usr.local.etc.tar.bz2 *



執行成功後,new 子目錄下多了一個 usr.local.etc.tar.bz2 :


9.
結束 PuppyLinux ,回到 Windows。用 new 子目錄下的 usr.local.etc.tar.bz2 取代 install.img --> installimage --> package2 裡面的 usr.local.etc.tar.bz2 再整個封包成 install.img ,這就是您的新版韌體了。

10.
完成



2011-12-03 補充

同樣的步驟,在執行這道指令
tar -jxvf usr.local.etc.tar.bz2 -C new
時,
在 p3-650 512M ram 的筆電上,會出現 cannot create symlink 的錯誤訊息。

但是

Celeron B800 1.5G 2G ram (HP CQ43-307TU)的筆電、
Pentium-m 1.6G 1G ram 的筆電

Sempron 2200+ 1G ram 的PC 上,都沒有問題。

為何獨獨在 p3-650 512M ram 的筆電上會出問題,原因不明。




.

2011年10月21日 星期五

[實驗報告]如何把 HD-A5 原版韌體變成基隆版3.0

1.
下載 Realtek 1073DD Mod Tools
http://www.mediafire.com/?1e77wnyfqq0iya9

2.
下載 HD-A5 原版韌體
(ycy8282網友提供下載網址 http://www.megaupload.com/?d=UDWYA2D8)

3.
下載中國杰科最新版HD220韌體
http://www.giec.cn/services.aspx

4.
解開 Realtek 1073DD Mod Tools,將所有檔案放在「桌面目錄1」視窗中:


相同方法,解開 Realtek 1073DD Mod Tools,將所有檔案放在「桌面目錄2」視窗中:



5.
解開 HD-A5 原版韌體,將 install.img copy 到「桌面目錄1」視窗中:



相同方法,解開 HD220 最新版韌體,將 install.img copy 到「桌面目錄2」視窗中。

6.
分別在「桌面目錄1」、「桌面目錄2」中執行 Unmake.bat,會分別在個別目錄中生成 installimage 子目錄:


7.
進入 installimage 子目錄,再進入 package2 孫目錄,您就會看到
bluecore.audio
video_firmware.bin
vmlinux.develop.avhdd.mars.nand.bin
三個檔案:


8.
用「桌面目錄1」(原版韌體)中的 bluecore.audio、video_firmware.bin、vmlinux.develop.avhdd.mars.nand.bin 取代「桌面目錄2」(HD220韌體)中的同名檔案。

9.
在「桌面目錄2」的最上層執行 Make.bat,就會生成新的 install.img 。這個新的檔案我們就叫它「基隆版3.0」。(因為是SDK3韌體) 

10.
完成

實驗結果:

HD220+shadow_irrp.dat
遙控器可關、不可開。
面板開關不可開、不可關。
面板紅色、藍色LED都不會亮。

HD220+原版三檔+shadow_irrp.dat
遙控器可關、可開
面板開關可開、不可關。
面板紅色、藍色LED都不會亮。


「基隆版3.0」能做什麼?

「基隆版3.0」僅僅是一種概念,它還要加上shadow_irrp.dat 或 irfake_irrp 及其相關程式碼才能在您的機器上用遙控器運作。

「基隆版3.0」並不完美,也不能保證能做什麼,所以才會那麼期待能見到您的「基隆版3.0.1」、「基隆版3.1.7」...。

基於sdk4 的 「淡水版4.0」也是相同的概念。


下一步

修改 1073 韌體可分「模組層次」以及「細節層次」兩部分。上面介紹的方法屬「模組層次」,很簡單,不是嗎?

至於藏在 squashfs1.img、usr.local.etc.tar.bz2...等壓縮檔中的「細節層次」就比較繁瑣,以後有機會再說。





.

2011年10月20日 星期四

[實驗報告]HD-A5 上海版變淡水版 可遙控開/關

1.
下載 上海版卡莎布蘭卡0608韌體
http://203.174.34.134/Shanghai-1073.html

2.

http://patriot-box-office.wikidot.com/pbo-alternative-custom-firmwares
下載
ACRBO 3966 Euro image

3.

ACRBO 3966 的三個檔案:
bluecore.audio
video_firmware.bin
vmlinux.develop.avhdd.mars.nand.bin
取代
上海版卡莎布蘭卡0608同名三檔。
實作可參考這裡

4.
這個新誕生的韌體,我們就叫他「淡水版卡莎布蘭卡4.0」(因為SDK4)

5.
下載 irfake4  (http://code.google.com/p/irfake/downloads/list)

6.
下載給淡水版卡莎布蘭卡4.0參考用的 shadow_irrp.dat :
(本檔只適合 WDTV+BenQ DT-090T遙控器使用。您必須自己編適合您遙控器使用的 shadow_irrp.dat )


7.
強刷淡水版卡莎布蘭卡4.0

8.
Telnet 登入 HD-A5

Copy 下面三個檔案
irfake4
shadow_irrp.dat (您自己編的遙控器轉換碼)
venus_ir_new.ko

/usr/local/etc

在 /usr/local/etc/rcS 檔案最前面加入以下兩行:

/sbin/insmod /usr/local/etc/venus_ir_new.ko
/usr/local/etc/irfake4 -R&

Reboot

9.
完成


HD-A5 跑淡水版卡莎布蘭卡4.0的改變:

遙控器可以開、可以關。
面板開關可以開、不能關。
面板紅色LED會亮。


一些優點:

1.操作順暢。

2.介面比大部分SDK3韌體美觀。

3.螢幕上動態顯示功能圖示,提高操作方便性:


4.有卸除隨身碟、外接硬碟的功能。

5.播放影片時,「向右鍵」變成「往前跳30秒」;「向左鍵」變成「往後跳10秒」。
「往前跳30秒」、「往後跳10秒」是為了更方便「跳過廣告片段」而設計。
針對「廣告」片段(DVB-t錄影檔很常見),「往前跳30秒」、「往後跳10秒」真的比「快轉鍵」好用。

6.可播放DTS檔。
DTS檔可上網找:
dts_orchestra.vob
dts_sonic_landscape.vob
hd_dts_orchestra_long_lossless.m2ts
hd_dts_orchestra_short.m2ts
hd_dts_sfx_short_lossless.m2ts

7.關機時,內接硬碟會跟著停止運轉。





.

2011年10月19日 星期三

[實驗報告]HD-A5 面板開關變 SW3

這是HD-A5面板開關的六條線:


藍色LED線經680歐姆電阻接藍色LED。
紅色LED線經1K歐姆電阻接紅色LED。
POWER ON/OFF
地線
IR data : 紅外線接收器接收到的遙控碼經由此線傳送
VCC:紅外線接收器的供電

POWER ON/OFF 原本是拉到下圖黃色箭頭所指之處,只要把它改接到粉紅箭頭的針腳,面板開關立刻變 SW3:


上圖中的紅黑細線是之前 DIY SW3 的接線。


面板變成SW3之後會有什麼影響?

要看韌體。

1.
對HD-A5原版韌體而言,遙控器可開可關,藍光紅光正常,面板不可開不可關,面板開關可當SW3強刷。

2.
對中國PBO144通用韌體(註)而言,遙控器可關不可開,藍光紅光不亮,面板可關不可開,面板開關可當SW3強刷。

3.
對杰科HD220韌體而言,遙控器可關不可開,藍光紅光不亮,面板可關不可開,面板開關可當SW3強刷。

4.
對ACRBO 5440韌體而言,遙控器可關不可開,藍光紅光不亮,面板可關不可開,面板開關可當SW3強刷。

5.
對「HD-A5原版+ACRBO 5440韌體」而言,遙控器可關不可開,藍光紅光不亮,面板可關不可開,面板開關可當SW3強刷。

6.
對上海卡莎布蘭卡0608韌體而言,遙控器可關不可開,只有紅光會亮,面板可關可開,面板開關可當SW3強刷。

以上2,3,4,5,6 均以外掛 irfake_irrp 方式測試。


若以外掛 shadow_irrp.dat 方式測試:

5.
對「HD-A5原版+ACRBO 5440韌體」而言,遙控器可關可開,藍光紅光不亮,面板可關不可開,面板開關可當SW3強刷。



註:
基於PBO144通用韌體的衍生版本為了解決遙控器問題,合併了HD-A5原版韌體中的部分模組。



2011-11 補充

參考這張照片:


這是原本的面板開關:


DIY一個SW3之後,變成有兩個開關:(如果只是把A線移到B點,那就變成只有一個B開關)


藍線顯示這兩個針腳原本就是相通的:


AB之間有大約1.52V的電位差,dsanwen網友提供的方法是將紅線兩端針腳直接短路:(有無潛在影響,我尚未百分百確認)


這樣就變成兩個開關當一個開關來用:






.

2011年10月17日 星期一

[實驗報告]HD-A5 燒錄上海版卡莎布蘭卡0608韌體

<刷機有風險,應審慎為之>


1.
下載 上海版卡莎布蘭卡0608韌體
http://203.174.34.134/Shanghai-1073.html

2.
下載 irfake4  (http://code.google.com/p/irfake/downloads/list)

3.
下載給上海版卡莎布蘭卡0608用的 irfake_irrp


4.
直接強刷上海版卡莎布蘭卡0608韌體

燒錄畫面:(進度顯示100%,還要等待大約50秒才會繼續)


重開機後會停留在初始畫面:(此時已經可以連上網路)


5.
Telnet 登入 HD-A5 (輸入 root 按 enter)

6.
Copy 下面三個檔案
irfake4
irfake_irrp
venus_ir_new.ko

/usr/local/etc


/usr/local/etc/rcS 檔案最前面加入一行:
/sbin/insmod /usr/local/etc/venus_ir_new.ko

將rcS中的
./RootApp DvdPlayer&
改成
/usr/local/etc/irfake4 -r -f /usr/local/etc/irfake_irrp | ./RootApp DvdPlayer&

再將rcS中的
./DvdPlayer&
改成
/usr/local/etc/irfake4 -r -f /usr/local/etc/irfake_irrp | ./DvdPlayer&


Reboot


7.
重新啟動後看到新介面:


有「裝置移除」功能,可安全卸除隨身碟、外接硬碟:


網路多媒體:


台灣電視台:


檔案瀏覽模式下的第一種小選單:(可改變檔案顯示方式或類別)


檔案瀏覽模式下的第二種小選單:(可對檔案進行進一步處理)


操作檔案時有相關圖示提醒,十分方便:


DVD觀賞模式下的小選單:(可叫出其他功能)


訊息顯示:


選時(goto):


漢語輸入:(我接USB數字鍵盤,可正確輸入)


HD-A5 燒錄上海版0608韌體後的控制機制:

遙控器可關不可開,紅色LED會亮,面板開關不可開不可關,DIY SW3 可以開可以關、長按可以強刷。


讓灌了上海卡莎布蘭卡0608韌體的HD-A5可以使用WD TV遙控器的irfake_irrp

WD TV的遙控器只有17鍵,但是用間接的方式還是可以操作大部分常用功能:




WD TV 遙控器無法再擠進兩個音量大小按鈕,只好借用 BenQ DT-090T 機上盒的音量按鈕:



irfake_irrp_WDTV_HDA5_上海卡莎布蘭卡0608.rar