eeepc900 linux下安裝EETI touchscreen及一些tips

一直沒有注意有新的問題..直到今天有人PM給我才發現..XDrz

這些錯誤訊息說來話長....而且都是在8.04以後的版本才會出現...

兩個除錯點:

/home/flycr/test/eGalaxTouch32/USBSrc/tkusb.h:25:27: error: asm/semaphore.h

在USBSrc目錄下的tkusb.h第25行需要semaphore.h這個標頭檔..

Symbol version dump /usr/src/linux-source-2.6.32/Module.symvers
is missing

表示找不到Module.symvers這個標示版本的檔案

基本上解決這兩個檔案路徑就可以成功make了...

一般來說安裝linux-kernel-headers檔就可以解決80%的問題

但是真的要解釋實在有點累...我也有點不記得真正的路徑在哪。

建議使用小筆電的網友安裝easy peasy...再來跟我索取tkusb.ko比較快...直接跳過make那一段。

http://www.geteasypeasy.com/

目前最新版本是easy peasy 1.6

為何安裝easy peasy而不是ubuntu:

1. Easy peasy本身就是重新編譯過的ubuntu重新發佈版,easy peasy1.6對應ubuntu10.04!!

2. ubuntu 32bit為i386,也就是只針對一般的x86 CPU(P5,P6),而easy peasy為i686,也就是針對Intel CPU P4以上等級做最佳化,效能更快!!不過也因為如此,小弟在easy peasy上編譯的tkusb.ko無法在ubuntu上使用。所以才建議大家安裝easy peasy.

3. Easy Peasy針對SSD硬碟做特別配置,可以延長其壽命

4. Easy Peasy預設為Netbook介面,只要移除netbook launcher套件就可以變成Desktop版本,並開啟Compiz 3D特效。

5. 80% 3D特效開啟正常!!順暢度我不得不說...比我的XP2500+6200桌機還順..

PS.有需要tkusb.ko的網友請PM給我...我不常檢查討論區...XDrz
今天新核心kernel-2.6.32-23剛出了,所以順手編了最新版的tkusb.ko

可以到ftp下載:

下載處

注意!有兩個目錄,下載前請先到終端機輸入uname -r察看自己的核心編號,不要下載錯了喔!!

這個tkusb.ko目前限定easy peasy1.6使用!!ubuntu的話不確定能不能使用(可能會出現invalid module format..)

安裝方法請參考第1篇,直接跳過make tkusb.ko的部份即可。

---------------------------------------------------------------------------------

使用ubuntu的網友...請用synaptic安裝linux-header-2.6.32-23及linux-source-2.6.32-23,然後按照第1篇方法編譯出modpost.o跟make tkusb.ko即可。

使用easy peasy如果想自己編譯tkusb.ko,方法同上,只不過easy peasy只有提供linux-header-2.6.32-23-pae (pae為重編過後的kernel..速度較快)及linux-source-2.6.32-23 (沒有pae)...所以會造成Module.symvers的版本號有問題...只要記得把這個檔從linux-header-2.6.32-23-pae 拷貝到linux-source-2.6.32-23即可。

不知道什麼是easy peasy跟ubuntu的網友..可以參考以下圖片:


完全企鵝化的桌面,還有華麗順暢的dock加持(有個小企鵝還在那邊看書呢),安裝觸控螢幕,用手愛怎麼翻轉視窗都沒問題。


我的媽呀...mobile01的首頁摔倒啦...dock上也有不錯看的天氣預報。


但天氣預報實在是很古老的東西...現在linux早就內建動態衛星雲圖了...,至於那個計算機..當然是在螢幕上直接按囉!!

同場加映小E的近況..


linux inside!!


編輯器之神Vim+vimperator!!

謝謝收看! Happy Hacking~
更新安裝方法:

http://140.115.31.138/~xanadu/download/eGalax/xorg.conf
xorg.conf under easy peasy 1.6,放在/etc/X11/下即可

同時我把tkusb.ko放在http://140.115.31.138/~xanadu/download/eGalax/
下,下載時請先用終端機察看系統的核心是哪一版本(終端機下指令:uname -r),下載對應版本的tkusb.ko即可。

如果找不到相應的版本,也可以把版本號跟我說,我看看能不能生一個出來。

下載完tkusb.ko之後的安裝步驟:

節錄之前的方法,但有部份修改。

打開終端機:
1.sudo -s

2.切換到tkusb.ko的所在目錄

3.insmod tkusb #看看有無錯誤訊息..如invalid format..

4.uname -r 確認kernel的版本,如2.6.32-23-generic-pae

5.cp tkusb.ko /lib/modules/2.6.32023-generic-pae/kernel/drivers/input/touchscreen/usbtouchscreen.ko

#這裡我以2.6.32-23-generic-pae為例,generic表示針對pentuim等級的cpu,pae表示移除32bit記憶體限制。

#ubuntu預設會以usbtouchscreen.ko當作eeti觸控螢幕的驅動模組,不過游標會亂跑,很多功能不能用,所以用tkusb.ko取代。


6.mknod /dev/tkpanel0 c 180 180

7.depmod -a

8.安裝eGalax Touchscreen程式。

9.重開機用sudo執行eGalaxTouch進行螢幕校正即可。

不需要的步驟:

1.blacklist不用把usbtouchscreen.ko加入

2.不需要在/etc/rc.local增加rmmod usbtouchscreen以及insmod tkusb

限制:

當升級核心時,要重新編譯tkusb.ko,因此升級核心前請3思,要看核心版本也可以進入synaptic搜尋linux-image。
不好意思
那如果3真的有那個錯誤訊息 ......insmod: error inserting 'tkusb.ko': -1 Invalid module format
要怎麼處理呢?不管繼續作?
又自己試著make出tkusb.ko .....過程對我來說挺艱辛的
不過.insmod: error inserting 'tkusb.ko': -1 Invalid module format的訊息還是一樣
我就不管還是繼續從步驟5開始弄
現在觸控可以使用了
重開機也沒有之前那樣校正設定跳掉的問題
不過......持續點擊時游標會一直跳回左上角的問題還是存在
所以無法做類似拖曳的動作.......這就不知道有沒有辦法解決了
或是我該再寫信去問一次?
覺得不會有什麼好消息就是了
.......
總之以後假如忘記帶滑鼠或是滑鼠沒電,至少不是束手無策的狀況
可以算是這台筆電ubuntu使用經驗的歷史性突破啊......T_T
非常感謝
1.invalid format錯誤訊息代表tkusb.ko與核心版本不符,所以一定要用終端機指令:uname -r確定核心的編號,再按照小弟提供的tkusb.ko版本下載並載入。

2.持續點擊會跳到左上角是因為還是使用usbtouchscreen.ko而不是tkusb.ko的緣故,如果tkusb.ko能正確載入,應該是比滑鼠還要好用一百倍...我的小筆電從來沒有接過滑鼠,用手指操控超級迅速!

4.編譯tkusb.ko的方法,以eeti最新的eGalax Touch driver為例:

a.用uname -r查詢核心編號,例如2.6.32-23-generic-pae,把這個編號記下來。

b.進入synaptic,分別安裝linux-headers-2.6.32-23-generic-pae以及linux-source-2.6.32

c.到/usr/src/應該可以看到剛剛安裝的linux-headers..跟linux-source的兩個目錄,請記得"把linux-headers目錄下的Module.symver拷貝到linux-source目錄"!!這個步驟很重要,缺少這個很容易出現invalid format錯誤訊息

d.進入linux-source的目錄,依序make oldconfig, make prepare以及make modules以產生modpost.o

e.下載eGalaxTouch後解壓縮,並進入該目錄

f.進入eGalaxTouch32/USBsrc/目錄,將Makefile檔案裡的KDIR:=修改成剛剛看到linux-source的絕對路徑

g.然後make看看...看看能不能產生tkusb.ko,並且insmod tkusb.ko看看!

f.只要出現invalid format,無論如何,這個tkusb.ko是不可能被載入,所以要先把tkusb.ko搞定!

h.回到上一篇的方法把usbtouchscreen.ko蓋掉吧!!

PS.ubuntu 10.04或easy peasy1.6沒有/etc/X11/xorg.conf這個檔案,這時要切換到tty1~6(Ctrl+Alt+F1~F6),或用另外一台linux遠端登入,將gdm停止(gdm-stop或/etc/init.d/gdm stop),然後下達Xorg -configure即可產生xorg.conf.new檔,把他copy到/etc/X11/xorg.conf後重新開機即可。

PS2.突然發現ubuntu10.04也有linux-image-26.XXX-generic-pae了..代表easy peasy1.6跟ubuntu10.04用的核心其實是一樣的,所以理論上tkusb.ko可以共用了!!(不過最新的kernel已經到32-24...EP1.6還在32-23)


可以理解eeti很難跟linux使用者解釋如何安裝他們的驅動程式,因為太超乎一般人的想像,現階段解決方法除了eeti直接跟linux kernel org合作,將他們的tkusb.ko跟著核心一起發佈,像wacom那樣(原始碼都open了應該不難),不然就是想辦法寫出相容於目前usbtouchscreen.ko的軟硬體。

當核心升級時,tkusb.ko也要跟著重新編譯,不同linux發佈版編譯的方式又會有些許不同,這也是linux的一直推廣不起來的原因之一...不過還是提一下在小筆電安裝觸控螢幕的好處...

就是您可以把"開始","最大化","最小化","關閉","視窗邊框","視窗標題"等這些古老的概念都拋棄!!保留一個乾淨美觀的桌面 ,把空間利用到最大,要放大縮小,不必對準邊框,隨意在視窗上拖拉即可,要移動視窗,更不用對準title bar...隨便抓了就可以移動,最大最小跟關閉更是一鍵就可以搞定...我的桌機也是這樣子..


沒有"開始","最大","最小","關閉",甚至是視窗標題的視窗介面...


連firefox都拋棄了網址列跟搜尋列(下),只剩下tab...你問我怎麼上網?...按一鍵就可以收信跟搜尋甚至看plurk了!完全不用滑鼠點擊

Happy hacking!
這幾天到上海出差 晚上比較有空
就再試了一次 這次總算是......搞定了?
至少游標不會亂跳了......但應該說只是比較不容易看出來吧?
開gimp 試著畫一條線 那種往左上角飛過去的筆跡問題還是存在,用點的就還好
其他的話......因為游標穩定很多
所以操作上感覺好很多
右鍵也出的來了
大約是這樣 剛成功很高興
就上來回報一聲
感謝啦
接下來要試著搞定螢幕鍵盤的功能 .....照gimp內的狀況 應該是不必試手寫了吧?
如果排除driver的問題...游標會往左上角飛去..除了觸空面板有問題..就是有破裂的疑慮,以前也有碰過這個問題,換一塊面板就好了,正常情況,應該是可以很順利的在螢幕上觸點。

另外linux下沒有手寫辨識...所以......不過如果搭上觸控螢幕..應用性也是很廣的..至少不用再帶滑鼠是真的。


點是沒問題
主要是拖東西 或是劃線.....怪異的是會依程式有不同狀況
像firefox下我想標記一段文字 就會亂跳
chrome下面就沒這問題

要說觸控面板的話......這台裝win7的時候 是ok的
真是遺憾啊

手寫軟體我有裝起來玩.......不過還不算能運作的狀況,是不知道跟我的這個問題有無關聯
螢幕小鍵盤能擋著用......但沒有注音標記Orz

有空在繼續玩 最近忙翻了
先乖乖用吧
看來要在Linux平台上使用觸控還真是一門學問啊,
小弟一直有個疑惑,
Linux上難道沒有像 Win7一樣有內建觸控驅動程式嗎?
因為說穿了不管是EETI還是 ASUS等等觸控面板,
撇開製造商本身的需求,對於觸控面板來說,
在USB的規格上他們都是HID的裝置,
所發送的觸控資料基本上沒有什麼不一樣(單就觸控螢幕而言),
有可能 EETI的 tkusb.ko可以給 ASUS使用嗎?
還是網路上可以找的到觸控面板的 generic driver呢?
謝謝
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!