Fedora

是否可以將驅動程序從 Windows 複製到 Linux?

  • September 13, 2017

我有一個藍牙適配器,它在我的 Windows 7 (x64) 上執行良好。但是在我的 Fedora 24 (x64) 上,即使我試圖打開它,它也會一直顯示“藍牙已關閉”。

我從昨天開始就在嘗試解決這個問題,但它沒有用!我已經安裝了這些bluez-hidhcibluez-utilsgnome-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 核心程式碼來掛鉤它,所以這仍然不僅僅是複制驅動程序的問題。

引用自:https://unix.stackexchange.com/questions/334093