Intel 5100 EEPROM

From NoName e.V.
Revision as of 12:25, 24 May 2009 by SECuRE (talk | contribs)
Jump to navigation Jump to search

Intel 5100agn

Aufkleber
Links das EEPROM
Das EEPROM, ausgelötet
Board mit Mikroprozessor

Die Intel 5100agn ist eine WLAN-Karte (MiniPCI-Express), die man z.B. in einem Thinkpad verbauen kann. Diese Karte gibt es in mehreren Varianten: Einmal rebranded von Lenovo, mit anderen IDs (kostet ca. 100 €) und einmal original von Intel (27 €). Der einzige Unterschied: Die IDs.

Die Idee war daher, entweder das BIOS zu modifizieren (siehe auch http://www.endeer.cz/bios.tools/ für Tools dazu und http://forum.thinkpads.com/viewtopic.php?f=29&t=55837 für den passenden Thread), was sich als frickelig herausgestellt hat. Wenn man das BIOS kaputtflashed, hat man einen sehr teuren Backstein in der Hand, somit haben wir also das EEPROM der Karte modifiziert ;-).

Getestet wurde diese Änderung übrigens mit dem derzeit aktuellen BIOS für das Thinkpad x200, also Version 3.01 (6DET51WW) von 2009-04-20.

Datenblätter

Das Board

Zum Einsatz kam ein Keil MCB2300 Evaluation Board, welches einen LPC2300 ARM Mikroprozessor beinhaltet. Nachdem man das EEPROM abgelötet hat und die pins mit drähten an die Pin-Outs des Boards verbunden hat, spielt man die Software auf, mit der man das EEPROM zunächst ausliest und anschließend neu programmiert.

Nötige Änderungen

Da man das EEPROM nicht beliebig oft auf- und ablöten kann, haben wir vorsichtshalber alle IDs geändert. Daher kann ich nicht genau sagen, welche Teile das BIOS prüft. Unsere Änderungen (durch Suchen im Netz die nötigen IDs gefunden):

  • PCI ID auf 8086:4237
  • Subsystem ID auf 8086:1211
  • Device ID auf 26-08-cb-ff-ff-ea-16-00
  • MAC-Adresse auf 00:16:ea:e5:7e:92

Hexdump vom EEPROM mit Anmerkungen

0x00000000: 5a 40 00 50 70 00 04 30   00 3c 00 00 02 80

/***************************************/
/* PCI ID START                        */
/***************************************/
0x0000000e: 0x80 -- PCI vendor ID
0x0000000f: 0x86 -- PCI vendor ID

0x00000010: 0x42 -- PCI device ID
0x00000011: 0x32 -- PCI device ID --> 0x37
/***************************************/
/* PCI ID END                          */
/***************************************/

/***************************************/
/* SUBSYSTEM ID START                  */
/***************************************/
0x00000012: 0x80 -- subsystem vendor ID
0x00000013: 0x86 -- subsystem vendor ID

0x00000014: 0x12 -- subsystem device ID
0x00000015: 0x01 -- subsystem device ID --> 0x11
/***************************************/
/* SUBSYSTEM ID END                    */
/***************************************/


0x00000016: 0d 01 03 8b 05 00 00 f0   00 40 de c9 14 50 24 3e 
0x00000026: 01 31 88 4b 

/***************************************/
/* DEVICE SERIAL NUMBER (MAC-Adresse)  */
/* geändert von f8-4e-0a-ff-ff-5d-21-00
            auf 26-08-cb-ff-ff-ea-16-00
   (siehe lspci -nv)                   */
/***************************************/
0x0000002a: 0x21 --> 0x16
0x0000002b: 0x00 
0x0000002c: 0x0a --> 0xcb
0x0000002d: 0x5d --> 0xea
0x0000002e: 0xf8 --> 0x26
0x0000002f: 0x4e --> 0x08
/***************************************/
/* DEVICE SERIAL NUMBER END            */
/***************************************/


0x00000030: 69 16 79 16 89 16 99 16   ff ff 00 10 ff fe 00 00 
0x00000040: 19 54 03 0c 00 00 60 04   ec fc 1f 5d f8 00 b2 44 
0x00000050: 77 cc 01 22 69 14 24 92   00 1a 31 98 cc 60 1f 8f 
0x00000060: cf e0 07 80 c1 e0 3f b8   ff 3f cc 30 00 00 00 20
0x00000070: 0a 28 0e 81 00 00 00 00   00 00 00 00 00 00 00 00 
0x00000080: 00 00 00 00 00 00 08 4c   01 1f 00 f0 10 34 00 00 
0x00000090: 31 09 

/****************************************/
/* "MAC Adresse" (siehe Aufkleber)      */
/* geändert von 00:21:5d:0a:4e:f8 auf
                00:16:ea:e5:7e:92       */
/****************************************/
0x00000092: 0x21 -> 0x16
0x00000093: 0x00 
0x00000094: 0x0a -> 0xe5
0x00000095: 0x5d -> 0xea
0x00000096: 0xf9 -> 0x92
0x00000097: 0x4e -> 0x7e
/*****************************************/
/* MAC Adresse ENDE                      */
/*****************************************/

0x00000098: 00 02 00 00 00 00 00 50   41 30 45 34 38 46 30 33 
0x000000a8: 43 38 45 58 39 33 32 31   30 36 34 30 00 00 a1 58 
0x000000b8: 38 f8 00 00 00 00 00 00   00 00 00 00 00 00 00 00 
0x000000c8: 00 6e 00 96 00 ab 01 0f   03 68 02 cb 00 00 00 00 
0x000000d8: 00 00 00 00 00 20 00 00   00 00 00 00 00 00 00 00 
0x000000e8: 00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00 
*
0x00000148: 00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 0e 
0x00000158: 6f 4d 00 57 00 00 0f 6f   0f 6f 0f 6f 0f 6f 0f 6f 
0x00000168: 0f 6f 0f 6f 0f 6f 0f 6f   0f 6f 0f 6f 0f 61 0f 61 
0x00000178: 00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00 
0x00000188: 00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00 
0x00000198: 00 00 0e e1 00 00 0f e1   00 00 0f e1 00 00 0f e1 
0x000001a8: 0f 31 0f 31 0f 31 0f 31   00 00 0f 31 0f 31 0f 31 
0x000001b8: 0f 31 0f 31 0f 31 0f 31   0f 31 0f 31 0f 31 0f 31 
0x000001c8: 00 00 00 00 0f a1 0f a1   0f a1 0f a1 0f a1 00 00 
0x000001d8: 0a 6f 0f 6f 0f 6f 0f 6f   0f 6f 0f 6f 0d 6f 00 00 
0x000001e8: 0a e1 0f e1 0f 31 0a 31   0f 31 0f 31 0f 31 0f 31 
0x000001f8: 0f 31 0f 61 0f 61 0c 0c   0f 0f 0f 0f 0f 0f 0f 0f 
0x00000208: 0f 0f 0f 0f 0f 0f 0f 0f   0f 0f 0c 0c 0f 0f 0f 0f 
0x00000218: 00 00 00 00 00 00 00 04   00 00 00 00 00 00 00 00 
0x00000228: 00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00 
*
0x000002d8: 00 00 00 00 00 00 00 00   00 00 00 00 00 00 22 45
0x000002e8: 28 c1 29 41 28 b4 32 3c   28 9c 3d 37 28 7d 45 33 
0x000002f8: 28 5c 00 00 00 00 06 28   f2 00 21 3c 28 ae 27 39 
0x00000308: 28 9e 34 32 28 70 3b 2e   28 51 46 29 28 2a 00 00 
0x00000318: 00 00 24 28 ee 00 21 3f   28 90 28 3b 28 73 32 36 
0x00000328: 28 49 3c 31 28 23 45 2c   2a 0f 00 00 00 00 40 28 
0x00000338: ee 00 22 3d 28 8b 28 3a   28 73 33 34 28 3f 3c 2f 
0x00000348: 28 22 44 2b 28 10 00 00   00 00 64 28 ee 00 22 3d 
0x00000358: 28 9b 28 3a 28 86 33 34   28 53 3d 2f 28 2e 45 2b 
0x00000368: 2a 19 00 00 00 00 74 28   ee 00 22 39 2a 9d 28 36 
0x00000378: 28 89 33 30 2a 58 3d 2b   28 31 45 27 2a 1b 00 00 
0x00000388: 00 00 8c 28 ee 00 20 37   28 a9 27 34 2a 96 33 2d 
0x00000398: 28 64 3b 29 2a 41 47 24   2a 1f 00 00 00 00 9d 28 
0x000003a8: ee 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00 
0x000003b8: 00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00 
*
0x00000468: 00 00 00 00 00 00 00 5d   00 5d 00 00 00 00 00 00 
0x00000478: 01 01 00 06 01 01 00 05   00 00 00 00 01 01 00 06 
0x00000488: 01 01 00 05 00 00 00 00   00 00 00 00 00 00 00 00 
0x00000498: 00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00 
0x000004a8: 01 02 00 08 01 02 00 08   00 00 00 00 01 02 00 09 
0x000004b8: 01 02 00 08 00 00 00 00   00 00 00 00 00 00 00 00 
0x000004c8: 00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00 
0x000004d8: 01 02 00 07 01 03 00 06   00 00 00 00 01 02 00 08 
0x000004e8: 01 03 00 07 00 00 00 00   00 00 00 00 00 00 00 00 
0x000004f8: 00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00 
0x00000508: 01 02 00 06 01 03 00 04   00 00 00 00 01 02 00 06 
0x00000518: 01 03 00 05 00 00 00 00   00 00 00 00 00 00 00 00 
0x00000528: 00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00 
0x00000538: 01 02 00 05 01 02 00 03   00 00 00 00 01 02 00 05 
0x00000548: 01 02 00 04 00 00 00 00   00 00 00 00 00 00 00 00 
0x00000558: 00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00 
0x00000568: 01 01 00 04 01 02 00 02   00 00 00 00 01 01 00 04 
0x00000578: 01 02 00 02 00 00 00 00   00 00 00 00 00 00 00 00 
0x00000588: 00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00 
0x00000598: 01 01 00 06 01 05 00 03   00 00 00 00 01 01 00 06 
0x000005a8: 01 06 00 03 00 00 00 00   00 00 00 00 00 00 00 00
0x000005b8: 00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00 
*
0x000007ff: 00