The iPhone Wiki is no longer updated. Visit this article on The Apple Wiki for current information. |
Difference between revisions of "PMB8878"
m |
(Redirected page to User:RobertXD) |
||
Line 1: | Line 1: | ||
+ | #REDIRECT [[User:RobertXD]] |
||
− | This is the baseband processor used in the [[N82ap|iPhone 3G]], [[N88ap|iPhone 3GS]] and [[K48ap|iPad]] (3G version). It is upgraded with [[BBUpdaterExtreme]]. It is also known as the PMB8878 and is also used on the LG KM900 ARENA. There is a [http://arenoid.com team] working on how to port Android on LG ARENA. |
||
− | |||
− | ==Datasheet== |
||
− | Anyone got one? Infineon provides [http://www.infineon.com/dgdl/X-GOLD608_XMM6080.pdf?location=Products.Mobile_Phone_Baseband_ICs.WCDMA___HSDPA.X-GOLD__608_-_PMB_8878.PRODUCT_TYPE_DOCUMENTS.X-GOLD608_XMM6080.pdf&folderId=db3a304312fcb1bc0113000c158f0004&fileId=db3a30431936bc4b011957c66fee3850 this], which isn't really useful. |
||
− | |||
− | View Pinouts from Apple iPhone 3G Schematic - http://img218.imageshack.us/img218/149/baseband.jpg |
||
− | |||
− | The firmware is a version of [http://www.mentor.com/products/embedded_software/nucleus_rtos/ Nucleos OS], a realtime OS for embedded platforms. The parser for the AT commands is generated from GNU bison. |
||
− | |||
− | ==Secpack 2.0== |
||
− | This is the security region in the files sent to the [[X-Gold 608]]. This is the first 0xCF8 is new fls and eep files. |
||
− | |||
− | ===Layout=== |
||
− | 0x634--Memory Map |
||
− | 0x714--Descriptor |
||
− | 0xCD4--Post secpack pointer to name |
||
− | 0xCEC--Data length |
||
− | |||
− | ==Endpack== |
||
− | The fls and eep files also have a footer tacked onto the end containing the loader and signature. |
||
− | |||
− | ==Memory Map== |
||
− | FLASH 0x20000000 0x1000000 |
||
− | CODE 0x20000000 0x40000 0b0010(bootstrapper) |
||
− | CODE 0x20040000 0xDC0000 0b0100(main firmware) |
||
− | FFS 0x20A00000 0x100000 0b1100(empty) |
||
− | DYNFFS 0x20A00000 0x100000 0b1100(empty) |
||
− | FFS 0x20B00000 0x40000 0b1011(empty) |
||
− | DYN_EEP 0x20E40000 0x80000 0b0110 |
||
− | SECPACK 0x20EC0000 0x40000 |
||
− | SECZONE 0x20F80000 0x40000 |
||
− | STATIC_EEP 0x20FC0000 0x40000 0b0111 |
||
− | RAM 0x40000000 0x800000 |
||
− | |||
− | ==MMU relocation table== |
||
− | ===Bootloader=== |
||
− | [[Image:Bltbl.png]] |
||
− | |||
− | ===Firmware=== |
||
− | [[Image:Bbmmu.png]] |
||
− | |||
− | == Known Firmware Versions == |
||
− | === [[K48ap|iPad]] === |
||
− | [[06.15.00]] 3.2 (Build 7B367) |
||
− | 3.2.1 (Build 7B405) |
||
− | 3.2.2 (Build 7B500) |
||
− | [[07.08.00]] 4.2b1 (Build 8C5091e) |
||
− | [[07.09.00]] 4.2b2 (Build 8C5101) |
||
− | [[07.10.00]] 4.2b3 (Build 8C5115c) |
||
− | 4.2 (Build 8C134) |
||
− | 4.2 (Build 8C134b) |
||
− | 4.2.1[[Golden Master|GM]] (Build 8C148) |
||
− | 4.2.1 (Build 8C148) |
||
− | [[07.11.00]] 4.3b1 (Build 8F5148b) |
||
− | 4.3b2 (Build 8F5153d) |
||
− | 4.3b3 (Build 8F5166b) |
||
− | 4.3[[Golden Master|GM]] (Build 8F190) |
||
− | 4.3 (Build 8F190) |
||
− | [[07.11.01]] 4.3.1 (Build 8G4) |
||
− | 4.3.2 (Build 8H7) |
||
− | 4.3.3 (Build 8J3) |
||
− | 4.3.4 (Build 8K2) |
||
− | 4.3.5 (Build 8L1) |
||
− | 5.0b1 (Build 9A5220p) |
||
− | 5.0b2 (Build 9A5248d) |
||
− | 5.0b3 (Build 9A5258f) |
||
− | 5.0b4 (Build 8A5274d) |
||
− | 5.0b5 (Build 8A5288d) |
||
− | 5.0b6 (Build 8A5302b) |
||
− | 5.0b7 (Build 8A5313e) |
||
− | 5.0[[Golden Master|GM]] (Build 9A334) |
||
− | 5.0.1b1 (Build 9A402) |
||
− | 5.0.1b2 (Build 9A404) |
||
− | 5.0.1 (Build 9A405) |
||
− | 5.1b1 (Build 9B5117b) |
||
− | 5.1b2 (Build 9B5127c) |
||
− | |||
− | === [[N82ap|iPhone 3G]]/[[N88ap|iPhone 3GS]] === |
||
− | [[01.43.00]] 2.0 (Build 5A331 - Internal Beta) |
||
− | [[01.43.02]] 2.0 (Unknown Internal Beta) |
||
− | [[01.45.00]] 2.0 (Build 5A345) |
||
− | [[01.45.00]] 2.0 (Build 5A347) |
||
− | [[01.48.02]] 2.0.1 (Build 5B108) |
||
− | [[02.08.01]] 2.0.2 (Build 5C1) |
||
− | [[02.11.07]] 2.1 (Build 5F136) |
||
− | 02.??.?? 2.2b1 (Build 5G26/5G27?) |
||
− | [[02.28.00]] 2.2 (Build 5G77) |
||
− | [[02.30.03]] 2.2.1 (Build 5H11) |
||
− | [[04.20.01]] 3.0b1 (Build 7A238j) |
||
− | [[04.22.01]] 3.0b2 (Build 7A259g) |
||
− | [[04.24.02]] 3.0b3 (Build 7A280f) |
||
− | 04.2?.?? 3.0b4 (Build 7A300g) |
||
− | 04.2?.?? 3.0b5 (Build 7A312g) |
||
− | [[04.26.08]] 3.0 (Build 7A341) |
||
− | 3.0.1 (Build 7A400) |
||
− | [[05.08.01]] 3.1b1 (Build 7C97d) |
||
− | [[05.10.01]] 3.1b2 (Build 7C106c) |
||
− | [[05.11.04]] 3.1b3 (Build 7C116a) |
||
− | [[05.11.07]] 3.1 (Build 7C144) |
||
− | 3.1.2 (Build 7D11) |
||
− | [[05.12.01]] 3.1.3 (Build 7E18) |
||
− | [[05.13.03]] 4.0b1 (Build 8A230m) |
||
− | 4.0b2 (Build 8A248c) |
||
− | [[05.13.04]] 4.0b3 (Build 8A260b) |
||
− | 4.0b4 (Build 8A274b) |
||
− | 4.0[[Golden Master|GM]] (Build 8A293) |
||
− | 4.0 (Build 8A293) |
||
− | 4.0.1 (Build 8A306) |
||
− | 4.0.2 (Build 8A400) |
||
− | 4.1b1 (Build 8B5080c) |
||
− | [[05.14.01]] 4.1b2 (Build 8B5091b) |
||
− | [[05.14.02]] 4.1 (Build 8B117) |
||
− | 05.1?.?? 4.2b1 (Build 8C5091e) |
||
− | 05.1?.?? 4.2b2 (Build 8C5101c) |
||
− | [[05.15.04]] 4.2b3 (Build 8C5115c) |
||
− | 4.2[[Golden Master|GM]] (Build 8C134) |
||
− | 4.2.1[[Golden Master|GM]] (Build 8C148) |
||
− | 4.2.1 (Build 8C148a) |
||
− | [[05.16.00]] 4.3b1 (Build 8F5148b) |
||
− | 4.3b2 (Build 8F5153d) |
||
− | 4.3b3 (Build 8F5166b) |
||
− | 4.3[[Golden Master|GM]] (Build 8F190) |
||
− | 4.3 (Build 8F190) |
||
− | 4.3.1 (Build 8G4) |
||
− | [[05.16.02]] 4.3.2 (Build 8H7) |
||
− | 4.3.3 (Build 8J2) |
||
− | 4.3.4 (Build 8K2) |
||
− | 4.3.5 (Build 8L1) |
||
− | 5.0b1 (Build 9A5220p) |
||
− | 5.0b2 (Build 9A5248d) |
||
− | 5.0b3 (Build 9A5258f) |
||
− | 5.0b4 (Build 9A5274d) |
||
− | [[05.16.05]] 5.0b5 (Build 9A5288d) |
||
− | 5.0b6 (Build 9A5302b) |
||
− | 5.0b7 (Build 9A5313e) |
||
− | 5.0[[Golden Master|GM]] (Build 9A334) |
||
− | 5.0.1b1 (Build 9A402) |
||
− | 5.0.1b2 (Build 9A404) |
||
− | 5.0.1 (Build 9A405) |
||
− | 5.1b1 (Build 9B5117b) |
||
− | ??.??.?? 5.1b2 (Build 9B5127c) |
||
− | |||
− | == Accessing [[Interactive Mode]] == |
||
− | Interactive mode isn't accessed by sending characters to the baseband. Instead a GPIO pin is raised with a kernel call to preupdate reset. |
||
− | result = IOConnectCallScalarMethod(conn, 0, 0, 0, 0, 0); //reset(kAppleBasebandConnectMethodResetModem) |
||
− | result = IOConnectCallScalarMethod(conn, 1, 0, 0, 0, 0); //power set(kAppleBasebandConnectMethodRadioOn) |
||
− | result = IOConnectCallScalarMethod(conn, 2, ?, 0, 0, 0); //configuring mux |
||
− | result = IOConnectCallScalarMethod(conn, 7, 0, 0, 0, 0); //powercycle |
||
− | result = IOConnectCallScalarMethod(conn, 8, 0, 0, 0, 0); //preupdate reset |
||
− | result = IOConnectCallScalarMethod(conn, 9, 0, 0, 0, 0); //kAppleBasebandConnectMethodNotifyBasebandPoweringDown |
||
− | |||
− | [[Category:Baseband]] |
Revision as of 22:43, 4 January 2012
Redirect to: