Re: [問題] 用wine裝驅動程式..

看板Linux作者 (Rex Tsai)時間14年前 (2011/05/11 17:51), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《abo90141436 (懶得說)》之銘言: : 由於我有個裝置沒有linux的驅動程式(我的系統是xubuntu10.10), : 所以我裝wine去安裝它xp的驅動程式,結果成功的啟動了, : 有人說驅動程式是最基層的,所以一定要是linux版本的才ok : 請問那我這樣的情況,會不會有甚麼問題(我安裝的是晶片卡讀卡機). 圖文: http://bit.ly/ksfLTc [2]Wine 對於硬體驅動程式的支援 = 硬體支援概況 = 在 Wine 中接取硬體,主要有兩種模式。 一、直接介接 Linux 的 API,像是 X11, SANE, V4L, ALSA 等等。目前少數實做的硬體介 接模擬功能有圖形 (winex11.drv, winequartz.drv) 、音效以及輸入裝置 (keyboard, mouse, joystick, twain/sane) 等模擬層。另外 Wine 提供了 IoCode/Operation Code 轉譯功能,容許 Windows 程式直接存取硬體,這包含 [3]Serial Communications[2] 以 及 CDROM/ATAPI, TAPE 支援。 二、另外一種則是類似 NdisWrapper,直接載入並使用 Windows 驅動程式。目前而言負責 載入 Windows 驅動程式的 [4]NTDLL 中均未實做 [5]NtLoadDriver, [6]ZwLoadDriver 等 函式細節,只宣告為 [7]Stub Function. 因此即便驅動程式安裝程式可以順利安裝、註冊 相關驅動程式 DLLs, Wine 也不會載入這些驅動程式。 目前 Wine (1.3.19) 並沒有模擬[8]載入底層驅動程式。 = Smart Card Support = [9]Smart Card 支援問題是最常被詢問的問題之一,依據 [10]MSDN 的 [11]Smart Card Subsystem 設計,可以分為以下數層 * Smart Card Service Providers * Resource Manager * Specific Smart Card Reader Driver * Smart Card Reader Helper Library 驅動讀卡機是最基本的功能。參考 [12]Microsoft Class Drivers for USB CCID Smart Cards 的 [13]結構說明,驅動程式有兩類,一是 [14]CCID 相容硬體或 USB 廠商所提供 的驅動程式。而其上應用程式可用 Smart card resource manager (winscard.dll) 來下 達 [15]PC/SC 指令。 如上所述,Wine 並不會載入驅動程式。winscard.dll 目前也只是 stubbed functions. 不過 [16]IDRIX 的 [17]Mounir IDRASSI 開發了介接 [18]PCSC-Lite/pcscd,使 Smart card resource manager 可以透過 PCSC-Lite 提供 PC/SC Services. = USB Support = 理論上,user-mode 的 USB 驅動程式也可以透過轉譯直接存取 USB 設備,只要該軟體未 使用 ntoskrnl.exe, hal.dll, usbd.sys 以外的功能。目前官方 Wine source tree 只在 usbd.sys 中實做查詢 USB Devices 功能。 [19]Etersoft 的 Alexander Morozov 則已利用 [20]libusb 實做 [21]USB 功能,提供一 些需要使用 USB hardware token 進行硬體保護的軟體使用。這些功能未整合到 Wine 主 程式。相關程式碼位於 [22]ftp://ftp.etersoft.ru/pub/people/amorozov/usb,使用時 需要[23]手動在 registry 中加入 vendor id/product id 設定。 References: [1] http://people.debian.org.tw/~chihchun [2] http://people.debian.org.tw/~chihchun/2011/05/11/usb-and-smartcard-support-in-wine/ [3] http://msdn.microsoft.com/en-us/library/ms810467.aspx [4] http://en.wikipedia.org/wiki/Microsoft_Windows_library_files#Ntdll.dll [5] http://msdn.microsoft.com/en-us/library/ff556539%28v=vs.85%29.aspx [6] http://msdn.microsoft.com/en-us/library/ff566470%28v=vs.85%29.aspx [7] http://sp1.wikidot.com/emulatorstubfunction [8] http://wiki.jswindle.com/index.php/Drivers [9] http://msdn.microsoft.com/en-us/windows/hardware/gg487492 [10] http://msdn.microsoft.com/en-us/library/aa925241.aspx [11] http://msdn.microsoft.com/en-us/library/ms936949.aspx [12] http://msdn.microsoft.com/en-us/windows/hardware/gg487509 [13] http://msdn.microsoft.com/en-us/windows/hardware/gg487509#EUB [14] http://en.wikipedia.org/wiki/Integrated_Circuit_Card_Interface_Device [15] http://en.wikipedia.org/wiki/PC/SC [16] http://www.idrix.fr/ [17] http://blog.idrassi.com/ [18] http://pcsclite.alioth.debian.org/ [19] http://www.etersoft.ru/ [20] http://www.libusb.org/ [21] http://wiki.winehq.org/USB [22] ftp://ftp.etersoft.ru/pub/people/amorozov/usb [23] http://wiki.winehq.org/USB -- http://people.debian.org.tw/~chihchun/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 112.104.53.166
文章代碼(AID): #1DobmP29 (Linux)
文章代碼(AID): #1DobmP29 (Linux)