Verkuppeln unter Linux
Wie Treiber und Geräte zueinander finden
Eine Vorstellung des Linux-Treibermodells mit Schwerpunkt auf die Verfolgung von Abhängigkeiten und wie man dessen Probleme mit Tools wie ftrace, dev_err_probe, oder fw_devlink debuggen und beheben kann.
Geräte stellen sich vor. Treiber schauen ob sie zu den Geräten passen.
Was auf den ersten Blick einfach erscheint, kann im alltäglichen System-on-Chip-Betrieb recht kompliziert sein:
Geräte können sich weigern, was über sich Preis zu geben, erfordern einen Tanz, bevor sie ansprechbar sind, oder weisen – unter Umständen zirkuläre – Abhängigkeiten zu anderen Geräten auf.
Wird dies nicht berücksichtigt, hat man unverkuppelte Geräte, verzögerte Erkennungsvorgänge und – wenn man wirklich Pech hat – Laufzeitprobleme bis hin zum Hardware-Schaden.
Ahmad ist über eine ganze Reihe solcher Probleme gestolpert, sei es während initialer Hardware-Inbetriebnahmen, nach Kernel-Updates oder bei der Portierung von Linux-Treibern zum barebox-Bootloader.
In seinem Vortrag stellt er das Linux-Treibermodell vor mit Schwerpunkt auf die Verfolgung von Abhängigkeiten und erläutert, wie man Probleme mit Tools wie ftrace, dev_err_probe, oder fw_devlink debuggt und behebt.