Включите сенсорный экран Mediacom WinPad W700

Этот планшет запускает Windows 10 по умолчанию, но я установил Lubuntu 18.04. Я пытаюсь использовать этот вопрос в качестве руководства, но мой случай отличается.

ELAN устройство для сенсорной панели, и каждый Дон команды 't возвращают что-либо действительно. Команда 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 МБ. Это имеет путь 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 КБ.

Теперь использование 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

Как я могу зафиксировать эту ошибку и перекомпилировать ядро?

6
задан 6 September 2018 в 02:58

1 ответ

silead_ts.fw для этого проекта устаревшего https://github.com/onitake/gslx680-acpi.
Необходимо использовать, по крайней мере, https://github.com/onitake/gsl-firmware/blob/master/firmware/trekstor/surftab7new/firmware.fw, fimrware только извлеченный и не измененные для старого проекта.

Но необходимо использовать этот 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
ответ дан 23 November 2019 в 08:11

Другие вопросы по тегам:

Похожие вопросы: