Fedora
是否可以將驅動程序從 Windows 複製到 Linux?
我有一個藍牙適配器,它在我的 Windows 7 (x64) 上執行良好。但是在我的 Fedora 24 (x64) 上,即使我試圖打開它,它也會一直顯示“藍牙已關閉”。
我從昨天開始就在嘗試解決這個問題,但它沒有用!我已經安裝了這些
bluez-hidhci
:bluez-utils
和gnome-Bluetooth
。他們都沒有為我工作!有任何想法嗎?謝謝!
更新:
$ lsusb ... Bus 001 Device 003: ID 0a12:0001 Cambridge Silicon Radio, Ltd $ rfkill list ... 2: hci0: Bluetooth Soft blocked: no Hard blocked: no $ dmesg | grep -i blue [ 12.067177] Bluetooth: Core ver 2.21 [ 12.067212] Bluetooth: HCI device and connection manager initialized [ 12.067218] Bluetooth: HCI socket layer initialized [ 12.067221] Bluetooth: L2CAP socket layer initialized [ 12.067232] Bluetooth: SCO socket layer initialized [ 18.619866] Bluetooth: BNEP (Ethernet Emulation) ver 1.3 [ 18.619871] Bluetooth: BNEP filters: protocol multicast [ 18.619876] Bluetooth: BNEP socket layer initialized $ hciconfig hci0: Type: BR/EDR Bus: USB BD Address: AE:2D:22:00:FF:00 ACL MTU: 344:12 SCO MTU: 180:16 DOWN RX bytes:461 acl:0 sco:0 events:17 errors:0 TX bytes:296 acl:0 sco:0 commands:17 errors:0 $ uname -a Linux local.arfed 4.5.5-300.fc24.x86_64 #1 SMP Thu May 19 13:05:32 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
回答標題中的問題:是否可以將驅動程序從 Windows 複製到 Linux?
不,不是沒有(相當多)額外的工作。
驅動程序連接到作業系統的核心,允許它“驅動”某些硬體。
Linux 核心和 Windows 核心是可以理解的非常不同的(或者它們都將被稱為“Windows”或“Linux”)。因此,不能指望能夠簡單地從 Windows 獲取驅動程序,即使它以原始碼形式提供,並使其與 Linux 核心連結,甚至可以在 Linux 系統(或任何系統上)合理乾淨地編譯它這不是為其編寫的特定 Windows 版本)。
您甚至不能從表面上相似的作業系統(例如 BSD 系統)中獲取驅動程序,然後將其導入另一個 Unix 系統而無需進行一些精細的編碼。話雖如此,“設備級別”的程式碼共享確實在免費的 Unix 系統之間不時發生,但並非沒有將程式碼安裝到新的核心基礎架構中的額外努力。
我確實相信在某些情況下,人們編寫了核心程式碼來訪問反向工程二進制驅動程序塊。這顯然需要有人坐下來查看二進制驅動程序,弄清楚它在做什麼,然後編寫適當的 Linux 核心程式碼來掛鉤它,所以這仍然不僅僅是複制驅動程序的問題。