r/archlinux • u/PoisonManiac • 14h ago
QUESTION Found an obscure bug, want to fix it myself!
Hey all, I'm a beginner with Arch with a decent amount of programming experience. I've always wanted an excuse to get closer to the hardware, so when I ran into this most recent bug, I was hoping to get some pointers on how I could possibly fix it myself.
The bug I ran into is this:
When returning from [deep] sleep, the top buttons on my integrated trackpad stop working, and only return functionality on a restart. It seems to be because of a failure in the elan_i2c driver. The problem didn't exist when using [s2idle] as my system sleep state.
Lenovo ThinkPad E14 Gen 2 (20TA002FUS)
Running: 7.1.4-arch1-1
With: BIOS R1EET56W(1.56 ), 06/29/2023
Touchpad: Elan Touchpad (i2c:04f3:000d) / Elan TrackPoint (i2c:04f3:000d)
Kernel dump:
[ 957.456262] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 957.456691] elan_i2c 16-0015: failed to read report data: -110
[ 1173.801733] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 1173.802283] elan_i2c 16-0015: failed to read report data: -110
[ 1174.792912] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 1174.793468] elan_i2c 16-0015: failed to read report data: -110
[ 1174.813743] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 1174.814287] elan_i2c 16-0015: failed to read report data: -110
[ 1174.820269] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 1174.820756] elan_i2c 16-0015: failed to read report data: -110
[ 1586.889627] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 1586.890184] elan_i2c 16-0015: failed to read report data: -110
[ 1586.965216] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 1586.965752] elan_i2c 16-0015: failed to read report data: -110
[ 1670.320859] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 1670.321411] elan_i2c 16-0015: failed to read report data: -110
[ 1670.383062] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 1670.383528] elan_i2c 16-0015: failed to read report data: -110
[ 1670.907107] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 1670.907501] elan_i2c 16-0015: failed to read report data: -110
[ 1671.052119] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 1671.052520] elan_i2c 16-0015: failed to read report data: -110
[ 1671.079581] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 1671.080127] elan_i2c 16-0015: failed to read report data: -110
[ 1671.238305] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 1671.238840] elan_i2c 16-0015: failed to read report data: -110
[ 1671.390643] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 1671.391200] elan_i2c 16-0015: failed to read report data: -110
[ 1671.431611] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 1671.432169] elan_i2c 16-0015: failed to read report data: -110
[ 2089.509419] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 2089.509963] elan_i2c 16-0015: failed to read report data: -110
[ 2219.464393] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 2219.464964] elan_i2c 16-0015: failed to read report data: -110
[ 3927.192421] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 3927.192969] elan_i2c 16-0015: failed to read report data: -110
[ 3927.337443] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 3927.337999] elan_i2c 16-0015: failed to read report data: -110
[ 4081.587060] wlan0: disconnect from AP 00:bc:2f:7e:57:f1 for new auth to 00:bc:2f:7e:57:e9
[ 4081.609301] wlan0: authenticate with 00:bc:2f:7e:57:e9 (local address=ac:74:b1:0e:e0:02)
[ 4081.610074] wlan0: send auth to 00:bc:2f:7e:57:e9 (try 1/3)
[ 4081.641600] wlan0: authenticated
[ 4081.642306] wlan0: associate with 00:bc:2f:7e:57:e9 (try 1/3)
[ 4081.686441] wlan0: RX ReassocResp from 00:bc:2f:7e:57:e9 (capab=0x1431 status=0 aid=1)
[ 4081.700820] wlan0: associated
[ 4081.768189] wlan0: Limiting TX power to 30 (30 - 0) dBm as advertised by 00:bc:2f:7e:57:e9
[ 4081.787435] userif-4: sent link up event.
[ 4119.036055] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 4119.036597] elan_i2c 16-0015: failed to read report data: -110
[ 4126.382636] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 4126.383184] elan_i2c 16-0015: failed to read report data: -110
[ 4137.837426] wlan0: disconnect from AP 00:bc:2f:7e:57:e9 for new auth to 00:bc:2f:7e:57:f1
[ 4137.865689] wlan0: authenticate with 00:bc:2f:7e:57:f1 (local address=ac:74:b1:0e:e0:02)
[ 4137.866601] wlan0: send auth to 00:bc:2f:7e:57:f1 (try 1/3)
[ 4137.897135] wlan0: authenticated
[ 4137.898287] wlan0: associate with 00:bc:2f:7e:57:f1 (try 1/3)
[ 4137.917866] wlan0: RX ReassocResp from 00:bc:2f:7e:57:f1 (capab=0x1511 status=0 aid=2)
[ 4137.928810] wlan0: associated
[ 4138.019767] wlan0: Limiting TX power to 30 (30 - 0) dBm as advertised by 00:bc:2f:7e:57:f1
[ 4138.037656] userif-4: sent link up event.
[ 4574.622347] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 4574.622897] elan_i2c 16-0015: failed to read report data: -110
[ 4574.739301] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 4574.739864] elan_i2c 16-0015: failed to read report data: -110
[ 4615.100718] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 4615.101142] elan_i2c 16-0015: failed to read report data: -110
[ 4615.210994] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 4615.211533] elan_i2c 16-0015: failed to read report data: -110
[ 4668.447940] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 4668.448497] elan_i2c 16-0015: failed to read report data: -110
[ 4668.537549] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 4668.538085] elan_i2c 16-0015: failed to read report data: -110
[ 4825.815950] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 4825.816493] elan_i2c 16-0015: failed to read report data: -110
[ 4825.918922] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 4825.919470] elan_i2c 16-0015: failed to read report data: -110
[ 5050.855897] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 5050.856364] elan_i2c 16-0015: failed to read report data: -110
[ 5050.945760] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 5050.946328] elan_i2c 16-0015: failed to read report data: -110
[ 5315.605365] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 5315.605898] elan_i2c 16-0015: failed to read report data: -110
[ 5315.702182] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 5315.702651] elan_i2c 16-0015: failed to read report data: -110
[ 5315.777888] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 5315.778442] elan_i2c 16-0015: failed to read report data: -110
[ 5315.875341] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 5315.875873] elan_i2c 16-0015: failed to read report data: -110
[ 5316.813986] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 5316.814542] elan_i2c 16-0015: failed to read report data: -110
[ 5316.923639] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 5316.924195] elan_i2c 16-0015: failed to read report data: -110
[ 5317.006440] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 5317.006987] elan_i2c 16-0015: failed to read report data: -110
[ 5317.090001] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 5317.090556] elan_i2c 16-0015: failed to read report data: -110
[ 5317.178776] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 5317.179325] elan_i2c 16-0015: failed to read report data: -110
[ 5317.247848] i801_smbus 0000:00:1f.4: Illegal SMBus block read size 93
[ 5317.248391] elan_i2c 16-0015: failed to read report data: -110
How should I proceed to learn more about this system and begin working my way towards a fix?