This tablet runs Windows 10 by default, but I installed Lubuntu 18.04. I' m trying to use this question as a guide but my case is different.

An ELAN device is for a touchpad and every command don ' t return anything indeed. The command sudo dmesg | grep i2c returns:

[    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

I discovered that the Mediacom drivers are the same as those for TrekStor, a company that also works with Mediacom, and found this wonderful project on github. Mediacom WinpadW700 corresponds at SurfTab wintron 7.0 (ST70416-6).

The project is about tablets and Ubuntu and states:

This repository contains firmware images for the Silead touchscreen controllers in various tablet (and other) devices [. . .]

The firmware files were extracted from Android and Windows device drivers, as published by device manufacturers. They are intended for people who prefer to replace the shipped operating system with a generic Linux distribution such as Debian or Ubuntu.

I think that I should use the silead_ts.fw file (that is the firmware for gslx680-acpi obtained from the firmware.fw that is the firmware extracted from the original drivers).

So the silead_ts.fw firmware is especially designed for my problem. How can I use it? This section from https://github.com/onitake/gsl-firmware#silead_ts should explain how do it:
i must edit the drivers/platform/x86/silead_dmi.c file in the source code. Then recompiling the kernel (with that file), and somewhere add the firmware which i referred in the modified file.

How can i recompile the kernel? I' m trying this guide.

I used apt-get source linux-headers-4.15.0-33-generic and got the linux-4.15 folder of 800 MB. That has the path drivers/platform/x86/silead_dmi.c in which i already made the drivers/platform/x86/silead_dmi.c file. Following the guide i used apt-get source linux-image-$(uname -r) and got the linux-signed-4.15.0 folder of 118 kB.

Now using fakeroot debian/rules editconfigs I get an error:

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

How can I fix this error and recompile the kernel?

  • Hi. I received your link to this question in chat. I hope to have my first tablet running chrome OS with Ubuntu in a Linux Virtual Machine in a few months. Now my touchscreen experience is limited to android phones. Aug 24, 2018 at 12:41
  • Hi. I checked the ubuntu touch page if i have an android phone not listed i can do something?
    – Scorpion
    Aug 24, 2018 at 18:57
  • 1
    Usually firmware files have to be placed in /usr/lib/firmware/
    – mattia.b89
    Sep 1, 2018 at 14:13
  • 1
    this may help you: wiki.ubuntu.com/Kernel/BuildYourOwnKernel
    – mattia.b89
    Sep 1, 2018 at 21:30
  • 1
    Besides using sudo acpidump | grep -C3 ELAN you can try sudo acpidump | grep -C3 -i ELAN to filter on elan and Elan as well. The same holds true for your dmesg | grep elan use dmesg | grep -i elan instead. Also could you include the output from xinput --list in your question? I'd like to see if there is an entry for ELAN Touchscreen id there. Sep 2, 2018 at 21:18

1 Answer 1


The silead_ts.fw is for this deprecated project https://github.com/onitake/gslx680-acpi.
You should use at least the https://github.com/onitake/gsl-firmware/blob/master/firmware/trekstor/surftab7new/firmware.fw, fimrware only extracted and not modified for the old project.

But you must use this https://github.com/onitake/gsl-firmware/blob/master/firmware/linux/silead/gsl1686-surftab-wintron70-st70416-6.fw ,put the file in /lib/firmware/silead(create the folder silead). Also made a copy with the name mssl1680.fw (backup firmware).

Now follow this guide for recompile the kernel https://debian-handbook.info/browse/squeeze/sect.kernel-compilation.html.
Use apt-cache search ^linux-source to find the source for the kernel (as the guide explains).

In the silead_dmi.c file add:

static const struct property_entry mediacom_w700_props[] = {
    PROPERTY_ENTRY_U32("touchscreen-size-x", 884),
    PROPERTY_ENTRY_U32("touchscreen-size-y", 632),
    PROPERTY_ENTRY_U32("silead,max-fingers", 10),
    { }

And most important in the DMI_MATCH add:

        /* Mediacom WinPad 7.0 W700 */
        .driver_data = (void *)&surftab_wintron70_st70416_6_data,
        .matches = {
                DMI_MATCH(DMI_PRODUCT_NAME, "WinPad 7 W10 - WPW700"),
  • Still camera and speakers not working but with onboard i finally have a complete and good touchscreen.
    – Scorpion
    Sep 8, 2018 at 12:11
  • Please open a new question for the Camera and speakers with hardware ids and relevant dmesg, and we can all try to help!
    – G Koe
    Sep 10, 2018 at 22:30
  • I will i also have the microphone, grub menu (black screen but the countdown) and the windows button not working.
    – Scorpion
    Sep 12, 2018 at 8:28
  • @GKoe askubuntu.com/questions/1074574/…
    – Scorpion
    Sep 12, 2018 at 10:52
  • I fixed grub menu and righr click is perfect askubuntu.com/questions/1084212/….
    – Scorpion
    Oct 31, 2018 at 10:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.