Forum: Mikrocontroller und Digitale Elektronik intel I210at auf einem SBC flashen.


von Barrè O. (barr_o)


Lesenswert?

Moin,

ich versuche einen I210at Lan-Chip zu flashen. Leider wird dafür ein 
tool von Intel benötigt "EEUPDATE". Leider kommt man da ohne einen RDA 
Account nicht dran.

Habs dann mit Flashrom probiert. Das tool unterstützt den I210. Der Chip 
ist aber auf dem board bestückt ohne einen externen Rom.
CHIP ID:
1
02:00.0 Ethernet controller [0200]: Intel Corporation I210 Gigabit Unprogrammed [8086:1531] (rev 03)
1
 *-network UNCLAIMED
2
                description: Ethernet controller
3
                product: I210 Gigabit Unprogrammed
4
                vendor: Intel Corporation
5
                physical id: 0
6
                bus info: pci@0000:02:00.0
7
                version: 03
8
                width: 32 bits
9
                clock: 33MHz
10
                capabilities: pm msi msix pciexpress cap_list
11
                configuration: latency=0
12
                resources: memory:d0000000-d07fffff ioport:c000(size=32)

Mit dem Befehl bekomm ich das nicht hin.
1
sudo flashrom -VVVV -p nicintel_spi:pci=0000:02:00.0 -w aaa.bin
2
flashrom v1.2 on Linux 5.15.0-100-generic (x86_64)
3
flashrom is free software, get the source code at https://flashrom.org
4
5
flashrom was built with libpci 3.7.0, GCC 11.2.0, little endian
6
Command line (5 args): flashrom -VVVV -p nicintel_spi:pci=0000:02:00.0 -w aaa.bin
7
Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
8
Initializing nicintel_spi programmer
9
Error: No supported PCI device found.
10
Error: Programmer initialization failed.

Hat jemand Erfahrung und sowas schonmal probier?

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Barrè O. schrieb:
> Der Chip
> ist aber auf dem board bestückt ohne einen externen Rom.

Ja - aehhh - ohne externes EEPROM wird das dann wohl nix werden. iirc 
braucht der i210 das schon. Nicht zuletzt, um neben der Firmware auch 
die MAC-Adresse zu speichern.

Gruss
WK

von Barrè O. (barr_o)


Lesenswert?

The I210 can operate with no Flash attached (Flash-less mode). The I210 
incorporates an on-die
internal NVM (iNVM) memory (size 2 Kb) that enables designers to 
internally program the I210 with a
subset of the default values that are normally associated with an 
external Flash. iNVM is similar to One
Time Programmable (OTP) memory except that it allows for a limited 
number of modifications and
corrections after initial programming. The iNVM has a capacity of 64 
words, or 32 two-word CSR
entries. A word, once used, cannot be rewritten. The initial programming 
will take a number of these,
and each new entry takes additional words until the capacity is reached. 
For example, programming the
MAC address consumes three auto-load word structures.

So wie ich das aus dem Datanblatt lese hat er einen internen iNVM flash. 
genau den will ich auch beschreiben. Vielleich ist Flashrom auch das 
falsche tool dafür.

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Hmmm - OK. Also ist bei mir schon ein paar Jahre her, dass ich den i210 
mal eingesetzt habe; "Damals" hatte ich das eeupdate Zeugs von Intel. 
Und iirc ging da ein deutlich groesserer Batzen als 2k an Firmware in 
das EEPROM, sonst war nix los mit dem Baustein. Da durch die Firmware 
auch die PCI-ID geaendert wurde, konnten auch die ueblichen 
Linux-Netzwerktreiber nix mit einem "nackigen" i210 anfangen.
Ist das irgendein "neumodischerer" i210?

Gruss
WK

von Michael X. (Firma: vyuxc) (der-michl)


Lesenswert?

Der i210 hat sogenanntes INVM, ein paar Register mit denen man 
persistent die Grundeinstellungen und MAC-Adresse speichern kann.

Such mal nach "348742 Quartzville Tools", dort ist das Eeupdate dabei.

von Barrè O. (barr_o)


Lesenswert?

Michael X. schrieb:
> Der i210 hat sogenanntes INVM, ein paar Register mit denen man
> persistent die Grundeinstellungen und MAC-Adresse speichern kann.
>
> Such mal nach "348742 Quartzville Tools", dort ist das Eeupdate dabei.

Tatsache ich hab was gefunden! Wie bist du denn bitte jetzt da drauf 
gekommen?

Dickes danke erstmals!!!

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Hah - stimmt, da war was mit Quartzville im Namen.

Gruss
WK

von Barrè O. (barr_o)


Lesenswert?

Also,

ich hab echt schon ne menge versucht und komm einfach nicht weiter.
Das tool läuft finde die IC.
1
NIC Bus Dev Fun Vendor-Device  Branding string
2
=== === === === ============= =================================================
3
  1   1  00  00   8086-1531    Intel(R) I210 Blank NVM Device

mit:
1
sudo ./eeupdate64e /nic=1 /invmupdate /file=I210_Invm_Copper_NoAPM_v0.6.HEX /debuglog bug.txt
2
3
Only /INVM* and /MAC commands are valid for this adapter.
4
5
Update INVM content ... Verify autoload configuration ...
6
Parsing error at:
7
8
>>>>
9
< 1 >
10
<<<<
11
6E80002 00001541 038D0002 0B403C21 402F1411 34003611 1C605011 157B1A11
12
05844211 02804811 73431E19 0000001A 08100241 16D10002 00FF00A8 16D00002
13
5E000090
14
15
        Fail: INVM configuration syntax error found.
16
NOT done !
Der meckert schon bei der 1 :D. Ist jetzt das Format das falsche?

die hex datei sieht so aus:
1
16E80002 00001541 038D0002 0B403C21 402F1411 34003611 1C605011 157B1A11
2
05844211 02804811 73431E19 0000001A 08100241 16D10002 00FF00A8 16D00002
3
5E000090
Alle INVM die ich so finden konnte sind gleich aufgebaut. Die Firmware 
an sich für die dinger ist natürlich dann 4mb oder großer. Aber auch als 
Hex.

weiß vielleich jemand weiter?

von Barrè O. (barr_o)


Lesenswert?

Falls jemand auch das gleiche Problem haben sollte.

Hab das lanconf64 tool benutzt und die invm manuell mit den werten 
gefüllt und die MAC mit dem eeupdate64 tool drauf gespielt.

Dickes danke an @der-michl

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.