Registrieren  •  Login 
  
 
im Forum




Blog-Übersicht -> LedBorg Kernel Modul mit rev1/rev2 Erkennung OpenSSL RSA-Schlüssel zur SSL-Nutzung mit MySQL konvertieren :: 24 kehrt mit einer 9. Staffel zurück auf die Bildschirme!
LedBorg Kernel Modul mit rev1/rev2 Erkennung
Verfasst am: 13.09.2013, 01:51   Autor: killerbees19
LedBorg ist eine praktische kleine RGB-Led-Platine für die GPIO-Pins des Raspberry Pi. Neben dem Userspace-Treiber wird auch ein Kernelmodul angeboten. Da meine RPi's sowieso alle mit eigenen gepatchten Kerneln laufen, ist das in meinem Fall ein logischer Schritt.

Das einzige Problem daran ist die geänderte GPIO-Belegung zwischen der Hardware-Revision 1 und 2. Deshalb bietet PiBorg auch zwei unterschiedliche Quellcode (und natürlich auch Userspace) Pakete zum Download an. Da ich unterschiedliche Versionen des RPi verwende, musste auch hier eine entsprechende Lösung her, die automatisch erkennt, um welche Hardware Revision es sich handelt.

Die RPi+ Patches für den Linux Kernel beinhalten auch entsprechenden Code, um die Revision in /proc/cpuinfo anzeigen zu lassen. Genauer gesagt, wird einfach dem Kernel beim Booten mitgeteilt, auf was er läuft. Um die entsprechende Ausgabe kümmert sich bereits der Kernel selbst. Nach etwas Recherche und Stöbern in den Weiten des Linux Kernels, fand ich dann jene Variable, in der unsere Hardware Revision gespeichert ist. Relativ unscheinbar versteckt sich dort die globale Variable system_rev. Der Rest ist einfach. Für den nachfolgenden Patch wurden die source-rev*.zip Dateien von der PiBorg-Website genommen. Zur Archivierung ist die heute aktuelle Version auch auf HAPPYTEC verfügbar: source-rev1.zip & source-rev2.zip

Der Patch steht genauso wie der Original Quellcode unter einer "Dual BSD/GPL" Lizenz zur Verfügung. Hier nun die beiden Dateien, je nach verwendetem Quellcode: ledborg-rev1.patch & ledborg-rev2.patch

Wie immer gilt: Ich übernehme keine Verantwortung, falls sich dadurch jemand seinen RPi oder sonstige verbundene Platinen grillt!
Verwendung auf eigene Gefahr - Hirnkastl vorher einschalten und den Programmcode lesen sowie verstehen hilft eventuell weiter.

Welche Hardware Revisionen es gibt, ist auf elinux.org sehr gut erklärt. Wichtig ist, dass man das Übertaktungs-Bit entfernt, das in früheren Firmware Versionen beim erhöhen der CPU-Spannung aus Gewährleistungsgründen gesetzt wurde. Zur Sicherheit wird beim Laden des Kernel-Moduls das Ergebnis der Erkennung im Kernelprotokoll hinterlassen.

In meiner verwendeten Version des Kernel-Moduls sind noch weitere Änderungen eingeflossen, die aber erst ausgetestet werden müssen und später veröffentlicht werden. Der wichtigste Teil - die automatische Revisions-Erkennung - ist aber schon verfügbar.



Autor Nachricht
Für diesen Beitrag können zur Zeit keine neuen Kommentare verfasst werden.

Kontaktiere den Autor des Beitrages, falls du Fragen dazu hast.


 

Verwendete Zeitzone: CET (Europe/Berlin)
Aktuelles Datum & Uhrzeit: 13.01.2025, 21:09
Nach oben
Valid HTML 4.01 Transitional
Valid CSS!

Hosted by netcup
 
 
[ happytec.at | blog.happytec.at | forum.happytec.at | esports.happytec.at ]