设置单个驱动程序以使用 DKMS 从内核树自动编译

设置单个驱动程序以使用 DKMS 从内核树自动编译

我使用的是 Ubuntu 14.04,带有 Vivid 的 HWE,这意味着我现在运行的是内核 3.19,直到 15.10 发布并且内核通过 HWE 可用。

我使用的是 MacBook Pro,但我的特定蓝牙设备未被识别btusb.c因为它不在识别的设备列表中。我的设备信息是:

Bus 001 Device 003: ID 05ac:8290 Apple, Inc. 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.01
  bDeviceClass          239 Miscellaneous Device
  bDeviceSubClass         2 ?
  bDeviceProtocol         1 Interface Association
  bMaxPacketSize0        64
  idVendor           0x05ac Apple, Inc.
  idProduct          0x8290 
  bcdDevice            1.04
  iManufacturer           1 Broadcom Corp.
  iProduct                2 Bluetooth USB Host Controller

我已经验证它没有工作并且未检测到该设备,并且我相信此更改可以修复它。

我需要做的是获取我的特定 Linux 分支的源代码树,将其下载到/usr/src,将其注册为 DKMS 模块,并让它在每个内核安装上自动构建 btusb.ko 并将其插入其中。

我不清楚的是内核已经附带了 btusb,并且我不确定新编译的模块是否会覆盖内核提供的模块。有没有一种简单的方法可以做到这一点?而在内核Makefiles中,有没有办法让它只编译btusb驱动程序,而不需要编译整个内核?有没有更好、更直接的方法来做到这一点?

答案1

我已经为 3.19 内核制作了 DKMS 版本的修补 btusb.c

wget https://www.dropbox.com/s/47u2zjrkqvkf1tw/btusbmac-dkms_1.6_all.deb
dpkg -i btusbmac-dkms_1.6_all.deb

重启

如果您想查看源代码,可以右键单击 deb 文件并选择“使用存档管理器打开”,然后解压文件。您可能必须右键单击该文件夹来更改权限,以便您可以读取 /usr/src/btusbmac-1.6 中的文件

测试并确认这里

相关内容