我有一台超级本,但它的触摸板不起作用。
Linux mike 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-1 (2016-03-06) x86_64 GNU/Linux
触摸板不起作用,并且它也没有列在以下命令的输出中。
cat /proc/bus/input/devices
触摸板型号:"Sentelic Finger Sensing Pad Driver"
所以我输入了以下命令
modinfo psmouse
当我输入以下命令时根据这些信息
ls /lib/modules/3.16.0-4-amd64/kernel/drivers/input/mouse/
我看到以下输出:
appletouch.ko bcm5974.ko cyapa.ko psmouse.ko sermouse.ko synaptics_i2c.ko synaptics_usb.ko vsxxxaa.ko
所以我想我应该重新编译支持sentelic触摸板的psmouse模块。我浏览了一下互联网,找到了 linux 存储库。
我检查了标签v3.16
我进入drivers/input/mouse
并看到以下文件
alps.c appletouch.c cyapa.c elantech.c hgpk.c Kconfig logibm.c Makefile pc110pad.c pxa930_trkball.c sentelic.h synaptics.h touchkit_ps2.c trackpoint.h
alps.h atarimouse.c cypress_ps2.c elantech.h hgpk.h lifebook.c logips2pp.c maplemouse.c psmouse-base.c rpcmouse.c sermouse.c synaptics_i2c.c touchkit_ps2.h vsxxxaa.c
amimouse.c bcm5974.c cypress_ps2.h gpio_mouse.c inport.c lifebook.h logips2pp.h navpoint.c psmouse.h sentelic.c synaptics.c synaptics_usb.c trackpoint.c
其中包括sentelic.h
和sentelic.c
文件还有一个 Makefile,但是当我输入命令时make
它说make: *** No targets. Stop.
我的问题是如何psmouse
使用sentelic touchpad support
.
更新 :
我从 Windows 驱动程序fspad.inf
文件中获取以下信息
; Localizable Strings
Provider = "Sentelic"
DiskId1 = "Finger Sensing Pad Driver Installation Disk"
AVC.DeviceDesc = "Finger Sensing Pad"
AVC.DriverDisplayName = "Finger Sensing Pad Driver"
AVC.DriverDisplayVersion = "9.2.9.7"
AVC.DriverReleaseDate = "05/09/2012"
AVC.DriverCfg = " "
fspad.SvcDesc = "Finger Sensing Pad Driver for Windows 2000/XP/Vista/Win7"
fspadsvr.SvcDesc = "Finger Sensing Control Service"
更新2:
我尝试了以下 Live USB,结果是相同的:
我查了一下lsmod
,和proc/bus/input/devices
我上面提供的细节没有太大不同。没有触摸板的东西。
Point Linux Mate Full 2.3-32 i386 Kernel 3.2.0-4
Ubuntu 12.04.4-Desktop amd64 Kernel 3.11
Xubuntu 16.04-Desktop amd64 Kernel 4.4.0
这是绝对的内核错误吗?我如何确定这是一个错误还是有其他解决方案,因此根据该结果我将提交一个错误。
答案1
您不能通过简单地提取源代码并make
在其子目录中运行来(重新)编译内核模块。每个发行版都有一个首选方法 - 根据您的情况,请参阅部分8.10。编译内核Debian 手册。
必须通过内核的构建配置系统启用特定驱动程序。您需要启用MOUSE_PS2_SENTELIC
.但是,由于内核中已经启用了该功能,因此此处无需重建。
如果在 后modprobe psmouse
没有任何有用的错误消息,并且您在 中仍然看不到任何内容/proc/bus/input/devices
,则当前的 Linux 驱动程序可能无法识别/支持该设备。您也许可以找到有关的更多详细信息驱动程序开发站点,但自从驱动程序包含在内核中以来,并没有太多活动。