Hallo zusammen,
ich bin gerade dabei für mein RNS310 die SD-Karte mit Kartenmaterial von V11 auf V12 upzudaten. Mangels eines passenden Rechners, der mmc-Kernel untertützt (mein T-460 Rechner von Lenovo ist zu neu dafür) bin ich mit einem nicht gepatchten Kernel und einem aktuellen Linux Mint (sprich Ubuntu) unterwegs und bediene mich dem gepatchten mmc-Tool, welches den herunergeladenen Karten beiliegt. Ich habe auch drei Samsung evo Karten "made in Korea", die dem Anschein nach aus den Jahren vor 2016 stammen sollten, aber 100% sicher bin ich mir dabei nicht, weil ich das entsprechende Tool SD-Info mangels gepatchten Kernels nicht habe.
Bei allen drei Karten lässt sich die CID mit dem der Karten beigelegten mmc (gepatcht) ändern. Man bekommt auch die CID danach mit "cat /dev/..." erfolgreich ausgelesen, die SD-Karte samt Kartenmaterial wird aber von RNS-310 nicht immer erkannt. Das Verhalten ist nicht deterministisch und ich verstehe nicht, woran es liegen kann:
1. Karte. Ursprunglich mit V11 und dem gesetzten CID hat sehr lange funktioniert, bis ich einmalig mit gparted die fat32-Partition gekürzt und dann wieder auf die gesamte Kartenlänge angepasst hatte. CID mehrfach hin und her geändert von V11 zu V12 und wieder zurück. Mittlerweile wird diese Karte nicht mehr von RNS310 als Kartenmaterial erkannt
2. Karte. Scheint etwas mehr fehlerhafte Sektoren zu haben und ist daher etwas kürzer, als zwei andere. Dadurch kann man z.B. die SD-Karte 1 oder 3 nicht mit partclone (mit clonezilla) vollständig auf diese SD-Karte platzieren. Zu clonezilla bin ich aus Verzweiflung gegriffen, als meine anderen Versuche zu keinem Erfolg führten. Mit dieser Karte hatte ich ursprünglich die meisten Sorgen, hatte sie mehrfach formatiert und mit clonezilla darauf Abbild der 1. Karte geladen und alles Mögliche. Die Karte ging nicht im RNS 310! Bis ich gestern dadrauf V12-Daten geschrieben hatte und die CID geändert hatte. Jetzt wird diese Karte plötzlich von RNS310 erkannt! Woodo, aber wirklich.
3. Karte. War ursprünglich in meinem Raspberry Pi drin und entsprechend formatiert. Die Karte habe ich platt gemacht und zunächst mit clonezilla dadrauf Abbild der 1. Karte übertragen, CID geändert. Ging auf Anhieb, Karte von RNS310 erkannt. V12-Daten, drauf, CID geändert => Karte von RNS310 erkannt. Ist derzeit meine produktive Karte sozusagen und die fasse ich nach Möglichkeit nicht mehr an.
Meine Fragen:
a) Kann sein, dass mmc-Tool mit den neuen nicht gepatchten Kernels vielleicht doch nicht so richtig funktioniert und die Karte doch irgendwie falsch beschreibt?
b) Ist die Methode mit "cat /dev/..." die CID auszulesen wirklich sicher und liest wirklich die Daten von der SD-Karte und nicht aus irgendeinem Zwischenpuffer, wo mmc-Tool vorhin die Werte geschrieben hat?
c) Ich formatere die SD-Karten mittlerweile mit gparted und mache da auch die check-Prüfung der Partition inkl. Reparatur damit. Manchmal wird die Reparatur auch tatsächlich durchgeführt, wobei ich ehrlich gesagt nicht verstehe, wobei sich die SD-Karte "zerschiesst", denn ich hänge die immer und überall sauber aus, außer in RNS310.
d) Kann es sein, dass der Hack mit dem Setzen der CID auf evo-Karten nicht immer funktioniert?
Ich versuche mir demnächst irgendeinen Rechner zuzulegen, auf dem der gepatchte mmc-Kernel aus dem Jahre 2016 läuft und der Kartenleser auch unterstützt wird. Dann bin ich nicht so im Blindflug unterwegs. Es könnte aber etwas dauern.
Übrigens, neben den beschriebenen Methoden hier mit speziellen Notebooks und Handys habe ich noch eine Idee, Raspberry Pi dafür zu verwenden. Denn rein theoretisch hat er doch eine native mmc-Unterstützung und man kann dem RPI beibringen, vom USB-Stick zu booten. Dann wäre mmc-Schnittstelle ja frei. Allerdings muss ich dafür einen entsprechenden gepatchten ARM-Kernel dann finden, was vermutlich sehr schwierig sein wird. Außerdem ist RPI eher Debian und nicht Ubuntu basiert, was zusätzliche Abhängigkeitsprobleme mit sich bringen kann. Aber so einen RPI dafür zu ertüchtigen wäre wirklich nicht schlecht, wenn es denn gehen würde.
Lesezeichen