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?
/usr/lib/firmware/
sudo acpidump | grep -C3 ELAN
you can trysudo acpidump | grep -C3 -i ELAN
to filter onelan
andElan
as well. The same holds true for yourdmesg | grep elan
usedmesg | grep -i elan
instead. Also could you include the output fromxinput --list
in your question? I'd like to see if there is an entry forELAN Touchscreen id
there.