Hallo,
habe wie hier geschildert meinen Standby konfiguriert. Das hat leider nicht direkt funktioniert. Bei der Fehlersuche bin ich dann auf die Ursache in /usr/local/bin/module-helper gestoßen. Die bei meiner Hardware beteiligten Treiber lassen sich so anzeigen:
# lsmod | egrep 'smipcie|m88ds3103|dvb_core'
m88ds3103 32768 2
i2c_mux 16384 1 m88ds3103
smipcie 24576 0
dvb_core 139264 2 smipcie,m88ds3103
rc_core 53248 4 rc_dvbsky,smipcie,ir_rc5_decoder
mc 53248 1 dvb_core
i2c_algo_bit 16384 2 smipcie,i915
Daraus baut dann der module-helper ein Array der zu löschenden Module auf mit dem Inhalt/Reihenfolge "['m88ds3103', 'smipcie', 'dvb_core']". Es wird also zuerst "m88ds3103" entfernt. Das führt aber leider zu einem Fehler:
Der module-helper müsste zuerst den "smipcie" Treiber entfernen. Dann lassen sich auch "m88ds3103" und zuletzt "dvb_core" ohne Probleme entfernen. Hab ich manuell so erfolgreich ausprobiert. Ich vermute mal der module-helper müsste bei der Reihenfolge der Treiberliste die Reihenfolge in der Spalte "used_by" bei dem Treiber dvb_core beachten. Deshalb habe ich in /usr/local/bin/module-helper noch folgendes ergänzt:
# diff -c /usr/local/bin/module-helper.ori /usr/local/bin/module-helper
*** /usr/local/bin/module-helper.ori 2022-01-19 18:44:43.890325362 +0100
--- /usr/local/bin/module-helper 2022-05-03 13:44:56.947919512 +0200
***************
*** 35,40 ****
--- 35,41 ----
if len(values) > 3:
#print("module {} depends on {}".format(values[0], values[3]))
dependency_map[values[0]] = values[3].split(',')
+ dependency_map[values[0]].reverse()
def run_command_on_module_list(command, module_list):
Alles anzeigen
Dadurch werden die Treiber in der richtigen Reihenfolge (['smipcie', 'm88ds3103', 'dvb_core']) entfernt und das System kommt nach dem Standby wieder richtig hoch.
Ob diese Änderung negative Auswirkungen bei anderen Installation zeigen würde, kann ich leider nicht beurteilen. Aus meiner Sicht wäre es jedenfalls wünschenswert die Anpassung bei zukünftigen Versionen des module-helpers zu berücksichtigen. Evtl. lässt sich das auch schöner lösen, bin kein Python Entwickler.