このタブレットはデフォルトでWindows 10を実行しますが、Lubuntu 18.04をインストールしました。 this 質問をガイドとして使用しようとしていますが、私の場合は異なります。
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ドライバーは、Mediacomと連携しているTrekStorのドライバーと同じであることを発見し、githubで this すばらしいプロジェクトを見つけました。 Mediacom WinpadW700は、SurfTab wintron 7.0(ST70416-6)に対応しています。
このプロジェクトはタブレットとUbuntuに関するものであり、次のように述べています。
このリポジトリには、さまざまなタブレット(およびその他の)デバイスのSileadタッチスクリーンコントローラーのファームウェアイメージが含まれています[。 。 。]
ファームウェアファイルは、デバイスメーカーによって公開されているAndroidおよびWindowsデバイスドライバーから抽出されました。これらは、出荷されたオペレーティングシステムをDebianやUbuntuなどの一般的なLinuxディストリビューションに置き換えることを好む人々を対象としています。
silead_ts.fw
ファイル(元のドライバーから抽出されたファームウェアであるgslx680-acpi
から取得したfirmware.fw
のファームウェア)を使用する必要があると思います。
したがって、silead_ts.fw
ファームウェアは、特に私の問題に合わせて設計されています。どうすれば使用できますか? https://github.com/onitake/gsl-firmware#silead_ts のこのセクションでは、その方法を説明する必要があります。
iは、ソースコードのdrivers/platform/x86/silead_dmi.c
ファイルを編集する必要があります。次に、そのファイルを使用してカーネルを再コンパイルし、変更されたファイルで参照したファームウェアをどこかに追加します。
カーネルを再コンパイルするにはどうすればよいですか? this ガイドを試しています。
apt-get source linux-headers-4.15.0-33-generic
を使用して、800 MBのlinux-4.15
フォルダーを取得しました。これには、drivers/platform/x86/silead_dmi.c
ファイルをすでに作成したパスdrivers/platform/x86/silead_dmi.c
があります。ガイドに従ってapt-get source linux-image-$(uname -r)
を使用し、118 kBのlinux-signed-4.15.0
フォルダーを取得しました。
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
このエラーを修正してカーネルを再コンパイルするにはどうすればよいですか?
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 、put the /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"),
},
},