2011年7月18日 星期一

Ubuntu 11.04無法使用EZ-100PU讀卡機

由於最近一年工作的環境都採用Mac OS,在開始使用Mac之前,於Ubuntu 10.04使用玉山銀行搭配EZ-100PU的讀卡機操作WebATM都是相當的順利。直到這次換工作之後才又回到Ubuntu,而很合理的就是直接安裝了目前11.04的最新版本,但今天試圖使用EZ-100PU讀卡機搭配玉山銀行的WebATM時卻無法正常操作。

研究了一下發現/etc/init.d/pcscd的服務完全沒辦法啟用,手動restart也沒有任何反應。而執行sudo pcscd -f時還會出現下列錯誤訊息:

00000000 readerfactory.c:965:RFInitializeReader() Open Port 0x200000 Failed (USB:0CA6/0010:LIBUDEV:0:/DEV/BUS/USB/004/004)
00000033 readerfactory.c:275:RFAddReader() CASTLES EZ100PU init failed.
00000037 hotplug_libudev.c:377:HPAddDevice() Failed adding USB device: CASTLES EZ100PU


此時上網搜尋了一下Google順利找到解法,原來是Ubuntu 11.04內source tree中的pcscd與libpcsclite1預設版本都是1.7.7,與pcsc_scan的pcsc-tools中版號不太一樣。執行pcsc_scan -V可以得到下列版本訊息:

PC/SC device scanner
V 1.4.17 (c) 2001-2009, Ludovic Rousseau
Compiled with PC/SC lite version: 1.5.5


只要手動下載pcscd-1.5.5-*與libpcsclite1-1.5.5-*安裝降版號即可。

pcscd-1.5.5-3ubuntu2.1 for Ubuntu maverick-updates

libpcsclite1-1.5.5-3ubuntu2.1 for Ubuntu maverick-updates

記得到/etc/apt/preferences鎖住版本,否則每次更新跳出來就會煩你一次。


Package: libpcsclite1
Pin: version 1.5.5*
Pin-Priority: 1001

Package: pcscd
Pin: version 1.5.5*
Pin-Priority: 1001

2011年7月8日 星期五

Windows 7的IP不給設定怎麼辦?! (抱頭)


自從USB Ethernet Adapter搞定之後,本來想乖乖設定個IP的,但竟然給我冒出一個"您必須安裝並啟用網路介面卡才能設定TCP/IP"的錯誤訊息,死都不給我設定就對了。問題是林北早就已經在上網中了,只是想要換個IP好過年啊!!(敲碗)

不給設定怎麼辦?這時候試想應該在Windows上會有command line指令可以讓我設定TCP/IP吧,不然微軟這麼屌的公司養這麼多工程師,怎麼可能只會寫有UI的application。上網股溝了一下,果然有這樣的東西!偉哉Microsoft!!

總之就是需要透過netsh這個指令來進行設定,但前提是你必須要使用系統管理員身分執行命令提示字元。不過由於這個教學是針對歐美國家設計的,因此經過了L10n後,指令應該要翻譯類似如下:

netsh interface ip set dns "區域連線" static 168.95.1.1

如果還搞不懂netsh怎麼用,就用netsh -h自己看一下吧,如果還是不懂就自己股溝指令吧。

備註: 但前面那個"您必須安裝並啟用網路介面卡才能設定TCP/IP"該如何是好?後來我找了一下,看來似乎是個可能的bug導致系統錯亂(不過也是因為自己亂插拔USB網卡就是了),只要把網卡在裝置管理員裡面移除又重裝就好了(煙~~)。

2011年7月7日 星期四

Apple USB Ethernet Adapter for Windows & Ubuntu

因為某些因素,不得不開始尋找USB介面的"有線"網卡,而這樣的產品在市場上簡直少之又少,更何況如果還需要支援Windows 7 64bit更是難上加難,遑論還要支援Ubuntu了。遍尋光華商場,這樣的產品根本難以買到,頂多只能找到支援Windows平台的產品,至於64bit系統就要燒香拜拜了,因為外殼往往沒有很明確的表示能否支援。


在陰錯陽差之下,無意間得知了Apple有這樣的產品,原來這個產品最初的設計是為了支援Macbook Air,因為Macbook Air實在太過輕薄,導致連RJ-45的網路接頭都超過Macbook Air的厚度了,因而會有這樣的產品出現。而且既然能夠支援Mac OS,就算用那沒有吃維骨力的膝蓋來思考,都會認為要在Windows上運作簡直是輕而易舉,進一步要支援Ubuntu更是指日可待了(煙~~~)。

很幸運的身旁的強者我同事剛好手上就有一台Macbook Air,因此就順手借來測試支援的程度。不料出身未捷身先死,一插上Windows 7馬上電腦就哀號這是無法識別的裝置。隨手上網搜尋了一下,發現都有不少的解決方法,然而照著步驟進行,卻往往得到了驅動程式無法載入的錯誤訊息,莫非這就是64bit的詛咒嗎?反而是Ubuntu 11.04輕而易舉的就隨插即用了,到底是誰說Linux支援不好的(拍桌)?!


雖然Ubuntu搞定了,但Windows不能使用總有種枉為RD卻搞不定一張網路卡的羞愧感。經過了一段時間的搜尋,推測發現這張Apple發行的USB Ethernet Adapter內所採用的晶片,應該是一個編號為AX88772的晶片,有了這個訊號,就可以接著抽絲剝繭找出兇手了。原來這晶片是由一間叫做亞信電子的公司所生產,很順利的也在這件公司的網站上找到了驅動程式可以下載。

接著試圖直接啟用這個驅動程式,但依然得到了驅動程式無法載入的錯誤。這時候試著採用之前查到的解決方法

Got it!!!終於搞定了!!雖然感覺有點像是對驅動程式進行hack,不過總之能動就是福(煙~~~~)

備註: 若還是不知道如何修改驅動程式的Ax88772.inf檔,可以到這個網站下載人家現成修改好的版本,直接蓋過從亞信下載的驅動程式內的inf就可以了。