2009年2月12日

Media Center Linux升級

(本文同步回覆在Linux Media Center設置心得(使用DiGiMatrix搭配Debian使用MythTV或Freevo))
在今年過年的連假,將Media Center改灌成Mythbuntu了(又一台電腦被Ubuntu佔領啦~)。
整個安裝的確方便快速很多,以往lirc需要自己重新編譯相對應的kernel module或kernel,現在已經完全不需要了,在安裝時直接可以用選單選擇,選好、安裝完畢後即可使用。

由於Ubuntu和Debian系出同源,所有原先Debian上的設定全部都可沿用,整個移機重灌的過程中,雖然沒有完全無痛~但頂多也只是小痛~非常推薦Mythbuntu。

如果是完全沒裝過Media Center,希望以Linux作為Media Center的話,強烈推薦Mythbuntu,幾乎所有以前需要辛苦的設定,Mythbuntu都只需要簡單的選單選項即可完成,不需要花費功夫處理。

關於diskless的部份,目前已經處理完畢了,這部份是整個移機過程中最痛的部份,因為Mythbuntu預設的kernel initramfs是硬碟開機,因此無法直接diskless安裝,我是先用硬碟裝好,然後複製到NFS Server上的。

而設定上,大部分參照Booting On PXE And On A Customized Debian System的設定即可,
比較不一樣需要處理的,是要修改
/etc/initramfs-tools/initramfs.conf

確定以下幾個參數:
BOOT=nfs
DEVICE=eth0
MODULES=most


首先最關鍵的是 BOOT=nfs,不設這項,則開機後會出現「/dev/nfs does not exist」,反過來如果設了,則會無法硬碟開機。

接著是 DEVICE=eth0,這裡要設定相對應的網路裝置,沒設對則開機後會造成在網路卡的位置死掉!

再來是 MODULES=most,這項可以改成 netboot,改成 most 則所有 module 都會載入。

存檔後執行
update-initramfs -u

完成後即可用diskless的系統開機了。

2009年2月3日

關於「有趣的預言&先知」

因應原網站作者早先留言,該文已於1月初即已收編,
未來該文將不再登載,原文連結將永久無效,
在此公告。

原作者留言如下:
============================
您所說的都不是根據事實
雖然發表個人文章實屬言論自由
但由於您的部分發言已經涉及到刑法上之
[譭謗罪][造謠罪][人身攻擊]
並讓該廟負責人及信眾深感不悅
本網已拍照存證
望君一個月之內拿下此篇文章
不然我們將偕同網警採取法律途徑
感謝您的合作
============================

2009年2月2日

自力開發的Java FTP Server

去年年底忙完國科會計劃書之後,就開始發瘋的用Java寫FTP Server,過年期間同樣沒有懈怠,持續發瘋中~

既然是發瘋的成果,自然成果驚人。

我寫的FTP Server取名叫做「MyFTPBox」。

和其他自己寫得程式一樣,在開發時有注意使用的套件授權。
目前MyFTPBox使用的第三方套件只有SQLiteJDBC,這個SQLite的Java API授權是BSD,非常自由。
因此目前來說,產權沒有任何問題。

MyFTPBox目前已經支援下面功能:
1. 完全支援 UTF8,啟動時偵測系統的檔案編碼,並以此作為預設編碼,FTP Client登入後,可以使用OPTS UTF8 ON支援UTF8(Linux下由於預設都已經是UTF8編碼,因此FTP Server預設編碼直接是UTF8)

2. 經過簡單的測試,看起來能夠正常支援MODE Z,MODE Z是一種壓縮技術,使用zlib作為壓縮的演算法,它會在資料傳輸過程中自動壓縮,不需要額外設定,但FTP Client同樣需要支援MODE Z,目前用CuteFTP Pro、SmartFTP測試,在使用MODE Z後,CuteFTP Pro、SmartFTP仍舊能夠正常的顯示出檔案列表,證明應該是work的

3. 流量控制,每個使用者能夠設定流量限制,但目前只能對每個連線限制流量,例如我限制10k,當同時下載2個檔案時,2個檔案都是10k

4. 極端混亂且可能有問題的虛擬檔案系統,我仿照ZFTP Server的模式設定,可以新增虛擬目錄,也可以把實體目錄對應到虛擬目錄下,但目前還有些bug(混亂原因在於,ZFTP那應該是用linklist寫的,我是用SQL寫的,SQL上資料都是平面的,而且因為欄位的關係,目前我處理目錄的方式很笨,寫得也亂)

5. 帳號管理、虛擬檔案系統均使用SQLite管理,因為都使用SQL code,因此未來很容易可以移植到mysql、M$ SQL Server,甚至M$ Access中,至於Server的設定,由於要可以指定使用的SQL Server和帳號密碼等,目前傾向另外用xml來儲存,用xml儲存的設定應該會包括Server Port、Admin Port、SQL、系統編碼

6. 簡易的Telnet管理介面,目前有實做了管理用Telnet Admin Server,目前可以用telnet的方式連入進行帳號、虛擬檔案系統的管理,未來畫出GUI的管理程式後,就可以有類似ZFTP Administraotr Interface那樣的管理程式來操作了。

7. 其他比較值得提到的,大概就是PASV/PORT mode,正式一點的FTP Server原則上都支援了,只有那種超小型的FTP Server半成品才不支援PASV mode,我的Java FTP Server能夠正常的支援PASV/PORT mode;此外,大概就是檔案列表吧~目前我的Java FTP Server支援UNIX Style檔案列表和MLSD/MLST Style檔案列表,這也是比較正式的FTP Server原則上都支援的(UNIX上的FTP Server有可能只支援UNIX Style)

整體來說,基於老王賣瓜的心裡,我認為這FTP Server還不錯,不過還需要花很多時間繼續加功能和修程式,但以功能性來說,目前Windows上主流FTP Server有的幾個功能都有支援了,不過都不夠完善就是了。
那最容易被問到的就是,既然都有了,那寫它幹嘛?它作用是?
首先,它就基本的FTP Server來說算是完成度很高的,它再加入SSH Tunnel的功能後,可以寫成類似Tunnelier這樣的SSH Tunnel程式,並且和Tunnelier一樣可以作到FTP-SFTP-Bridge的功能。
而目前Java的SSH Tunnel API很多,而且幾乎都是BSD、LGPL的,要開發Java版的SSH Tunnel並不難。
除了可以延伸寫成支援FTP-SFTP-Bridge的SSH Tunnel外,它算是我第一個檔案傳輸伺服器的程式,基本樣式完成了,未來要改成影像串流或其他檔案傳輸用的Custom Server都可以節省伺服器開發的功夫。
而這套Java FTP Server本身可能的賣點是,雖然在Windows上FTP Server選擇很多,像ZFTP Server、FileZilla Server、G6都是常見的選擇,我也是以它們為範本開發的,但首先,ZFTP Server在3.0之前都還不支援UTF8,G6要錢,FileZilla Server的管理介面非常難用。
其次,我們把場景放到Linux上,Linux上的FTP Server幾乎都強調高效能、高穩定性,但是很少可以像ZFTP Server、FileZilla Server這樣有虛擬檔案系統可以讓我們自己拉目錄,使用者管理又幾乎都跟系統帳戶綁在一起,不用系統帳戶,就要透過複雜的步驟讓FTP Server支援mysql。
對大部分人來說,僅僅希望在Linux上安裝個FTP站台,專門放mp3、動畫這樣簡單的需求,卻要搞得好像要開ftp.ntu.edu.tw這樣的大型站台。
然而對於一般性的需求,像是頻寬限制,帳戶登入時間管制之類的,卻要辛苦的k 使用手冊,找設定找半天才能作到,如果以這樣的角度來看,我認為我這套Java FTP Server是有賣點在的,因為它跨平台,又以Windows FTP Server為範本,用在Linux上反而能凸顯出它的特殊性,像MODE Z,Linux上有多少FTP Server支援它?應該很少吧~

PS:
最後附註一下,一直以來Java都號稱對網路程式開發可以很容易的設計,我一直都對此疑惑,但這次寫FTP Server,我發現Java在開發FTP Server時,其實滿容易的,Java本身幾乎支援FTP Server所需的所有功能,像MODE Z的核心zlib,Java直接就有InputStream、OutputStream可以套用,套上去就有了,像UTF8也是,直接套個InputStreamReader加個編碼就搞定了,同樣是開發FTP Server,我相信用gcc和glibc應該會複雜很多,光要把zlib library套進socket stream應該就有點麻煩了,再處理UTF8和non-UTF8應該也不是輕鬆的事。

Office 2007專用的2003選單外掛

最近把家裡自己的桌機改安裝成WinXP Pro,也許會納悶~是「XP Pro」嗎?
是的~我自己的桌機之前一直都是Win2000 & Ubuntu雙系統。
前陣子Ubuntu用比較多,這陣子Windows用比較多,兩個系統適應的都不錯。

由於Win2000沒有終端機服務,MSN又只能用可憐的7.5,加上這台電腦CPU是P4-2.4HT,卻因為Win2000對HT支援並不好,始終有個疙瘩在,因此這次過年就把他更新成XP Pro了。

因為更新成XP Pro,C碟有了很大很大的空間,所以也一併把Office從2003升級成2007。

眾所皆知的,M$不知道發甚麼神經病,把Office2007的選單介面換了,更神經的是,它竟然不提供2003選單樣式,強迫可憐的芸芸眾生只能一邊幹一邊接受(XP至少都還提供所謂的「Windows Classic Theme」)。

不過沒關係,我們廣大的網際網路,萬能的Google給了我們選擇其他選擇。

用Google以「office 2007 classic」進行搜尋會發現,大概有2~3套的國外套裝軟體提供了這樣的功能,只要安裝它並輸入序號,就能夠變身成原來2003的樣式。
如果有人跟我一樣對正版軟體有奇怪的執著,沒關係,這裡提供了一個免費的選擇,和其他自由軟體、免費軟體一樣,要好好感謝開發的作者。
Excel Add-ins這個網站作者特別針對Office2007的Word、Excel、PowerPoint、Access開發了增益集外掛,只需要下載並直接點選執行它,它就會彈出視窗問你,是否要啟用這個「看起來很危險的增益集」,二話不說,啟用它~
重新開啟程式後就會看到選單多了一項叫做「增益集」,點它之後就會看到下面出現一排熟悉的選單。

我個人覺得相當不錯,讓我很方便的就能夠適應Office2007的操作。

至於XP Pro和Office2007怎麼來的?
相信許多人都知道去年M$有提供Office2007的學生方案(話說~這應該是因為Office2007銷售太差,普及率太低的原因才提出的吧...),身為對正版軟體、免費軟體有奇怪執著的我,就以自己和老妹的名義各買一套。
至於XP Pro,最近因為M$好像要淘汰XP了,XP Pro教育版價格跟之前隨機版、升級版一樣,而隨機版、升級版都不見了,擔心未來買不到XP,因此砸錢買了一套。

至於身為Linux/FreeBSD愛好者兼免費軟體愛好者的我為啥要花錢贊助M$?
相信我,目前的XP(Win2000)、M$ Office還是有非常大的必要性,OpenOffice我不是沒在用,但因為一堆原因,它跟M$ Office就是無法完全相容,可我老闆、國科會範本、學校論文範例,都是用Word格式,在這個看老闆看學校吃飯的環境下,我也只能低頭了。
至於Linux上的wine?相信我,它對M$ Office的支援只是「不錯」,並不是「非常好」,原因包括:
1. 像我有在使用Zotero管理參考文獻,WINE的M$ Office沒辦法支援
2. WINE的M$ Office甚至不能按「ctrl + s」進行存檔動作
3. 因為WINE的中文需要額外設定,也因為額外設定的關係,M$ Office顯示的字型會和一般Windows上的Office不大一樣(設定會有些差別),讓文件看起來就不同會不一致

PS:
我會因為遠端桌面而改用XP也許看來有點可笑,不過我有原因。
目前在Windows上,效能最好、支援性最好、各平台都有Client程式的,只有俗稱遠端桌面的終端機服務
有跨平台能力的,多半直接想到VNC,我之前win2000時的確都是用VNC,不過我相信任何用過遠端桌面的人,只要用一次VNC,就會直接移除了。
VNC底層不是用DirectX寫的,因此無法像終端機服務可以遠端直接看影片,VNC也不支援音效功能,沒辦法遠端聽音樂,在棒球8搶3轉播時,我不少同學用遠端桌面直接連到宿舍,用電視棒看轉播,邊看還會邊說,影像有點lag,但這在VNC上,是完全辦不到的。
VNC檔案傳輸能力很弱,到現在~只有Windows上的VNC可以傳檔案,而且是一個檔案一個檔案傳,還要用類似FTP那種選單來傳輸,遠端桌面整合網路芳鄰,非常方便,離譜的是,Linux上的遠端桌面client(rdesktop)也支援這能力,可以把Linux的「/」對應到遠端桌面上。
此外,不知道是不是VNC protocol不好,幾乎所有用VNC核心的遠端遙控,感覺效率都不好,反應鈍鈍的,吃頻寬又兇,而且解析度差、畫面常常不會更新
至於其他的遠端遙控程式,多半都還是小眾市場,大多只提供Windows的client,Linux上無法操控。
而以遠端遙控軟體來比較,不論Windows、Linux,M$的終端機服務整體來說,相當的優秀,它吃使用的頻寬小,因為使用圖示快取,畫面品質很不錯,加上前面提到的它直接用DirectX,影像、聲音都能通,而且品質非常好,它甚至能把遠端的Printer Port、Serial Port對應過來,要達成這些條件的遠端遙控軟體真的不多,在Linux上,我認為只有NX最接近,但NX目前還無法處理影像,聲音部份會lag大約3秒。

補圖:
Word 2007


Excel 2007


PowerPoint 2007

2009年1月7日

台南永康正金宮新回信

感謝「台南永康正金宮」的意見與指教。

新回信內容如下:
=================================
[正金宮][最後通牒]
---------------------------
您好:

我們將於近日內按鈴控告

請您注意一下我們律師所寄發給您的存證信函
以及台南地方法院的傳票

非常感謝您的合作

永康正金宮
=================================

2009年1月2日

馬英九說到「正體中文」

今天元旦各新聞台都在介紹馬英九帶頭大家寫書法,我只有在國小時寫過,很久很久沒碰過了~不過這不是重點~

他提到了「正體中文」是很重要的,應該要ooxx.....

這是我第一次聽到政治人物說出「正體中文」四個字阿!

看到新聞轉述「正體中文」,有種「繁體中文」終於被正名的感覺阿!!

我認為,與其說什麼獨立、台灣國,去中國化~
還不如正視「正體字」、「Big5」...等,像現在,一群人一直說台灣國、說獨立,說不要被大陸如何如何....可是看看我們的電腦,Big5到現在還是沒有簡體、日文、韓文,人家日文系統、韓文系統可都有「正體字」的,現在主流的簡體編碼GBK也都是「正體」、簡體、日文、韓文都有。
試問以後中文電腦要使用編碼系統,會偏好GBK還是Big5?
那一直說的獨立在哪?嘴巴嗎?
要喊獨立好歹先把正體編碼弄好吧~現在全世界用正體的地區(國家)不多了,看來看去編碼只有Big5是針對正體中文,Big5都弄不好,光電腦系統都會被統一,其他還有什麼好說的?

2008年12月30日

台南永康正金宮回信

感謝「台南永康正金宮」的意見與指教。

回信內容如下:
=====================================
阿呆站長您好:

由於您一篇文章涉及到對本宮的傷害
http://ycfunet.blogspot.com/2008/01/blog-post.html

故本宮上下決議將對您提出法律程序上的訴訟

先來此函跟您知會一聲,也希望您能將您的個人資料回信過來
以便我們查察

因為若閣下不願意提供資料
我們必須在經由律師調請台北市刑九隊網路犯罪小組
再經過您所屬的Blogger網站調閱您的個人ip位址
這樣的稽查費用往返就要台幣6千多元

由於全案一但是閣下敗訴
我們告發人這裡的所有訴訟費用以及律師費用
都將由閣下來支付
也相信您不希望多出這麼多麻煩吧!

之後不過一個月
您將會收到本宮所發出的法院存證信函
或許您對於本宮及預言網存有很多誤解
但您所說的很多都不是事實
所以我們必須在法院上對您澄清
也希望您能配合後方司法的調查
非常感謝

小弟 金源
=====================================

首先,金源兄您好,自稱小弟實在太折煞我了。
我的blog如此之小都還可以被您找到,真的讓我萬分榮幸,讓我知道原來我的東西還有人在看,而且是本人,讓我看了真的非常感動。

如果您對本站blog的文章有疑慮,通知一聲我刪掉就算了,反正也不是第一次,之前有人反應我對SSD的描述有問題,我看了自知了解不足直接就刪了。

但是您直接寄了這樣一封信給我,信件內容我看得莫名其妙,既像是不滿要我拿掉,又像是要告我,也像是勒索我,還像是要詐騙我,我真的看的一頭霧水。

是不滿要我拿掉,整封信都沒提到要我拿掉?
是要告我,卻問我個人資料?
是要勒索我或詐騙我,又沒提到要多少和解金?

最後,我沒聽過刑九隊,只聽過偵九隊,我也從來不知道他們會隨意透漏個人資料給別人,況且文章中既沒有商業行為,也沒有任何不法勾當,更沒有張貼情色文章,相信管犯罪的「刑事警察局」不會沒事無聊來找我。
您提到的應該是屬於民事管轄的範圍,民事訴訟不至於要透過刑事警察來處理。

此外,我提的內容,都是您網站上自己打的,沒有多加字、也沒有少加字,其他僅是個人意見,硬要說的話,頂多侵犯個人著作,我道歉~主動拿掉~這我前面提到了,我是很樂意的!(您不也把奇摩新聞網整個網頁抓圖貼在你網站,人家最下面還註明,版權所有屬Yahoo!奇摩哩!)

最後的最後,我是個窮學生,你知道窮學生的特色是啥嗎?
1. 沒錢~我一天花費不過150,吃住在學校,死宅男一個~跟我要錢,我還希望你施捨我一點香油錢讓我生活勒!神?肚子都快餓死了~神也要救濟我阿!
2. 時間多~同樣的,身為死宅男的我,平常沒啥娛樂,不是上網看新聞、上ptt看八卦就是看日劇或台劇,你喜歡一直花錢請律師,就為了跟我耗時間,我實在也不能說什麼~
3. 到處找人求救~居士您是著名宮廟的廟主,我相信您是公平正義的化生,代表的是鏟奸除惡的神明,並不會有任何詐騙、逃漏稅、詐財、勒索的行為。如果真的有,那麼可能就是所謂的神棍,我相信刑事警察會更喜歡這樣的人

目前我的決定是,正如前面提到的,還有您以匿名方式在文章中回應的,我基於尊重您網站上的著作,畢竟那都是你寫的,原作者有意見,要求一個月內刪除,我會將該篇文章刪除,但是會照您的要求,在一個月刪掉。
不過我會把這篇永久保留,畢竟這也算是特殊的回憶阿~

2008年12月14日

免費Floppy Image軟體

現在時間都快2009年了,從我很小時候玩286時候,就已經有軟碟機(1.2MB大片、1.44MB小片)了,甚至更小時候玩Apple II時,大片的磁碟片、磁碟機(當時還不是1.2MB)就已經在用了,然而到了現在,有時候還是需要軟碟片、軟碟映像檔來開機。

在Floppy Image的工具中,名氣最響亮的就是WinImage了,可惜的是,它要花錢使用,當然,如果是偶爾需要,下載試用版用下還是很方便的。
那除了WinImage外,有沒有免費的方案呢?
我找了許久之後,找到了「Virtual Floppy Drive」,我認為這應該是免費中相當不錯的軟體了。

Virtual Floppy Drive的核心使用的是VMWare的API,透過它,我們就能夠建立、讀取、寫入映像檔,而它就是一個呼叫VMWare API的介面程式。

它的使用非常簡單,下載後,全部解壓縮到C:\VFD,然後點選vfdwin.exe並執行。
透過vfdwin.exe,我們可以建立出虛擬的A:、B:,然後透過介面將image掛載到A:、B:上,此外,它也提供格式化功能,可以方便快速的將image格式化。
除了一般的功能之外,它也提供了2.88MB的軟碟Image格式,讓我們建立出這種較特殊的Floppy Image。
這個程式可以說簡單、方便、好用。

除了Virtual Floppy Drive之外,另一個可以搭配的好用工具是Floppy Image。
Floppy Image可以讓我們方便的把上面建立好的image檔案,透過它輕鬆轉換成.exe執行檔,以後要使用,只要直接執行該檔案,就會提示插入磁碟,並且將Image寫入軟碟片,如此一來,就不用擔心別的電腦上沒有Floppy Image的軟體了。
Floppy Image現在是商業軟體,不過既然這邊提出來,自然有好康。
Floppy Image在1.5.2版之前都是freeware,可以免費使用,不過公司網站已經不提供下載了,雖然如此,我們還是可以利用偉大的google大神幫我們找到它。
Last Freeware Version提供了許多免費版變商業版的最後一版免費軟體,其中這裡就有提供Floppy Image 1.5.2的下載。

如果有在使用VMWare、VirtualBox...等VM軟體,或者系統要重灌,又或者要自製開機光碟、開機軟碟、開機USB,需要建立開機片或操作Floppy Image,上述2個軟體絕對有幫助。

2008年11月30日

EeePC新拍檔(EeePC專用轉換器)

我的EeePC就不在多做解釋了,之前提過了。

有EeePC的人不知道有沒有個困擾,就是它的變壓器沒辦法和一般NB共用,因此EeePC通常都會另外帶一顆小小看起來很可愛的變壓器,不可否認,這顆變壓器真的很小、很可愛,攜帶起來比一般NB變壓器要輕便很多,但是還是很不方便。

EeePC儘管優點很多,但是他的變壓器,和一般NB是沒辦法相容的,主要原因就是變壓器的供電電壓,一般NB的電壓是19V,而EeePC的則是12V,既然電壓不同,我們能不能做個小變壓器,讓他的電壓相同呢?

還記得之前做過電池轉5V的ARM開發板用變壓器電路,也做過19V轉5V的ARM開發板用變壓器,它的元件並不多,同樣的元件,要把19V轉12V並不難,因此我在EeePC買來沒多久就想做一個,但可惜的是,一直沒時間弄它。
上週週末和這周週末,我特別把這個電路弄出來了。

下面我們就來看圖說故事,看看成品吧!
首先看看第一張,這張是成品,也是經過遮掩後看起來最正常的一張:
寄件者 EeePC變壓器電路


接著我們慢慢越來越深入的看它,首先看它輸入的部份,它輸入部份就是一個一般的DC插頭,基本上我用的是2.5mm的插頭,一般NB變壓器通常都能插入,像台製的變壓器還能更換,那更是沒問題,至於塑膠殼的孔,我是用美工刀割的,所以並不好看:
寄件者 EeePC變壓器電路


看完了輸入端,我們看看輸出端,輸出端則是用電鑽磨出來的小開口,讓電線能夠有個出口,同樣並不很好看,但相信已經比輸入端要好的多了:
寄件者 EeePC變壓器電路


接著我們把它打開,看看它的廬山真面目,首先看看電路板的正面,看得出來元件並不多,而且我並沒有做任何處理,我使用的是LM2576-ADJ,這顆變壓IC是目前最容易取得的Switching Power IC:
寄件者 EeePC變壓器電路


再來我們看看電路板的背面,我必須說,我的銲接技術從高職到現在,始終沒有太大的進步:
寄件者 EeePC變壓器電路


接著我們看看塑膠殼的底板,這裡有點玄機,因為我的銲接中,一些地方是直接用銲錫拉的,因此比較厚,溫度也高,造成了塑膠殼底板其實會稍微燒融掉,這其實滿危險的,畢竟誰知道啥時會走火呢?
因此我在底板貼上一層鐵佛龍膠帶,沒錯~就是被大家用來貼滑鼠的鐵佛龍膠帶,我最近剛買了一卷使用... :p
鐵佛龍膠帶除了很滑(摩擦係數很低)外,他其實也可以耐高溫(可耐200度C以下)、防水、絕緣(導電係數低),因此它其實很好用,可以用在陽台、電路板、室外...等各式場合,如果你四周圍有人買了鐵佛龍膠帶,卻只是用來貼滑鼠,強烈建議跟他要一卷放著,很快就會注意到他好用的地方了。
寄件者 EeePC變壓器電路


接著,來個醜陋大集合,電路板背面和塑膠殼打洞處的合照:
寄件者 EeePC變壓器電路


最後,讓我們看看實際運作時的樣子,這張照片我們實際的把NB用的變壓器接上它,然後將它接到EeePC,EeePC就會顯示目前正在充電中,除了系統的顯示外,也可以注意到電池的燈號,它顯示橘燈,並且持續亮著,表示電池充電中:
寄件者 EeePC變壓器電路


以上就是這次EeePC新拍檔的介紹,當然,不可免俗的,來列出它的成本吧。
LM2576-ADJ NT $20(不大確定,有點忘了,約NT20~25元)
線繞電感 NT $20(工型電感比較便宜,效果相同)
精密電阻 NT $1 x 2
SMD電容 NT $25(不大確定,有點忘了,約NT20多元)
日製電容 NT $18(不大確定,有點忘了,約NT15~25元)
塑膠盒 NT $40(不大確定,有點忘了,約NT40元)
DC IN接頭 NT $5(不大確定,有點忘了,約NT5元)
DC OUT線 NT $30

總成本約 NT $150左右,比買一顆EeePC專用變壓器便宜,而且因為我之前在玩ARM開發板的變壓器時,買了上面這些零件,所以這次實際上並沒有買很多元件,只有買DC OUT線、電阻,其他都是現成的,這對現在不景氣的環境來說,可以說是非常不錯的,一方面好玩、一方面實用、一方面也省錢,可以說一石三鳥。

電子零件細節:
LM2576-ADJ
用的穩壓IC是LM2576-ADJ,LM2576是switching power的穩壓IC,它的輸入電壓可以吃8V~40V,有固定輸出版本和可調整輸出的版本,-ADJ是可調整的版本,這顆的轉換效率大概80~85%左右。

線繞電感
根據LM2576的datasheet,使用100uH的電感,電感建議用線繞電感,網路上關於電感的建議是,線繞電感比較適合Power這類功率用途,而工型電感適合在通訊類用途,不過這最後要看買得到什麼......

精密電阻
因為是用可調式的LM2576,因此需要用電阻來控制輸出電壓,專業的說法叫做分壓,為了輸出電壓的穩定性,我們不希望輸出電壓的變化太大,所以我們希望電阻的誤差小一點,因此買精密電阻,精密電阻的誤差在1%,一般的則是10%。
輸出電壓的算法是(一樣,datasheet寫的):
R2 = R1 x ( ( 輸出電壓(這邊是12V) / 1.23 ) - 1 )
根據上述算法,我使用的電阻是:
1.37k
12k

電容
LM2576需要2顆電容,一顆在輸入端,一顆在輸出端,datasheet建議用鋁製電容。
不過我去光華商場,只有看到SMD電容看起來像是鋁製電容,價格也像鋁製電容,因此輸入端我就用SMD的電容。
輸出端我找不到鋁製的電容或SMD電容,所以我買比較高級的日製電容,反正奇摩拍賣上也有人在賣日製電容,給人換在顯示卡上,我想品質應該ok。
datasheet對電容的要求是:
1. 輸入端為 100uF,輸出端為 1000uF
2. 電容的電壓規定是,電容的電壓必須比電壓(輸入端看輸入電壓,輸出端看輸出電壓)大,建議大1.5倍,datasheet解釋,這是避免突波的發生。
我使用的是:
SMD電容 100uF 50V
日製電容 1000uF 25V

這樣的規格,輸入端上到40V應該都ok,輸出12V沒問題。

二極體(上面漏掉了)
二極體要求要用蕭特基二極體,電流要求能耐3A。
耐3A的原因是,LM2576的最大輸出電流是3A,因此要能耐3A。
用蕭特基的原因是,switching power因為切換速度很快,因此二極體反應要夠快,蕭特基二極體能夠符合需要。

塑膠盒
隨意即可,不裝也ok

DC IN接頭
NB電源插的上去即可。

DC OUT線
我去國際電子廣場,拿著EeePC的變壓器對店員問,它就給我線了.... = =

datasheet的網址:
http://datasheet.eeworld.com.cn/pdf/164979_MOTOROLA_LM2576-15.html

2008年11月24日

HPLIP掃描功能終於支援HP Color LaserJet CM1015

今年年初和年中,台灣HP的彩色雷射印表機都有優惠,因此我在年中就參加了。
優惠方案原則上就是用比較便宜的價格買彩色雷射印表機,不過要寫個心得報告。
便宜多少呢?以我買的HP CM1015來說,我當時砸了NT13000左右(真的是很用力的砸下去了,我的24' LCD因此飛走了),基本上便宜個NT4000元。

家裏的印表機目前都由File Server在管理,File Server是Linux(Debian),因此使用上就有很大的限制,目前上面接了3台印表機,分別是:
Epson Photo 790
HP PSC 1315
HP Color LaserJet CM1015

由於Epson的惡習,因此目前已經停用了,而自從CM1015來了之後,主軸就幾乎都放在它身上。

在這邊我不得不說,HP印表機、掃描器、事務機對Linux的支援真的「比較好」(尤其是事務機),儘管它的支援和Windows相比,大概是天和地的分別,但已經比其他廠牌要好得多,而比較少聽過的品牌,很多都沒辦法在Linux上使用。

HP印表機、掃描器、事務機在Linux上的支援,基本上是透過一個稱之為HPLIP的OpenSource專案(HP Linux Imaging and Printing (HPLIP)),它和HP的密切程度之高,我基本上認為它應該是HP公司在維護和開發的。
透過HPLIP,在Linux上我們能夠比較方便的設定印表機、掃描器、事務機,大致來說只需要執行:
hp-setup
一問一答之間,就完成設定了,而能用的功能就是能用,不能用的功能,大概也沒機會可以用到了,真的是很方便。

CM1015有2個型號,分別在於有沒有網路的功能,價格大約差NT3000元,而這台專案機,原則上沒的挑,就是沒有網路。
不過這對我不是問題,我也不希望它有網路,畢竟接上File Server後,透過網路就能夠列印、掃描,加上File Server上數據機的傳真功能,這3000元實在沒有花的必要。

從買來的第一天開始,我就在關注HPLIP對CM1015的支援性,我本來以為這台機器不新,加上HP對Linux的支援性,應該都ok了,沒想到我還是高估了。
HPLIP一直以來,對CM1015都只支援列印功能,不支援掃描,這讓我很不舒服,畢竟花了這麼多錢,還要靠PSC 1315來掃描,那CM1015上的掃描器只是好看而已嗎.... :(

終於~HPLIP在2.8.10將CM1015的掃描功能加入了,我剛剛試用了,的確可以正常工作,這讓人非常興奮,CM1015終於正式變成事務機了。

最後提一下目前關於家中掃描、列印、傳真的整個配置:
列印部份:
使用CUPS進行列印的處理,這問題不大,設定很常見,在Windows、Linux上都能順利工作,網路列印也ok。

掃描部份:
Linux上的掃描器主要靠SANE,SANE是一個非常老牌的Linux掃描器系統,因為掃描器的硬體混亂,因此SANE本身分成前端、後端:
SANE前端:
SANE前端提供一些SANE的掃描軟體呼叫,對掃描器進行操作,在Linux上問題不大,基本上直接用xsane即可,在Windows上比較麻煩,Windows要透過TWAIN介面,而目前在Windows上TWAIN和SANE的溝通,主要是SaneTwain和XSANE,我個人認為,SaneTwain比較好用,而且順道一說,它目前的中文介面,是我幫忙翻譯的。
SANE前端要能夠讓Windows透過網路來溝通,必須要啟動saned這個daemon,只要run起來,就能夠讓其他SANE的掃描軟體透過網路和SANE前端溝通。

SANE後端:
SANE後端主要就是掃描器的驅動程式介面,各種掃描器驅動程式都可以透過SANE後端的介面,讓SANE可以支援,前面提到的HPLIP,它就是提供了SANE後端的介面,讓SANE後端可以連結HPLIP來對掃描器進行操作。

所以Linux的掃描功能,基本上只要SANE能夠搞定,一切都沒問題,要網路掃描,SANE也能做到,整體來說我是相當滿意的。

傳真部份:
我在Linux上的傳真,使用HylaFax這套傳真軟體,HylaFax分成Server和Client,File Server上安裝的自然就是HylaFax Server,而各個Client(包括Windows、Linux)都需要安裝HylaFax Client才能夠透過網路來傳真。
Linux上問題不大,GFax就支援HylaFax傳真,最慘下指令也能傳真,Windows上比較麻煩,我個人推薦Winprint HylaFAX,這套軟體能夠簡單的傳真,並且容易操作,缺點是,它無法取消傳真,也無法看目前收到的傳真。
為此,我的解決方案有2個:
1. 在File Server上另外建立一個資源分享,目錄指定到/var/spool/hylafax/recvq,這樣一來,透過網路芳鄰,就能夠簡單的瀏覽、刪除已收到的傳真。
2. 除了Winprint HylaFAX之外,另外搭配WHFC Windows HylaFAX client使用,這套軟體介面不好看,而且久久沒更新,但還算堪用。

有了上述的幾個部份互相搭配,只要在家裏,我可以透過有線網路、無線網路在任何地方直接列印、掃描、傳真任何資料,那麼~誰還需要多花NT3000元購買有網路功能的事務機呢?誰又需要購買列印伺服器呢?

2008年11月23日

我所知道的嵌入式系統

嵌入式系統是我近6年來不斷嘗試要摸索的東西,但是一直到現在,我都還沒有學會嵌入式系統。
blog一直到現在,好像也從來沒有寫過嵌入式系統相關的東西,因此就發一篇來說說我所知道的嵌入式系統。

早在8年前,我在讀二專時,當時我曾經有個疑惑,到底IP分享器是怎麼做的?
同樣是微電腦系統,IP分享器一台不過NT2000元,硬體應該跟8051差不多,那8051可以作成IP分享器?可以有網路功能?可以寫Visual C++程式嗎?
二專畢業後,我當兵去當替代役,在當時買了生平第一台,也是目前唯一一台的PDA~iPAQ 3970,當時我從網路知道,它是嵌入式系統,一些人用它來搞嵌入式的實驗和開發,因此我就買了,也嘗試灌Linux上去,還因此燒掛過2次機板,其中一次還是自費6000元換的。
當完兵回去念二技,在當時專題老師說有塊ARM的板子可以玩,我就自告奮勇,很興奮的接下來玩,在當時,我知道ARM是嵌入式系統,但不瞭解它們間的關係。
在當時,為了能夠瞭解嵌入式系統、ARM的開發,死k那厚厚的說明文件,還有參加嵌入式系統的研討會,不過對嵌入式系統一直瞭解得很模糊,直到一場在中國技術學院辦的研討會,其中一個主講者的一句話,我終於瞭解了,這也是我到現在對嵌入式系統的理解。
所謂的嵌入式系統,其實可以這樣解釋,就是「嵌入式作業系統」,它的本質,實際上就是把作業系統嵌入到某個硬體平台上,就叫做嵌入式系統。
但因為作業系統的定義其實有模糊地帶,所以嵌入式系統也被泛指各種微電腦系統,原因在於,所謂的作業系統,它可能很單純,但也可以很複雜,我們用個
while(1) {}

裡面包入幾份工作,輪流的執行,這廣義的來說就算是作業系統。
因此很多微電腦系統都號稱是嵌入式系統,說起來也不完全是錯的。

而事實上,目前大部分指的嵌入式系統,多半是指32位元處理器形成的微電腦系統,並且在上面執行Linux、BSD、WinCE、WinXP這類的作業系統,這類客制化硬體 + 流行、功能強大的作業系統,是目前多半描述的嵌入式系統。
不過事實上,現在有些8051開發板,上面搭配了網路晶片、USB晶片,甚至音效晶片,並且在上面執行8051可以執行的簡易作業系統,這其實也是嵌入式系統的成員之一。

我們可以從上面我對嵌入式系統的名詞解釋(個人的理解),我們可以發現到,嵌入式系統包含了硬體、軟體、軔體(有時也稱驅動程式),因此嵌入式系統的門檻真的很高,我認為,一個嵌入式系統的工程師,至少需要具備一部分電子能力、一部分作業系統的瞭解、還程式開發的能力,我自認目前我還不具備上述所有的能力,至少每個部份我都還欠缺很多。
但同時,我認為35歲以下的年輕人(包括快30的我),要同時具備所有能力,應該很有難度,除非25歲就進入公司,並且被公司磨練了10年才有辦法。
而我認為,嵌入式系統要入門,有人帶的情況下,至少需要3年的時間,才能瞭解這些東西。

我在研究所至今,我必須說,我很不幸的遇到了很糟的老闆,以至於我唸了第四年,能不能畢業都還很難說,但最慘的是,我因此浪費了至少2年的嵌入式學習機會,儘管我老闆號稱做嵌入式系統,但其實他幾乎不瞭解嵌入式系統,我曾經聽他說過,他說「uC/OS這樣的作業系統,根本不能稱之為作業系統」,他也不懂硬體,看到電路、組合語言就完全畏懼,但很不幸的,我認為要搞嵌入式系統,這些是必要的。
因為正如我前面說過的,uC/OS和Linux相比,是一套小作業系統,但我們要開發商品或硬體,很多時候因為各種因素的限制(成本、體積、散熱、耗電...等),我們沒辦法使用32位元處理器,沒辦法有MB級的Flash,沒辦法有鋰電池電源,但是我們需要OS,這樣的系統它還是嵌入式系統,但沒辦法使用Linux、WinCE,因此uC/OS這類小型作業系統成了必要的選項。
此外,搞嵌入式系統,寫應用程式應該已經是非常幸福的了,因為沒有莫名其妙的問題,但既然是搞嵌入式系統,相信寫應用程式的應該是少數,就算是寫應用程式,也應該是受限制的嚴重,像是沒有加密函式庫,而像是.NET?我想應該很難看到他的身影,否則公司何必一個月NT40000請你呢?外包出去可能20000一週就能搞定了。
因此搞到軔體、驅動程式的機會其實很大,那麼在一個客制化硬體中寫軔體、驅動程式,不會碰到硬體IO、不會看到組合語言的機會有多大?我個人悲觀的認為並不大,因此,我會認為我老闆只是號稱做嵌入式系統,他其實對嵌入式系統並不瞭解。

我注意到這兩年嵌入式系統已經不像4,5年前那麼神秘了,被老闆綁越久,其實越難過,因為我很早就知道要走這條路,也很早就努力在摸索,但這兩年不但沒辦法進一步研究,還被綁著沒辦法出去,我估計再過2,3年,嵌入式系統的發展會更成熟,到時候人力需求會更少,相關的人才會更多(這兩年已經有這樣的傾向了)。

我認為,嵌入式系統在2年前甚至4年前,還是一團混亂,我認為這樣的情況會越來越少,我認為嵌入式系統在未來的發展,可能有幾個方向:
1. 開發走向標準化開發,會出現統一的開發方式,統一的函式庫
2. 會出現一些認證,因為目前嵌入式的工程師,程度差異性太大,像我老闆這樣「號稱」的人很多,因此認證變得有需要
3. 各層開發能夠分離,應用程式歸應用程式,作業系統歸作業系統,硬體歸硬體,能夠更有效的分散
4. 導入軟體工程,目前的嵌入式系統很亂,經常連開發時程都不好算,能不能開發出來都很難說,但軟體開發始終需要有計劃,否則對公司來說,漫無目的的砸錢並不是辦法,如何導入軟體工程,我相信目前還算是趨勢,套我之前學長說的,軟體工程中,說到itest這類測試工具,能夠有效的對程式開發時,錯誤的問題進行處理,但在嵌入式系統,三不五時就crash,不要說程式除錯,系統都死了怎麼除?顯然,軟工在這部分還有可以著墨的地方。
5. 硬體的相容性會越來越好,很難想像,嵌入式系統從8年前到現在,光OS的porting,就幾乎是非常大的問題,就算到現在,隨便一顆處理器的微電腦系統,要找到能用的作業系統都很難,要自己porting,還是只能看天,至於公司,除了求助硬體廠商之外,少不了至少3個工程師,花上2個月的時間進行porting,完畢後可能還需要2周,1個月進行測試,除了一堆bug後,工程師才會說「應該ok了」,所以我相信,這問題會逐步改善。

其實上述的問題,儘管我不喜歡M$,但不得不說,M$在嵌入式系統的發展上,很有計畫,而且做的很不錯。
1. M$把硬體相容性用驅動程式的概念來推行,在網頁直接列出某個版本的WinCE支援哪些硬體,並且新的WinCE都能支援舊的硬體,且不斷增加。
2. M$不得不說,對OS的Support至少是還ok的,讓硬體或軔體(驅動程式)廠商在開發WinCE時,不像Linux這麼無助。
3. M$把IE、Windows Media Player...等直接移植到WinCE,這讓開發多媒體、網路的廠商,可以不用辛苦的知道mplayer怎麼porting、mozilla怎麼porting就能直接開發多媒體、網路的產品。
4. M$直接提供 .NET CF...等函式庫,它知道開發嵌入式系統時,混亂的函式庫環境造成了多大的開發麻煩。
5. M$的共享程式碼計畫和龐大的WinCE架構(WinCE的一堆API),能夠讓嵌入式開發分層化,儘管因為架構很大很亂,分層起來還是很難搞,但至少有一堆interface,讓開發上能夠輕鬆些,Linux不得不說,這方面還是很亂,其他OS就更不用說了。

基於上述這些理由,還有M$對嵌入式的行銷,不得不說M$在嵌入式的市場真的是玩真的,而且這快10年的發展,真的讓M$在嵌入式的市場搶下很大的份額,至少手機、PDA部份,它吃掉了很大一塊,M$最近的新聞是,他要搞車用電腦。

2008年9月30日

FreeBSD NFS Client 與 not responding

長久以來,我家的NAT都是用FreeBSD,這在之前文章提過了。

因為系統精簡化,因此FreeBSD上面,現在只用CFtoIDE + 2G CF(創見266x)。
在原本的計畫中,我希望用的是1G CF,無奈266x的世界中,已經是2G起跳了.... :(

有用FreeBSD的人這時可能會問:「那port和src放哪?這兩個傢伙可是很肥的耶~」
我用NFS,把它們丟到File Server(Debian)上了。

ok...重點出現了~
在上次更新完畢之後,我的NAT就一直無法連上File Server的NFS,它可以連,建立檔案或目錄有時候也正常,但只要傳輸大檔案或者持續的改寫檔案(cvsup),就會出現.....
not responding
not responding
not responding
.....

這非常麻煩,不但檔案無法繼續傳輸,還會讓整個系統當掉。
以至於我的NAT有半年以上沒有make world和更新port了,非常不舒服~

上網路找資料發現,not responding很多人問,問的人多,但回答的少,不然就是跟我情況不同。
在經過了長久的嘗試之後,我終於發現問題所在了。
現在我在fstab中NFS的options改成如下設定:
192.168.1.6:/usr/freebsd_dir/src /usr/src nfs rw,nfsv3,tcp,noauto 0 0

簡單的說,我設定FreeBSD使用NFSv3,並且使用TCP protocol,問題就全部解決了。

由解答倒推問題原因,我認為FreeBSD的NFS預設應該是用UDP,可能我這邊網路環境並不大穩定,或者Debian上網路不大穩定(我這台Debian,網路卡是用atl1的driver,會有
atl1 0000:01:00.0: tx busy
的問題),因此NFS會有問題,改用TCP後就能夠解決了。

如果有其他人也有類似的問題,也許可以試試看~

2008年9月2日

VirtualBox小發現~電池電量顯示

這是無意中發現的,原來當VirtualBox勾選ACPI的支援之後,VirtualBox的Guest OS就能夠顯示出Host OS上的電源資訊,連電池電量都能夠正確顯示,沒圖沒真相,真相如下圖:


插電之後,電池充電中的顯示如下:


以上圖片環境如下:
機器:EeePC 901
Host OS:Ubuntu 8.04
Guest OS:WinXP Home

2008年8月31日

NX Server 3.x 的新功能 (Linux上的遠端桌面)

這篇算是繼NX使用心得、新NX使用心得後,的小小新介紹。

NX細節就不說了,在目前 Linux 環境中,它算是相當優異的 遠端控制 軟體。

NX Server 2.x 甚至 1.x 有個功能,我們一直希望能提供,那就是類似 XP遠端桌面,或者 VNC 那樣(像 x11vnc那樣),可以直接操作目前 Linux 本機的畫面(在GNOME環境下,就是vino這套VNC Server提供的能力)。
這樣的功能其實在 NX Server 3.x 就已經支援了,算起來也提供了有半年以上了,不過本來一直沒注意,最近心血來潮才發現(這裡要抱怨一下,NX 的說明文件寫的真的是...,設定的部份帶個圖片就很清楚了,硬是讓我看了半天才看懂)。

那就直接進入主題了。

首先我們要先確定 NX Server 是 3.x 版,如下:


接下來我們要確定 NX Client 也是 3.x 版,如下:


NX Server 3.x 預設的設定,就能夠支援遠端桌面這樣的功能了。

接下來很容易,直接在設定部份設定如下:


使用時的連線則會顯示如下:


連線後畫面如下,而本機的螢幕畫面會更著變動:


完成。

相關設定的細節可以參考:
NX Server Administrator's Guide

2008年8月27日

EeePC 901在Ubuntu上得wireless、wired支援

正如前兩篇寫的,ITE後來送了我一台EeePC,意外的是,ITE是直接在PCHOME訂購的,所以直接就是PCHOME送來,當時送來的是EeePC 701(含webcam、白色)版本,後來經過了一番努力之後,它終於找到新主人,本來還擔心它新主人知不知道它的習性,後來面交時有詢問過,我也因此放心了,不然還擔心它會不會被遺棄或再換主人。

後來經過一番考慮後,我決定購買EeePC 901,考量因素有幾個:
1. Aspire One的SSD只有8G,而且是MLC,買SD是必要的,可是SD一張差不多就要1000,2000元
2. 除了SSD外,Aspire One的wireless只有802.11 b/g,沒有藍牙、802.11 n的支援
3. Aspire One的webcam是30萬像素,901是130萬像素
4. Aspire One的電池容量和901容量差很多

這些差異,價格差距卻在3000元,因此就決定買901了。

以上介紹完畢,正式進入這次的主題。
本篇文章同步po在mobile01的回覆中。
=================================
EeePC 在安裝 Ubuntu 時常見的問題主要是目前 Ubuntu 8.04 中的 Kernel 還不支援 EeePC 上有線、無線的網路卡,需要另外編譯 Kernel,不過.....

針對 Eee PC 的 Ubuntu Linux Kernel 已經有了,現在已經不需要辛苦的自己編譯 ralink module。

Kernel 的下載網址在Array.org EeePC Ubuntu Repository - Custom Linux Kernel,作者針對 Eee PC(包括901/1000/1000H) 製作了 Ubuntu 客制化的 Kernel Image 和 Module,並且持續提供更新。

目前它提供的 Kernel 包括下列部份:
1. Wired ethernet support (via atl1e module from Asus) (提供 EeePC 有線網路卡的 module 支援)
2. Wireless ethernet support (via rt2860sta module from Ralink) (提供 EeePC 無線網路卡的 module 支援)
3. Complete WEP and WPA wireless encryption support (via unreleased Ralink patch) (無線網路卡的 module 已經 patch 過,可以直接支援 WEP 和 WPA 無線網路模式)
4. Complete sound card support (via unreleased AlsaProject code) (完整音效卡支援)
5. ACPI with Bluetooth support (via patched eeepc-acpi module) (EeePC 內的 ACPI 能夠支援藍牙)
6. SMP enabled (for hyperthreading your Intel Atom CPU) (能支援 EeePC 中 ATOM CPU 的 HT 功能)
7. Simplified Persistent USB support (via an "always-on" patch) (USB 不知道什麼碗糕的 patch )

此外,根據網頁介紹,這個針對 EeePC 客制化的 Kernel,能讓開機時間快上 20~30 秒。
原文:Along with routine upstream updates, additional benefits include faster boot times (20-23 seconds), and pre-compiled eeepc & madwifi modules.

我的經驗是,使用它的 kernel 之後,有線網路直接就能看到,wireless 的部份還不太會開,需要 patch 讓 wireless 的功能鍵能夠動作。

設定 wireless 功能鍵,我是參考EeeUser ASUS Eee PC Forum / [HELP NEEDED] Ubuntu-Support-Script for EeePC 901/1000/1000H的這個設定。

設定方法就按照它作法即可。

這時候也許會問,我 EeePC 現在裝好 Ubuntu 8.04 就是沒網路,那這些要怎麼搞?

可以準備一個 SD,容量不拘,大概只需要 128MB 就夠了。

把前面提到的 Kernel、Module 和 wireless 功能鍵 的 patch 檔案放進 SD,連結分別是:
ACPI_scripts-EeePC_901_1000.tar.gz
Linux Kernel(linux-image-2.6.24-21-eeepc_2.6.24-21.39eeepc1_i386.deb)
Linux Module(linux-ubuntu-modules-2.6.24-21-eeepc_2.6.24-21.30eeepc3_i386.deb)

把 SD 插入 EeePC 當中,Ubuntu 就能自動找到並掛載了。

接著打開終端機,並按照下列動作操作:
1. 切換到 SD 的路徑
cd /media/disk

2. 安裝 Linux Kernel 和 Module
sudo dpkg -i linux-image*.deb linux-ubuntu-modules*.deb

3. 切換到 暫存區 路徑
cd /tmp

4. 將 wireless 功能鍵 patch 壓縮檔解開
tar zxvf /media/disk/Ubuntu_ACPI_scripts-EeePC_901_1000.tar.gz

5. 安裝 wireless 功能鍵 patch
cd Ubuntu_ACPI_scripts-EeePC_901_1000/
chmod +x install.sh
sudo ./install.sh

6. 重新開機,並享用 EeePC 上的 Ubuntu
reboot


目前我所感覺到還需要 patch 的部份,大概就是 wireless 功能鍵,上述的 patch 似乎只有 wireless 的開關,沒有 wireless開 / 藍牙開 / wireless+藍牙 開 / 全關 這樣的切換,看起來需要在翻些資料來修改它的內容,不過目前我都還沒用到 藍牙,因此這對我還不是個問題。

最後一點,以上動作我都操作過沒問題,我的環境是 EeePC 901。

2008年8月26日

Linux的RAM Disk(資料不消失版)

RAM Disk是一個非常方便的東西,尤其現在DDR2的RAM很便宜時,善用RAM Disk可以有很大的效能改善。
雖然RAM Disk已經不是什麼新鮮的東西了,但是這次我針對Linux上的RAM Disk Script加入了開/關機備份/還原的功能,應該就很少見了。

我個人認為Linux上的RAM Disk比Windows和FreeBSD來得方便好用,Linux的shm(Share Memory)實在太強大了。
在Windows上,RAM Disk的軟體不少,但多半都是切割一塊RAM當磁碟,舊版的FreeBSD上也是(FreeBSD的tmpfs實做在FreeBSD 7.0開始提供~),在Linux上,因為tmpfs技術的關係,能夠直接使用Share Memory當成檔案系統來使用,因此能讓檔案系統上的資料能複製到Share Memory當中,和其他process共用Memory。這樣的優點是,系統記憶體和RAM Disk是共用的,RAM Disk不需要額外割一塊出來,舉個例子:
假設RAM有1024MB(1G),我要512MB的RAM Disk
在Windows、FreeBSD上,系統記憶體就只剩下512MB,另外512MB變成一個RAM Disk。
而在Linux上,系統記憶體還是1024MB(1G),假如我在RAM Disk上吃掉了100MB的空間,則系統記憶體會變成924MB,而RAM Disk(Share Memory)的上限是多少?1024MB嗎?
這可以自己設定,系統預設是RAM的一半,以這例子來說,Linux預設的RAM Disk(Share Memory)就是512MB。

RAM Disk速度很快,尤其是拿來compile kernel時特別明顯,可以明顯感受到,花費的時間比較短,這要歸功於Linux Kernel Source Code很大,所以感受得出來。

另一個重要的場合大概就是Eee PC這類輕巧筆電了,輕巧筆電因為「輕巧」、「價格」...等因素,往往硬碟很小,而且硬碟經常速度很慢(EeePC 900、901的第二顆Flash,Aspire one 110的8G Flash),在無法擴充或是擴充價格很誇張時,加大RAM並善用它變得很重要,因此在輕巧筆電上設定RAM Disk,幾乎是「必要的設定」(不論是XP或Linux)。

RAM Disk的致命傷就是重開機資料就消失,稍微搜尋後可以發現,Windows上已經有不少人提供備份、還原的script,搭配XP Pro的系統原則就可以在關機時備份RAM Disk的資料,那Linux呢?就在這裡啦~~

首先,我RAM Disk的建立,是使用[閒聊]有趣的 tmpfs最後的script版本,並不是寫在/etc/fstab當中。
RAM Disk(tmpfs)的詳細介紹可以參考Tsung's Blog的拿 RAM 當硬碟來用(RAM Disk),作者把所有的tmpfs建立方法全部敘述了,內容清楚明確,非常值得參考,我使用的屬於方法一。

簡單敘述建立RAM Disk的方法:

1. 把下列script內容編輯,並存檔為/etc/init.d/mounttmpfs.sh
#!/bin/sh
#
# mounttmpdir Mount /tmp after mounvirtfs exec-ed
#
# Version: @(#)mounttmpdir 0.01 24-Dec-2004 antony shen
# 參考網址:http://moto.debian.org.tw/viewtopic.php?t=4100&highlight=shm
# 執行指令:update-rc.d mounttmpfs.sh start 37 S .
#

# Script needs to be robust and continue when parts fail,
# so we're not setting the "-e" flag.
#set -e

PATH=/lib/init:/bin:/sbin

if [ -d /dev/shm ]
then
if [ ! -d /dev/shm/tmp ]
then
echo -n "Mounting tmpfs(/tmp,/var/tmp) under /dev/shm..."

mkdir /dev/shm/tmp
mkdir /dev/shm/vtmp
chmod 1777 /dev/shm/tmp
chmod 1777 /dev/shm/vtmp
mount --bind /dev/shm/tmp /tmp
mount --bind /dev/shm/vtmp /var/tmp

echo "OK."
fi
else
echo "Failed to find /dev/shm, unable to link /tmp under it!"
fi


2. 執行
update-rc.d mounttmpfs.sh start 37 S .

3. 重新開機

4. 複製個檔案 (cp /boot/* /tmp/) 到 /tmp 執行 df,查看 /dev/shm 的使用空間有沒有變化,有變化就是成功了。

接下來,我們進一步來玩Backup/Restore的部份,如下:

1. 把下列script存檔為/etc/init.d/backuptmpfs.sh
#!/bin/sh
#
# 參考 mounttmpfs.sh 修改而成
#
# Version: @(#)backuptmpfs.sh 0.01 2008-08-26 YCFu
# 執行指令:update-rc.d backuptmpfs.sh stop 1 0 6 .
#

# Script needs to be robust and continue when parts fail,
# so we're not setting the "-e" flag.
#set -e

PATH=/lib/init:/bin:/sbin

if [ -d /dev/shm ]
then
if [ -d /dev/shm/tmp ]
then
echo -n "Backup tmpfs(/tmp) to /RAMDISK_bak.tar..."

tar -X /etc/non-list -C /tmp -cf /RAMDISK_bak.tar .
chmod 600 /RAMDISK_bak.tar

echo "OK."
fi
else
echo "Backup Fail!"
fi


2. 把下列script存檔為/etc/init.d/restoretmpfs.sh
#!/bin/sh
#
# 參考 backuptmpfs.sh 修改而成
#
# Version: @(#)backuptmpfs.sh 0.01 2008-08-26 YCFu
# 執行指令:update-rc.d restoretmpfs.sh start 38 S .
#

# Script needs to be robust and continue when parts fail,
# so we're not setting the "-e" flag.
#set -e

PATH=/lib/init:/bin:/sbin

if [ -f /RAMDISK_bak.tar ]
then
echo -n "Restore tmpfs(/tmp) from /RAMDISK_bak.tar..."

tar -C /tmp -xf /RAMDISK_bak.tar
rm /RAMDISK_bak.tar

echo "OK."
fi

3. 執行下列指令:
update-rc.d restoretmpfs.sh start 38 S .
update-rc.d backuptmpfs.sh stop 1 0 6 .


4. 執行下列指令建立排除檔案列表
touch /etc/non-list

5.完成

上述程式說明:
簡單的說,我改了2個script,一個用在關機時備份RAM Disk,一個用在開機時還原RAM Disk。

關機時備份RAM Disk的叫做backuptmpfs.sh,它會在inittab狀態為0和6時執行(放到rc0.d和rc6.d),0和6分別是關機狀態和重新開機狀態。

開機時還原RAM Disk的叫做restoretmpfs.sh,「它必須在 mounttmpfs.sh 之後執行」,它會在開機時,建立RAM Disk之後,將RAM Disk資料還原回去。
為什麼不整合到mounttmpfs.sh之中呢?
我試過了,它似乎會和mount --bind衝突,可能需要delay一點時間吧。

由於RAM Disk中,通常會放置Firefox的暫存目錄,我們不希望所有東西都備份,因此我們要設定個排除檔案名單,將特定的目錄或檔案排除。
排除名單放在/etc/non-list,只需要把不要備份的名稱加入即可
以Firefox的暫存目錄來說,Firefox會自動建立暫存目錄/tmp/Cache,我們只需要在/etc/non-list中寫上:
Cache

如果我們希望排除多個檔案或目錄,例如檔案「EEE」和目錄「Cache」,則在/etc/non-list中寫上:
Cache
EEE


備份的檔案會存在哪裡?檔名是什麼呢?
備份的檔案會存為/RAMDISK_bak.tar,會在還原後自動刪除。
此外,為了安全性的考量,/RAMDISK_bak.tar的權限會設為600。

最後,因為這是第一版,所以我並沒有將上面提到的參數設為變數,不過這幾個script並不複雜,相信稍微看一下,就能夠看懂並修改,歡迎大家修改使用,改過後記得再貼出來造福更多人。

2008年7月20日

得獎嚕~

這篇純粹是炫耀文。

話說之前ITE(經濟部資訊專業人員鑑定)有寄廣告給我(因為我有考過網路通訊類證書),說有個評比,又送MP3隨身聽、又送ASUS Eee PC,考的還是我熟悉的Linux,因此,我拿出了傳說中的小算盤撥弄了一下。
恩~扣掉報名費,但是可以賺到MP3隨身聽和證書,甚至有機會賺到Eee PC.....
划算~因此二話不說就報名了。

本來想說,賺個MP3隨身聽,然後看看成績有沒有機會拼Eee PC,沒想到第一次考試的成績都很不錯(90,90),這時候心想,Eee PC看來很有機會,這種成績,應該聽牌了吧~
於是乎又把小算盤拿出來撥弄一下,考第二次之後,報名費要多少,加上第一次的報名費要多少~
再查看一下評比的規定:
自符合評比資格之應考人開放式系統類合格成績中,取分數最高之兩科目計算
平均分數(小數點後第二位四捨五入)進行評比,若結果相同時依照以下條件順序決定優先次序:
1. 開放式系統類合格科目數多者優先。
2. 總答對題數多者優先。
3. 總作答時間少者優先。

看來要拿Eee PC,本錢要下足一點,第二次考試也要過,這樣勝率會更大、更有保障些,因此二話不說,又報名了~第二次雖然成績不非常好看(75),不過志在通過,不在分數。
因此就每天期待著評比的公佈~

最後結果出來,我果然得獎了~不過名次比我預期的要低~高手果然是無所不在的~

最近在煩惱,Eee PC是自用,還是賣掉換2代、3代,還是乾脆賣掉求現就好了。

最後介紹一下ITE(經濟部資訊專業人員鑑定),也算是對它即將送我MP3隨身聽和Eee PC的回饋。
ITE全名叫做經濟部資訊專業人員鑑定,網址如下:
ITE資訊專業人員鑑定

這個鑑定其實算是模仿MCSE、CCNA之類的IT認證而建的,雖然是標示「經濟部」,但主辦其實就是電腦技能基金會,電腦技能基金會辦理的比較有名的認證,就是TQC,專門在考Office之類的操作,考取後一樣有證書。
這張證書實際上並不很有名、也不很好用,根據我在IT公司工作的朋友說(他之前也有考),IT公司其實不大看這張證書的。
儘管如此,ITE還是有些值得一書地方。
1. ITE算是國家證書,至少是經濟部承認的證書。
2. ITE的起源很有趣,它是在「89年11月亞太經濟合作發展會議部長級會議(Asia-Pacific Economic Cooperation;簡稱APEC)」時,由日本方面向經濟部提出的建議。
3. 正如上面所說,因此ITE具有跨國性,日本也承認這個證書。

因此,儘管ITE不怎樣,但是倒是個可以玩玩的證書,考個一張、兩張放身邊,還可以不同時期考,這樣可以拿到好幾個經濟部長的印章。 :p

至於ITE的現況如何,根據我這次去考的經驗,很多高中生去考,感覺變成了技術士技能檢定的翻版,我不知道這樣是好還是不好。
其次,之前我考網路通訊類的時候,並沒有「應考指南」這樣的東西,因此說實話並不好考,感覺範圍很雜、有些地方很細(指令的參數);不過這次考試發現,已經有「應考指南」這樣的東西了,我這次考,還「送」了一本給我,到現場,也看到許多人人手一本,網路通訊類的也有。

有了這樣的東西,要過真的容易很多,就我個人的感覺,它的難易度分配大致如下:
1. Linux初階 應考指南大約200題考題,命中率大約8~9成
2. Linux進階 應考指南大約200題考題,命中率大約6~7成
3. 開放式XXX 應考指南只有40題考題,命中率沒注意,大概7~8題有出現

上述內容乃我個人的心得,不代表ITE或電腦技能基金會的立場。

至於名單中哪個是我,為了個人隱私,還是不公佈拉~

2008年7月3日

NAT轉移

好陣子沒有po些技術文件或新的電腦、電子文。

首先,最近世界性通貨膨脹+石油危機已經嚴重到連我都有明顯感受,最近在假日,都儘可能的改搭捷運了,摩托車只有在去學校時才用。
其實我最近頗疑惑,改搭捷運之後,減碳不說,到底和騎車相比,開銷是多點還是少點?

話說,NAT其實去年暑假和前年暑假其實都有進行升級,短期內其實不大需要進行更動,不過最近朋友在Y拍上看到便宜的ITX主機板,經過一番遊說之後,還是決定更換了。

這次的NAT更換計畫,其實並不算升級,因為RAM沒換(因為插槽少一個,還變小了),CPU時脈同樣都是800MHz,網路卡也是沿用之前買的Dual Port網卡,因此除了主機板之外,硬體幾乎沒太大變化,既然這樣,更換的理由是什麼?
1. NAT size縮小,為未來微型化計畫預做準備
2. 「據說」VIA EPIA系列的主機板很省電,這部份目前沒啥感受,唯一能說的是,溫度的確比較低,至少CPU風扇小了好幾號,顯示卡內建,而且不需要風扇也不會燙

既然NAT已經換裝了,接下來呢?
接續前兩次發文提到的DC-DC穩壓電路,目前的目標是,製作出主機板用的DC-DC Power Adapter,預期會跟Y拍上別人賣得功能類似,功率應該不大,但是純手工製作,成本應該不會太貴。
主機板用的DC-DC Power Adapter怎麼製作?
目前的理解是,ATX需要的電源主要有4組,分別是:
3.3V
5V
12V
-12V

因此計畫是,製作4組DC-DC穩壓電路,降壓分別如上,然後就衝啦~

而這部份,最近持續在找零件,因為之前買的那批LM2576-5都是固定5V輸出的,沒辦法製作成3.3V、12V、-12V,因此最近持續在找可調整型的DC-DC IC來使用。

NAT部分值得一提的是,這次買的ITX主機板是二手的,買回來使用後發現上面有顆電容快不行了,大概在爆炸邊緣,這電容不查則以,一查嚇死人,它可以頂頂有名的GSC電容,google上打上GSC+爆電容,就可以發現到它多有名氣了。:p
巧合的是,GSC的電容規格和我上次買的DC-DC穩壓電路需要的規格相同,而且我買的還是傳說中的固態電容,因此二話不說,就換了~
這也是我第一次自行更換主機板電容,雖然只有換一顆,但是能把主機板修好,這還是非常值得驕傲的。
至於舊的主機板(Abit KT7+杜龍800),目前考慮把它拿去網拍賣賣看,看能賣多少錢。

2008年6月27日

wii台灣版?那也叫台灣版嗎?

任天堂的wii很不錯,去年年底就已經賣到爆炸了,當時的「台灣總代理」「博優公司」跳出來說「水貨全部都是盜版的」,後來甚至說什麼「水貨沒有通過電信檢測」。
因為新聞太大了(主要是博優自己跑去NCC告狀),NCC一查,發現wii主要零件都台灣製造,出口前都經過電信檢測了... = =
而關於盜版說,因為任天堂並沒有在台灣正式販售,意思是,博優還拿不到代理權,那麼根本沒有盜版的說法,因為所謂的盜版,是台灣代理商已經取得該產品的代理,那麼就不能私下販售,但是代理商沒有拿到代理之前,盜版根本不成立。
因為以上2個說法都被戳破了,博優開始唬爛放利多,說「wii會有台灣專用版,會和中華電信合作,架設台灣專用主機」,「會有在地化的中文介面」,「價格將會多便宜多便宜」。
結果事隔將近一年,以上全部幻滅。
台灣版介面仍舊是「日文」,台灣版「沒有辦法連線伺服器」,台灣版價格「趨近於水貨,不算遊戲,定價還比較貴」,這每項每項都像一把劍,深深的、用力的刺進了苦苦等待的消費者們。

「博優」阿~現在已經是21世紀了,請不要再用30年前的方式經營電玩業了。
沒有中文介面,沒有台灣專用伺服器,這些牽拖了半天,關鍵其實就是因為技術不如人,只想做個「進出口商」,既不想、也沒能力進行產品的相關support。
最近媒體開始說,因為華人市場小...等等,但是說到底,中文介面純粹就是談判跟技術的結果,沒技術不會中文介面的製作,只是跟任天堂喊著要中文介面,怎麼可能會有~
要能夠更進一步的合作,拿出技術和工程師,加上談判才會有阿~
台灣專用伺服器的部份更是,怎麼看都像是沒技術的結果,我想主要問題還是出在伺服器的經營成本上吧~
畢竟台灣版「不能連線伺服器」,這表示問題不是在wii上,而是根本沒伺服器能連,為什麼沒伺服器連?
相信大家心中都有一把尺,任天堂台灣代理商這樣搞,我們只能祈禱,它能趕快因為市場環境被淘汰掉。
最後,還是老話~
與其接受不平等的wii待遇,還是等模擬器比較實際些~
等只要花時間,在現在世界通膨的大環境中,少花錢等於賺了~
等模擬器既不花錢,時候到了又能達到一樣的享受~

2008年6月11日

綠卡 ≠ 雙重國籍~別再混淆視聽了~

好陣子沒po blog,一來就是一篇政治文,實在是因為覺得太莫名其妙了~

最近綠色的立委真的是一群神經病,在野了就該好好反省,想想看怎樣族群融合,想想看怎樣讓台灣更進步,結果不是~在野了瞬間恢復以往本性,整天在立法院作秀搶媒體曝光,真的是讓人看了覺得噁心~

此外,我真的嚴重的覺得台灣「為數眾多」的媒體們,長點腦袋吧~
這些擺明就是作秀,還跟著聞雞起舞幹嘛阿~
多報導些國際新聞~
報導事情時,看事情深入一點,搞的像一群小學生一樣~米價漲了就一窩蜂去堵人,然後找農夫哭著說活不下去了,幹嘛這樣呢~應該去報導,米價上漲的原因,整理出幾個米價上漲的原因,讓大家瞭解確實的狀況阿~

最近幾件事情當中,最讓人莫名其妙就是「綠卡風波」,連媒體也在聞雞起舞,一直堵人問綠卡,搞的好像有綠卡的人通通都該下地獄一樣,結果搞到現在,有看到任何人或媒體解釋什麼叫做綠卡嗎?只有一直比較誰有綠卡,有多少人有綠卡,真的全部都是神經病~

何謂綠卡?
維基百科對綠卡的說明

綠卡白話的說,就是「居留許可證」,並不是「公民證」,意思是說,有綠卡不等於有雙重國籍,綠卡 ≠ 雙重國籍。

在政府的法令中有規定,「從事公職者,不能具備多重國籍」,你也許會說,我空口說白話,胡說,沒問題~來個連結:
對「政務官、民選首長宜否納入忠誠查核」之評析

其中關於公職者不能具備多重國籍的解說如下,在此轉述:
例如未具或喪失中華民國國籍、或具雙重國籍、或動員戡亂時期終止後犯內亂、外患、或有貪污行為經判刑確定,或通緝尚未結案,或判處其他有期徒刑尚未執行或執行未畢,依法停止任用,禠奪公權尚未復權等,依法均不得遴任為政務官。

內容寫的清清楚楚,政務官不能具有多重國籍,也不能喪失中華民國國籍,這就是為什麼這幾天行政院長說,政務官的指派一切合法,因為這次的任命,對多重國籍都有檢查過了。

這些綠色的立委真的是惟恐天下不亂,製造亂七八糟的假議題,這擺明就是故意把「綠卡」和「多重國籍」攪在一起,然後拿這個來做文章,所以每次都作秀,都是說綠卡,然後說雙重國籍,這根本就是混蛋。

也許會問,既然綠卡 ≠ 雙重國籍,那幹嘛要有綠卡?
簡單的說,在國外(主要是美國),有很多行為,是要求要有綠卡才能做了,像信用卡申請,就必須要有綠卡才能申請。

由於綠卡只是居留證,因此他是有期限,必須一段時間一段時間去換證才能繼續留在國外,如果該國(主要依然是美國)不繼續給綠卡,或者你離開該國(主要還是美國)很長時間不回去,你就沒有綠卡(綠卡失效),就必須出境或者無法入境。

除了這次綠色立委很可惡,亂搞假議題之外,這次藍色立委也是莫名其妙,我們給你們執政,給你們當國會最大黨不是給你們搞內鬥的,是你們說這樣行政、立法統一,效率高才投你們的。
這時候遇到這種事情,不是藍色立委跳出來跟綠色神經病一起質疑的時候,是應該跟大家解釋綠卡是什麼?為什麼這些人會需要申請綠卡?
像外交部長被質疑有綠卡我就覺得誇張,外交部長長期在國外處理事務,有綠卡才好辦事阿~難道每次都要申請簽證,等個一、兩星期再去辦嗎?

然後說行政團隊,那什麼爛解釋阿,清查政務官綠卡是ok,但是要把綠卡說明清楚阿,只說工作需要,這樣是有國際觀的人才,當然被當箭靶阿~
因為現實狀況是,10個有9個不知道綠卡跟公民權的關係,你們這樣回答,不是讓那些人更能發揮嗎!
拜託~清醒點吧~