我不确定你遇到了什么问题,但我可以在 Ubuntu 18.04 下编译并安装驱动程序。我在编译过程中确实遇到了一些错误,我修复如下:
Error 1:
/opt/DigitalPersona/urusdk-linux/Linux/drivers/source/usbdpfp/usbdpfp.h:186:5:
错误:未知类型名称“wait_queue_t”
/opt/DigitalPersona/urusdk-linux/Linux/drivers/source/usbdpfp/usbdpfp.c:606:9:
错误:函数“copy_from_user”的隐式声明;你的意思
‘raw_copy_from_user’? [-Werror=隐式函数声明]
---以及一堆相关的编译错误---
解决方案:
在 /opt/DigitalPersona/urusdk-linux/Linux/drivers/source/usbdpfp/usbdpfp.h 中,替换
wait_queue_t wait;
with
wait_queue_entry_t wait;
Error 2:
选择/DigitalPersona/urusdk-linux/Linux/drivers/source/usbdpfp/usbdpfp.c:2186:22:
错误:函数“signal_pending”的隐式声明;你的意思
‘计时器挂起’? [-Werror=隐式函数声明]
解决方案:
a) 在 /opt/DigitalPersona/urusdk-linux/Linux/drivers/source/usbdpfp/usbdpfp.h 中,替换:
#include <linux/sched.h>
with
#include <linux/sched/signal.h>
b) 在 /opt/DigitalPersona/urusdk-linux/Linux/drivers/source/usbdpfp/usbdpfp.c 中,替换:
#include <asm/uaccess.h>
with
#include <linux/uaccess.h>
现在编译并安装模块:
$ /opt/DigitalPersona/urusdk-linux/redist/usbdpfp start
$ lsmod |grep dpfp
mod_usbdpfp 45056 0
usbcore 286720 7 mod_usbdpfp,usbhid,usb_storage,ehci_hcd,btusb,uas,ehci_pci
祝你好运。