PALMisLIFE 討論區

搜索
鹹魚爸魅力四射舞蹈教室
查看: 9385|回復: 15
打印 上一主題 下一主題

數位電子筆的 Linux (MacOS X) 支援

[複製鏈接]

27

主題

1

好友

740

積分

  • TA的每日心情
    奮斗
    2011-7-23 07:29
  • 簽到天數: 100 天

    連續簽到: 100 天

    [LV.6]常住居民II

    文章
    160
    跳轉到指定樓層
    1#
    發表於 2008-11-15 18:52 |只看該作者 |倒序瀏覽
    前幾天向某位網友購入數位電子筆 Mobile Note Taker (相當於 IOGEAR 的 GPEN200C)。
    但是,這個產品只支援 Windows 作業系統... 而我主要的作業系統是 Ubuntu...

    為了使用這個電子筆(主要是要下載筆記內容),我嘗試了幾種方式。

    第一是使用虛擬機器,讓 virtualbox 裡面的 windows 跳過 linux,自己抓這隻筆。可惜雖然 VM 裡面的 Windows 看得到這個裝置,但是安裝驅動程式時卻失敗了。

    後來,Google 居然找到有日本人為這個產品(實際上是在日本銷售的版本 MVPEN) 撰寫應用程式!這位 dayflower 強人寫了一系列的 hacking 筆記,使用 libusb 擷取裝置內容。我的日文不行,但可以看出,這位強者已經可以下載紀錄檔,並轉換成 SVG 檔案。

    我還沒有把他的程式抓下來,不過看起來要在 Ubuntu 下面使用這隻數位筆有望了...

    如果有任何進度,再和大家分享...

    [ 本文最後由 bearscorp 於 2008-11-16 09:35 編輯 ]
    已有 4 人評分分享 收起 理由
    osmond + 3 從基本到完成,步驟詳實,非常值得有數 ...
    taisani + 10 值得推薦的好文章
    HUANGLIFU + 10 Keep walking
    594079 + 10 雖然沒用到,但是還是加分先

    總評分: 分享 + 33   查看全部評分

    分享淘帖0 分享分享0 收藏收藏0 頂0 踩0

    27

    主題

    1

    好友

    740

    積分

  • TA的每日心情
    奮斗
    2011-7-23 07:29
  • 簽到天數: 100 天

    連續簽到: 100 天

    [LV.6]常住居民II

    文章
    160
    2#
    發表於 2008-11-15 22:35 |只看該作者

    Re: 數位電子筆的 Linux 支援

    目前已經安裝 libusb-0.1.12, compile 好 mvpen 程式,設定好 usb permission,但會得到下列錯誤訊息:

    usb_set_debug: Setting debugging level to 1 (on)
    skipping descriptor 0x21
    skipping descriptor 0x21
    Check that you have permissions to write to 002/002 and, if you don't, that you set up hotplug (http://linux-hotplug.sourceforge.net/) correctly.
    claim_interface: could not claim interface 0: Device or resource busy

    我確定可以 access 002/002 (group writable),但是卻沒辦法 claim interface。
    目前懷疑是 ubuntu 自動將數位筆 claim 為 hiddev,註冊 usbhid driver。
    持續更新中...
    回復

    使用道具 舉報

    27

    主題

    1

    好友

    740

    積分

  • TA的每日心情
    奮斗
    2011-7-23 07:29
  • 簽到天數: 100 天

    連續簽到: 100 天

    [LV.6]常住居民II

    文章
    160
    3#
    發表於 2008-11-16 09:32 |只看該作者

    Re: 數位電子筆的 Linux 支援

    成功了!

    使用 libusb 的好處是 portable,也就是說,理論上 MacOS X, FreeBSD 等等都可以透過 libusb access 這隻數位筆。

    前面提到 claim_interface 時失敗,因為 kernel 把數位筆當作滑鼠,自己 assign 驅動程式抓住這個裝置。google 一下,發現應該使用 usb_detach_kernel_driver_np() detach kernel driver (僅限於 linux!)。

    在 MVPEN 系列文章的第十篇裏面有一段 code:

    #ifdef LINUX
        if (! usb_claim_interface(handle, interface)) {
            if (opt_verbose)
                fputs("successfully claimed.\n", stderr);
            return 0;
        }
        if (opt_verbose)
            fprintf(stderr, "claim_interface(first try): %s\n", usb_strerror());

        if (opt_verbose)
            fputs("detaching kernel driver\n", stderr);
        if (usb_detach_kernel_driver_np(handle, interface)) {
            fprintf(stderr, "detach_kernel_driver_np: %s\n", usb_strerror());
            return -1;
        }
    #endif

    也就是原作者已經考慮到這個問題,所以我唯一改動的地方,是在程式前面加上

    #define LINUX

    viola! 現在可以透過這一篇附的程式下載紀錄檔,然後用第九篇附的 perl 程式把紀錄檔轉成 SVG 格式。不過現在的問題是,InkScape 看不懂這個程式 parse 出來的 SVG 格式...

    附件是用 GIMP 開啟,轉成 png 格式的圖檔。原圖是透明背景,貼上後變成黑色背景。

    [ 本文最後由 bearscorp 於 2008-11-16 09:37 編輯 ]

    本帖子中包含更多資源

    您需要 登錄 才可以下載或查看,沒有帳號?免費註冊

    回復

    使用道具 舉報

    27

    主題

    1

    好友

    740

    積分

  • TA的每日心情
    奮斗
    2011-7-23 07:29
  • 簽到天數: 100 天

    連續簽到: 100 天

    [LV.6]常住居民II

    文章
    160
    4#
    發表於 2008-11-16 18:38 |只看該作者

    數位電子筆電池

    電子筆的耗材可以直接買 IOGEAR 出的耗材包,但是兩隻筆心加上四顆 SR41 電池要價近 350 元。

    搜尋過發現,網路上有賣 1 顆 2 元的 SR41,另外日本品牌的 SR41W (看規格應該通用) 價格從 1 顆 20 到 35 元都有。

    SR41 標稱電量 20mAH, SR41W 45mAH。

    看起來,每顆 2 元的 SR41 比較划算,但是應該是大陸製,不曉得品質差多少?
    已有 1 人評分分享 收起 理由
    ychao + 5 值得推薦好文章!感謝心得分享。

    總評分: 分享 + 5   查看全部評分

    回復

    使用道具 舉報

    27

    主題

    1

    好友

    740

    積分

  • TA的每日心情
    奮斗
    2011-7-23 07:29
  • 簽到天數: 100 天

    連續簽到: 100 天

    [LV.6]常住居民II

    文章
    160
    5#
    發表於 2008-11-17 20:23 |只看該作者

    Re: 數位電子筆的 Linux (MacOS X) 支援

    附件為修改過的程式碼。

    原來的 Perl 程式會把所有 notes 放在一個 SVG 裡面,我小改一下,會自動分成多個檔案。

    更新:再度修改過 perl 程式,現在寫出來的 svg 檔案可以用 Inkscape 開啟編輯了。

    [ 本文最後由 bearscorp 於 2008-11-18 21:11 編輯 ]

    本帖子中包含更多資源

    您需要 登錄 才可以下載或查看,沒有帳號?免費註冊

    回復

    使用道具 舉報

    5

    主題

    0

    好友

    69

    積分

  • TA的每日心情
    奮斗
    2011-5-24 11:23
  • 簽到天數: 5 天

    連續簽到: 1 天

    [LV.2]偶爾看看I

    文章
    97
    6#
    發表於 2008-12-4 12:58 |只看該作者

    Re: 數位電子筆的 Linux (MacOS X) 支援

    大大,你真是佛心來的
    我買的筆雖然還沒到
    但是也是在擔心
    因為現在漸漸想將重心
    移至ubuntu了,不知道有沒有supportw?
    看到大大成功,就知道有救了
    我目前用8.10
    不知道您使用的是那一版?
    回復

    使用道具 舉報

    27

    主題

    1

    好友

    740

    積分

  • TA的每日心情
    奮斗
    2011-7-23 07:29
  • 簽到天數: 100 天

    連續簽到: 100 天

    [LV.6]常住居民II

    文章
    160
    7#
    發表於 2008-12-4 13:06 |只看該作者

    Re: 數位電子筆的 Linux (MacOS X) 支援

    我是用 8.04,但 8.10 應該也 ok。
    回復

    使用道具 舉報

    5

    主題

    0

    好友

    69

    積分

  • TA的每日心情
    奮斗
    2011-5-24 11:23
  • 簽到天數: 5 天

    連續簽到: 1 天

    [LV.2]偶爾看看I

    文章
    97
    8#
    發表於 2008-12-9 16:27 |只看該作者

    Re: 數位電子筆的 Linux (MacOS X) 支援

    不知道大大用過SR41了嗎 ?
    是不是堪用?
    回復

    使用道具 舉報

    27

    主題

    1

    好友

    740

    積分

  • TA的每日心情
    奮斗
    2011-7-23 07:29
  • 簽到天數: 100 天

    連續簽到: 100 天

    [LV.6]常住居民II

    文章
    160
    9#
    發表於 2008-12-9 17:59 |只看該作者

    Re: 數位電子筆的 Linux (MacOS X) 支援

    我後來買 Maxell 的 SR41W (1 顆 20),但原來的電池還沒用完,還沒機會嘗試。
    回復

    使用道具 舉報

    5

    主題

    0

    好友

    69

    積分

  • TA的每日心情
    奮斗
    2011-5-24 11:23
  • 簽到天數: 5 天

    連續簽到: 1 天

    [LV.2]偶爾看看I

    文章
    97
    10#
    發表於 2008-12-11 10:35 |只看該作者

    Re: 數位電子筆的 Linux (MacOS X) 支援

    請問大大
    make 後有錯誤,可以勞煩看看嗎?
    gcc -static -I/usr/local/include -c mvpen.c
    mvpen.c:6:17: error: usb.h: 沒有此一檔案或目錄
    mvpen.c:24: 警告: 「struct usb_bus」 在參數表內部宣告
    mvpen.c:24: 警告: 它的作用欄位僅限於此定義或宣告,這可能並不是您想要的
    mvpen.c: In function 「_get_mvpen_device」:
    mvpen.c:28: 錯誤: 提領參照不完全類型的指標
    mvpen.c:31: 錯誤: 提領參照不完全類型的指標
    mvpen.c:31: 錯誤: 提領參照不完全類型的指標
    mvpen.c:32: 錯誤: 提領參照不完全類型的指標
    mvpen.c:33: 錯誤: 提領參照不完全類型的指標
    mvpen.c: 在頂層:
    mvpen.c:42: 錯誤: expected 「)」 before 「*」 token
    mvpen.c:71: 錯誤: expected 「=」, 「,」, 「;」, 「asm」 or 「__attribute__」 before 「*」 token
    mvpen.c:100: 錯誤: expected 「)」 before 「*」 token
    mvpen.c:110: 錯誤: expected 「)」 before 「*」 token
    mvpen.c:132: 錯誤: expected 「)」 before 「*」 token
    mvpen.c:151: 錯誤: expected 「)」 before 「*」 token
    mvpen.c:179: 錯誤: expected 「)」 before 「*」 token
    mvpen.c:208: 錯誤: expected 「)」 before 「*」 token
    mvpen.c:261: 錯誤: expected 「)」 before 「*」 token


    不知接下來該如何作?

    ubuntu 8.10 預設也好像沒有安裝Inkscape
    一定要Inkscape才能讀圖嗎?
    還是其他的也可以?

    不好意思,因為是linux菜鳥,所以如有白目問題請見諒!

    [ 本文最後由 osmond 於 2008-12-11 10:53 編輯 ]
    回復

    使用道具 舉報

    27

    主題

    1

    好友

    740

    積分

  • TA的每日心情
    奮斗
    2011-7-23 07:29
  • 簽到天數: 100 天

    連續簽到: 100 天

    [LV.6]常住居民II

    文章
    160
    11#
    發表於 2008-12-11 21:08 |只看該作者

    Re: 數位電子筆的 Linux (MacOS X) 支援

    這是因為你沒有安裝 libusb
    sudo apt-get install libusb 應該就可以安裝好 libusb,
    不過系統預設的 libusb 應該是放在 /usr/lib 下面,所以你需要修改 Makefile,把裏面的
    /usr/local 全部換成 /usr (移除 /local )

    inkscape 可以編輯向量圖,GIMP 也可以開 svg 檔,但是會轉成點陣圖,應用性較低。
    sudo apt-get install inkscape 應該就可以裝好。
    我不確定是否還有其他的向量圖檔編輯程式。

    [ 本文最後由 bearscorp 於 2008-12-11 21:10 編輯 ]
    回復

    使用道具 舉報

    5

    主題

    0

    好友

    69

    積分

  • TA的每日心情
    奮斗
    2011-5-24 11:23
  • 簽到天數: 5 天

    連續簽到: 1 天

    [LV.2]偶爾看看I

    文章
    97
    12#
    發表於 2008-12-11 21:38 |只看該作者

    Re: 數位電子筆的 Linux (MacOS X) 支援

    感謝bearscorp
    不過我在套件管理裡面有看到已經有安裝libusb 0.1-4,所以我就沒有再手動安裝。
    如果要手動安裝,是要在安裝前改Makefile還是安裝後?
    回復

    使用道具 舉報

    27

    主題

    1

    好友

    740

    積分

  • TA的每日心情
    奮斗
    2011-7-23 07:29
  • 簽到天數: 100 天

    連續簽到: 100 天

    [LV.6]常住居民II

    文章
    160
    13#
    發表於 2008-12-11 22:50 |只看該作者

    Re: 數位電子筆的 Linux (MacOS X) 支援

    如果這樣,只需修改 Makefile,讓 include 和 library 路徑指到正確的位置即可。
    附件是我編好的執行檔,因為是靜態連結,所以即使沒有安裝 libusb 也應該可以執行。

    本帖子中包含更多資源

    您需要 登錄 才可以下載或查看,沒有帳號?免費註冊

    回復

    使用道具 舉報

    5

    主題

    0

    好友

    69

    積分

  • TA的每日心情
    奮斗
    2011-5-24 11:23
  • 簽到天數: 5 天

    連續簽到: 1 天

    [LV.2]偶爾看看I

    文章
    97
    14#
    發表於 2008-12-12 14:21 |只看該作者

    Re: 數位電子筆的 Linux (MacOS X) 支援

    很不好意思,雖然有bearscorp大大編譯好的執行檔,可是執行時還有錯誤,可以請大大看一下,我是那裡的問題嗎?謝謝!

    usb_set_debug: Setting debugging level to 1 (on)
    usb_os_find_devices: couldn't get connect info
    usb_os_find_devices: couldn't get connect info
    usb_os_find_devices: couldn't get connect info
    skipping descriptor 0x21
    skipping descriptor 0x21
    usb_os_find_devices: couldn't get connect info
    usb_os_find_devices: couldn't get connect info
    usb_os_find_devices: couldn't get connect info
    detach_kernel_driver_np: could not detach kernel driver from interface 0: Operation not permitted


    看起來好像一開始就跟大大的問題不太一樣說!
    現在祗確定在/dev/usb/ 下有出現hiddev0,可是再來就都沒反應了,嗚嗚嗚
    回復

    使用道具 舉報

    27

    主題

    1

    好友

    740

    積分

  • TA的每日心情
    奮斗
    2011-7-23 07:29
  • 簽到天數: 100 天

    連續簽到: 100 天

    [LV.6]常住居民II

    文章
    160
    15#
    發表於 2008-12-12 17:44 |只看該作者

    Re: 數位電子筆的 Linux (MacOS X) 支援

    看起來是權限問題

    我之前是參考 virtualbox usb 支援的相關設定,原理是修改 usb 裝置的存取權限

    你可以修改 /etc/udev/rules.d/40-permissions.rules 這個檔案,加入

    SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device",SYSFS{idVendor}=="0e20" , SYSFS{idP
    roduct}=="0101", MODE="0660", GROUP="vboxusers"

    這邊是讓數位筆 (0e20:0101) 可以被 vboxusers 群組裏面的使用者存取到。你可以改為你自己所屬的群組。

    另外有人提到可以修改 /etc/init.d/mountdevsubfs.sh 以及 /etc/fstab 以加入 usbfs 支援,但是我都沒有做這些設定。
    已有 1 人評分分享 收起 理由
    taisani + 10 非常熱心^^

    總評分: 分享 + 10   查看全部評分

    回復

    使用道具 舉報

    5

    主題

    0

    好友

    69

    積分

  • TA的每日心情
    奮斗
    2011-5-24 11:23
  • 簽到天數: 5 天

    連續簽到: 1 天

    [LV.2]偶爾看看I

    文章
    97
    16#
    發表於 2008-12-17 16:40 |只看該作者

    Re: 數位電子筆的 Linux (MacOS X) 支援

    終於成功了
    中間差一點就想放棄了說
    不過辛好bearscorp 大大不厭其煩的指導
    終於可以在我的NB Ubuntu 8.10使用電子筆了。
    感謝!
    已有 1 人評分分享 收起 理由
    taisani + 10 不屈不撓~

    總評分: 分享 + 10   查看全部評分

    回復

    使用道具 舉報

    您需要登錄後才可以回帖 登錄 | 免費註冊

    與站長聯繫| PALMisLIFE 掌上生活      下載:更快、更棒、更好玩

    GMT+8, 2024-12-23 00:04 , Processed in 0.037913 second(s), 32 queries , Gzip On.

    Powered by Discuz!

    © 2001-2012 Comsenz Inc. style by eisdl

    回頂部