dkms 已安装内核模块但重启后不起作用

dkms 已安装内核模块但重启后不起作用

我买了一个如下所示的键盘lsusb

Bus 002 Device 009: ID 0c45:7603 Microdia

CtrlWindows/SuperAlt按钮都映射到Shift按钮。所以我按照硬件代码找到了这个解决方案这里,效果很好:

dkms status aziokbd
aziokbd, 1.0.0, 3.13.0-48-generic, x86_64: installed

但是,重新启动后,键盘恢复到原始状态(ctrl/alt/win 映射到 shift),与dkms status上面相同,所以我必须sudo dkms uninstall -m aziokbd -v 1.0.0再次安装。

我怎样才能“保存”安装状态?谢谢。

我有 ubuntu 14.04。输出uname -a

Linux PC 3.13.0-48-generic #80-Ubuntu SMP Thu Mar 12 11:16:15 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

  • 之后的调试信息安装、重启但无法工作

    #####################
    dkms status
    ###############################
    
    8192cu, 1.9, 3.11.0-26-generic, x86_64: installed
    8192cu, 1.9, 3.13.0-44-generic, x86_64: installed
    8192cu, 1.9, 3.13.0-45-generic, x86_64: installed
    8192cu, 1.9, 3.13.0-46-generic, x86_64: installed
    8192cu, 1.9, 3.13.0-48-generic, x86_64: installed
    8192cu, 1.9, 3.2.0-65-generic, x86_64: installed
    8192cu, 1.9, 3.2.0-67-generic, x86_64: installed
    8192cu, 1.9, 3.2.0-68-generic, x86_64: installed
    8192cu, 1.9, 3.2.0-69-generic, x86_64: installed
    8192cu, 1.9, 3.2.0-70-generic, x86_64: installed
    8192cu, 1.9, 3.2.0-72-generic, x86_64: installed
    8192cu, 1.9, 3.2.0-74-generic, x86_64: installed
    aziokbd, 1.0.0, 3.13.0-48-generic, x86_64: installed
    virtualbox, 4.3.10, 3.13.0-46-generic, x86_64: installed
    virtualbox, 4.3.10, 3.13.0-48-generic, x86_64: installed
    virtualbox-guest, 4.3.10, 3.13.0-46-generic, x86_64: installed
    virtualbox-guest, 4.3.10, 3.13.0-48-generic, x86_64: installed
    
    #########################################3
    lsmod | grep -e usbhid -e aziokbd 
    #######################################3
    
    aziokbd                12900  0 
    usbhid                 52659  0 
    hid                   106148  2 hid_generic,usbhid
    
    
    ########################################
    lsusb -t
    #####################################
    /:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
        |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
            |__ Port 1: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
            |__ Port 1: Dev 3, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
            |__ Port 2: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 12M
            |__ Port 3: Dev 5, If 0, Class=Video, Driver=uvcvideo, 480M
            |__ Port 3: Dev 5, If 1, Class=Video, Driver=uvcvideo, 480M
    /:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
        |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
            |__ Port 2: Dev 3, If 0, Class=Vendor Specific Class, Driver=rtl8192cu, 480M
    
  • 重新安装并运行后的调试信息:

    ###########################
    dkms status
    ###########################
    
    8192cu, 1.9, 3.11.0-26-generic, x86_64: installed
    8192cu, 1.9, 3.13.0-44-generic, x86_64: installed
    8192cu, 1.9, 3.13.0-45-generic, x86_64: installed
    8192cu, 1.9, 3.13.0-46-generic, x86_64: installed
    8192cu, 1.9, 3.13.0-48-generic, x86_64: installed
    8192cu, 1.9, 3.2.0-65-generic, x86_64: installed
    8192cu, 1.9, 3.2.0-67-generic, x86_64: installed
    8192cu, 1.9, 3.2.0-68-generic, x86_64: installed
    8192cu, 1.9, 3.2.0-69-generic, x86_64: installed
    8192cu, 1.9, 3.2.0-70-generic, x86_64: installed
    8192cu, 1.9, 3.2.0-72-generic, x86_64: installed
    8192cu, 1.9, 3.2.0-74-generic, x86_64: installed
    aziokbd, 1.0.0, 3.13.0-48-generic, x86_64: installed
    virtualbox, 4.3.10, 3.13.0-46-generic, x86_64: installed
    virtualbox, 4.3.10, 3.13.0-48-generic, x86_64: installed
    virtualbox-guest, 4.3.10, 3.13.0-46-generic, x86_64: installed
    virtualbox-guest, 4.3.10, 3.13.0-48-generic, x86_64: installed
    
    ######################
    lsmod | grep -e usbhid -e aziokbd
    #########################
    
    
    usbhid                 52659  0 
    aziokbd                12900  0 
    hid                   106148  2 hid_generic,usbhid
    
    #########################
    lsusb -t
    ############################
    /:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
        |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
            |__ Port 1: Dev 7, If 0, Class=Human Interface Device, Driver=aziokbd, 1.5M
            |__ Port 1: Dev 7, If 1, Class=Human Interface Device, Driver=aziokbd, 1.5M
            |__ Port 2: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 12M
            |__ Port 3: Dev 5, If 0, Class=Video, Driver=uvcvideo, 480M
            |__ Port 3: Dev 5, If 1, Class=Video, Driver=uvcvideo, 480M
    /:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
        |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
            |__ Port 2: Dev 3, If 0, Class=Vendor Specific Class, Driver=rtl8192cu, 480M
    

答案1

usbhid作为键盘驱动程序加载。看来怪癖没有作为modprobe选项起作用。

  1. 尝试从 grub 中选择内核选项,添加:

    usbhid.quirks=0x0c45:0x7603:0x4
    

    GRUB_CMDLINE_LINUX_DEFAULT/etc/default/grub

  2. 更新 grub

    sudo update-grub
    

参考: 防止 usbhid 认领 USB 设备

相关内容