From 9ef85da8b2081dca8a04c4414b7e7552c938f859 Mon Sep 17 00:00:00 2001 From: Markus Birth Date: Sat, 16 Sep 2017 00:20:42 +0200 Subject: [PATCH] New posts about BlackBerry KEYone device. --- assets/blackberry-keyone.jpg | Bin 0 -> 17640 bytes .../_posts/2017-09-15-blackberry-keyone.md | 21 ++ ...-30-bb-keyone-mmi-test-engineering-mode.md | 55 ++++ ...yone-ota-updates-for-different-variants.md | 237 ++++++++++++++++++ 4 files changed, 313 insertions(+) create mode 100644 assets/blackberry-keyone.jpg create mode 100644 know-how/hardware/_posts/2017-09-15-blackberry-keyone.md create mode 100644 know-how/hardware/blackberry-keyone/_posts/2017-06-30-bb-keyone-mmi-test-engineering-mode.md create mode 100644 know-how/hardware/blackberry-keyone/_posts/2017-09-15-bb-keyone-ota-updates-for-different-variants.md diff --git a/assets/blackberry-keyone.jpg b/assets/blackberry-keyone.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7cd60a4d35d0c959166d9d3ec59157b7ae817032 GIT binary patch literal 17640 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 BKHUHS literal 0 HcmV?d00001 diff --git a/know-how/hardware/_posts/2017-09-15-blackberry-keyone.md b/know-how/hardware/_posts/2017-09-15-blackberry-keyone.md new file mode 100644 index 0000000..e8d7d4e --- /dev/null +++ b/know-how/hardware/_posts/2017-09-15-blackberry-keyone.md @@ -0,0 +1,21 @@ +--- +title: BlackBerry KEYone +layout: default +language: en +created: 2017-09-15 18:07:26 +0200 +updated: 2017-09-15 18:07:26 +0200 +toc: false +tags: + - know-how + - hardware + - blackberry + - android + - keyone +--- +![BlackBerry KEYone]({{ site.url }}/assets/blackberry-keyone.jpg) + +
    +{% for page in site.categories.blackberry-keyone %} +
  • {{ page.title }}
  • +{% endfor %} +
diff --git a/know-how/hardware/blackberry-keyone/_posts/2017-06-30-bb-keyone-mmi-test-engineering-mode.md b/know-how/hardware/blackberry-keyone/_posts/2017-06-30-bb-keyone-mmi-test-engineering-mode.md new file mode 100644 index 0000000..9bb35d6 --- /dev/null +++ b/know-how/hardware/blackberry-keyone/_posts/2017-06-30-bb-keyone-mmi-test-engineering-mode.md @@ -0,0 +1,55 @@ +--- +title: MMI Test and Engineering Mode on the BlackBerry KEYone +layout: default +language: en +created: 2017-06-30 18:05:00 +0200 +updated: 2017-06-30 18:05:00 +0200 +toc: false +tags: + - know-how + - hardware + - blackberry + - keyone + - hidden + - mmi + - testmode + - engineering + - mode +--- +

+**USE THESE AT YOUR OWN RISK!** Especially the Engineering Mode has a few options which can trigger +DTEK (showing your OS as compromised) and probably do worse. +

+ +(These codes seem to be standard for Alcatel phones. Interestingly, they work here, too.) + + + +MMI Test +======== + +This is similar to the BBVE and provides various tests for all phone components. To open it, open +your phone dialer and type this: + +* # 2
ABC
8
TUV
8
TUV
6
MNO
# ("AUTO") + +To test single components or get traceability information (PRD number, manufacturing date, etc.), +tap "MANU". The buttons "AUTO1" and "AUTO2" run several tests automatically. To exit the test mode, +tap "MANU" and find the "Exit" option at the end of the list. + + + +Engineering Mode +================ + +This mode has a few settings (black font on black background - hold your finger above where the +text should be for the background to become grey, making the text visible). + + +* # * # 2
ABC
6
MNO
3
DEF
7
PQRS
6
MNO
4
GHI
3
DEF
# * # * ("ANDROID") + + +

+After enabling "root", some apps might be able to modify system settings and thus making DTEK show +the system as "compromised". The only way to reset this is to do a factory reset. +

diff --git a/know-how/hardware/blackberry-keyone/_posts/2017-09-15-bb-keyone-ota-updates-for-different-variants.md b/know-how/hardware/blackberry-keyone/_posts/2017-09-15-bb-keyone-ota-updates-for-different-variants.md new file mode 100644 index 0000000..4e97991 --- /dev/null +++ b/know-how/hardware/blackberry-keyone/_posts/2017-09-15-bb-keyone-ota-updates-for-different-variants.md @@ -0,0 +1,237 @@ +--- +title: BlackBerry KEYone OTA updates for different variants +layout: default +language: en +created: 2017-09-15 20:32:10 +0200 +updated: 2017-09-15 20:32:10 +0200 +toc: false +tags: + - know-how + - hardware + - blackberry + - keyone + - ota + - updates + - firmware +--- +Variants and update situation +============================= + +The KEYone is sold as different models: BBB100-1 (US model), BBB100-2 (EMEA model), etc. And each +model is distributed in multiple variants, expressed in the last 3 digits of the PRD number. + +Here are a few models and variants: + +| Model | PRD number | Variant | +|------------|---------------|:-----------------------| +| BBB100-1 | PRD-63116-001 | Unlocked US | +| BBB100-1 | PRD-63116-003 | Bell | +| BBB100-1 | PRD-63116-005 | Rogers | +| BBB100-1 | PRD-63116-036 | AT&T | +| BBB100-2 | PRD-63117-003 | Unlocked UK | +| BBB100-2 | PRD-63117-011 | Unlocked Germany | +| BBB100-2 | PRD-63117-015 | NL, Belgium | +| BBB100-2 | PRD-63117-023 | AZERTY Belgium | +| BBB100-2 | PRD-63117-027 | Unlocked UAE | +| BBB100-3 | PRD-63118-001 | Unlocked | +| BBB100-4/5 | PRD-63734-001 | Unlocked | +| BBB100-4/5 | PRD-63734-002 | Unlocked? | +| BBB100-6 | PRD-63763-001 | Unlocked | +| BBB100-7 | PRD-63764-001 | Unlocked | + +While the variants of a model all have the same hardware, the different variants allow for +different features being enabled, e.g. for different carriers. + +The downside is that different carriers also release updates at different times. Sometimes weeks to +months after other variants got them already. Luckily, all different variants of a model seem to +use the same firmware. This allows to install updates from another variant should they not be +available for the own device. + + +Update process in general +========================= + +On the KEYone, there's an app called *Updates* pre-installed which sends the device's PRD number +and current firmware version to TCL's servers which then reply with "There's no update for you." or +the link to the update file. + +The app then downloads said file and puts it at the right location so the Android bootloader can +find and install it. + +Such OTA update contains a script with all instructions about what is to be updated. This script +also does various checks first to make sure it can be installed properly. So the risk using the +method described below is very small as a wrong update would abort automatically. + + +Enabling advanced mode in Updates app +===================================== + +The *Updates* app on the KEYone has a hidden advanced mode with additional features. You can +activate that by tapping the three dots in the upper right and selecting *Help* to get to the +help screen. There, tap 8 times on the last item *Checking for updates*. A dialog box will appear +asking you for a password. + +The password can be obtained by decompiling the APK file for the Updates app, either using some +[online service](http://www.javadecompilers.com/apk) or [an app](https://play.google.com/store/apps/details?id=com.njlabs.showjava) +and looking at the `/com/tcl/ota/AdvancedModeValidateFragment.java` file. + + + +After you've entered the correct password, three new menu items appear in the Updater's main menu: +*Update manually*, *FOTA test* and *Project test*. + + +Menu item: Update manually +-------------------------- + +This one allows you to install a full firmware update manually from the device. You need to name +the update file something like `JSU_PRD-63117-123.zip` (replace the PRD number with that of your +device) and put it in the root directory of your MicroSD card or the internal storage. + +It should then appear in this menu in the *Updates* app. You can install it by tapping the three +dots behind the filename and select *Install*. + + +Menu item: FOTA test +-------------------- + +Here you can simulate different phone models/variants with different firmware versions and test +if the updater works correctly. **This is exactly what we need during the process below.** + + +Menu item: Project test +----------------------- + +This menu item shows a few parameters like your PRD number (called *Device CU Reference* here), +current firmware version, your IMEI and a few more parameters. You can also test the notification +Spark in the BlackBerry Launcher and the Play Services. + + +Finding out which variant gets what update +========================================== + +OTAs are always differential updates for a specific firmware version to a newer one. To install it, +you **must** have the correct initial firmware installed. Otherwise, the updater script will fail +and abort the update. + +To find out which updates are available for which variant, I found [this script](https://gist.github.com/thurask/f4ace564e6575ef41c4e35d2458ca2d0) +which I rewrote and improved. My version can be found here: + + + +After downloading or cloning the repository, edit the `tclcheck_all.py` and change the `fc.fv` +variable to your current firmware version. Let's assume you have a UK BBB100-2, so your PRD would +be `PRD-63117-003` and as of September 2017, your firmware version would be `AAM481`. So change the +line with `fc.fv` to: + + fc.fv = "AAM481" + +Also change the `fc.mode` line to: + + fc.mode = fc.MODE_OTA + +Now run the script. You'll get an output like this: + +~~~ +List of latest OTA (from AAM481) firmware by PRD: +... +PRD-63117-003 failed. (No update available.) +PRD-63117-011: AAM481 ⇨ AAN358 d819919187b46793abeaeff60dd6deee17baac4b (QWERTZ BBB100-2 (Germany)) +PRD-63117-015: AAM481 ⇨ AAN358 d819919187b46793abeaeff60dd6deee17baac4b (BBB100-2 (NL, Belgiums)) +PRD-63117-019: AAM481 ⇨ AAN358 d819919187b46793abeaeff60dd6deee17baac4b (BBB100-2) +PRD-63117-023: AAM481 ⇨ AAN358 d819919187b46793abeaeff60dd6deee17baac4b (AZERTY BBB100-2 (Belgiums)) +PRD-63117-025 failed. (No data for requested CUREF/FV combination.) +PRD-63117-027: AAM481 ⇨ AAN358 d819919187b46793abeaeff60dd6deee17baac4b (QWERTY BBB100-2 (UAE)) +PRD-63117-028: AAM481 ⇨ AAN358 d819919187b46793abeaeff60dd6deee17baac4b (BBB100-2) +PRD-63117-029: AAM481 ⇨ AAN358 d819919187b46793abeaeff60dd6deee17baac4b (BBB100-2) +PRD-63117-034 failed. (No data for requested CUREF/FV combination.) +PRD-63117-036 failed. (No data for requested CUREF/FV combination.) +PRD-63117-037 failed. (No data for requested CUREF/FV combination.) +PRD-63117-041: AAM481 ⇨ AAN358 d819919187b46793abeaeff60dd6deee17baac4b (BBB100-2) +PRD-63117-042 failed. (No data for requested CUREF/FV combination.) +PRD-63117-703 failed. (No data for requested CUREF/FV combination.) +PRD-63117-704 failed. (No data for requested CUREF/FV combination.) +PRD-63117-717 failed. (No data for requested CUREF/FV combination.) +... +~~~ + +As you can see, our `PRD-63117-003` variant doesn't have the update yet, but other variants have. +Just pick one, let's say `PRD-63117-011`. + + +Doing the actual update +======================= + +Now that we've chosen a variant that has the update we want, we just have to make the updater +think our device is that variant. + +To do this, go into the new menu *FOTA test* and there: + +1. enable **Test mode** +1. set the *Emulated CU Reference* to the chosen variant: `PRD-63117-011` +1. set the *Emulated current version* to your current version: `AAM481` +1. tap the START TEST button below + +You should end up back in the updater's start screen. Tap the **CHECK FOR UPDATES NOW** button. +It should search for updates and find the OTA to version `AAN358`. It should also start to download +the new version. When done, tap the button to start the installation. + +Your phone will reboot and install the update. It'll boot up to the new version. + +

+In the case of the `PRD-63117-003` variant and assuming a time of mid-September 2017, the just +installed `AAN358` isn't the latest version. There's a newer `AAO472` version available. So change +the `fc.fv` line in the `tclcheck_all.py` to `AAN358` and run it again. You'll find out that only +the variant `PRD-63117-034` is currently getting the OTA update to `AAO472`. Enter that into the +*Emulated CU Reference* field in the *Updates* app, change the *Emulated current version* to the +just installed `AAN358` and tap START TEST again. It'll show the second update and let you +install that. + +(If the updater started to download the previous update file again, remove it like explained in +the *Cleanup* section.) +

+ + +Cleanup +======= + +Disabling test mode +------------------- + +After you've updated your device, it's important to disable the **Test mode** of the *Updates* app +so it will notify you of further updates. To do this, go into the *FOTA test* menu and slide the +switch for *Test mode* into the "off" position. + + +Removing already downloaded update +---------------------------------- + +It might happen that the updater starts to download the same update (which we just installed) +again. If that happens to you, first make sure the **Test mode** is disabled (see above), then go +into the updater's *Settings* menu. You should find an entry about the downloaded file with a +dustbin/trashcan icon. Tap that to delete the wrong file. + + +Disabling advanced mode +----------------------- + +There's no built-in way to disable the advanced mode of the *Updates* app. So the only way is to +reset all settings for the app itself. To do this, you need to go into the Android settings → +*Apps*. There, tap the three dots menu and select *Show system*. Now scroll down the list to tap +the *Updates* app. There, tap *Storage* and hit the CLEAR DATA button. After that, the +*Updates* app is in "Basic" mode again. + + + + + +*[APK]: Android Package +*[CU]: Customer Unit +*[EMEA]: Europe, Middle East, Africa +*[FOTA]: Firmware Over-the-Air +*[IMEI]: International Mobile Equipment Identity +*[OTA]: Over-the-air +*[PRD]: Product Requirements Documents +*[UAE]: United Arab Emirates +*[UK]: United Kingdom +*[US]: United States (of America)