此平板电脑默认运行 Windows 10,但我安装的是 Lubuntu 18.04。我试图以这个问题为指导,但我的情况不同。
设备用于触摸板,每个ELAN
命令实际上都不会返回任何内容。命令sudo dmesg | grep i2c
返回:
[ 3.211266] i2c /dev entries driver
[ 3.328881] i2c_designware 80860F41:04: I2C bus managed by PUNIT
[ 37.847473] axp20x-i2c i2c-INT33F4:00: AXP20x variant AXP288 found
[ 37.872164] silead_ts i2c-MSSL1680:00: i2c-MSSL1680:00 supply vddio not found, using dummy regulator
[ 37.872202] silead_ts i2c-MSSL1680:00: i2c-MSSL1680:00 supply avdd not found, using dummy regulator
[ 37.872740] silead_ts i2c-MSSL1680:00: Silead chip ID: 0xB4820000
[ 37.928036] axp20x-i2c i2c-INT33F4:00: AXP20X driver loaded
[ 38.024519] silead_ts i2c-MSSL1680:00: Direct firmware load for silead/mssl1680.fw failed with error -2
[ 38.024529] silead_ts i2c-MSSL1680:00: Firmware request error -2
[ 38.027163] silead_ts: probe of i2c-MSSL1680:00 failed with error -2
[ 39.030645] input: axp20x-pek as /devices/platform/80860F41:04/i2c-4/i2c-INT33F4:00/axp221-pek/input/input6
我发现 Mediacom 的驱动程序和 TrekStor 的驱动程序是一样的,这家公司也与 Mediacom 合作,并在 github 上找到了这个很棒的项目。Mediacom WinpadW700 对应于 SurfTab wintron 7.0 (ST70416-6)。
该项目是关于平板电脑和 Ubuntu 的,并指出:
此存储库包含各种平板电脑(和其他)设备中的 Silead 触摸屏控制器的固件映像 [. . .]
固件文件是从设备制造商发布的 Android 和 Windows 设备驱动程序中提取的。它们适用于喜欢用通用 Linux 发行版(例如 Debian 或 Ubuntu)替换随附操作系统的人。
我认为我应该使用该silead_ts.fw
文件(即从原始驱动程序中提取的固件gslx680-acpi
获得的固件)。firmware.fw
所以silead_ts.fw
固件是专门为我的问题设计的。我该如何使用它?https://github.com/onitake/gsl-firmware#silead_ts的这一部分应该解释如何做到这一点:
我必须drivers/platform/x86/silead_dmi.c
在源代码中编辑文件。然后重新编译内核(使用该文件),并在某处添加我在修改后的文件中提到的固件。
如何重新编译内核?我正在尝试这个指南。
我使用apt-get source linux-headers-4.15.0-33-generic
并获得了linux-4.15
800 MB 的文件夹。那有drivers/platform/x86/silead_dmi.c
我已经制作drivers/platform/x86/silead_dmi.c
文件的路径。按照我使用的指南apt-get source linux-image-$(uname -r)
并获得了linux-signed-4.15.0
118 kB 的文件夹。
现在使用fakeroot debian/rules editconfigs
我得到一个错误:
dh editconfigs
dh: Unknown sequence editconfigs (choose from: binary binary-arch binary-indep build build-arch build-indep clean install install-arch install-indep)
debian/rules:35: recipe for target 'editconfigs' failed
make: *** [editconfigs] Error 2
如何修复此错误并重新编译内核?
这
silead_ts.fw
是这个已弃用的项目https://github.com/onitake/gslx680-acpi。您应该至少使用https://github.com/onitake/gsl-firmware/blob/master/firmware/trekstor/surftab7new/firmware.fw,固件只为旧项目提取而不是修改。
但是你必须使用这个https://github.com/onitake/gsl-firmware/blob/master/firmware/linux/silead/gsl1686-surftab-wintron70-st70416-6.fw,将文件放入
/lib/firmware/silead
(创建文件夹silead
) . 还制作了带有名称的副本mssl1680.fw
(备份固件)。现在按照本指南重新编译内核https://debian-handbook.info/browse/squeeze/sect.kernel-compilation.html。
用于
apt-cache search ^linux-source
查找内核的源代码(如指南所述)。在
silead_dmi.c
文件中添加:在 DMI_MATCH 中最重要的添加: