How can i recompile the kernel? I' m trying this guide https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel.

I' m using lubuntu 18.04 on a tablet, i want a custom kernel to enable the touchcreen.

Folowing this section took from https://github.com/onitake/gsl-firmware#silead_tsi made a custom silead_dmi.c (that is located in drivers/platform/x86/silead_dmi.c) and that refers to the silead_ts.fw firmware that i found here https://github.com/onitake/gsl-firmware/tree/master/firmware/trekstor/surftab7new (FYI Mediacom W700 is equivalent at SurfTab wintron 7.0 ST70416-6).

I used apt-get source linux-headers-$(uname -r) and got the linux-4.15 folder of 800 MB. That has the path drivers/platform/x86/silead_dmi.c in which i 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?
And the folder obtained from apt-get source linux-headers-$(uname -r) which has the path drivers/platform/x86/silead_dmi.c?
And the firmware?

If someone want more info can check there.

  • Fill a bugreport, or use the more conventional make menuconfig and make deb-pkg. – Ipor Sircer Sep 3 '18 at 12:56
  • 1
    Of you are modifying sources, you are on your own, please do not fill frivolous bug reports – Rui F Ribeiro Sep 4 '18 at 5:45
  • @RuiFRibeiro if i fill a request for a new software? Include tablet touchscrenn support. So the developers can do it. Using make deb-pkg i can transform the firmware into a installable package? – Scorpion Sep 4 '18 at 7:40
  • @IporSircer how can i use make menuconfig and make deb-pkg? – Scorpion Sep 4 '18 at 10:38

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"),

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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