Lenovo Ideapad 5 15ARE05 Der Linuxthread

@DisOrcus
Das Touchpad der 14 Zöllers macht wohl auch in anderen Geräten Probleme, hier gilt Pest oder Cholera, alter Kernel 5.2 da funktioniert wohl das Touchpad, alles andere dafür nicht, neuerer Kernel alles andere, dafür Touchpad nicht.

Ich hab in einem China Forum was gefunden Quelle
Code:
Datei drivers/hid/hid-ids.h

#define I2C_VENDOR_ID_SYNAPTICS     0x06cb #<-- hier wird auf das Touchpad verwiesen....
#define I2C_PRODUCT_ID_SYNAPTICS_SYNA2393   0x7a13
/* 我的触摸板vid,pid是0x06cb, 0x7f28, 添加下面一行 */
#define I2C_PRODUCT_ID_SYNAPTICS_SYNA7f28   0x7f28 #<-- hier dann ein alternativer Treiber geladen

Dafür hab ich gerade mal einen Patch erstellt, nicht schön aber einzigartig, Kernel baut gerade, lad ich dann hoch.
 

Anhänge

Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: DisOrcus
@Phil2sat
Interessant. - Komisches Touchpad am Ende. - Mal schauen ob irgendwie vlt. das ganze in einem zukünftigen Kernel angegangen wird. Oder sagen wir ich hoffe es.

Danke auf jeden Fall für deine ganze Mühe! \o/

Bis auf das läuft der Laptop sonst einwandfrei mit Manjaro. Ich bin nach wie vor etwas erschlagen, weil man bei Manjaro bzw. Arch ja doch relativ häufig ins Terminal muss, was für mich als Laie immer etwas weird wirkt und ich die "Angst" habe da was kaputt zu machen aber aus Fehlern lernt man ja am Ende auch. :D
 
Ach ja, solange du weist wie du es neu einrichtest ist doch alles gut.

Vor Änderungen in Dateien immer "cp Dateiname Dateiname.org" und du kannst rumeditieren bis der Arzt kommt. wenns nicht klappt einfach .org wieder herstellen und gut, Linux kann man schon kaputtspielen, aber mit jedem kaputtspielen ist man schon ein wenig schlauer. Am besten lernt man dann beim retten ;)

So fertig, ist direkt der Kernel, musst also nicht erst enpacken, einfach drüber "pacman -U linux-stable-5.7.4-1-x86_64-touchpad.pkg.tar.xz" und "update-grub"
Kernel 5.7.4 mit Touchpad Patch (14" Variante)

Neue Bitmap (5).jpg


Ich bin so oft auf der Shell unterwegs das ich da sogar die Akkuanzeige brauche :D
 
Zuletzt bearbeitet:
@Phil2sat
Perfekt, vielen Dank. - Kernel schmeiß ich heute Abend mal direkt drauf und berichte dann auch sofort. Freitags "darf" ich auch bis 17:00 Uhr...

Ist das eigentlich "normal", dass ich per Kernel-Abfrage im Terminal trotzdem gesagt bekomme ich würde den 5.7.0er Kernel nutzen und nicht den 5.7.4?

Die ganzen Fixes die du erwähnt hast gehen alle und soweit ich das nachvollziehen kann nutzte er wirklich deinen Kernel aber "angezeigt" wird mir der 5.7.0.4 oder so.
 
Äh nö
Linux 'Rechnerame' 5.7.4-1-stable
"uname -a" oder "cat /proc/version" Zeigt dir den aktuell gebooteten Kernel an.

wenn da nicht 5.7.4 steht ist es nicht meiner. Dann beim booten im bootmanager den linux-stable wählen, hab ihn extra linux-stable benannt damit er nicht mit dem Standard Kernel in konflikt steht und beim nächsten update überschrieben wird.

Kann auch sein das wenn du secure boot aktiviert hast, bzw. im bios nur UEFI und nicht UEFI/Legacy, das dann gar kein Grub Bootloader erscheint.
 
Zuletzt bearbeitet:
Okay man merkt, dass ich echt von tuten und blasen keine Ahnung habe. 😅

Nope bei mir kam bis jetzt nie Abfrage beim Boot oder sowas in die Richtung. Das System hat einfach gestartet. - Ich schaue heute Abend nochmal nach was wirklich "Phase" ist.

Ich weiß nur, dass die ganzen Fixes die du implementiert hast bei mir auch wirklich laufen. Also Bildschirmhelligkeit, iGPU, Erhaltungsmodus und sowas in die Richtung.

Kann auch sein, dass ich das gerade falsch im Kopf habe und er deinen Kernel nutzt. Im Manjaro-Kernelmanager sagt er auf jeden Fall 5.7.0.4 und ich meine das hat er mir auch im Terminal angezeigt.
 
Klar, das ist ja auch die Version die er dir anbieten würde zum installieren, mein Kernel wird ja nicht über Manjaro verteilt. Daher zeigt er dir den auch nicht.

Apropos, 5.7.6 ist als stable draussen, schon 2 meiner Patches mit drin.
Bin grad am bauen, musste erstmal "brightness und temperatur patch" rausnehmen.
Dann kannst du ab 17:00 gleich den 5.7.6 testen.

Schön, wenn man den Lüfter dann doch mal hört...
Neue Bitmap (6).jpg
 
Zuletzt bearbeitet:
@Phil2sat
Der Lüfter ist unter Linux echt unauffällig. :D
Beim surfen und so natürlich. - Unter Heavy-Load darf er dann ausnahmsweise auch mal anspringen. :p

Dann würde ich warten bis du den 5.7.6 fertig hast und den gleich mal ausprobieren. :D

Und jap ich war nur "doof". - Er nutzt den 5.7.4 von dir, ne grub Abfrage bekomme ich allerdings nicht, der bootet den im Standard einfach durch wie es scheint.
 
Zuletzt bearbeitet:
hatschiman schrieb:
Gibt es eigentlich eine Möglichkeit, das Bios zu updaten, wenn man ausschließlich Linux (Arch) hat? Soweit ich weiß gibt es das nur als .exe für Windows.
Ich habe zwar Windows 10 in der Virtualbox, allerdings bin ich mir bei dem virtuellen Layer dazwischen nicht sicher, ob das Bios darüber erreicht werden kann.

Ich glaube nicht, dass das funktioniert. Ich habe extra meine Partition verkleinert und Windows parallel installiert (müsste auch mit der Testversion ohne Lizenz gehen). Von dort hab ich das Bios geupdated. Er bootet dann nochmal neu und macht das Bios update direkt und eigentlich nicht aus Windows.
Eventuell kann man das Update image auch aus der exe extrahieren und direkt booten.

Hab jetzt extra bei Archlinux ne netconsole eingerichtet. Aber seither keine Abstürze mehr, läuft soweit stabil mit neuestem stock kernel.
 
@Phil2sat
So, hab den Kernel gerade geladen. - Touchpad-Bug besteht leider weiterhin. :/

Hier mal wieder nen Auszug aus lsmod:

Module Size Used by
ccm 20480 6
snd_seq_dummy 16384 0
snd_hrtimer 16384 1
snd_seq 86016 7 snd_seq_dummy
snd_seq_device 16384 1 snd_seq
rfcomm 90112 20
cmac 16384 5
algif_hash 16384 2
algif_skcipher 16384 2
af_alg 32768 10 algif_hash,algif_skcipher
fuse 143360 7
bnep 28672 2
btusb 65536 0
btrtl 24576 1 btusb
btbcm 20480 1 btusb
btintel 32768 1 btusb
bluetooth 716800 43 btrtl,btintel,btbcm,bnep,btusb,rfcomm
uvcvideo 114688 0
ecdh_generic 16384 2 bluetooth
videobuf2_vmalloc 20480 1 uvcvideo
ecc 36864 1 ecdh_generic
videobuf2_memops 20480 1 videobuf2_vmalloc
videobuf2_v4l2 28672 1 uvcvideo
videobuf2_common 57344 2 videobuf2_v4l2,uvcvideo
videodev 274432 3 videobuf2_v4l2,uvcvideo,videobuf2_common
mc 61440 4 videodev,videobuf2_v4l2,uvcvideo,videobuf2_common
squashfs 69632 0
snd_soc_dmic 16384 1
snd_acp3x_pdm_dma 16384 1
acp3x_rn 16384 1
snd_soc_core 294912 3 acp3x_rn,snd_soc_dmic,snd_acp3x_pdm_dma
snd_compress 32768 1 snd_soc_core
ac97_bus 16384 1 snd_soc_core
snd_pcm_dmaengine 16384 1 snd_soc_core
wmi_bmof 16384 0
loop 40960 0
iwlmvm 458752 0
edac_mce_amd 32768 0
mac80211 1036288 1 iwlmvm
kvm_amd 114688 0
kvm 831488 1 kvm_amd
snd_hda_codec_realtek 135168 1
snd_hda_codec_generic 98304 1 snd_hda_codec_realtek
ledtrig_audio 16384 2 snd_hda_codec_generic,snd_hda_codec_realtek
libarc4 16384 1 mac80211
snd_hda_codec_hdmi 73728 1
snd_hda_intel 53248 3
irqbypass 16384 1 kvm
snd_intel_dspcfg 28672 1 snd_hda_intel
iwlwifi 393216 1 iwlmvm
snd_hda_codec 163840 4 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek
crct10dif_pclmul 16384 1
crc32_pclmul 16384 0
ghash_clmulni_intel 16384 0
aesni_intel 368640 11
snd_hda_core 106496 5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_codec_r
ealtek
nls_iso8859_1 16384 1
nls_cp437 20480 1
crypto_simd 16384 1 aesni_intel
snd_hwdep 16384 1 snd_hda_codec
tpm_crb 20480 0
vfat 24576 1
cryptd 24576 4 crypto_simd,ghash_clmulni_intel
tpm_tis 16384 0
fat 86016 1 vfat
tpm_tis_core 32768 1 tpm_tis
glue_helper 16384 1 aesni_intel
snd_pcm 147456 8 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_compress,snd_soc_core,snd_hda_cor
e,snd_acp3x_pdm_dma,snd_pcm_dmaengine
pcspkr 16384 0
sp5100_tco 20480 0
ccp 118784 1 kvm_amd
input_leds 16384 0
tpm 73728 3 tpm_tis,tpm_crb,tpm_tis_core
snd_timer 40960 3 snd_seq,snd_hrtimer,snd_pcm
snd_rn_pci_acp3x 20480 0
ideapad_laptop 24576 0
cfg80211 888832 3 iwlmvm,iwlwifi,mac80211
i2c_piix4 28672 0
snd 114688 22 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_i
ntel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_compress,snd_soc_core,snd_pcm
ucsi_acpi 16384 0
k10temp 16384 0
sparse_keymap 16384 1 ideapad_laptop
snd_pci_acp3x 20480 0
typec_ucsi 36864 1 ucsi_acpi
soundcore 16384 1 snd
rfkill 28672 10 bluetooth,ideapad_laptop,cfg80211
evdev 24576 9
wmi 36864 2 wmi_bmof,ideapad_laptop
battery 20480 0
ac 16384 0
typec 53248 1 typec_ucsi
rng_core 16384 2 ccp,tpm
mac_hid 16384 0
pinctrl_amd 32768 7
i2c_hid 32768 0
acpi_cpufreq 28672 0
hid 143360 1 i2c_hid
uinput 20480 0
sg 40960 0
crypto_user 16384 0
ip_tables 36864 0
x_tables 53248 1 ip_tables
ext4 798720 1
crc32c_generic 16384 0
crc16 16384 2 bluetooth,ext4
mbcache 16384 1 ext4
jbd2 139264 1 ext4
serio_raw 20480 0
atkbd 36864 0
libps2 20480 1 atkbd
sdhci_pci 61440 0
xhci_pci 20480 0
crc32c_intel 24576 2
cqhci 32768 1 sdhci_pci
xhci_hcd 286720 1 xhci_pci
sdhci 77824 1 sdhci_pci
mmc_core 188416 3 sdhci,cqhci,sdhci_pci
i8042 32768 1 ideapad_laptop
serio 28672 4 serio_raw,atkbd,i8042
radeon 1642496 0
amdgpu 5722112 21
gpu_sched 40960 1 amdgpu
i2c_algo_bit 16384 2 amdgpu,radeon
drm_kms_helper 253952 2 amdgpu,radeon
syscopyarea 16384 1 drm_kms_helper
sysfillrect 16384 1 drm_kms_helper
sysimgblt 16384 1 drm_kms_helper
fb_sys_fops 16384 1 drm_kms_helper
cec 69632 1 drm_kms_helper
rc_core 61440 1 cec
ttm 118784 2 amdgpu,radeon
drm 581632 13 gpu_sched,drm_kms_helper,amdgpu,radeon,ttm
agpgart 53248 2 ttm,drm
 
@DisOrcus Wenn ich den (Chin.) Autor richtig verstanden habe, muss man das hid_multitouch Modul blacklisten und danach sollte das Touchpad funktionieren. Es benutzt dann allerdings einen Maus(?) Treiber und 2 Finger swipe geht nicht, also die Touch Gesten.
Jetzt vermutet der Autor das hid_rmi der richtige Treiber ist und der Patch soll das Modul hid_rmi dein Touchpad erkennen lassen.

Ich habe aber gesehen dass du gepostet hast:
"Bus=0018 Vendor=06cb Product=cd98 Version=0100"
Deine vid,pid ist also 0x06cb,0xcd98 (???)

Der Patch benutzt nämlich:
"#define I2C_PRODUCT_ID_SYNAPTICS_SYNA7f28 0x7f28"
Also pid=0x7f28

Ich würde zunächst einfach mal ausprobieren:
hid_multitouch blacklisten.
Wird dann das Touchpad als "Maus" erkannt ?

@Phil2sat Was ich nicht verstehe, wieso hast du die "drivers/hid/hid-ids.h" gepatcht, aber nicht die "drivers/hid/hid-rmi.c". Ich kenne mich mit C nicht aus, aber ich hätte beides geändert.
 
@Bmiranda
Also ich hab gerade mal versucht das hid_multitouch Modul zu blacklisten, dass macht aber auch keinen Unterschied.

Touchpad ist weiterhin "Mal ja, mal nein". :/
 
juhuu jetzt hab ich das Touchpad auch zum laufen gebracht :)

Weiß nicht ganz warum es nicht sofort geklappt hat, ich hatte den blacklist befehl wohl zu oft ausgeführt beim booten oder so

edit: Jetzt fehlt nur noch das BIOS Update :D
 
Zuletzt bearbeitet:
Ich hab eben nochmal drüber geschaut, hab wohl nur die hälfte des patches umgesetzt :(, naja nach 8 Stunden Kundengejammer war ich wohl leicht Brain AFK, sobald ich Ruhe hab setz ich mich da aber nochmal ran, dann müsste soweit ich die China Übersetzung verstehe auch noch zwei Module in die blacklist.

@Exxus, also Abstürze hatte ich bisher noch nicht einen, seit das Gerät da ist
 
Der Kernel 5.7.6 macht bei mir irgendwie auch unfassbar zicken.

Ich weiß nicht genau warum aber mein System friert andauernd ein.
Ich hab gestern Abend und heute morgen nur nebenbei am Laptop rumgewuselt aber 8-9x hat sich mein System bestimmt aufgehangen komischerweise seit gestern Abend, da half dann auch nur ein Reboot.
 
Also zu abstürzen, das kann ich so nicht nachvollziehen, hab den 5.7.6 hier laufen, bin grad nebenbei nochmal den korrigierten patch mit der richtigen DeviceID am bauen.

Code:
diff -Naur linux-mainline/drivers/hid/hid-ids.h linux-mainline-patched/drivers/hid/hid-ids.h
--- linux-mainline/drivers/hid/hid-ids.h    2020-06-27 23:42:19.733054070 +0200
+++ linux-mainline-patched/drivers/hid/hid-ids.h    2020-06-27 23:39:43.306849634 +0200
@@ -1101,7 +1101,8 @@

#define I2C_VENDOR_ID_SYNAPTICS     0x06cb
#define I2C_PRODUCT_ID_SYNAPTICS_SYNA2393   0x7a13
-
+/* Patch for Lenovo Ideapad 5 14 Renoir */
+#define I2C_PRODUCT_ID_SYNAPTICS_SYNAcd98   0xcd98
#define USB_VENDOR_ID_SYNAPTICS        0x06cb
#define USB_DEVICE_ID_SYNAPTICS_TP    0x0001
#define USB_DEVICE_ID_SYNAPTICS_INT_TP    0x0002
diff -Naur linux-mainline/drivers/hid/hid-rmi.c linux-mainline-patched/drivers/hid/hid-rmi.c
--- linux-mainline/drivers/hid/hid-rmi.c    2020-06-27 23:42:13.746380756 +0200
+++ linux-mainline-patched/drivers/hid/hid-rmi.c    2020-06-27 23:35:24.552790126 +0200
@@ -758,6 +758,8 @@
         .driver_data = RMI_DEVICE_HAS_PHYS_BUTTONS },
     { HID_USB_DEVICE(USB_VENDOR_ID_LENOVO, USB_DEVICE_ID_LENOVO_X1_COVER) },
     { HID_USB_DEVICE(USB_VENDOR_ID_PRIMAX, USB_DEVICE_ID_PRIMAX_REZEL) },
+        /* Patch for Lenovo Ideapad 5 14 Renoir */
+    { HID_I2C_DEVICE(I2C_VENDOR_ID_SYNAPTICS, I2C_PRODUCT_ID_SYNAPTICS_SYNAcd98) },
     { HID_USB_DEVICE(USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYNAPTICS_ACER_SWITCH5),
         .driver_data = RMI_DEVICE_OUTPUT_SET_REPORT },
     { HID_DEVICE(HID_BUS_ANY, HID_GROUP_RMI, HID_ANY_ID, HID_ANY_ID) },

Was ich aber dazu sagen kann ist das ich mesa-git laufen habe https://pkgbuild.com/~lcarlier/mesa-git/x86_64/
Ergo auch den xf86-video-amdgpu-git.
Denn meist ist ein einfrierendes System auf den gpu reset der vega zurückzuführen.

Wenn der dann das Touchpad nicht lauffähig bekommt bin ich erstmal mit meinem Latein am Ende.
Wichtig: blacklist hid-multitouch und hid-generic, sonst kommt der patch nicht zum tragen.
Kernel 5.7.6
Headers 5.7.6

Ansich bin ich kein Programmierer, ich versteh code zum Teil recht genau, aber selber Programmieren ist nicht meine Welt, dann doch lieber mal ein paar patches einpflegen und compilieren lassen.

EDITH sagt: hab mal im Majaro Forum gelesen, zu den Abstürzen gibts da einige Dinge die man ausprobieren könnte https://forum.manjaro.org/t/amd-ryzen-problems-and-fixes/55533.

Wobei ich nur sagen kann das ich keine dieser fixes angewendet habe, und der 5.7.6 Kernel, auch der mit dem Touchpad patch läuft bei mir absolut stabil.Daher denke ich wirklich das es eine Kombination aus Kernel amdgpu und System xf86-video-amdgpu ist die das ganze verursacht.

Ich kenne diese random freezer noch von meiner Radeon R290, da hab ich auch erst mit einem Mesa-git und xf86-git treiber endlich sorgenfrei unter Linux zocken können.
 
Zuletzt bearbeitet:
Bei mir ist er erst einmal abgestürzt.
Seltsamerweise hat dann einen Dateisystem Fehler angegeben und ich musste fsck durchlaufen lassen.

Bin mir nicht ganz sicher was es damit auf sich hat - hoffentlich ist die SSD (habe die WD 512gb) nicht defekt.
 
War der Absturz nicht mit Kernel 5.8-rc1? Da steht ja im AUR linux-mainline was von ext4 bug.

Wobei es an sich normal ist das er nach einem Absturz "fsck" machen möchte. (Zeugt noch lange nicht von defekter Hardware).

Im Manjaro Forum berichten User auch von Abstürzen, soll bei allen Kerneln nach 5.7.4 kommen, daher bau ich den nochmal, ein User mit Ideapad 5 14ARE05 hat berichtet das mit dem aktuellen Patch sein Touchpad funktioniert.

Linux Kernel 5.7.4 with patches
Linux 5.7.4 Headers
 
Zuletzt bearbeitet:
kurze Info, ich habe meine Ubuntu Budgie Installation gerade auf den kernel 5.7.6 gebracht und soweit sieht es weiterhin gut aus :)
 
Zurück
Oben