AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1067640
Accepted
Scorpion
Scorpion
Asked: 2018-08-22 13:01:28 +0800 CST2018-08-22 13:01:28 +0800 CST 2018-08-22 13:01:28 +0800 CST

启用 Mediacom WinPad W700 的触摸屏

  • 772

此平板电脑默认运行 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.15800 MB 的文件夹。那有drivers/platform/x86/silead_dmi.c我已经制作drivers/platform/x86/silead_dmi.c文件的路径。按照我使用的指南apt-get source linux-image-$(uname -r)并获得了linux-signed-4.15.0118 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

如何修复此错误并重新编译内核?

tablet kernel firmware touchscreen
  • 1 1 个回答
  • 4060 Views

1 个回答

  • Voted
  1. Best Answer
    Scorpion
    2018-09-07T01:58:38+08:002018-09-07T01:58:38+08:00

    这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文件中添加:

    static const struct property_entry mediacom_w700_props[] = {
        PROPERTY_ENTRY_U32("touchscreen-size-x", 884),
        PROPERTY_ENTRY_U32("touchscreen-size-y", 632),
        PROPERTY_ENTRY_STRING("firmware-name",
                      "gsl1686-surftab-wintron70-st70416-6.fw"),
        PROPERTY_ENTRY_U32("silead,max-fingers", 10),
        PROPERTY_ENTRY_BOOL("silead,home-button"),
        { }
    };
    

    在 DMI_MATCH 中最重要的添加:

     {
            /* Mediacom WinPad 7.0 W700 */
            .driver_data = (void *)&surftab_wintron70_st70416_6_data,
            .matches = {
                DMI_MATCH(DMI_SYS_VENDOR, "MEDIACOM"),
                    DMI_MATCH(DMI_PRODUCT_NAME, "WinPad 7 W10 - WPW700"),
            },
        },
    
    • 1

相关问题

  • 如何让我的电脑中的风扇在暂停时关闭?[关闭]

  • Ubuntu 是否支持与 SSD 一起使用的 TRIM 命令?

  • 使用 apt-get upgrade 时如何强制安装内核更新?

  • iPod Touch (iPhone) 的固件更新?

  • 与 Ubuntu 配合使用的多点触控上网本/平板电脑有哪些?[关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve