Related
WARNING
This process will factory reset your device and wipe the internal memory.
You do this at your own risk. I advise you NOT TO DO THIS as there are risks involved, including, but not limited to, bricking your brand new tablet and renderingit useless. You also may void the warranty. I take NO RESPONSIBILITY for any damage. Again, if you decide to follow these steps, it is entirely at your own risk
Prepare:
If you're a Windows user, you might want to refer here. Chainfire has posted an updated stock ROM which does the unlocking for you. If you're a Linux user, you could try flashing Chainfires image using Heimdall but AFAIK, this has not been tested.
Method 1
Download and install the JAVA SDK from here http://www.oracle.com/technetwork/java/javase/downloads/index.html
Download the Android SDK from here http://developer.android.com/sdk/index.html
Follow the instructions here to download the USB drivers http://developer.android.com/sdk/installing.html
Edit the “<PATH TO ANDROID SDK>\extras\google\usb_driver\android_winusb.inf” file and copy/paste the following lines and add them to the [Google.NTx86] section (for 32bit Windows) and/or [Google.NTamd64] (for 64bit Windows).
Download the fastboot zip attached to this post (includes both Win and Linux version) and extract the files to your "<PATH TO ANDROID SDK>\tools" folder
***Do not leave any blank lines before the first “;”
Code:
;
;Galaxy Tab 10.1v
%SingleAdbInterface% = USB_Install, USB\VID_04E8&PID_6860&REV_9999&MI_01
%CompositeAdbInterface% = USB_Install, USB\VID_04E8&PID_6860&MI_01
%SingleAdbInterface% = USB_Install, USB\VID_04E8&PID_6601
%SingleAdbInterface% = USB_Install, USB\VID_0955&PID_7000
Now to get started…
1) Power off your tablet
2) Hold the VOLUME DOWN button and press the POWER button (your tablet will power on and you will see the BACKUP and USB icons)
3) Use VOLUME DOWN to select the USB icon, and then press VOLUME UP to confirm the selection.
4) You should now be in fastboot mode (the word FASTBOOT should appear somewhere in the top left corner)
5) If Windows doesn’t automatically detect the device, go to device manager and find the ‘Fastboot’ device. Right-click and select update driver, choose to manually install and browse to the “<PATH TO ANDROID SDK>\extras\google\usb_driver\” folder.
6) Open a command prompt and do
Code:
cd "<PATH TO SDK FOLDER>\tools"
fastboot devices
7) Confirm that your device is detected. If it says “waiting for device”, you need to check that the drivers are installed correctly.
8) In the Command window, type:
Code:
fastboot oem unlock
9) On your Tab, Use the VOLUME DOWN button to select YES and then press VOLUME UP to confirm
10) VIOLA! You are unlocked. Note that these instructions are a work-in-progress. As always, your questions and comments are welcome. OSX / Linux instructions coming soon!
Linux Instructions (thanks to Draco32)
Get your Tab into fastboot mode;
1) Power off your Tab and power it back on while holding VOLUME DOWN
2) Highlight the USB icon by pressing VOLUME DOWN
3) Press VOLUME UP to confirm your selection (Fastboot Mode)
4) Download the Tegra 2 compatible fastboot (attached to this post) and put it somewhere in your path (eg /usr/bin)
5) Plug your device into the PC using the provided USB cable.
6) Open a terminal and type
Code:
fastboot devices
this will list the device but it will be a strign of numbers
7) type
Code:
fastboot oem unlock
your tab will then have a yes no option to unlock the bootloader select yes with VOLUME DOWN, and press VOLUME UP to confirm
8) Your bootloader is now unlocked power off the device and power it back on the device will boot and have an unlocked padlock when loading. Also this will factory reset your device this includes everything on the 16 gb storage.
Now that you're done head over here to get root access.
EDIT:
ORIGINAL POST:
Guide for unlocking is here:
http://411technology.wordpress.com/
If you power off your device and power it on again using the volume rocker (NOT THE POWER BUTTON), you get the OEM unlock Screen.
Looks like we might have an unlockable bootloader. If so, I love this thing even more now!
Im off to play with it now. Will be back to post pics shortly. Text from the screen is below
Left:
ODIN3 Download Mode
(Protocol v2)
Reason: Force Key
Secure Mode: Secure
Check Signature: Check
OEM Lock: Lock
Waiting USB Cable...
Click to expand...
Click to collapse
Right Hand Side:
Unlock Bootloader?
-------------------------------
If you unlock the bootloader.....
Click to expand...
Click to collapse
(continues on with crap about the risks etc)
Will post pics shortly. Time to break this thing
Fastboot Windows Driver INF File (Galaxy Tab 10.1/v ONLY!)
Code:
;
; Android WinUsb driver installation.
;
[Version]
Signature = "$Windows NT$"
Class = AndroidUsbDeviceClass
ClassGuid = {3F966BD9-FA04-4ec5-991C-D326973B5128}
Provider = %ProviderName%
DriverVer = 12/06/2010,4.0.0000.00000
CatalogFile.NTx86 = androidwinusb86.cat
CatalogFile.NTamd64 = androidwinusba64.cat
;
; This section seems to be required for WinUsb driver installation.
; If this section is removed the installer will report an error
; "Required section not found in INF file".
;
[ClassInstall32]
Addreg = AndroidWinUsbClassReg
[AndroidWinUsbClassReg]
HKR,,,0,%ClassName%
HKR,,Icon,,-1
[Manufacturer]
%ProviderName% = Google, NTx86, NTamd64
[Google.NTx86]
;Galaxy Tab 10.1v
%SingleAdbInterface% = USB_Install, USB\VID_04E8&PID_6860&REV_9999&MI_01
%CompositeAdbInterface% = USB_Install, USB\VID_04E8&PID_6860&MI_01
%SingleAdbInterface% = USB_Install, USB\VID_04E8&PID_6601
%SingleAdbInterface% = USB_Install, USB\VID_0955&PID_7000
[Google.NTamd64]
;Galaxy Tab 10.1v
%SingleAdbInterface% = USB_Install, USB\VID_04E8&PID_6860&REV_9999&MI_01
%CompositeAdbInterface% = USB_Install, USB\VID_04E8&PID_6860&MI_01
%SingleAdbInterface% = USB_Install, USB\VID_04E8&PID_6601
%SingleAdbInterface% = USB_Install, USB\VID_0955&PID_7000
[USB_Install]
Include = winusb.inf
Needs = WINUSB.NT
[USB_Install.Services]
Include = winusb.inf
AddService = WinUSB,0x00000002,WinUSB_ServiceInstall
[WinUSB_ServiceInstall]
DisplayName = %WinUSB_SvcDesc%
ServiceType = 1
StartType = 3
ErrorControl = 1
ServiceBinary = %12%\WinUSB.sys
[USB_Install.Wdf]
KmdfService = WINUSB, WinUSB_Install
[WinUSB_Install]
KmdfLibraryVersion = 1.9
[USB_Install.HW]
AddReg = Dev_AddReg
[Dev_AddReg]
HKR,,DeviceInterfaceGUIDs,0x10000,"{F72FE0D4-CBCB-407d-8814-9ED673D0DD6B}"
[USB_Install.CoInstallers]
AddReg = CoInstallers_AddReg
CopyFiles = CoInstallers_CopyFiles
[CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000,"WdfCoInstaller01009.dll,WdfCoInstaller","WinUSBCoInstaller2.dll"
[CoInstallers_CopyFiles]
WinUSBCoInstaller2.dll
WdfCoInstaller01009.dll
[DestinationDirs]
CoInstallers_CopyFiles=11
[SourceDisksNames]
1 = %DISK_NAME%,,,\i386
2 = %DISK_NAME%,,,\amd64
[SourceDisksFiles.x86]
WinUSBCoInstaller2.dll = 1
WdfCoInstaller01009.dll = 1
[SourceDisksFiles.amd64]
WinUSBCoInstaller2.dll = 2
WdfCoInstaller01009.dll = 2
[Strings]
ProviderName = "Google, Inc."
SingleAdbInterface = "Android ADB Interface"
CompositeAdbInterface = "Android Composite ADB Interface"
SingleBootLoaderInterface = "Android Bootloader Interface"
WinUSB_SvcDesc = "Android USB Driver"
DISK_NAME = "Android WinUsb installation disk"
ClassName = "Android Phone"
Correct the title - instead of unlockable should be unlocked.
BTW, what's the advantage?
bcmobile said:
EDIT:
Guide for unlocking is here:
http://411technology.wordpress.com/
If you power off your device and power it on again using the volume rocker (NOT THE POWER BUTTON), you get the OEM unlock Screen.
Click to expand...
Click to collapse
It would appear the SGT 10.1v is another Samsung device with a "3 button recovery" lottery. I have been trying every combo of hardware keys from powered off state on mine and am unable to get the screen you have descibed.
I can however get into a "download mode" (Picture of an android dude doing "road works" and a flashing USB symbol with the word "Downloading") on my device - by pressing the power button and then an instant later pressing the left side of the volume rocker (doesn't seem to work if you press them simultaniously).
Hopefully a smart cookie will figure out a way to put a different firmware in with Odin to enable these options on devices like mine (much like the 3BR fix for the SGS).
Edit - Nevermind, got into it. For me it was Press Power, then an instant later volume left and hold both. When you see a screen with a android dude and a usb symbol - pressing right volume gives you the unlock screen, pressing right volume highlights the USB then pressing right volume to select it puts the device in "fastboot" mode.
Woo hoo!!
myself11 said:
Correct the title - instead of unlockable should be unlocked.
BTW, what's the advantage?
Click to expand...
Click to collapse
Since it is not shipped as unlocked, I actually think unlockable is more appropriate
Advantage is that you can flash unsigned ROMs - no hacks required. This is normally only found on the Nexus handsets so it's a pretty big deal for Devs / hackers.
Hi Guys,
I am unable to get the fastboot drivers working. I can install them correctly. ADB devices appears in device manager but when i type i get nothing back. It's like the fastboot device is not connected?
Do i need a newer version of the SDK?
For some reason SDK manager is not working on my PC at work so i am using an older sdk version.
D:\adbsdkold\android-sdk-windows-1.5_r3\tools>fastboot devices
D:\adbsdkold\android-sdk-windows-1.5_r3\tools>fastboot oem unlock
< waiting for device >
^C
Draco32 said:
Hi Guys,
I am unable to get the fastboot drivers working. I can install them correctly. ADB devices appears in device manager but when i type i get nothing back. It's like the fastboot device is not connected?
Do i need a newer version of the SDK?
For some reason SDK manager is not working on my PC at work so i am using an older sdk version.
D:\adbsdkold\android-sdk-windows-1.5_r3\tools>fastboot devices
D:\adbsdkold\android-sdk-windows-1.5_r3\tools>fastboot oem unlock
< waiting for device >
^C
Click to expand...
Click to collapse
If you look at the response from "fastboot devices" command it cannot see any devices.
Post your anroid_winusb.inf (\android-sdk-windows\extras\google\usb_driveranroid_winusb.inf) may just be entered in wrong section/misspell
Also what state is it in? your device might just not be in fastboot
P.S. update your SDK no reason not to
Android Driver
Hey,
I'm using the Nexus S driver thats probably the issue. It reads like this at present.
Can you upload the Google USB drivers as the SDK doesn't seem to be working for me.
--------------------android_winusb.inf------------------------------------------
;
; Android WinUsb driver installation.
;
[Version]
Signature = "$Windows NT$"
Class = AndroidUsbDeviceClass
ClassGuid = {3F966BD9-FA04-4ec5-991C-D326973B5128}
Provider = %ProviderName%
DriverVer = 12/06/2010,4.0.0000.00000
CatalogFile.NTx86 = androidwinusb86.cat
CatalogFile.NTamd64 = androidwinusba64.cat
;
; This section seems to be required for WinUsb driver installation.
; If this section is removed the installer will report an error
; "Required section not found in INF file".
;
[ClassInstall32]
Addreg = AndroidWinUsbClassReg
[AndroidWinUsbClassReg]
HKR,,,0,%ClassName%
HKR,,Icon,,-1
[Manufacturer]
%ProviderName% = Google, NTx86, NTamd64
[Google.NTx86]
; HTC Dream
%SingleAdbInterface% = USB_Install, USB\VID_0BB4&PID_0C01
%CompositeAdbInterface% = USB_Install, USB\VID_0BB4&PID_0C02&MI_01
%SingleBootLoaderInterface% = USB_Install, USB\VID_0BB4&PID_0FFF
; HTC Magic
%CompositeAdbInterface% = USB_Install, USB\VID_0BB4&PID_0C03&MI_01
;
;Moto Sholes
%SingleAdbInterface% = USB_Install, USB\VID_22B8&PID_41DB
%CompositeAdbInterface% = USB_Install, USB\VID_22B8&PID_41DB&MI_01
;
;Google NexusOne
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_0D02
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_0D02&MI_01
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E11
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E12&MI_01
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E22&MI_01
;
;Galaxy Tab 10.1v
%SingleAdbInterface% = USB_Install, USB\VID_04E8&PID_6860&REV_9999&MI_01
%CompositeAdbInterface% = USB_Install, USB\VID_04E8&PID_6860&MI_01
%SingleAdbInterface% = USB_Install, USB\VID_04E8&PID_6601
%SingleAdbInterface% = USB_Install, USB\VID_0955&PID_7000
[Google.NTamd64]
; HTC Dream
%SingleAdbInterface% = USB_Install, USB\VID_0BB4&PID_0C01
%CompositeAdbInterface% = USB_Install, USB\VID_0BB4&PID_0C02&MI_01
%SingleBootLoaderInterface% = USB_Install, USB\VID_0BB4&PID_0FFF
; HTC Magic
%CompositeAdbInterface% = USB_Install, USB\VID_0BB4&PID_0C03&MI_01
;
;Moto Sholes
%SingleAdbInterface% = USB_Install, USB\VID_22B8&PID_41DB
%CompositeAdbInterface% = USB_Install, USB\VID_22B8&PID_41DB&MI_01
;
;Google NexusOne
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_0D02
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_0D02&MI_01
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E11
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E12&MI_01
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E22&MI_01
[USB_Install]
Include = winusb.inf
Needs = WINUSB.NT
[USB_Install.Services]
Include = winusb.inf
AddService = WinUSB,0x00000002,WinUSB_ServiceInstall
[WinUSB_ServiceInstall]
DisplayName = %WinUSB_SvcDesc%
ServiceType = 1
StartType = 3
ErrorControl = 1
ServiceBinary = %12%\WinUSB.sys
[USB_Install.Wdf]
KmdfService = WINUSB, WinUSB_Install
[WinUSB_Install]
KmdfLibraryVersion = 1.9
[USB_Install.HW]
AddReg = Dev_AddReg
[Dev_AddReg]
HKR,,DeviceInterfaceGUIDs,0x10000,"{F72FE0D4-CBCB-407d-8814-9ED673D0DD6B}"
[USB_Install.CoInstallers]
AddReg = CoInstallers_AddReg
CopyFiles = CoInstallers_CopyFiles
[CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000,"WdfCoInstaller01009.dll,WdfCoInstaller","WinUSBCoInstaller2.dll"
[CoInstallers_CopyFiles]
WinUSBCoInstaller2.dll
WdfCoInstaller01009.dll
[DestinationDirs]
CoInstallers_CopyFiles=11
[SourceDisksNames]
1 = %DISK_NAME%,,,\i386
2 = %DISK_NAME%,,,\amd64
[SourceDisksFiles.x86]
WinUSBCoInstaller2.dll = 1
WdfCoInstaller01009.dll = 1
[SourceDisksFiles.amd64]
WinUSBCoInstaller2.dll = 2
WdfCoInstaller01009.dll = 2
[Strings]
ProviderName = "Google, Inc."
SingleAdbInterface = "Android ADB Interface"
CompositeAdbInterface = "Android Composite ADB Interface"
SingleBootLoaderInterface = "Android Bootloader Interface"
WinUSB_SvcDesc = "Android USB Driver"
DISK_NAME = "Android WinUsb installation disk"
ClassName = "Android Phone"
Yer that looks correct for a 32bit-OS but if your running 64bit-OS put it under "Google.NTamd64"
Also make sure you follow the guide bcmobile post to the letter to get into fastboot
Power off your tablet
Press the VOLUME DOWN button (your tablet will power on and you will see the BACKUP and USB icons)
Use VOLUME UP to select the USB icon, and then press VOLUME DOWN to select it.
You should now be in fastboot mode (the word FASTBOOT should appear somewhere in the top left corner)
If your computer doesn't automatically detect the device, go to device manager and find the 'Fastboot' device. Right-click and select update driver, choose to manually install and browse to the "C:\android-sdk-windows\extras\google\usb_driver\" folder.
Click to expand...
Click to collapse
50-3 said:
Yer that looks correct for a 32bit-OS but if your running 64bit-OS put it under "Google.NTamd64"
Also make sure you follow the guide bcmobile post to the letter to get into fastboot
Click to expand...
Click to collapse
Followed the guide correctly i have fast boot coming up on the tablet just no devices are shown when i do fast boot devices i will have a look when i get home.
Also the part of the guide where it says Volume Up to move it over to the USB icon is incorrect. It's actually Volume Down to move to the USB icon when selecting the fastboot option.
Cheers,
Adrian
Draco32 said:
Followed the guide correctly i have fast boot coming up on the tablet just no devices are shown when i do fast boot devices i will have a look when i get home.
Also the part of the guide where it says Volume Up to move it over to the USB icon is incorrect. It's actually Volume Down to move to the USB icon when selecting the fastboot option.
Cheers,
Adrian
Click to expand...
Click to collapse
Well if you have the right driver file config and in fastboot only thing left i can think of is that windows hasn't been told to use the driver
If your computer doesn't automatically detect the device, go to device manager and find the 'Fastboot' device. Right-click and select update driver, choose to manually install and browse to the "C:\android-sdk-windows\extras\google\usb_driver\" folder.
Click to expand...
Click to collapse
Or it's an old version of SDK tools but i do think that is it.
Anyway sorry i couldn't have been more help
Draco32 said:
Followed the guide correctly i have fast boot coming up on the tablet just no devices are shown when i do fast boot devices i will have a look when i get home.
Also the part of the guide where it says Volume Up to move it over to the USB icon is incorrect. It's actually Volume Down to move to the USB icon when selecting the fastboot option.
Cheers,
Adrian
Click to expand...
Click to collapse
Go into device manager and find the fastboot device. Right click and uninstall it. Unplug the tab and Reboot your PC. Put your tab into fastboot mode before reconnecting
Thanks for pointing out the vol up / down error. I had the old galaxy tab which had them the other way around since it was designed to be used in portrait mode. Ill correct it in the guide later tonight.
Sent from my GT-P7100 using XDA Premium App
bcmobile said:
Advantage is that you can flash unsigned ROMs - no hacks required. This is normally only found on the Nexus handsets so it's a pretty big deal for Devs / hackers.
Click to expand...
Click to collapse
Noob question: but we will still need devs that cook ROM's, right? It isn't as simple as grab Google's update and install it on 10.1v, is it?
myself11 said:
Noob question: but we will still need devs that cook ROM's, right? It isn't as simple as grab Google's update and install it on 10.1v, is it?
Click to expand...
Click to collapse
Unfortunately no, But if were lucky the Devs will push them out quickly
Hi Everyone,
Just to let you know i managed to unlock the bootloader. I used ubuntu linux and fastboot method to get it unlocked.
Get your Tab into fastboot mode;
1. Power + Volume Down
2. Highlight the USB icon by pressing Volume Down
3. Press Volume Up to select the USB icon (Fastboot Mode)
Download the Tegra 2 compatible fastboot from this threadhttp://forum.xda-developers.com/showthread.php?t=1055754;
1. Plug your device into the PC using the provided USB cable.
2. open a terminal and type fastboot devices this will list the device but it will be a strign of numbers
3. type "fastboot oem unlock" your tab will then have a yes no option to unlock the bootloader select yes with Volume Up
5. Your bootloader is now unlocked power off the device and power it back on the device will boot and have an unlocked padlock when loading. Also this will factory reset your device this includes everything on the 16 gb storage.
Cheers,
Draco
A little off-topic, but didn't want to open a new topic: is australian radio version different from european version?
Draco32 said:
Hi Everyone,
...
5. Your bootloader is now unlocked power off the device and power it back on the device will boot and have an unlocked padlock when loading. Also this will factory reset your device this includes everything on the 16 gb storage.
Click to expand...
Click to collapse
Hi everybody,
I received my 10.1v yesterday (Vodafone, Germany) and have noticed that it allready boots with an unlocked padlock. Does this mean that I have an allready unlocked Tab? This is strange ...
smack said:
Hi everybody,
I received my 10.1v yesterday (Vodafone, Germany) and have noticed that it allready boots with an unlocked padlock. Does this mean that I have an allready unlocked Tab? This is strange ...
Click to expand...
Click to collapse
Cool!
Yes that should mean it's unlocked. Apparently the 10.1 is shipping unlocked as well so I guess I shouldn't be surprised.
If you want to be sure, go into fastboot mode using steps 1-4 above and it should say:
Lock State: UNLOCKED
...on the fastboot screen
unlucky, if I Hold the VOLUME DOWN button and press the POWER button , the tablet goes to the normal UI, I cannot understand.......
I did not see anything about BACKUP and USB icons
For those who are having diffficulties unlocking the bootloader, follow all steps mentioned in the guide, and then enter the device in USB mode but don't plug it to the pc.
Open the cmd and type:
cd "<PATH TO SDK FOLDER>\tools"
fastboot devices
fastboot oem unlock (and it will appear a notification saying waiting for device)
Only nows, in USB mode, plug the tab to the PC.
After that choose in the tab "yes" and your bootloader is unlocked.
Hope this could help!
(1) Download this META-INF
(2) Extract & you will find "META-INF" folder.
(3) Go to META-INF/com/google/android/, replace the updater-script in this folder with your ROM/MOD updater-script.
(4) In the same folder, "aroma-config" file is also present, its contents are as follows:
HTML:
[CODE]Code:
##
#
# AROMA Installer - based on the Mod-installer by KamikaZeeFu
# (c) 2011 by Ahmad Amarullah
# amarullz - xda-developers
# [url]http://www.amarullz.com/[/url]
# NEO ROM AROMA SCRIPT BY LEVENTCCC
[CODE]theme("ics");[/CODE]
calibrate("0.9263","21","0.9944","1","yes");
viewbox(
"Welcome",
"\n\n\n\n\n"+
" You're about to flash\n"+
" NeO RoM v3.0\n\n"+
"\n\n\n"+
"Press Next to continue the installation...",
"icons/info"
);
textbox(
#-- Title
"NEO ROM v3",
#-- Subtitle
"FEATURES",
#-- Icon
"@update",
#-- Arg 4
resread("changelogs.txt")
);
appendvar("installmsg","\n\nPlease Select Installation Type Below:");
install(
"Installing",
"Now flashing the Neo ROM...\nPlease Wait...",
"icons/install"
);
# Set Next Text fo Finish
ini_set("text_next", "Finish");
viewbox(
"Installation Completed",
"Congratulations...\n\n"+
"Your installation is now complete\n\n"+
"Press Finish, reboot and enjoy.\n\nThanks",
"icons/info"[/CODE]
);
(5) Editing aroma-config file:
Code:
theme("ics");
4 themes are available- ics, sense, miui, miui4
Code:
resread("changelogs.txt")
"changelogs.txt" is also present in the folder
Code:
META-INF/com/google/android/
Edit this file to include features/changelog of your ROM/MOD.:good::laugh:
(6) Final step is to replace your ROM's META-INF folder with this META-INF
222
Thanks will give a try to this.
--------------------Signature--------------------
Don't Ever Post A Thanks Post,
If I Helpes You, Your Hand Will Automatically Hit THANKS
Do Visit My Website For More Information.
www.hmpshah.com
Will try this asap... Sounds niceeee... :victory:
Team Win Recovery Project 2.x, or twrp2 for short, is a custom recovery built with ease of use and customization in mind. Its a fully touch driven user interface no more volume rocker or power buttons to mash. The GUI is also fully XML driven and completely theme-able. You can change just about every aspect of the look and feel.
TWRP 2.8.6.0 Changelog: http://teamw.in/site/update/2015/03/26/twrp-2.8.6.0-released.html
Why another thread of TWRP?
This build of TWRP doesn't need loki to bypass the bootloader, and it works with both 4.2 and 4.4 bootloaders. It also has the advantage that when you boot the device into recovery it doesn't show that nasty bootloader warning. The kernel in this build is based on cm-12.1 official, but it has the backlight adapted for 4.4 bootloader. You can also use it with a 4.2 bootloader, but you'll probably have brightness issues.
Image: https://www.androidfilehost.com/?fid=95916177934551824
Flashable zip: https://www.androidfilehost.com/?fid=95916177934551825
Install instructions: flash the zip from recovery or install the image using THIS APP (needs root).
XDA:DevDB Information
TWRP v500, Tool/Utility for the LG G Pad 8.3
Contributors
jsevi83
Source Code: https://github.com/awifi-dev/twrp_device_lge_v500
Version Information
Status: Stable
Created 2015-04-07
Last Updated 2015-04-30
Thanks! Working so far...
This is very cool. How does Bump work? Is Bump a utility, similar to loki?
Are you using Open Bump?
http://forum.xda-developers.com/lg-g2/orig-development/tool-bump-sign-boot-images-t2950595
Deltadroid said:
This is very cool. How does Bump work? Is Bump a utility, similar to loki?
Are you using Open Bump?
http://forum.xda-developers.com/lg-g2/orig-development/tool-bump-sign-boot-images-t2950595
Click to expand...
Click to collapse
Open Bump. It's just a python script. As you can see, it's very easy to implement, I think every custom rom/recovery should be using this.
This is how I added it to my recovery repo: https://github.com/awifi-dev/twrp_device_lge_v500/commit/090f1930fe5b0feaada35b6ba1abc5cbd05a8f72
This is how I added it to my cm repo: https://github.com/awifi-dev/androi...mmit/7a8418e656cbc0862a23e3a95ece02cd3c6c277d
That is awesome. I see that python script has some magic signing key from lg embedded in it. Does Open Bump require any modifications to work with our device images?
It would be super cool if there was c based version so that I could create a flashable script to remove loki from the boot image and sign with bump to remove that ugly boot loader error message on boot up.
Something I could flash after applying a nightly update. Just like the script I just made for setting the kernel into permissive mode.
I can't seem to flash roms with this.
E: Errror executing updater binary in zip xxxx
@jsevi83
Do you have more commits for v500 to change the cm kernel update system to remove the loki stuff? Great work!
---------- Post added at 12:25 PM ---------- Previous post was at 12:22 PM ----------
Everyone flashing this should realize that your aboot must still be loki exploitable because of the way cm installs it's kernel. I believe that the cm install script calls loki to install the boot.img.
So, this works on stock 20d version with root (Towelroot) and Flashify? I didn't get TWRP with the tons of the methods found here on xda, and also softbricked the tablet.
I will not try again unless this method really works!
Flashify will try to use loki. Don't use that. Use the command line with the dd command.
---------- Post added at 12:30 PM ---------- Previous post was at 12:27 PM ----------
Btw, stock 20d won't work on cm without an exploitable aboot.
ASW1 said:
E: Errror executing updater binary in zip
Click to expand...
Click to collapse
I keep getting this error no matter what ROM I try to flash.
I am basically stuck now with a tablet that will only boot into TWRP 2.8.6, I messed up the system so TWRP is all I have now.
Any suggestions about what to do?
Should I maybe use TWRP to flash CMW and try that instead?
edit: tried flashing CMW but it won't work; even then I get the same error message.
So all I have now is TWRP that fails to flash anything....
ASW1 said:
I keep getting this error no matter what ROM I try to flash.
I am basically stuck now with a tablet that will only boot into TWRP 2.8.6, I messed up the system so TWRP is all I have now.
Any suggestions about what to do?
Should I maybe use TWRP to flash CMW and try that instead?
edit: tried flashing CMW but it won't work; even then I get the same error message.
So all I have now is TWRP that fails to flash anything....
Click to expand...
Click to collapse
See this
http://forum.xda-developers.com/showthread.php?p=48942830
When I softbricked my tablet this solved my problem.
I can confirm that this method works beautifully. Many many thanks to the OP.
I just wanted to also confirm that the current state of the Open Bump project requires the following patch to work properly with v500 kernel parameters.
Code:
--- open_bump.py 2014-11-23 21:56:00.000000000 +0100
+++ open_bump.v500.py 2015-04-08 21:28:17.098864000 +0200
@@ -27,6 +27,10 @@
# Proof of Concept
POC = False
+if POC:
+ from Crypto.Cipher import AES
+ import hashlib
+
usage = """\
Usage: open_bump.py [-ha] "<image_file>" "<output_image>"
@@ -35,22 +39,29 @@
-a/--apend image_file - <required> if in append mode, the <image_file> is appended rather than <output_file> being generated\
"""
+lg_key = "b5e7fc2010c4a82d6d597ba040816da7832e0a5679c81475a0438447b711140f"
+lg_iv = "[email protected]|[email protected]"
lg_magic = "41a9e467744d1d1ba429f2ecea655279"
+lg_dec_magic = "696e6877612e77651000000047116667"
-def get_kernel_size(image_name):
- page_size = get_page_size(image_name)
- f_image = open(image_name, 'a+b')
- paged_kernel_size = get_size_from_kernel(f_image, page_size, 8)
- paged_ramdisk_size = get_size_from_kernel(f_image, page_size, 16)
- paged_second_size = get_size_from_kernel(f_image, page_size, 24)
- if paged_second_size <= 0:
- paged_second_size = 0
- paged_dt_size = get_size_from_kernel(f_image, page_size, 40)
- if paged_dt_size <= 0:
- paged_dt_size = 0
- f_image.close()
- return page_size + paged_kernel_size + paged_ramdisk_size + paged_second_size + paged_dt_size
+def generate_signature(image_hash):
+ # the iv and key were extracted from the lg g2 aboot.img. I can explain how to find it on request.
+ iv = lg_iv
+ key = binascii.unhexlify(lg_key)
+ # this "magic" number was found after decrypting the bumped images
+ # Without codefire, this would not have been possible as I can find no reference in
+ # the images of the g2 or the g3
+ magic = binascii.unhexlify(lg_magic)
+ image_hash = binascii.unhexlify(image_hash) # insert your hash here
+ # the structure of the signature in bump starts with a magic number, then seemingly random
+ # bytes. 2 zeros follow, then the hash of the image, then 6 zeros, then 512 bytes of random data again
+ data = magic + os.urandom(16) + '\x00'*2 + image_hash + '\x00'*6 + os.urandom(512)
+ # this is then padded to fill the needed 1024 bytes
+ padded_data = data + '\x00'*(1024-len(data))
+ # AES-256 is then used to encrypt the above data
+ cipher = AES.new(key, AES.MODE_CBC, iv)
+ return cipher.encrypt(padded_data)
def bumped(image_data):
@@ -80,10 +91,18 @@
image_size = os.path.getsize(image_name)
num_pages = image_size / page_size
- calculated_size = get_kernel_size(image_name)
-
f_image = open(image_name, 'a+b')
+ paged_kernel_size = get_size_from_kernel(f_image, page_size, 8)
+ paged_ramdisk_size = get_size_from_kernel(f_image, page_size, 16)
+ paged_second_size = get_size_from_kernel(f_image, page_size, 24)
+ if paged_second_size <= 0:
+ paged_second_size = 0
+ paged_dt_size = get_size_from_kernel(f_image, page_size, 40)
+ if paged_dt_size <= 0:
+ paged_dt_size = 0
+ calculated_size = page_size + paged_kernel_size + paged_ramdisk_size + paged_second_size + paged_dt_size
+
if calculated_size > image_size:
print("Invalid image: %s: calculated size greater than actual size" % image_name)
f_image.close()
@@ -91,8 +110,7 @@
if image_size > calculated_size:
difference = image_size - calculated_size
if difference not in [page_size, page_size*2]:
- if difference not in [1024, page_size + 1024, 2 * page_size + 1024,
- 16, page_size + 16, 2 * page_size + 16]:
+ if difference not in [1024, page_size + 1024, 2 * page_size + 1024]:
print("Image already padded. Attempting to remove padding...")
print("Beware: this may invalidate your image.")
i = num_pages - 1
@@ -128,7 +146,11 @@
print("Image already bumped")
finish(out_image)
pad_image(out_image)
- magic = binascii.unhexlify(lg_magic)
+ if POC:
+ sha1sum = get_sha1(out_image)
+ magic = generate_signature(sha1sum)
+ else:
+ magic = binascii.unhexlify(lg_magic)
with open(out_image, 'a+b') as f_out_image:
f_out_image.write(magic)
finish(out_image)
ASW1 said:
I keep getting this error no matter what ROM I try to flash.
I am basically stuck now with a tablet that will only boot into TWRP 2.8.6, I messed up the system so TWRP is all I have now.
Click to expand...
Click to collapse
Something else I noticed after a failed flash:
"assert failed: run_program("/tmp/loki/sh") == 0
(I did use flashify to install 2.8.6.0)
Fyi for those new to bump... (I have a g3, been with it from the beginning). Bump rom flashing requires the rom zip boot (kernel) to be bumped. All rom developers will need to adopt this if we are going to switch from loki to bump. All current lp builds for other lg devices do not have "bumpable" bootloaders due to bump being open sourced (cooperation with lg failed with its open release and they patched it), so once the lp updates become standard, the jb boots may cause problems for aosp while the kk one is working, so this will likely be the preferred method for us down the road, but all new roms will need to be updated accordingly. I can already see this is going to get messy for many that aren't up to speed, and some new guides will need to be made once we get the methods working.
annoyingduck said:
Fyi for those new to bump... (I have a g3, been with it from the beginning). Bump rom flashing requires the rom zip boot (kernel) to be bumped. All rom developers will need to adopt this if we are going to switch from loki to bump. All current lp builds for other lg devices do not have "bumpable" bootloaders due to bump being open sourced (cooperation with lg failed with its open release and they patched it), so once the lp updates become standard, the jb boots may cause problems for aosp while the kk one is working, so this will likely be the preferred method for us down the road, but all new roms will need to be updated accordingly. I can already see this is going to get messy for many that aren't up to speed, and some new guides will need to be made once we get the methods working.
Click to expand...
Click to collapse
Officially, cm will never adopt this method because of the keys that it contains. But, my goal is to make a flashable zip that will automatically convert a loki kernel to a bumped kernel.
We just need to convert this python script to a standalone c application so that I can package it.
---------- Post added at 10:45 AM ---------- Previous post was at 10:30 AM ----------
ASW1 said:
Something else I noticed after a failed flash:
"assert failed: run_program("/tmp/loki/sh") == 0
(I did use flashify to install 2.8.6.0)
Click to expand...
Click to collapse
You still need to have a loki exploitable aboot to install official CyanogenMod.
@Deltadroid: you told us to not use flashify to update twrp... so best method is flash twrp-(bump edition) inside twrp (loki edition)?
and then flash only bump compliant rom? (like euphoria-os, sure other dev will convert their rom to this new method, except CM official build as you mentioned earlier)
odjinan said:
@Deltadroid: you told us to not use flashify to update twrp... so best method is flash twrp-(bump edition) inside twrp (loki edition)?
and then flash only bump compliant rom? (like euphoria-os, sure other dev will convert their rom to this new method, except CM official build as you mentioned earlier)
Click to expand...
Click to collapse
If you already have a custom recovery installed, then the safest method is to use the flashable zip to install the bumped version of twrp. Just flash it in your recovery to install the new bumped recovery.
If you don't have a custom recovery installed yet, but you have root, then you can use the dd command to flash the boot image to your boot partition.
---------- Post added at 02:12 PM ---------- Previous post was at 01:21 PM ----------
The ROMs you flash don't need to be "bump compliant" if you have a loki exploitable aboot.
thank for the quick reply!
I flashed the zip version from OP and it working well. No more alert on boot screen~
annoyingduck said:
Fyi for those new to bump... (I have a g3, been with it from the beginning). Bump rom flashing requires the rom zip boot (kernel) to be bumped. All rom developers will need to adopt this if we are going to switch from loki to bump. All current lp builds for other lg devices do not have "bumpable" bootloaders due to bump being open sourced (cooperation with lg failed with its open release and they patched it), so once the lp updates become standard, the jb boots may cause problems for aosp while the kk one is working, so this will likely be the preferred method for us down the road, but all new roms will need to be updated accordingly. I can already see this is going to get messy for many that aren't up to speed, and some new guides will need to be made once we get the methods working.
Click to expand...
Click to collapse
The best option would be to use kitkat bootloader and bump for all custom roms and recoveries. It's very easy, I already shared the commits needed to implement this, and I could make a flashable zip with kitkat bootloader so everyone can easily install it.
Deltadroid said:
Officially, cm will never adopt this method because of the keys that it contains. But, my goal is to make a flashable zip that will automatically convert a loki kernel to a bumped kernel.
We just need to convert this python script to a standalone c application so that I can package it.
---------- Post added at 10:45 AM ---------- Previous post was at 10:30 AM ----------
You still need to have a loki exploitable aboot to install official CyanogenMod.
Click to expand...
Click to collapse
That's not true, some LG devices like v400 already use bump in CyanogenMod (officially), check this:
https://github.com/CyanogenMod/andr...mmit/6a647d5664df1bada7d1a36abe8faad79e0096cb
If they have it we could also get it.
Deltadroid said:
I can confirm that this method works beautifully. Many many thanks to the OP.
I just wanted to also confirm that the current state of the Open Bump project requires the following patch to work properly with v500 kernel parameters.
Code:
--- open_bump.py 2014-11-23 21:56:00.000000000 +0100
+++ open_bump.v500.py 2015-04-08 21:28:17.098864000 +0200
@@ -27,6 +27,10 @@
# Proof of Concept
POC = False
+if POC:
+ from Crypto.Cipher import AES
+ import hashlib
+
usage = """\
Usage: open_bump.py [-ha] "<image_file>" "<output_image>"
@@ -35,22 +39,29 @@
-a/--apend image_file - <required> if in append mode, the <image_file> is appended rather than <output_file> being generated\
"""
+lg_key = "b5e7fc2010c4a82d6d597ba040816da7832e0a5679c81475a0438447b711140f"
+lg_iv = "[email protected]|[email protected]"
lg_magic = "41a9e467744d1d1ba429f2ecea655279"
+lg_dec_magic = "696e6877612e77651000000047116667"
-def get_kernel_size(image_name):
- page_size = get_page_size(image_name)
- f_image = open(image_name, 'a+b')
- paged_kernel_size = get_size_from_kernel(f_image, page_size, 8)
- paged_ramdisk_size = get_size_from_kernel(f_image, page_size, 16)
- paged_second_size = get_size_from_kernel(f_image, page_size, 24)
- if paged_second_size <= 0:
- paged_second_size = 0
- paged_dt_size = get_size_from_kernel(f_image, page_size, 40)
- if paged_dt_size <= 0:
- paged_dt_size = 0
- f_image.close()
- return page_size + paged_kernel_size + paged_ramdisk_size + paged_second_size + paged_dt_size
+def generate_signature(image_hash):
+ # the iv and key were extracted from the lg g2 aboot.img. I can explain how to find it on request.
+ iv = lg_iv
+ key = binascii.unhexlify(lg_key)
+ # this "magic" number was found after decrypting the bumped images
+ # Without codefire, this would not have been possible as I can find no reference in
+ # the images of the g2 or the g3
+ magic = binascii.unhexlify(lg_magic)
+ image_hash = binascii.unhexlify(image_hash) # insert your hash here
+ # the structure of the signature in bump starts with a magic number, then seemingly random
+ # bytes. 2 zeros follow, then the hash of the image, then 6 zeros, then 512 bytes of random data again
+ data = magic + os.urandom(16) + '\x00'*2 + image_hash + '\x00'*6 + os.urandom(512)
+ # this is then padded to fill the needed 1024 bytes
+ padded_data = data + '\x00'*(1024-len(data))
+ # AES-256 is then used to encrypt the above data
+ cipher = AES.new(key, AES.MODE_CBC, iv)
+ return cipher.encrypt(padded_data)
def bumped(image_data):
@@ -80,10 +91,18 @@
image_size = os.path.getsize(image_name)
num_pages = image_size / page_size
- calculated_size = get_kernel_size(image_name)
-
f_image = open(image_name, 'a+b')
+ paged_kernel_size = get_size_from_kernel(f_image, page_size, 8)
+ paged_ramdisk_size = get_size_from_kernel(f_image, page_size, 16)
+ paged_second_size = get_size_from_kernel(f_image, page_size, 24)
+ if paged_second_size <= 0:
+ paged_second_size = 0
+ paged_dt_size = get_size_from_kernel(f_image, page_size, 40)
+ if paged_dt_size <= 0:
+ paged_dt_size = 0
+ calculated_size = page_size + paged_kernel_size + paged_ramdisk_size + paged_second_size + paged_dt_size
+
if calculated_size > image_size:
print("Invalid image: %s: calculated size greater than actual size" % image_name)
f_image.close()
@@ -91,8 +110,7 @@
if image_size > calculated_size:
difference = image_size - calculated_size
if difference not in [page_size, page_size*2]:
- if difference not in [1024, page_size + 1024, 2 * page_size + 1024,
- 16, page_size + 16, 2 * page_size + 16]:
+ if difference not in [1024, page_size + 1024, 2 * page_size + 1024]:
print("Image already padded. Attempting to remove padding...")
print("Beware: this may invalidate your image.")
i = num_pages - 1
@@ -128,7 +146,11 @@
print("Image already bumped")
finish(out_image)
pad_image(out_image)
- magic = binascii.unhexlify(lg_magic)
+ if POC:
+ sha1sum = get_sha1(out_image)
+ magic = generate_signature(sha1sum)
+ else:
+ magic = binascii.unhexlify(lg_magic)
with open(out_image, 'a+b') as f_out_image:
f_out_image.write(magic)
finish(out_image)
Click to expand...
Click to collapse
so for a bumped kernel to work we need to use your modified version of the script?
i still dont get the concept
Greetings.
After successfully implementing this, I've tried
to take this task a further and tried to save the quotes in one (text) file at user desired location along with a prompt of how many posts user wants to pull from reddit.
Taker Detail : Get desired (totally customizable from variables) titles/quotes from popular subreddits (like r/quotes) and save them in a text file for future use.
GUIDE :
1. Task -> New Task
2. Variable -> Set -> Name "%subreddit" Value "quotes" {or your desired subreddit}
3. Variable -> Set -> Name "%NoOfPosts" Value "25" {25 by default, you can change it as well}
Go back to main Task view.
4. Scene -> New Scene -> Name : Reddit1.
5. Add a TextFiled -> Name : How many posts?
6. Add Element -> NumberPicker -> Set Min : 1 , Max=100, Default = 25. Go to VALUE SELECTED Tab ->
New Action -> Variable Set -> Name : "%NoOfPosts" to "%new_val" {Thanks to Reddit API, max can be 100 only}
7. Go Back to main scene edit screen.
8. Add Element -> Button -> Label : "OK" -> Go to TAP tab -> Add Action -> Destroy Scene -> Name : "Reddit1".
9. Go Back to TASKS tab.
10. Go to previously created task. {from step 3}
11. SCENE -> Show Scene -> Select "Reddit1" -> UnCheck : Continue Task Immediately
12. Add -> Alert -> Flash -> Text : Getting your data from %subreddit.
13. Add -> NET -> HTTP Get -> Serverort = "json.reddit.com/r/%subreddit/top/?sort=top&t=all&limit=%NoOfPosts" -> TimeOut : 82 {Again thanks to Reddit api} {You can change sort modes by looking at the reddit api}
14. Add -> Alert -> Flash -> Text : Saving %NoOfPosts posts from r/%subreddit...
15. Add -> Code -> Java Scriptlet -> Add following code :
Code:
var arr = JSON.parse(global("HTTPD"));
var i = 0;
var mytext = "";
var myarr = [];
var i2 = 0;
var path1 ="/storage/emulated/0/apks/myquotes3.txt";
var newtext = "";
for (;arr.data.children[i];) {
myarr.push(arr.data.children[i].data.title);
i++;
}
for(;myarr[i2];)
{
newtext = myarr[i2] + "\n \n" ;
var ok = writeFile(path1, newtext, true )
i2++;
}
{you need to change the 'path1' variable}
16. Add-> Variable Clear -> Name : %HTTPD*
17. Add -> Alert -> Text : Saved!
Congratulations. You've saved some of the good life quotes directly from reddit.
Future enhancements : We can make some automated task where from this text file, daily (or at some interval) we can grab one quote and post it to any particular WhatsApp group or even send a text message.
New Ideas are always welcomed.
Screenshots here.
@tjhackz : Thank you for sharing! By the way, there is a ";" missing after ")" , before i2++. I was getting a error because that. You should edit your post and add it, because new tasker beginners ( like me ) will have a problem . Once again, thank you!
-
-
WORKING IN ALL VARIANT NOTE 5
-
-
Flashing your smartphone via Odin ,
But ODIN could Not recognize the phone and the blue box doesnt appear
-
-
-
Unlock the boot loader you need to have the ADT with all the packages installed and configured.
Later once the configuration is done properly then you can connect your device and enable USB Debugging under the options.
Download Modaco’s Superboot files and save them to your computer.
Once downloaded, extract it by right clicking and extract all.
On your phone, click on Settings > Developer Options > Turn USB Debugging On.
Plug the device in to your computer via USB cable.
Open the superboot folder that we just extracted (until you see the folder with fastboot-windows inside it), then hold the shift key down on your computer and right click any blank area.
Now, select open command window here.
In the command prompt, type the following with hitting enter at the end of each line.
-
-
Copy and page in cmd:
adb-windows reboot bootloader
fastboot-windows oem unlock and wait for the device to reboot (no necesary)
In case you phone not restart : reboot....
Then you turn on the phone
Then you power off on the phone
Then install your current firmware: .md5
optional: Galaxy Note Series Firmware
and enjoy
LINK : https://mega.nz/#F!iIE0yYqQ!2nskXbsvwWMn1OBM1LXm8A
-
-
VIDEO TUTORIAL
-
-
Credits: @Adil_mac
wow thanks ... is this means I can downgrade to 5.1.1 ?
when i type in cmd adb-windows reboot bootloader the phone reboots on normal user
and the tut video not available can u make one please
Vídeo not reproducing.
{
"cpn": "eqo_KnbfUuNy8rKd",
"vct": "0.000",
"vd": "NaN",
"vpl": "",
"vbu": "",
"vpa": true,
"vsk": false,
"ven": false,
"vpr": 1,
"vrs": 0,
"vns": 0,
"vec": null,
"vvol": 1,
"state": "80",
"debug_error": {
"errorCode": "api.invalidparam",
"errorDetail": "invalidVideodata.1",
"message": "Se produjo un error. Vuelve a intentarlo más tarde.",
"messageKey": "YTP_ERROR_GENERIC_WITHOUT_LINK"
},
"relative_loudness": "0.000",
"0sz": false,
"op": "",
"yof": false,
"dis": "",
"gpu": "Mali-T760",
"cgr": true,
"debug_playbackQuality": "unknown",
"debug_date": "Mon Apr 03 2017 20:11:07 GMT-0600 (CST)"
}
Link is broken