[Huawei P9 Lite ROMs, Kernels, Recoveries, & Other ] k1ll3r8e:
How - To

[Q:01] My device is not recognized by the toolkit?

1. Make sure NO adb-server is running!

2. U need to start ur device in android with enabled USB-Debugging! (see the screenshot)

(Only in adb mode my toolkit can detect ur device!)

3. Make sure that u granted adb access on ur device!

(A popup will appear on the device and asks u to grant access.)

Try also to restart the toolkit after u granted access on ur device.

U can also check the device state by opening a cmd/terminal prompt and typing:

cd path\to\the\toolkit\adb
adb devices -l

check if ur device is listed as follows:

XXXXXXXXXXXXXXX device product:VNS-L31 model:HUAWEI_VNS_L31 device:XXXXXXX

XXXXXXXXXXXXXXX device product:VNS-L11 model:HUAWEI_VNS_L31 device:XXXXXXX

XXXXXXXXXXXXXXX device product:VNS-L23 model:HUAWEI_VNS_L23 device:XXXXXXX

XXXXXXXXXXXXXXX device product:VNS-L22 model:HUAWEI_VNS_L22 device:XXXXXXX

XXXXXXXXXXXXXXX device product:VNS-L21 model:HUAWEI_VNS_L21 device:XXXXXXX

XXXXXXXXXXXXXXX device product:VNS-L01 model:HUAWEI_VNS_L21 device:XXXXXXX

[IMG="USB-Debugging"]http://dl-1.va.us.xda-developers.com/3/8/3/5/7/6/8/usbdebug.png?key=KJX0MsWj2lsZodNtMXaJeg&ts=1470781123[/IMG]

If ur device can't boot into Android or still didn't get detected, well, just deactivate the "Device Check" on the "Disclaimer" tab. And follow the description.

[Q:02] I updated to the LxxC432Bxxx/LxxC900Bxxx build, and now my device is shown as L01/L11 what should i do?

1) If u are on LxxC900Bxxx simply flash the LxxC432Bxxx build over it. And proceed with the following part.

2) If u are already on the LxxC432Bxxx, just follow the instructions under Dual-Sim, except the update to the LxxC432Bxxx, and proceed with the upgrade. After that, follow the steps written right under the Upgrade button.

[Q:03] What does the Lxx Cxxx Bxxx mean?

The L21/L22/23/L31 is the device model, the Cxxx is the region/operator identifier and the Bxxx is the build number.

Here is a short list about the regions/operators

ID (Cxxx) = Region/Operator | custom.bin (content)

----------------------------------------------------------------------------------------------------------------------------------------------------

C02 = Vodafone

C10 = Russia

C21 = Telefonica / O2

C40 = Czech Republic Telefonica / O2

C55 = Italia TIM

C66 = VIPmobile | vip/rs

C86 = Spain Yoigo

C109 = Amena/Orange

C112 = Latin America

C113 = Wind/Italy | wind/it

C121 = Türkei

C123 = Switzerland

C150 = T-Com | dt/de

C151 = India

C185 = North-Africa/Middle-East | hw/meafnaf

C209 = Asia (Pacific)

C212 = Iusacell/Nextel

C249 = Serbia Telekom

C432 = Nordic-European | hw/eu

C470 = Asia (Pacific)

C605 = Colombia

C637 = Spain

C636 = Asia-Pacific | hw/spcseas

C675 = India

C706 = New Zealand

C900 = GLOBAL

More comming soon...

Big THX for some of those "identifier" goes to:

[MENTION=3157693]lost3[/MENTION]

[MENTION=4956786]baduncle[/MENTION]

[Q:04] I want share my custom.bin & oeminfo, what i need to do?

U can get the files via the "Dual-/Single-SIM -> Export" tab or u can do the following steps (root required).

Open an terminal/cmd prompt and navigate to ur adb installation or the toolkit directory (path/to/the/toolkit/adb) and type the following commands.

adb shell
su
cat /data/custom.bin > /storage/emulated/0/custom.bin.bak
dd if=/dev/block/platform/hi_mci.0/by-name/oeminfo of=/storage/emulated/0/oeminfo.img.bak
exit
exit
adb pull /storage/emulated/0/custom.bin.bak custom.bin.bak
adb pull /storage/emulated/0/oeminfo.img.bak oeminfo.img.bak

Now u have 2 files, the custom.bin.bak and the oeminfo.img.bak just zip them and upload them to GoogleDrive or DropBox, etc. and share the link in this thread.

[Q:05] How can i avoid the factory-reset after the boot-loader unlock? (Work only on B130 or below)

1. When u confirmed the dialog with Yes and the device shutdown, start immediately pressing and holding [Vol- Power] until u see the boot-loader screen again. (The device must stay connected to the PC)

2. Now u need to flash the TWRP recovery to avoid the auto factory-reset.

3. Reboot ur device and boot into android with an unlocked boot-loader and without losing ur data.

[Q:06] How can i manually boot into a specific mode?

Bootloader:

[device] = Turn the device off - Connect it to the PC - Press and hold: [Vol-]

[adb] = adb reboot bootloader

[fastboot] = fastboot reboot bootloader

E-Recovery:

[device] = Turn the device off - Connect it to the PC - Press and hold: [Vol+]

[adb] = N/A

[fastboot] = N/A

Recovery:

[device] = Turn the device off - Disconnect it from the PC - Press and hold: [Vol+ Power]

[adb] = adb reboot recovery

[fastboot] = N/A

Normal Boot:

[device] = Power button / Power button menu

[adb] = adb reboot

[fastboot] = fastboot reboot

Update Mode:

[device] = Turn the device off - Disconnect it from the PC - Press and hold [Vol+ Vol- Power]

[adb] = N/A

[fastboot] = N/A

[Q:07] Does the Dual-Sim upgrade survive an OTA?

Yes, the Dual-Sim modification will stay until u flash another oeminfo.

[Q:08] I upgraded to Dual-SIM and there is only one IMEI shown?

That's absolute normal... Because, u had a single-sim device before, so the device hold only one IMEI and the 2cd sim will use the same IMEI as the 1st sim.

[Q:09] How can i craft my own package for the toolkit?

Well, that's pretty simple ;) - Just open a text-editor like notepad++ and create a new xml file with the following content:

Main object

<Package xmlns="urn:Package-schema" id="UR_PACKAGE_ID" product="VNS-Lxx" author="UR_NAME">
...
</Package>

Now u can decide what a kind of package u want build:

Single-/Dual-SIM

...
<sim>
<version>LxxCxxxBxxx</version>
<type>Dual-SIM or Single-SIM</type>
<custom>custom.bin</custom> [I](The real filename)[/I]
<customMD5>CUSTOM_BIN_MD5</customMD5>
<oeminfo>oeminfo.img</oeminfo> [I](The real filename)[/I]
<oeminfoMD5>OEMINFO_MD5</oeminfoMD5>
<author>THE_FILE_PROVIDER</author> [I](The user from which u got the sim settings)[/I]
</sim>
...

Recovery-Stock

...
<recovery_stock>
<version>LxxCxxxBxxx</version>
<file>recovery_stock.img</file> [I](The real filename)[/I]
<md5>RECOVERY_MD5</md5>
<author>MANUFACTURER_NAME</author> [I](Should be Huawei)[/I]
</recovery_stock>
...

Recovery-TWRP

...
<recovery_twrp>
<version>Lxx - TWRP x.x.x-x</version>
<file>recovery_twrp.img</file> [I](The real filename)[/I]
<md5>RECOVERY_MD5</md5>
<author>MANUFACTURER_NAME</author> [I](Should be the user which compiled the image)[/I]
</recovery_twrp>
...

SuperSu

...
<superSu>
<version>x.xx (xxxx-xx-xx xx:xx) EMUIx.x</version>
<file>superSu.zip</file> [I](The real filename)[/I]
<md5>SUPERSU_MD5</md5>
<author>MANUFACTURER_NAME</author> [I](Should be the user which created/modded the zip)[/I]
</superSu>
...

U can use the 4 parts (sim, recovery_stock, recovery_twrp, superSu) all together or u can just build a package which hold only 1 or 2 components. The file it self must be saved as UTF8.

U can use the attached "package.xsd" file to validate ur package.

Now we come to the package structure, create a zip file with the following content:

./package.xml
./custom.bin
./oeminfo.img
./recovery_stock.img
./recovery_twrp.img
./superSu.zip

the files may vary, depending on what kind of package u build. Take care that the checksum's match with the provided files. ;)

[Q:10] I get always "Software Update Failed!" what should i do?

First of all, check ur current build number LxxCxxxBxxx after that check the rom/update u downloaded. If ur version is greater/newer as the package u have, u can't install the package. In that case u "can" flash another oeminfo which is from an lower version.

For example: U have an L31C432B160 (device) and a L31C432B130 (package) u can't install this package via the default Huawei recovery, maybe it will work with TWRP (never tested it myself).

How to fix: Get u a package of the current installed firmware or a newer version. Or, downgrade ur oeminfo to a lower version and flash the package u have.