Eprom mit Netzwerkkarte flashen
Aus BraLUG-Wiki
(neu) |
Version vom 27. Mai 2005, 14:47 Uhr
Im Zusammenhang mit meinen Experimenten unter Linux den c`t-Falsher zu betreiben stiess ich auf die Möglichkeit, mittels Netzwerkkarten von Realtek, 3com, Intel und Via Flash-Eproms zu lesen und zu schreiben. Hier möchte ich erlätern wie das funktioniert, natürlich unter Linux.
Zuerst wenden wir uns der Hardware zu. Mir standen eine 3com Fast EtherLink XL PCI und eine Longshine LCS-8038TX-R mit RTL8139B Chipsatz zur Verfügung. Wie ich herausgefunden habe, ist es nur möglich, FlashEproms mit 32 Füssen zu bearbeiten wenn diese maximal 1Mbit gross sind.
Auch ist bei den Karten keine allzu grosse Typenvielfalt von Flash Eproms möglich. Flash Eproms mit 2Mbit waren nicht möglich. Meine Longshine Karte hatte auch nur einen Sockel für ICs mit 28 Beinen. Aber da ich einen Lötkolben und eine Entlötpumpe besitze und auf der Karte vier Löcher für einen 32er Sockel vorhanden sind, habe ich einen 32er Sockel aufgelötet (ganz vorsichtig, 1/2 Stunde Arbeit).
Nun zur Software. Das Flashtool flash3.3.1, welches ich bereits für den c`t-Flascher benutze besitzt, wie schon erwähnt, die Option mittels Netzwerkkarten zu flashen. Installiert wird diese wie im Artikel zum c`t-Falsher beschrieben.
Nun zur Benutzung der Software. Als erstes wird bei ausgeschaltetem Rechner die Netzwerkkarte mit installiertem Flash Eprom in den Rechner gesteckt. Dann das Modul /opt/flash/modules/flash.o mittels insmod laden. Danach das zur Karte Gehörende Modul laden insmod /opt/flash/modules/rtl8139_flash.o. Nun findet man im proc Dateisystem unter /proc/rtl8139-flash/device_0/ die drei Dateien info, data und erase. Mit cat /proc/rtl8139-flash/device_0/info erhalten wir hoffentlich eine ähnliche Ausgabe:
hardware: rtl8139b/c
manufacturer: SST
flashtype: PH29EE010 1 Mbit (128K x 8-bit) (sure)
protected: unknown
Der Eintrag protected: unknown kann, muss aber nich wichtig sein. Meist funktionierts doch. Den Flash Eprom auslesen:
cat /proc/rtl8139-flash/device_0/data > meinedatei
Den Flash Eprom löschen:
cat /proc/rtl8139-flash/device_0/erase
Den Flash Eprom beschreiben:
cat meinedatei > /proc/rtl8139-flash/device_0/data
Sollte etwas nicht funktionieren meldet die Software einen Fehler.
Mit diesen Netzwerkkarten können auch Flash Eproms vom Bios, von TK-Anlagen oder CD-Laufwerken beschrieben werden, solange diese nich grösser 1Mbit und von der Software unterstützt werden. Einfach probieren. Der Karte ist es egal ob es ein Bootimage, Bios oder sonstetwas ist. Ich habe auch schon von Falsh Eproms für Motorensteuerungen gelesen.
Have Fun