===== SBF ===== SBF seems to stand for Single Binary File, containing the firmware image. None of the SBFs contain a subsidy lock and flashing a SBF will not unlock the phone. These files could be flashed into the milestone via [[tools:rsd_lite|RSD Lite]] Interface. The updates of thes page can be seen above the download page links. The device should be put into [[modes:bootloader_mode|Bootloader Mode]] and then attached via USB to the PC. After the PC recognizes the phone, you could use [[tools:rsd_lite|this programs]] for flashing the SBF to your Milestone. ===== SBF-Recalc ===== The latest SBF-Recalc (1.2.9.1) is available for windows here ((see http://modmymoto.com/forums/showthread.php?t=525344 for the original post by its author and for Linux/OS X versions)): http://www.megaupload.com/?d=Y8RDIZGA \\ Previous version 1.2.9 for windows and OS X: http://www.megaupload.com/?d=7J9EOZT0 \\ Previous version 1.2.9 for Linux ((According to the developer you need libstdc++5 for the linux version)): http://www.megaupload.com/?d=03M0GM36\\ **Note:** Everything works except checksums recalculating. RSD Lite prints the correct ones in its log though, so the SBF file can be edited by hand to use those CRC codes if really needed (by tryout & error). ===== SBF / MBN Depacker ===== The latest version (1.3) is availabe for .NET 3.5 here ((see http://www.modmymoto.com/forums/showthread.php?t=530781 for post by author)): http://rapidshare.com/files/453821014/MotoAndroidDepacker.zip\\ Mono version: http://rapidshare.com/files/453821032/MotoAndroidDepackerMono.zip Supports repacking for the Milestone SBF, including the checksum recalculation. ===== Comments ===== Flashing the "Service" version will not wipe userdata partition. Looking on the flex version (ro.gsm.flexversion): B1B8 is for WCDMA 900 / 2100 and B1B2B5 is for WCDMA 850 / 1900 / 2100, some firmwares doesn't have that string in the flex version, so it cannot be determined from that (All Latin American firmwares and Retail Thai are WCDMA 850 / 1900 / 2100). Flashing an SBF file from a different country could cause problems with cellular communications. For example, some people have applied the HK SBF in Europe and in Latin America and their phones stopped working with 3G (due to different frequencies, presumably). Here's an attempt to parse the firmware filename structure with an informal shell/re syntax: ${ro.build.id}_${ro.gsm.flexversion}_${ro.build.config.version#3}_${ro.build.config.version#4}_A[0-9][0-9][0-9]_HWp2a_{Service|}1FF.sbf ===== RSD web service ===== Officially distributed builds are exposed by a public web service at ''https://rsd.motorola.com/cs/servlets/SRPConsumerServlet'' used by Motorola's end-user update tool. Motorola's internal service tool use a similar service at ''https://rsd.motorola.com/cs/servlets/SRPServlet'', but it appears to be restricted to authorized sessions. ===Known functions=== ^ Function ^ fungrp ^ opcode ^ Parameter name ^ Parameter value ^ | MSU version check | ''02'' | ''01'' | ''consumerclientversion'' | Version string, e.g. ''C01.11.79'' | | ||| ''Use_case_set'' | //Inapplicable// | | ::: ||| ''countrycode'' | Three-letter code | | USB driver version check | ''02'' | ''05'' | ''hardware'' | ''00'' | | ||| ''OS'' | Four-digit MS Windows version, e.g. ''0601'' for Win7 | | ::: ||| ''driverversion'' | Version string, e.g. ''DD04.05.00'' | | Warranty status | ''07'' | ''13'' | ''serialnumbertype'' | ''IMEI'' | | ||| ''serialnumber'' | IMEI string | | Firmware version check | ''10'' | ''01'' | ''flex'' | ro.gsm.flexversion | | ||| ''firmware'' | ro.build.id+gsm.version.baseband | | ::: ||| ''apversion'' | ro.build.id+gsm.version.baseband | | ::: ||| ''apsetup'' | //Inapplicable// | | ::: ||| ''apresourceflex'' | //Inapplicable// | | ::: ||| ''aplogo'' | //Inapplicable// | | ::: ||| ''apsecuresetup'' | //Inapplicable// | | ::: ||| ''rofs'' | //Inapplicable// | | ::: ||| ''rofsextension'' | //Inapplicable// | | ::: ||| ''apflex'' | ro.build.config.version | | ::: ||| ''bootloader'' | Four-digit version, eg. ''9073'' | | ::: ||| ''lang'' | //Inapplicable// | | ::: ||| ''kjava'' | //Inapplicable// | | ::: ||| ''pri'' | //Inapplicable// | The only parameter required for firmware version checks is ''flex''. The service will only respond successfully if the query is unambiguous and matched phone model is cleared for user upgrades. (see ''Known return codes'') ===Known return codes=== ^ fungrp ^ opcode ^ operation status ^ Returned message ^ Comment ^ | ''06'' | ''50'' | ''00'' | ''success'' | Update URL to .sbf included in return xml scheme | | ''06'' | ''50'' | ''01'' | ''Cannot ID the phone as the flex is blank.'' | | | ''06'' | ''50'' | ''02'' | ''No Phone found with the given phone parameters'' | | | ''06'' | ''50'' | ''03'' | ''Multiples phones found with the same configuration.'' | This needs to be investigated, since the rsd servers reply this for some phones. For example for a brazilian Milestone with flex version ''USASHLSRETBRLA02C.0R'' (Vivo). Trying to fetch .sbf files from the servers for the DroidX shows the same results. (Note - for NA queries, you must always supply firmware version along the flex, otherwise you get the ''Multiples phones found with the same configuration.'' as result, even if the flex version is invalid (like just ''NA'').) | === Example queries === **GB Retail (SM1658AXXB1)** $ curl -H 'Content-Type: text/xml' -d ' 1001 flexUCASHLSEMEAB1B803F.0R apflexGAS_EMEA_USASHLS00RTGB_P008 ' \ https://rsd.motorola.com/cs/servlets/SRPConsumerServlet **CA Telus (81130CHEPA)** $ curl -H 'Content-Type: text/xml' -d ' 1001 flexUSASHLSTLSB1B2B5051.0R ' \ https://rsd.motorola.com/cs/servlets/SRPConsumerServlet ===== OTA updates ===== Just downloaded on phone in /cache/fota/update.zip and have this structure: * CERT.RSA * CERT.SF * MANIFEST.MF * __binary_firmware_file__ * boot.img * bp.img * mbm.img * cdt.bin * lbl.bin * logo.bin * install-recovery.sh * recovery-from-boot.p * updater-script * mtd.cfg CERT.SF - contain sha1 digest of all files in update.zip CERT.RSA - certificate ASN1.DER ( parsed struct http://pastebin.ca/1849789 ). It parsed by command "openssl asn1parse -inform DER -in CERT.RSA" If any files unneeded in update - update.zip does not include this file. This is a sample OTA update package(SHOLS_U2_01.03.1_to_SHOLS_U2_01.14.0_REQ563): [[http://www.xvilka.org/update.zip|update.zip]] ===== Retail SBF Files ===== ==== Updates ==== 03/10/2011: Added Milestone 2 Chinese Gingerbread leak firmware (4.5.3-109)\\ 10/04/2011: Added Claro Brazil firmware Milestone 2.2.1 (SHLA_U2_05.15.0)\\ 01/04/2011: Added French and Latin American Milestone 2.2.1 firmwares\\ 25/03/2011: Added XT711 2.1 firmware, Flipout 2.1 firmwares and Milestone 2.2.1 Brazilian firmware\\ 24/03/2011: Added African 2.2.1 firmware (SHOLS_U2_05.27.5), Vivo Brazil 2.2.1 userdebug firmware, Defy T-Mobile DE firmwares\\ 22/03/2011: Added O2 DE Defy firmwares and updated T-Mobile Defy firmware\\ 21/03/2011: Added several Milestone 2.1 and 2.2.1 firmwares\\ 18/03/2011: Added several Milestone 2.1 and 2.2.1 firmwares\\ 17/03/2011: Added Era Poland Defy firmware\\ 15/03/2011: Added several Milestone 2.2.1 firmwares\\ 14/03/2001: Added Milestone 2.2.1 RTEU (5.26.3) and Arabia (5.27.2) firmwares\\ 13/03/2011: Added a bunch of Defy firmwares\\ 10/03/2011: Added Milestone O2 DE 2.2.1 firmware (5.26.0)\\ 08/02/2011: Added Orange Poland Defy firmware\\ 31/01/2011: Added Defy and Flipout Central Europe firmware\\ 20/01/2011: Added Milestone 2 Vodafone Australia firmware\\ 17/01/2011: Added Milestone 2 Brazil firmware\\ 10/01/2011: Added China Defy 2.2 firmware\\ 02/01/2011: Added AT&T Flipside firmware\\ 17/12/2010: Added Optus AU Milestone 2 firmware\\ 26/11/2010: Added Defy DE, AT, CH firmware\\ 25/11/2010: Added Milestone 2 RTDACH, O2 DE and UK firmwares\\ 12/11/2010: Added Droid 2 bootloader flash\\ 07/11/2010: Added a bunch of XT720 firmwares and Arabia MR2.5 firmware for Milestone\\ 05/11/2010: Added Ruth Central Europe firmware (w/o Motoblur) \\ 30/10/2010: Added Defy France firmware \\ 28/10/2010: Added Defy UK firmware\\ 26/10/2010: Added Flipout and XT720 UK firmwares\\ 19/10/2010: Added Milestone Turkish firmware\\ 08/10/2010: Added Milestone SHLA_U2_03.06.2 for Movistar Latin America firmware\\ 01/10/2010: Added XT711 bootloader and firmware; Milestone A854 firmware\\ 28/09/2010: Added XT720 Russian and US firmwares; MB502 T-Mobile US firmware\\ 25/09/2010: Added Milestone SHOLS_U2_02.34.3 Optus Australia firmware\\ 19/09/2010: Added Milestone SHOLS_U2_02.36.2 Starhub Singapore firmware\\ 15/09/2010: Added Milestone 02.38.1 Spain firmware and SHOLS_U2_02.27.9 & SHOLS_U2_02.27.B Russian firmwares\\ 14/09/2010: Added Milestone SHOLS_U2_02.36.0 UK firmware and Droid 2.2 firmware\\ 13/09/2010: Added Droid 2 firmware and bootloader and Milestone XT720 Italian firmware\\ 09/09/2010: Added Milestone French SHOLS_U2_02.38.1 firmware\\ 03/09/2010: Added XT720 Central Europe firmware\\ 23/08/2010: Added Flipout Italian firmware\\ 11/08/2010: Added Milestone Telus SHOLS_U2_03.11.0 firmware\\ 07/08/2010: Added Droid X firmware (604)\\ 03/08/2010: Added Milestone XT720 firmware for South-East Asia (STR_U2_01.18.2)\\ 28/07/2010: Added Blur_Version.0.18.4.ME511.ChinaRetail.en.CN and bootloader for ME511\\ 24/07/2010: Added STR_U2_01.18.2 (Singapore) for XT720\\ 23/07/2010: Added SHOLS_U2_02.38.0 (Italy)\\ 21/07/2010: Added SHOLS_U2_02.36.0 (DACH, O2 DE, VF DE) \\ 16/07/2010: Added XT800 firmwares and Droid X bootloaders\\ 11/07/2010: Added Thai 02.36.0 firmware\\ 10/07/2010: Added bootloader 90.78ch and new XT702 firmware\\ 05/07/2010: Added SHOLS_U2_02.36.0 (Starhub SG)\\ 01/07/2010: Added SHOLS_U2_02.36.0 (Central Europe, Southeast Asia)\\ 21/06/2010: Added SHOLS_U2_02.27.6 (Israel)\\ 09/06/2010: Corrected - XT701 firmwares are Taiwan.\\ 09/06/2010: Corrected - XT701 firmwares are not signed.\\ 06/06/2010: Added XT701 new 2.1 Taiwan firmware and bootloader 80.99\\ 31/05/2010: Added XT701 new 2.1 firmware and bootloader 80.98\\ 26/05/2010: Added SHOLS_U2_02.34.3 (Hong Kong / Maccau); SHLA_U2_03.05.0 (TIM Brasil, Service Version only)\\ 26/05/2010: Initial creation.\\ ==== Downloads ==== [[http://and-developers.com/sbf:milestone|Milestone (A853, XT702) Eclair]], [[http://and-developers.com/sbf:milestone221|Milestone Froyo (A853, XT702)]]\\ \\ [[http://and-developers.com/sbf:milestone2|Milestone 2 (A953)]]\\ \\ [[http://and-developers.com/sbf:droid|Droid / Milestone CDMA (A854, A855)]]\\ \\ [[http://and-developers.com/sbf:xt701|Sholes Tablet (XT701)]]\\ \\ [[http://and-developers.com/sbf:xt711|Sholes Tablet Refresh (XT711)]]\\ \\ [[http://and-developers.com/sbf:xt720|Motoroi / Milestone XT720 (XT720)]]\\ \\ [[http://and-developers.com/sbf:xt800|Titanium (XT800)]]\\ \\ [[http://and-developers.com/sbf:droidx|Droid X (MB810)]]\\ \\ [[http://and-developers.com/sbf:ruth|Flipout (MB511) / Ruth (ME511)]]\\ \\ [[http://and-developers.com/sbf:droid2|Droid 2 (A955)]]\\ \\ [[http://and-developers.com/sbf:droid2global|Droid 2 Global (A956)]]\\ \\ [[http://and-developers.com/sbf:droidpro|Droid Pro (A957)]]\\ \\ [[http://and-developers.com/sbf:mb502|Charm (MB502)]]\\ \\ [[http://and-developers.com/sbf:defy|Defy (MB525)]]\\ \\ [[http://and-developers.com/sbf:mb508|Flipside (MB508)]]\\ \\ ===== Custom SBF Files ===== ==== Vulnerable Recovery SBF Flash ==== This SBF file will flash only the vulnerable recovery from 2.0.1 without modifying other partitions. \\ Download (Milestone): [[http://www.mediafire.com/?jzzjmmrvwkz|MediaFire]]\\ Download (XT800): [[http://droid-developers.org/files/uploads//XT800-vulnerable-recovery.rar|Droid-Developers]] ==== 2.1 kernel fix of scheduled CPU wake-ups ==== This SBF file will flash only the boot.img (kernel+init) from SHOLS_U2_03.10.0: [[http://www.mediafire.com/?mlyneqhk1zl|mediafire]], [[http://rapidshare.com/files/378277372/2.1-03.10.0-kernel-only.rar.html|rapidshare]] ~~DISCUSSION|SBF Firmwares~~