我不确定您遇到了什么问题,但我可以在 Ubuntu 18.04 下编译和安装驱动程序。我在编译过程中确实遇到了一些错误,我将其修复如下:
错误 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;
与
wait_queue_entry_t wait;
错误 2:
opt/DigitalPersona/urusdk-linux/Linux/drivers/source/usbdpfp/usbdpfp.c:2186:22:
错误:函数‘signal_pending’的隐式声明;你的意思是
'timer_pending'? [-Werror=隐式函数声明]
解决方案:
a) 在 /opt/DigitalPersona/urusdk-linux/Linux/drivers/source/usbdpfp/usbdpfp.h 中,替换:
#include <linux/sched.h>
与
#include <linux/sched/signal.h>
b) 在 /opt/DigitalPersona/urusdk-linux/Linux/drivers/source/usbdpfp/usbdpfp.c 中,替换:
#include <asm/uaccess.h>
与
#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
祝你好运。