[Dev] Gen10 AES/MPK keys + aos-tools - Gen10 Android Development

Hi hackers,
aos-tools got another update.
With the help of cajl, our helpful fellow here at xda, i was able to extract the keys for Gen10 devices.
So here it is:
Code:
static unsigned char G10A_AES[] = {
0x7A, 0xDD, 0xFA, 0xB4, 0xAF, 0x05, 0x18, 0xF4,
0x02, 0x6E, 0xFE, 0x2E, 0x28, 0xFA, 0x0C, 0x71
};
static unsigned char G10A_BOOTLOADER[] = {
0xFB, 0x28, 0x97, 0x50, 0x10, 0x90, 0x9B, 0x90, 0xDD, 0xD0,
0x27, 0xC5, 0x15, 0xC5, 0xDD, 0xCE, 0xDB, 0x6E, 0xE1, 0x5C,
0xB9, 0xAA, 0x15, 0x2F, 0xE2, 0x3E, 0xB0, 0x8A, 0xB5, 0x99,
0xE1, 0x01, 0x06, 0x58, 0x0D, 0x00, 0xD3, 0xC6, 0x38, 0x67,
0x34, 0x2D, 0x31, 0x22, 0x28, 0xD3, 0x09, 0x44, 0x3D, 0xBE,
0xE8, 0x19, 0xC9, 0x23, 0x7A, 0x0A, 0x06, 0x1F, 0x5D, 0xCF,
0xAA, 0xB3, 0xC2, 0x99, 0xDA, 0xA8, 0x20, 0x50, 0x6B, 0x7A,
0x6D, 0x05, 0xFD, 0x80, 0x25, 0x52, 0x07, 0x54, 0xF5, 0xA6,
0xA1, 0x6F, 0xF9, 0xC2, 0xB4, 0x7E, 0x03, 0x17, 0xB3, 0x66,
0xA4, 0xA9, 0xBA, 0x11, 0x68, 0xC4, 0x56, 0xC3, 0x01, 0x7A,
0x4B, 0x5A, 0x30, 0x3A, 0x5F, 0xB3, 0x7A, 0x5F, 0x91, 0x34,
0xBD, 0xB1, 0x78, 0x10, 0x25, 0xE8, 0xDC, 0x59, 0x79, 0x61,
0xE9, 0x58, 0xF8, 0x8F, 0x25, 0x58, 0x3F, 0xB3, 0x01, 0x00,
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE1, 0x38,
0x6C, 0xCB
};
static unsigned char G10A_RELMPK[] = {
0x21, 0x54, 0x3D, 0x5F, 0x13, 0x85, 0xFC, 0xE2, 0x02, 0x75,
0xFE, 0x46, 0xC1, 0xAF, 0xBF, 0xC3, 0x91, 0x94, 0xF0, 0x2D,
0xAE, 0xF9, 0x6D, 0xEA, 0x2F, 0x2E, 0x24, 0xC7, 0x24, 0x8E,
0x6E, 0x1A, 0xB8, 0x15, 0x26, 0x40, 0xD7, 0xB1, 0xFA, 0x79,
0x60, 0xFB, 0x70, 0xEB, 0xE2, 0x77, 0x20, 0xCE, 0xAE, 0x99,
0x33, 0x25, 0x8E, 0x74, 0xA6, 0x7A, 0xD2, 0x9C, 0x15, 0x35,
0x03, 0xAF, 0xB6, 0xF9, 0x5A, 0xE2, 0xF8, 0x87, 0xF9, 0x22,
0xC1, 0x86, 0x90, 0xAD, 0x81, 0x9B, 0x44, 0x74, 0x8B, 0xD6,
0x82, 0x2E, 0x0B, 0x9F, 0x53, 0xC9, 0xD6, 0xC4, 0x03, 0xFE,
0x4F, 0xF6, 0x70, 0x35, 0x8B, 0x11, 0xCD, 0x95, 0x14, 0xA0,
0x81, 0x2A, 0x3C, 0x95, 0xC9, 0x48, 0xA0, 0x01, 0x2B, 0x99,
0x1C, 0xE0, 0x91, 0x88, 0x3A, 0x07, 0x85, 0xEA, 0x04, 0xFA,
0x3C, 0xB5, 0x76, 0x7C, 0xFF, 0xE0, 0xF0, 0xD5, 0x01, 0x00,
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x55,
0xB1, 0x69
};
static unsigned char G10A_DEVMPK[] = {
0x33, 0x70, 0xFC, 0x74, 0x90, 0xCE, 0x2E, 0x88, 0x34, 0x8C,
0xA0, 0xE7, 0x2A, 0x3C, 0xC0, 0x96, 0x93, 0x64, 0x21, 0x2E,
0xA7, 0xB5, 0xD8, 0xB9, 0x78, 0xE7, 0xD5, 0x97, 0x9F, 0x2C,
0x98, 0xCD, 0xA6, 0x4A, 0x1C, 0xE0, 0x0A, 0x07, 0xB4, 0xFB,
0x04, 0x00, 0x93, 0xF2, 0xF4, 0xCE, 0xC2, 0x9C, 0xF5, 0xD3,
0x95, 0x37, 0x01, 0x58, 0x2D, 0xEA, 0x4C, 0x96, 0xDD, 0xD9,
0xAD, 0xA2, 0xA7, 0x7C, 0xDD, 0x69, 0x6F, 0xBA, 0xE4, 0xD5,
0x04, 0x5C, 0xD9, 0xE2, 0x14, 0xC8, 0xFF, 0xE7, 0x4C, 0x49,
0x9C, 0x0C, 0xA1, 0x92, 0x03, 0x50, 0xEE, 0x3D, 0x73, 0xED,
0x02, 0x07, 0xEF, 0xBE, 0x43, 0xE4, 0x33, 0x32, 0xBF, 0x30,
0x9E, 0xE8, 0xCD, 0xD1, 0x7C, 0x96, 0x31, 0x7C, 0xE4, 0xD0,
0x74, 0xCF, 0xD8, 0x67, 0x5D, 0x5A, 0x67, 0x63, 0x13, 0xDF,
0x71, 0x69, 0x54, 0x93, 0x2B, 0x0B, 0xA0, 0xB5, 0x01, 0x00,
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x26,
0xF4, 0xDC
};
static unsigned char G10A_PLUGMPK[] = {
0x5F, 0x2E, 0x22, 0x66, 0x2A, 0x4F, 0x11, 0x6A, 0x9A, 0x64,
0x5D, 0xB6, 0x26, 0x1D, 0x97, 0xA8, 0x81, 0x0F, 0x18, 0x4F,
0x35, 0xC6, 0x7A, 0x6D, 0xBB, 0x80, 0x45, 0xC5, 0x61, 0x42,
0x58, 0x43, 0xBE, 0xB5, 0x1D, 0x3E, 0x6B, 0x05, 0x7F, 0x72,
0x74, 0xE4, 0x0A, 0xAF, 0x2F, 0xE0, 0xFA, 0x50, 0x84, 0xB7,
0xC0, 0x13, 0x19, 0x61, 0x42, 0xC0, 0xE6, 0x09, 0xC7, 0x08,
0xAE, 0xDB, 0x2E, 0x60, 0x72, 0xBE, 0x4C, 0x36, 0xCA, 0xA3,
0xA0, 0x81, 0x14, 0x67, 0xF6, 0xBC, 0x14, 0xD3, 0xC9, 0x4B,
0xB7, 0x03, 0x9F, 0x73, 0x20, 0xF5, 0x2F, 0x97, 0x0B, 0x41,
0x84, 0x57, 0x59, 0xBD, 0xA7, 0x68, 0x7A, 0x57, 0x38, 0xC6,
0x9C, 0x9D, 0xEC, 0x21, 0x24, 0x55, 0xAE, 0x6F, 0xF2, 0x92,
0x48, 0x00, 0x41, 0x3B, 0x55, 0xFA, 0x9D, 0xA6, 0xA3, 0xB2,
0x35, 0x0B, 0xC2, 0xF2, 0xC4, 0x11, 0x31, 0xC6, 0x01, 0x00,
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x96,
0xB4, 0x17
};
static unsigned char G10A_HDDMPK[] = {
0x43, 0x0A, 0x87, 0x99, 0x36, 0x79, 0xE8, 0x77, 0x4F, 0xD7,
0x15, 0xFC, 0x65, 0x14, 0xA3, 0x2F, 0x17, 0x13, 0x05, 0xB6,
0x82, 0x64, 0x40, 0x84, 0xF3, 0x16, 0xB3, 0xD1, 0x85, 0xCE,
0x4D, 0xDF, 0x6A, 0x9E, 0x3A, 0x78, 0xD0, 0xD7, 0xED, 0x7C,
0x59, 0xDC, 0x60, 0xE8, 0x99, 0x0D, 0x65, 0xE1, 0xA8, 0xFD,
0x69, 0x5F, 0x71, 0xF7, 0xD8, 0xD1, 0xD7, 0x1B, 0x67, 0xD8,
0x9C, 0xC1, 0x4B, 0x2D, 0x37, 0xFE, 0x5A, 0xDD, 0x65, 0x01,
0x52, 0x38, 0xE6, 0xC0, 0x62, 0x54, 0x11, 0x09, 0x86, 0xFD,
0x8D, 0x93, 0x1B, 0x81, 0x21, 0xB5, 0xCC, 0xE7, 0xAD, 0xBA,
0x74, 0x2C, 0x81, 0x45, 0x23, 0xD2, 0x3D, 0x59, 0xED, 0x43,
0xA8, 0x3E, 0x0C, 0x20, 0x92, 0x60, 0xF0, 0x43, 0x4B, 0x55,
0x7F, 0xD9, 0x89, 0x98, 0x66, 0x43, 0x73, 0x9C, 0xD1, 0x14,
0x7D, 0xA9, 0xE7, 0xC6, 0x94, 0x66, 0x43, 0xAA, 0x01, 0x00,
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0xA0,
0x91, 0x08
};
I could not wait and implemented the new key section to the famous aos-tools.
Just made a test run and it just worked out of the box.
Attached you'll find 32bit binaries and the sources to compile the tools yourself on a linux host.
These are the bare tools based on EiNSTeiN's work.
Not included yet, are the additonal tools from letama (e.g. aos-kernel-unpack).
The binaries are compiled with libc-2.3.6, so should work basically on every latest 32bit linux machine.
DIY for a 64bit host!
We now are able to extract Gen10 firmware files and may find a way to permanently root these tablets soon.
EDIT:
To the admins... as soon as we get a Gen10 section, this thread should be moved of course
Have fun!
scholbert

Hi !
Thanks ! ...great work ...but where can I find the source code for tools " unpack-kernel " ?

Hi surdu_petru,
thanks for appreciating!
surdu_petru said:
...but where can I find the source code for tools " unpack-kernel " ?
Click to expand...
Click to collapse
Letama just posted the sources... see this posting:
http://forum.xda-developers.com/showpost.php?p=34523637&postcount=19
Have fun!
scholbert

Hi !
Update ...
Tools for unpack Archos 101XS firmware_archos_it4x.aos !
- unpack firmware .aos -> aos-unpack-g10 ( 64bit !)
- unpack kernel -> unpack-aos-kernel-g10 (64bit !)
To enter commands from any directory , copy the both binary files in /usr/local/bin !
$ cp aos-unpack-g10 /usr/local/bin/
$ cp unpack-aos-kernel-g10 /usr/local/bin/
$ sudo chown 0.0 /usr/local/bin/aos-unpack-g10
$ sudo chown 0.0 /usr/local/bin/unpack-aos-kernel-g10
$ sudo chmod +x /usr/local/bin/aos-unpack-g10
$ sudo chmod +x /usr/local/bin/unpack-aos-kernel-g10
Download : tools-gen10.zip - 27.15 KB Mirror : tools-gen10.zip
***********
Root version for Archos 101XS Firmware 4.0.26 is out !
Will be posted soon, ... as soon as Mr. Cajl will test the new release !
Credit :
Many thanks to LeTama & Scholbert !

work in progress

scholbert said:
Hi hackers,
....
We now are able to extract Gen10 firmware files and may find a way to permanently root these tablets soon.
....
scholbert
Click to expand...
Click to collapse
Hi Scholbert and Everyone!
Thanks for the code Scholbert, saved me job! :good: I've updated my github repo [ trevd/aos-tools ] with the latest sources as no one seems to have access to update the original google code sources, If anyone wants commit permissions let me know your github user name and I'll add you to the list.
Thanks

trevd said:
Hi Scholbert and Everyone!
Thanks for the code Scholbert, saved me job! :good: I've updated my github repo [ trevd/aos-tools ] with the latest sources as no one seems to have access to update the original google code sources, If anyone wants commit permissions let me know your github user name and I'll add you to the list.
Thanks
Click to expand...
Click to collapse
Hi trevd, thanks for keeping the code uptodate for aos-tools. I added your source and a short description to the wiki on openaos http://dev.openaos.org/wiki/aos-tools
All the others involved thanks for extracting the keys.
divx118

Related

[FFU][UPE-DEV]Structure Full Flash Update Image for HTC Mazaa

Structure Full Flash Update Image (.FFU) for Windows Phone 7 HTC Mazaa
Full Flash Update - This is a System Flash Image for update WP7 Device. We upgrade this OS, example in tool UpdateWP.exe(from Zune catalog in PC).
In Part SDLR, from general ROM structure, we have too more files and modules, which reads the image system and its syntax.
Physical Flash Layout:
HashTable.blob
Partition Table Info
User Store Space
Bootloader/Modem -> (amss, fsbl, osbl, etc.)
BSP
SLDR1
SLDR2
NK
USP
DPP
IMGFS
PADUSER
User Store
Partition Table Info (ImageFlash):
Code:
[FullFlash]
Version = 1.0
MigrateUserSettings = False
UpdateType = Clean
Description =
DevicePlatformID = {2527F725-F4B7-404e-8379-F0CAE045AAB8}
FormatUserStore = False
[BinaryRegion]
Size = 27547389
Name = Modem
[Store]
SectorSize = 512
Name = OS
SectorCount = 62324736
ID = {7EF3850B-A401-4699-9821-7A4C483F6BAA}
[Partition]
UsedSectors = 1
Name = BSP
PartitionType = 41
BootDataSize = 12
TotalSectors = 512
TargetStore = {7EF3850B-A401-4699-9821-7A4C483F6BAA}
[Partition]
UsedSectors = 10199
Name = SLDR1
PartitionType = 32
BootDataSize = 12
TotalSectors = 13260
TargetStore = {7EF3850B-A401-4699-9821-7A4C483F6BAA}
[Partition]
UsedSectors = 10199
Name = SLDR2
PartitionType = 32
BootDataSize = 12
TotalSectors = 13260
TargetStore = {7EF3850B-A401-4699-9821-7A4C483F6BAA}
[Partition]
UsedSectors = 8107
Name = NK
PartitionType = 35
BootDataSize = 12
TotalSectors = 11776
TargetStore = {7EF3850B-A401-4699-9821-7A4C483F6BAA}
[Partition]
UsedSectors = 0
Name = USP
PartitionType = 27
TotalSectors = 6912
TargetStore = {7EF3850B-A401-4699-9821-7A4C483F6BAA}
[Partition]
UsedSectors = 1
Name = DPP
PartitionType = 41
TotalSectors = 512
TargetStore = {7EF3850B-A401-4699-9821-7A4C483F6BAA}
[Partition]
UsedSectors = 528254
Name = IMGFS
PartitionType = 37
TotalSectors = 1028088
TargetStore = {7EF3850B-A401-4699-9821-7A4C483F6BAA}
[Partition]
UsedSectors = 0
Name = PADUSER
PartitionType = 42
TotalSectors = 8
TargetStore = {7EF3850B-A401-4699-9821-7A4C483F6BAA}
[Partition]
UsedSectors = 0
UseAllSpace = True
Name = User
PartitionType = 4
TotalSectors = 0
TargetStore = {7EF3850B-A401-4699-9821-7A4C483F6BAA}
More Information:
.ffu (Full Flash Update) file format (XML) will be used to pass information to the Zune software on which partitions are to be updated, etc. FFUs are signed just as .cabs are signed and only an .ffu which passes validation against the certificates on-device will be allowed to update a device.
Click to expand...
Click to collapse
Nokser
shape of the above
the program is doing what
thanks
Can downgrade spl 5 with this??
Magpir said:
Can downgrade spl 5 with this??
Click to expand...
Click to collapse
+1 for this
what does this do?
hmm... this has been around for weeks Nokser, but thanks!

[Q] Overclocking?

Can someone throw some light on overclocking.
my friend told me that a CPU frequency can not be changed bcos u have to actually change the no. of oscillations per cycle.. which is not possible by coding.. so i have a question that all these overclocking are done on what basis?
Code:
static struct clkctl_acpu_speed acpu_freq_tbl_oc[] = {
{ {1, 1}, 192000, ACPU_PLL_8, 3, 1, 0, 0, L2(1), 800000, 0x03006000},
/* MAX_AXI row is used to source CPU cores and L2 from the AFAB clock. */
{ {0, 0}, MAX_AXI, ACPU_AFAB, 1, 0, 0, 0, L2(0), 825000, 0x03006000},
{ {1, 1}, 384000, ACPU_PLL_8, 3, 0, 0, 0, L2(1), 825000, 0x03006000},
{ {1, 1}, 432000, ACPU_SCPLL, 0, 0, 1, 0x08, L2(1), 850000, 0x03006000},
{ {1, 1}, 486000, ACPU_SCPLL, 0, 0, 1, 0x09, L2(2), 850000, 0x03006000},
{ {1, 1}, 540000, ACPU_SCPLL, 0, 0, 1, 0x0A, L2(3), 875000, 0x03006000},
{ {1, 1}, 594000, ACPU_SCPLL, 0, 0, 1, 0x0B, L2(4), 875000, 0x03006000},
{ {1, 1}, 648000, ACPU_SCPLL, 0, 0, 1, 0x0C, L2(5), 900000, 0x03006000},
{ {1, 1}, 702000, ACPU_SCPLL, 0, 0, 1, 0x0D, L2(6), 900000, 0x03006000},
{ {1, 1}, 756000, ACPU_SCPLL, 0, 0, 1, 0x0E, L2(7), 925000, 0x03006000},
{ {1, 1}, 810000, ACPU_SCPLL, 0, 0, 1, 0x0F, L2(8), 975000, 0x03006000},
{ {1, 1}, 864000, ACPU_SCPLL, 0, 0, 1, 0x10, L2(9), 975000, 0x03006000},
{ {1, 1}, 918000, ACPU_SCPLL, 0, 0, 1, 0x11, L2(10), 1000000, 0x03006000},
{ {1, 1}, 972000, ACPU_SCPLL, 0, 0, 1, 0x12, L2(11), 1025000, 0x03006000},
{ {1, 1}, 1026000, ACPU_SCPLL, 0, 0, 1, 0x13, L2(12), 1025000, 0x03006000},
{ {1, 1}, 1080000, ACPU_SCPLL, 0, 0, 1, 0x14, L2(13), 1050000, 0x03006000},
{ {1, 1}, 1134000, ACPU_SCPLL, 0, 0, 1, 0x15, L2(14), 1075000, 0x03006000},
{ {1, 1}, 1188000, ACPU_SCPLL, 0, 0, 1, 0x16, L2(15), 1100000, 0x03006000},
{ {1, 1}, 1242000, ACPU_SCPLL, 0, 0, 1, 0x17, L2(16), 1125000, 0x03006000},
{ {1, 1}, 1296000, ACPU_SCPLL, 0, 0, 1, 0x18, L2(17), 1150000, 0x03006000},
{ {1, 1}, 1350000, ACPU_SCPLL, 0, 0, 1, 0x19, L2(18), 1150000, 0x03006000},
{ {1, 1}, 1404000, ACPU_SCPLL, 0, 0, 1, 0x1A, L2(19), 1175000, 0x03006000},
{ {1, 1}, 1458000, ACPU_SCPLL, 0, 0, 1, 0x1B, L2(20), 1200000, 0x03006000},
{ {1, 1}, 1512000, ACPU_SCPLL, 0, 0, 1, 0x1C, L2(21), 1225000, 0x03006000},
{ {1, 1}, 1566000, ACPU_SCPLL, 0, 0, 1, 0x1D, L2(22), 1225000, 0x03006000},
{ {1, 1}, 1620000, ACPU_SCPLL, 0, 0, 1, 0x1E, L2(22), 1250000, 0x03006000},
{ {1, 1}, 1674000, ACPU_SCPLL, 0, 0, 1, 0x1F, L2(22), 1275000, 0x03006000},
{ {1, 1}, 1728000, ACPU_SCPLL, 0, 0, 1, 0x20, L2(22), 1300000, 0x03006000},
#ifdef CONFIG_OC_ULTIMATE
{ {1, 1}, 1782000, ACPU_SCPLL, 0, 0, 1, 0x21, L2(22), 1325000, 0x03006000},
{ {1, 1}, 1836000, ACPU_SCPLL, 0, 0, 1, 0x22, L2(22), 1337500, 0x03006000},
{ {1, 1}, 1890000, ACPU_SCPLL, 0, 0, 1, 0x23, L2(22), 1350000, 0x03006000},
{ {1, 1}, 1944000, ACPU_SCPLL, 0, 0, 1, 0x24, L2(22), 1362500, 0x03006000},
{ {1, 1}, 1998000, ACPU_SCPLL, 0, 0, 1, 0x25, L2(22), 1375000, 0x03006000},
{ {1, 1}, 2052000, ACPU_SCPLL, 0, 0, 1, 0x26, L2(22), 1400000, 0x03006000},
for eg. what are these numbers (384000) on the left side of the table? are these frequencies or what?
And pls can someone explain how actually overclocking is done?
@abcdjdj maybe you know something?
anikesh102 said:
Can someone throw some light on overclocking.
my friend told me that a CPU frequency can not be changed bcos u have to actually change the no. of oscillations per cycle.. which is not possible by coding.. so i have a question that all these overclocking are done on what basis?
Code:
static struct clkctl_acpu_speed acpu_freq_tbl_oc[] = {
{ {1, 1}, 192000, ACPU_PLL_8, 3, 1, 0, 0, L2(1), 800000, 0x03006000},
/* MAX_AXI row is used to source CPU cores and L2 from the AFAB clock. */
{ {0, 0}, MAX_AXI, ACPU_AFAB, 1, 0, 0, 0, L2(0), 825000, 0x03006000},
{ {1, 1}, 384000, ACPU_PLL_8, 3, 0, 0, 0, L2(1), 825000, 0x03006000},
{ {1, 1}, 432000, ACPU_SCPLL, 0, 0, 1, 0x08, L2(1), 850000, 0x03006000},
{ {1, 1}, 486000, ACPU_SCPLL, 0, 0, 1, 0x09, L2(2), 850000, 0x03006000},
{ {1, 1}, 540000, ACPU_SCPLL, 0, 0, 1, 0x0A, L2(3), 875000, 0x03006000},
{ {1, 1}, 594000, ACPU_SCPLL, 0, 0, 1, 0x0B, L2(4), 875000, 0x03006000},
{ {1, 1}, 648000, ACPU_SCPLL, 0, 0, 1, 0x0C, L2(5), 900000, 0x03006000},
{ {1, 1}, 702000, ACPU_SCPLL, 0, 0, 1, 0x0D, L2(6), 900000, 0x03006000},
{ {1, 1}, 756000, ACPU_SCPLL, 0, 0, 1, 0x0E, L2(7), 925000, 0x03006000},
{ {1, 1}, 810000, ACPU_SCPLL, 0, 0, 1, 0x0F, L2(8), 975000, 0x03006000},
{ {1, 1}, 864000, ACPU_SCPLL, 0, 0, 1, 0x10, L2(9), 975000, 0x03006000},
{ {1, 1}, 918000, ACPU_SCPLL, 0, 0, 1, 0x11, L2(10), 1000000, 0x03006000},
{ {1, 1}, 972000, ACPU_SCPLL, 0, 0, 1, 0x12, L2(11), 1025000, 0x03006000},
{ {1, 1}, 1026000, ACPU_SCPLL, 0, 0, 1, 0x13, L2(12), 1025000, 0x03006000},
{ {1, 1}, 1080000, ACPU_SCPLL, 0, 0, 1, 0x14, L2(13), 1050000, 0x03006000},
{ {1, 1}, 1134000, ACPU_SCPLL, 0, 0, 1, 0x15, L2(14), 1075000, 0x03006000},
{ {1, 1}, 1188000, ACPU_SCPLL, 0, 0, 1, 0x16, L2(15), 1100000, 0x03006000},
{ {1, 1}, 1242000, ACPU_SCPLL, 0, 0, 1, 0x17, L2(16), 1125000, 0x03006000},
{ {1, 1}, 1296000, ACPU_SCPLL, 0, 0, 1, 0x18, L2(17), 1150000, 0x03006000},
{ {1, 1}, 1350000, ACPU_SCPLL, 0, 0, 1, 0x19, L2(18), 1150000, 0x03006000},
{ {1, 1}, 1404000, ACPU_SCPLL, 0, 0, 1, 0x1A, L2(19), 1175000, 0x03006000},
{ {1, 1}, 1458000, ACPU_SCPLL, 0, 0, 1, 0x1B, L2(20), 1200000, 0x03006000},
{ {1, 1}, 1512000, ACPU_SCPLL, 0, 0, 1, 0x1C, L2(21), 1225000, 0x03006000},
{ {1, 1}, 1566000, ACPU_SCPLL, 0, 0, 1, 0x1D, L2(22), 1225000, 0x03006000},
{ {1, 1}, 1620000, ACPU_SCPLL, 0, 0, 1, 0x1E, L2(22), 1250000, 0x03006000},
{ {1, 1}, 1674000, ACPU_SCPLL, 0, 0, 1, 0x1F, L2(22), 1275000, 0x03006000},
{ {1, 1}, 1728000, ACPU_SCPLL, 0, 0, 1, 0x20, L2(22), 1300000, 0x03006000},
#ifdef CONFIG_OC_ULTIMATE
{ {1, 1}, 1782000, ACPU_SCPLL, 0, 0, 1, 0x21, L2(22), 1325000, 0x03006000},
{ {1, 1}, 1836000, ACPU_SCPLL, 0, 0, 1, 0x22, L2(22), 1337500, 0x03006000},
{ {1, 1}, 1890000, ACPU_SCPLL, 0, 0, 1, 0x23, L2(22), 1350000, 0x03006000},
{ {1, 1}, 1944000, ACPU_SCPLL, 0, 0, 1, 0x24, L2(22), 1362500, 0x03006000},
{ {1, 1}, 1998000, ACPU_SCPLL, 0, 0, 1, 0x25, L2(22), 1375000, 0x03006000},
{ {1, 1}, 2052000, ACPU_SCPLL, 0, 0, 1, 0x26, L2(22), 1400000, 0x03006000},
for eg. what are these numbers (384000) on the left side of the table? are these frequencies or what?
And pls can someone explain how actually overclocking is done?
@abcdjdj maybe you know something?
Click to expand...
Click to collapse
I don't know much about kernel programming but, yes those are the frequencies on the left side of the table. They are measured in kHz (kilo hertz). You must divide the number by 1000 to get the frequency in mHz and divide by 10^6 to get it in GHz. Usually overclocking means extending the array of structures along with the corresponding voltage values. But in our acpuclock-8x60.c file, there are multiple structures which have the frequency table and there is a function called :-
Code:
static __init struct clkctl_acpu_speed *select_freq_plan(void)
which decides which frequency table to chose. So basically there is a switch case block in that function which looks like this -
Code:
switch (pvs) {
case 0x0:
case 0x7:
acpu_freq_tbl =acpu_freq_tbl_1512mhz_slow;
pr_info("ACPU PVS: Slow\n");
break;
case 0x1:
acpu_freq_tbl = acpu_freq_tbl_1512mhz_nom;
pr_info("ACPU PVS: Nominal\n");
break;
case 0x3:
acpu_freq_tbl = acpu_freq_tbl_1512mhz_fast;
pr_info("ACPU PVS: Fast\n");
break;
default:
acpu_freq_tbl = acpu_freq_tbl_1512mhz_slow;
pr_warn("ACPU PVS: Unknown. Defaulting to slow.\n");
break;
}
Here depending on the variable pvs (unfortunately can't figure out what pvs is ), the frequency table is chosen. So we need to assign acpu_freq_table, the new overclocking structure which is acpu_freq_tbl_oc. Please do check out this commit too - https://github.com/deedwar/android_...mmit/d5520b9701591ecec2a3d4e43435bb7980cfea80
abcdjdj said:
I don't know much about kernel programming but, yes those are the frequencies on the left side of the table. They are measured in kHz (kilo hertz). You must divide the number by 1000 to get the frequency in mHz and divide by 10^6 to get it in GHz. Usually overclocking means extending the array of structures along with the corresponding voltage values. But in our acpuclock-8x60.c file, there are multiple structures which have the frequency table and there is a function called :-
Code:
static __init struct clkctl_acpu_speed *select_freq_plan(void)
which decides which frequency table to chose. So basically there is a switch case block in that function which looks like this -
Code:
switch (pvs) {
case 0x0:
case 0x7:
acpu_freq_tbl =acpu_freq_tbl_1512mhz_slow;
pr_info("ACPU PVS: Slow\n");
break;
case 0x1:
acpu_freq_tbl = acpu_freq_tbl_1512mhz_nom;
pr_info("ACPU PVS: Nominal\n");
break;
case 0x3:
acpu_freq_tbl = acpu_freq_tbl_1512mhz_fast;
pr_info("ACPU PVS: Fast\n");
break;
default:
acpu_freq_tbl = acpu_freq_tbl_1512mhz_slow;
pr_warn("ACPU PVS: Unknown. Defaulting to slow.\n");
break;
}
Here depending on the variable pvs (unfortunately can't figure out what pvs is ), the frequency table is chosen. So we need to assign acpu_freq_table, the new overclocking structure which is acpu_freq_tbl_oc. Please do check out this commit too - https://github.com/deedwar/android_...mmit/d5520b9701591ecec2a3d4e43435bb7980cfea80
Click to expand...
Click to collapse
Don't go into coding much... just tell me that the frequency of any CPU is fixed or not?
How does the frequency and oscillations work as the CPU load is increased?
anikesh102 said:
Don't go into coding much... just tell me that the frequency of any CPU is fixed or not?
How does the frequency and oscillations work as the CPU load is increased?
Click to expand...
Click to collapse
Very sorry to tell you but dude, without learning programming not much can be done. Anyway, kindly give me link to the sources which you are using. I need to check some files in the sources. The github link will do.
abcdjdj said:
Very sorry to tell you but dude, without learning programming not much can be done. Anyway, kindly give me link to the sources which you are using. I need to check some files in the sources. The github link will do.
Click to expand...
Click to collapse
https://github.com/DooMLoRD/android_kernel_sony_msm8660
It's DoomLord's github i m studying it for now.
anikesh102 said:
https://github.com/DooMLoRD/android_kernel_sony_msm8660
It's DoomLord's github i m studying it for now.
Click to expand...
Click to collapse
Well the overclocking commit was authored 9 months ago by Doom so the kernel has overclocking support. The CPU frequency scaling depends on the governor which you use. That's all I know about the cpu frequency scaling. You can check this guide for more info on the different governors - http://forum.xda-developers.com/showthread.php?t=1856256

Convert zimage to boot.img for galaxy s5

Hi everyone
I'm trying to compile my own kernel for sm-g900h from source , after i've encountered tons of errors during compilation and trying several toolchains and configs i got the zimage and the modules ready but !!
when i convert zimage to boot.img using umkbootimg and mkbootimgtool the boot.img doesn't boot at all and the device stick at samsung's logo so i thought that it's a problem with my zimage so i tried even more configs but to no avail.
the strange thing that i found is that if i unpacked the stock boot.img and then pack it without any modifications the resulted boot.img is different than the stock boot.img !!!! and it's smaller in about 500 kb than the stock boot.img !!! and of course the resulted boot.img won't boot .
Using the tools in this thread I could unpack the stock boot.img and then repack it without corruption but when i replace the stock zimage with my own one and then pack it again, the boot.img doesn't boot
if i used the standard tools or any other tools in the internet to unpack boot.img and get information i get no cmdline from the stock image although when i open /proc/last_kmsg i get content in ATAG_CMDLINE . . . . so there is definitely a difference between the standard boot.img and the s5's
this is the content of my last_kmsg file i hope someone can use the information to help my modify the tools
Code:
MUIC rev = MAX77804K(157)
MON: 0x0(0)
MON[0] = (0)[0x00, 0x00]
MON[1] = (1)[0x00, 0x00]
MON[2] = (2)[0x00, 0x00]
MON[3] = (3)[0x00, 0x00]
init_microusb_ic: MUIC: CDETCTRL:0x2d
init_microusb_ic: MUIC: CONTROL1:0x00
init_microusb_ic: MUIC: CONTROL2:0x33
init_microusb_ic: MUIC: CONTROL4:0xb2
cardtype: 0x00000007
SB_MMC_HS_52MHZ_1_8V_3V_IO
mmc->card_caps: 0x00000f11
mmc->host_caps: 0x00000f11
!!!Enter 8 Bit DDR mode.!!!
[mmc] capacity = 30777344
Current SBOOT version : VERSION_-+A1
Samsung S-Boot 4.0 for SM-G900H (Jul 9 2014 - 15:38:24)
EXYNOS5422 EVT 0.1 (Base on ARM CortexA7)
2026MB / 15028MB / Rev 10 / G900HXXU1ANG3 /(PKG_ID 0x310c8328)
BOOTLOADER VERSION : G900HXXU1ANG3
- read_bl1
pit_check_signature (PIT) valid.
initialize_ddi_data: usable! (50:0x3)
[RPMB] emmc_rpmb_open:
Get DATA success.
[RPMB] emmc_rpmb_close:
initialize_rpmb_data: usable! (SM-G900H:VERSION_-+A1)
PARAM ENV VERSION: v1.0..
DDR SIZE: 2G (0x0004)
[RPMB] emmc_rpmb_open:
Get DATA success.
[RPMB] emmc_rpmb_close:
init react lock flag
muic_api_print_init_regs: INTMASK[1:0x00, 2:0x00]
muic_api_print_init_regs: MUIC: CDETCTRL:0x2d
muic_api_print_init_regs: MUIC: CONTROL1:0x00
muic_api_print_init_regs: MUIC: CONTROL2:0x3a
muic_api_print_init_regs: MUIC: CONTROL3:0x00
muic_api_print_init_regs: MUIC: CONTROL4:0xb2
set_charger_state: buck(1), chg(1), reg(0x05)
muic_get_adc_value: STATUS1:0x3f
muic_get_adc_value: ADC:0x1f
muic_get_chg_typ: STATUS2:0x00
muic_get_chg_typ: CHGTYP:0x00
set_auto_current: get_charger_status(0)
muic_get_adc_value: STATUS1:0x3f
muic_get_adc_value: ADC:0x1f
muic_get_chg_typ: STATUS2:0x00
muic_get_chg_typ: CHGTYP:0x00
muic_get_adc_value: STATUS1:0x3f
muic_get_adc_value: ADC:0x1f
muic_get_chg_typ: STATUS2:0x00
muic_get_chg_typ: CHGTYP:0x00
get_wireless_charger_detect: wireless check 0
get_wireless_charger_detect : CHG_DTLS(0x00)
set_auto_current: unknown_state, curr(475)
muic_get_adc_value: STATUS1:0x3f
muic_get_adc_value: ADC:0x1f
muic_get_chg_typ: STATUS2:0x00
muic_get_chg_typ: CHGTYP:0x00
get_wireless_charger_detect: wireless check 0
get_wireless_charger_detect : CHG_DTLS(0x00)
set_charger_current: chg curr(12), in curr(0)
fuelgauge_read_i2c_word : 0x0, 0x0
fuelguage : mode=0x0
fuelgauge_read_i2c_word : 0x0, 0x0
fuelguage : hibrt(0000) == 0x0
muic_get_adc_value: STATUS1:0x3f
muic_get_adc_value: ADC:0x1f
muic_get_chg_typ: STATUS2:0x00
muic_get_chg_typ: CHGTYP:0x00
get_wireless_charger_detect: wireless check 0
get_wireless_charger_detect : CHG_DTLS(0x00)
fuelguage : wpc_status(0)
muic_api_interrupt_reg_clear: INTR[1:0x00, 2:0x03]
AP_PMIC_SDA = 1
PMIC_ID = 0x83
PMIC_STATUS1 = 0x07
PMIC_STATUS2 = 0x11
PMIC_OFFSRC = 0x00
PMIC_PWRON = 0x01
PMIC_IRQ1 = 0x02
PMIC_IRQ2 = 0x11
PMIC_IRQ3 = 0x00
PMIC_RTC_INT1 = 0x22
PMIC_RTC_INT2 = 0x10
PMIC_RTC_INT3 = 0x00
PMIC_RTC_OFFSRC = 0x80
PMIC_RTC_SMPL = 0x03
s5p_check_keypad: 0x1110000
s5p_check_keypad: download mode
s5p_reset_reboot_mode
set_usb_vbus_out: MUIC: CONTROL1: 0x09
set_usb_vbus_out: SAFEOUTLDO: [0x75] + [0x75] -> [0x75]
: Entering usb mode for SM-G900H (1)..
scr_draw_image: draw 'warning.jpg'...
read 'warning.jpg'(185976) completed.
fimd_set_div: sclk=532000000, vclk=128404800, cmu_div=4, div=1
mic_init
60, 28, 13, 0x602813
ODIN MODE
ODIN MODE
PRODUCT NAME: SM-G900H
PRODUCT NAME: SM-G900H
CURRENT BINARY: Custom
CURRENT BINARY: Custom
SYSTEM STATUS: Custom
SYSTEM STATUS: Custom
REACTIVATION LOCK(KK): OFF
REACTIVATION LOCK(KK): OFF
KNOX WARRANTY VOID: 1
KNOX WARRANTY VOID: 1
RP SWREV: A1
RP SWREV: A1
board_set_dev_pm: hello! I'm USB.(1)
usb: read original PHYPARAM0 : 0x24d466e4
usb: modified PHYPARAM0 : 0x26d4e6e4
process_packet: id=100, data=0
checksum_enable write complete value : 0
NeedChecksum clear
get_storage_capacity 30777344 15028 14
process_packet: id=100, data=5
packet data size is changed to 1048576.
process_packet: id=100, data=2
process_packet: id=101, data=1
process_packet: id=101, data=2
process_packet: id=101, data=2
process_packet: id=101, data=2
process_packet: id=101, data=2
process_packet: id=101, data=2
process_packet: id=101, data=2
process_packet: id=101, data=2
process_packet: id=101, data=2
process_packet: id=101, data=2
process_packet: id=101, data=2
process_packet: id=101, data=2
process_packet: id=101, data=2
process_packet: id=101, data=2
process_packet: id=101, data=2
process_packet: id=101, data=2
process_packet: id=101, data=2
process_packet: id=101, data=2
process_packet: id=101, data=3
process_packet: id=102, data=0
process_packet: id=102, data=2
process_packet: id=102, data=3
pit_check_signature (BOOT) valid.
if_ddi_data: succeeded. (50:0x0)
START: 114688 BLOCK: 26624
wait for erase done.
it can take serveral second.
.
pit_flash_binary: 'BOOT' is flashed fully.
process_packet: id=103, data=0
process_packet: id=103, data=1
s5p_restart_handler ('N':null)
MUIC rev = MAX77804K(157)
MON: 0x13(1)
MON[0] = (1)[0x0b, 0x17]
MON[1] = (2)[0xe0, 0x50]
MON[2] = (3)[0x55, 0xd4]
MON[3] = (0)[0x58, 0xec]
init_microusb_ic: MUIC: CDETCTRL:0x2d
init_microusb_ic: MUIC: CONTROL1:0x09
init_microusb_ic: MUIC: CONTROL2:0x3a
init_microusb_ic: MUIC: CONTROL4:0xb2
set_muic_uart_early: MUIC: CONTROL1: 0x00
cardtype: 0x00000007
SB_MMC_HS_52MHZ_1_8V_3V_IO
mmc->card_caps: 0x00000f11
mmc->host_caps: 0x00000f11
!!!Enter 8 Bit DDR mode.!!!
[mmc] capacity = 30777344
Current SBOOT version : VERSION_-+A1
Samsung S-Boot 4.0 for SM-G900H (Jul 9 2014 - 15:38:24)
EXYNOS5422 EVT 0.1 (Base on ARM CortexA7)
2026MB / 15028MB / Rev 10 / G900HXXU1ANG3 /(PKG_ID 0x310c8328)
BOOTLOADER VERSION : G900HXXU1ANG3
- read_bl1
pit_check_signature (PIT) valid.
initialize_ddi_data: usable! (50:0x0)
[RPMB] emmc_rpmb_open:
Get DATA success.
[RPMB] emmc_rpmb_close:
initialize_rpmb_data: usable! (SM-G900H:VERSION_-+A1)
PARAM ENV VERSION: v1.0..
DDR SIZE: 2G (0x0004)
[RPMB] emmc_rpmb_open:
Get DATA success.
[RPMB] emmc_rpmb_close:
init react lock flag
muic_api_print_init_regs: INTMASK[1:0x00, 2:0x00]
muic_api_print_init_regs: MUIC: CDETCTRL:0x2d
muic_api_print_init_regs: MUIC: CONTROL1:0x00
muic_api_print_init_regs: MUIC: CONTROL2:0x3a
muic_api_print_init_regs: MUIC: CONTROL3:0x00
muic_api_print_init_regs: MUIC: CONTROL4:0xb2
set_charger_state: buck(1), chg(1), reg(0x05)
muic_get_adc_value: STATUS1:0x3f
muic_get_adc_value: ADC:0x1f
muic_get_chg_typ: STATUS2:0x41
muic_get_chg_typ: CHGTYP:0x01
set_auto_current: get_charger_status(1)
muic_get_adc_value: STATUS1:0x3f
muic_get_adc_value: ADC:0x1f
muic_get_chg_typ: STATUS2:0x41
muic_get_chg_typ: CHGTYP:0x01
muic_get_adc_value: STATUS1:0x3f
muic_get_adc_value: ADC:0x1f
muic_get_chg_typ: STATUS2:0x41
muic_get_chg_typ: CHGTYP:0x01
muic_get_adc_value: STATUS1:0x3f
muic_get_adc_value: ADC:0x1f
muic_get_chg_typ: STATUS2:0x41
muic_get_chg_typ: CHGTYP:0x01
muic_get_adc_value: STATUS1:0x3f
muic_get_adc_value: ADC:0x1f
muic_get_chg_typ: STATUS2:0x41
muic_get_chg_typ: CHGTYP:0x01
set_auto_current: usb_state(1), curr(475)
muic_get_adc_value: STATUS1:0x3f
muic_get_adc_value: ADC:0x1f
muic_get_chg_typ: STATUS2:0x41
muic_get_chg_typ: CHGTYP:0x01
set_charger_current: chg curr(12), in curr(19)
fuelgauge_read_i2c_word : 0x0, 0x0
fuelguage : mode=0x0
fuelgauge_read_i2c_word : 0x0, 0x0
fuelguage : hibrt(0000) == 0x0
muic_get_adc_value: STATUS1:0x3f
muic_get_adc_value: ADC:0x1f
muic_get_chg_typ: STATUS2:0x41
muic_get_chg_typ: CHGTYP:0x01
fuelguage : wpc_status(0)
muic_api_interrupt_reg_clear: INTR[1:0x00, 2:0x13]
AP_PMIC_SDA = 1
PMIC_ID = 0x83
PMIC_STATUS1 = 0x3a
PMIC_STATUS2 = 0x10
PMIC_OFFSRC = 0x00
PMIC_PWRON = 0x01
PMIC_IRQ1 = 0x51
PMIC_IRQ2 = 0x10
PMIC_IRQ3 = 0x00
PMIC_RTC_INT1 = 0x51
PMIC_RTC_INT2 = 0x10
PMIC_RTC_INT3 = 0x00
PMIC_RTC_OFFSRC = 0x80
PMIC_RTC_SMPL = 0x03
s5p_check_keypad: 0x0
s5p_check_reboot_mode: INFORM3 = 0 ... skip
board_get_clock_info :
CLK_SRC_TOP3 (0x1002020c) = 0x11111111
CLK_SRC_TOP2 (0x10020208) = 0x11102010
CLK_SRC_TOP1 (0x10020204) = 0x00200000
CLK_SRC_TOP0 (0x10020200) = 0x10021100
CLK_SRC_FSYS (0x10020244) = 0x00044400
CLK_DIV_CPU0 (0x10010500) = 0x03550020
CLK_DIV_TOP0 (0x10020500) = 0x22504200
CLK_DIV_KFC (0x10038500) = 0x03500720
CLK_DIV_FSYS1 (0x1002054c) = 0x00102801
CLK_DIV_FSYS2 (0x10020550) = 0x04000000
MPLL_CON0 (0x10020180) = 0xa10a0302(532 MHz)
BPLL_CON0 (0x10030110) = 0xa1130401(825 MHz)
CPLL_CON0 (0x10020120) = 0xa06f0201(666 MHz)
KPLL_CON0 (0x10038100) = 0xa0c80301(800 MHz)
SPLL_CON0 (0x10020160) = 0xa0c80301(800 MHz)
DPLL_CON0 (0x10020128) = 0xa0c80202
DIV_FSYS1 (0x1002054c) = 0x00102801
mmc0 sclk_mmc : 400000KHz
mmc2 sclk_mmc : 400000KHz
board_get_clock_info : time = 0
s5p_check_upload: MAGIC(0x0), RST_STAT(0x800)
muic_get_adc_value: STATUS1:0x3f
muic_get_adc_value: ADC:0x1f
s5p_check_upload: debug level is LO! (mask: 0x0)
s5p_check_download: 0
muic_get_adc_value: STATUS1:0x3f
muic_get_adc_value: ADC:0x1f
muic_get_adc_value: STATUS1:0x3f
muic_get_adc_value: ADC:0x1f
muic_get_chg_typ: STATUS2:0x41
muic_get_chg_typ: CHGTYP:0x01
check_pm_status: normal reset, do not enter LPM mode.
muic_get_adc_value: STATUS1:0x3f
muic_get_adc_value: ADC:0x1f
muic_get_chg_typ: STATUS2:0x41
muic_get_chg_typ: CHGTYP:0x01
fuelguage : wpc_status(0)
set_charger_state: buck(1), chg(0), reg(0x04)
muic_get_adc_value: STATUS1:0x3f
muic_get_adc_value: ADC:0x1f
muic_get_chg_typ: STATUS2:0x41
muic_get_chg_typ: CHGTYP:0x01
set_auto_current: get_charger_status(1)
muic_get_adc_value: STATUS1:0x3f
muic_get_adc_value: ADC:0x1f
muic_get_chg_typ: STATUS2:0x41
muic_get_chg_typ: CHGTYP:0x01
muic_get_adc_value: STATUS1:0x3f
muic_get_adc_value: ADC:0x1f
muic_get_chg_typ: STATUS2:0x41
muic_get_chg_typ: CHGTYP:0x01
muic_get_adc_value: STATUS1:0x3f
muic_get_adc_value: ADC:0x1f
muic_get_chg_typ: STATUS2:0x41
muic_get_chg_typ: CHGTYP:0x01
muic_get_adc_value: STATUS1:0x3f
muic_get_adc_value: ADC:0x1f
muic_get_chg_typ: STATUS2:0x41
muic_get_chg_typ: CHGTYP:0x01
set_auto_current: usb_state(1), curr(475)
muic_get_adc_value: STATUS1:0x3f
muic_get_adc_value: ADC:0x1f
muic_get_chg_typ: STATUS2:0x41
muic_get_chg_typ: CHGTYP:0x01
set_charger_current: chg curr(12), in curr(19)
muic_get_adc_value: STATUS1:0x3f
muic_get_adc_value: ADC:0x1f
muic_get_chg_typ: STATUS2:0x41
muic_get_chg_typ: CHGTYP:0x01
[fuelgauge] start set model data for max17048
[fuelguage] : OriginRCOMP = 0x97, OriginAlert = 0x1c
fuelguage : OCV_DATA1 = 0xbd, OCV_DATA2 = 0x30
[BATT]fuelguage : re-write RCOMPseg data
fuelguage : SOC_DATA1 = 0xf3, SOC_DATA2 = 0x4d
fuelguage : model was loaded successful
fuelguage : RCOMP(0x5d)
fuelguage : OCV_DATA1 = 0xbd, OCV_DATA2 = 0x30
[max17048] hibrt, vart, vreset setting
muic_get_adc_value: STATUS1:0x3f
muic_get_adc_value: ADC:0x1f
fuelgauge_read_i2c_word : 0x0, 0x0
fuelgauge_read_i2c_word : 0x0, 0xff
fuelgauge_read_i2c_word : 0x7d, 0x0
fuelgauge_read_i2c_word : 0x3f, 0xc5
fuelgauge_read_i2c_word : 0xbd, 0x0
fuelgauge_read_i2c_word : 0xbd, 0x0
fuelgauge_read_i2c_word : 0xbd, 0x0
fuelgauge_read_i2c_word : 0xbd, 0x0
fuelgauge_read_i2c_word : 0xbd, 0x0
fuelgauge_read_i2c_word : 0xbd, 0x2f
init_fuel_gauge: is reset case, skip soc-cal.
muic_get_adc_value: STATUS1:0x3f
muic_get_adc_value: ADC:0x1f
muic_get_chg_typ: STATUS2:0x41
muic_get_chg_typ: CHGTYP:0x01
[BATT] Charging table soc
[BATT]3165 = ( 378000 - 370815 ) *100 / 227
[fuelgauge]soc(31), table_soc(31), vcell(378000)
fuelgauge : fg_reset_soc (0)
set_charger_state: buck(1), chg(1), reg(0x05)
muic_get_adc_value: STATUS1:0x3f
muic_get_adc_value: ADC:0x1f
muic_get_chg_typ: STATUS2:0x41
muic_get_chg_typ: CHGTYP:0x01
set_auto_current: get_charger_status(1)
muic_get_adc_value: STATUS1:0x3f
muic_get_adc_value: ADC:0x1f
muic_get_chg_typ: STATUS2:0x41
muic_get_chg_typ: CHGTYP:0x01
muic_get_adc_value: STATUS1:0x3f
muic_get_adc_value: ADC:0x1f
muic_get_chg_typ: STATUS2:0x41
muic_get_chg_typ: CHGTYP:0x01
muic_get_adc_value: STATUS1:0x3f
muic_get_adc_value: ADC:0x1f
muic_get_chg_typ: STATUS2:0x41
muic_get_chg_typ: CHGTYP:0x01
muic_get_adc_value: STATUS1:0x3f
muic_get_adc_value: ADC:0x1f
muic_get_chg_typ: STATUS2:0x41
muic_get_chg_typ: CHGTYP:0x01
set_auto_current: usb_state(1), curr(475)
muic_get_adc_value: STATUS1:0x3f
muic_get_adc_value: ADC:0x1f
muic_get_chg_typ: STATUS2:0x41
muic_get_chg_typ: CHGTYP:0x01
set_charger_current: chg curr(12), in curr(19)
fuelgauge_read_i2c_word : 0x1, 0xff
fuelguage : REG_VCELL = 0xbd, 0xa0
fuelguage : REG_SOC = 0x3f, 0xc5
fuelguage : REG_MODE = 0x0, 0x0
fuelguage : REG_VERSION = 0x0, 0x12
fuelguage : REG_HIBRT = 0x0, 0x0
fuelguage : REG_RCOMP = 0x5d, 0x1e
fuelguage : REG_VART = 0x0, 0xff
fuelguage : REG_CRATE = 0xe, 0xc0
fuelguage : REG_VRESET = 0x7d, 0x0
fuelguage : REG_STATUS = 0x0, 0xff
fuelguage : REG_RCOMP = 0x5d, 0x1e
scr_draw_image: draw 'logo.jpg'...
read 'logo.jpg'(104016) completed.
[TMU] 49, 51, 54, 47, 45
fimd_set_div: sclk=532000000, vclk=128404800, cmu_div=4, div=1
mic_init
60, 28, 13, 0x602813
<start_checksum:481>CHECKSUM_HEADER_SECTOR :4096
<start_checksum:483>offset:50, size:6296
<start_checksum:485>CHECKSUM_HEADER_INFO : NeedChecksum:0 PartNo:0
Not Need Movinand Checksum
Movinand Checksum Confirmation Pass
[mobi_drv] add: 0x43e53d10, size: 13229
MobiCore INIT response = 0
MobiCore RTM has initialized!
MobiCore IDLE flag = 0
MobiCore driver address 43e53d10, size = 13229
MobiCore RTM Notified back!
MobiCore Driver loaded and RTM IDLE!
MobiCore RTM has been uninitialized!
load_kernel: loading boot image from 114688..
dt_size:561152, dt_actual:561152
pit_check_signature (BOOT) valid.
No need to update kernel type.
SMC Num = 0x83000001
mobismc success!!! [ret = 0]
Pass. DTBH size is smaller than a page.
<dtbh_header Info>
magic:0x48425444, version:0x00000002, num_entries:0x00000005
<device info>
chip_id: 0x0000152e
platform_id: 0x00001e92
subtype_id: 0x7d64f612
hw_rev: 0x0000000a
dt_entry[00]
chip_id: 0x0000152e
platform_id: 0x00001e92
subtype_id: 0x7d64f612
hw_rev: 0x00000002
hw_rev_end: 0x00000002
offset: 0x00000800
dtb size: 0x0001b000
dt_entry[01]
chip_id: 0x0000152e
platform_id: 0x00001e92
subtype_id: 0x7d64f612
hw_rev: 0x00000003
hw_rev_end: 0x00000003
offset: 0x0001b800
dtb size: 0x0001b800
dt_entry[02]
chip_id: 0x0000152e
platform_id: 0x00001e92
subtype_id: 0x7d64f612
hw_rev: 0x00000004
hw_rev_end: 0x00000004
offset: 0x00037000
dtb size: 0x0001b000
dt_entry[03]
chip_id: 0x0000152e
platform_id: 0x00001e92
subtype_id: 0x7d64f612
hw_rev: 0x00000005
hw_rev_end: 0x00000009
offset: 0x00052000
dtb size: 0x0001b800
dt_entry[04]
chip_id: 0x0000152e
platform_id: 0x00001e92
subtype_id: 0x7d64f612
hw_rev: 0x0000000a
hw_rev_end: 0x000000ff
offset: 0x0006d800
dtb size: 0x0001b800
Selected entry hw_ver : 10
dt_entry of hw_rev 10 is loaded at 0x41f00000.(112640 Bytes)
[s5p_check_sboot_version_rpmb]cur_version:VERSION_-+A1, rpmb_version:VERSION_-+A1
rpmb_version:49, cur_version:49
DDI value :0x00000000
ATAG_CORE: 5 54410001 0 0 0
ATAG_MEM: 4 54410002 20000000 40000000
ATAG_MEM: 4 54410002 20000000 60000000
ATAG_MEM: 4 54410002 20000000 80000000
ATAG_MEM: 4 54410002 1EA00000 A0000000
ATAG_SERIAL: 4 54410006 3208df64 106e5127
ATAG_INITRD2: 4 54420005 42000000 1576a8
ATAG_REVISION: 3 54410007 a
ATAG_CMDLINE: b3 54410009 'console=ram loglevel=4 sec_debug.level=0 sec_watchdog.sec_pet=5 printk.core_num=1 androidboot.debug_level=0x4f4c [email protected] [email protected] [email protected] s3cfb.bootloaderfb=0x87000000 lcdtype=6301715 consoleblank=0 lpj=3977216 vmalloc=256m sec_debug.reset_reason=7 noexec=off oops=panic pmic_info=2515 cordon=9ae968e9bf369aa72d0c1c9b54ff83c3 connie=SM-G900H_OPEN_EUR_ed2a5acfd0ccaca2ddabdb9a73333535 androidboot.emmc_checksum=3 androidboot.odin_download=1 androidboot.bootloader=G900HXXU1ANG3 androidboot.selinux=enforcing androidboot.warranty_bit=1 androidboot.sec_atd.tty=/dev/ttySAC2 androidboot.serialno=3208df64106e5127 snd_soc_core.pmdown_time=1000'
ATAG_NONE: 0 0
Updating device tree @0x41f00000: done
Starting kernel at 0x40008000...
SWITCH_SEL(3)
i hope there will be some solution and finally we will have custom rom for our g900H
Airboner said:
i hope there will be some solution and finally we will have custom rom for our g900H
Click to expand...
Click to collapse
i hope so
Correct me if I'm wrong since I'm no dev, but my understanding is that simply modifying the kernel won't all of the sudden let us use custom roms. We need an unlocked bootloader to even have the possibility of loading the modified kernel, unless another genius comes along and finds a new lokidoki-esq exploit
@moham_96 have u seen the release of samsung about source kernel?
http://opensource.samsung.com/reception/receptionSub.do?method=sub&sub=F&searchValue=g900h
maybe will help you about developing any custom rom
Airboner said:
@moham_96 have u seen the release of samsung about source kernel?
http://opensource.samsung.com/reception/receptionSub.do?method=sub&sub=F&searchValue=g900h
maybe will help you about developing any custom rom
Click to expand...
Click to collapse
I've already seen that because that where i get the source code from but they didn't write any documentation on the subject of boot partition
mcmb03 said:
Correct me if I'm wrong since I'm no dev, but my understanding is that simply modifying the kernel won't all of the sudden let us use custom roms. We need an unlocked bootloader to even have the possibility of loading the modified kernel, unless another genius comes along and finds a new lokidoki-esq exploit
Click to expand...
Click to collapse
AS far as i know the international variant of galaxy s5 (sm-g900h) doesn't have a locked bootloader
moham_96 said:
AS far as i know the international variant of galaxy s5 (sm-g900h) doesn't have a locked bootloader
Click to expand...
Click to collapse
Derp, thanks. I didn't see the "H" part of the variant
any help would be appreciated
moham_96 said:
any help would be appreciated
Click to expand...
Click to collapse
I used to compile kernels for old smartphones a few years ago. Here are 2 things you might want to look at:
The last_kmsg that you see is probably from the last full boot......meaning that it is from the successful stock kernel boot and not from your custom kernel that failed to boot.
The locked bootloader is checking the kernel signature and is failing to boot your kernel.
The reason last_kmsg does not show the log of the failed custom kernel boot is that the bootloader never actually loaded that kernel because of the failed signature check.
moham_96 said:
AS far as i know the international variant of galaxy s5 (sm-g900h) doesn't have a locked bootloader
Click to expand...
Click to collapse
Doesn't matter.....the bootloader is still checking the kernel's crypro signature and refusing to boot your kernel.
bads3ctor said:
I used to compile kernels for old smartphones a few years ago. Here are 2 things you might want to look at:
The last_kmsg that you see is probably from the last full boot......meaning that it is from the successful stock kernel boot and not from your custom kernel that failed to boot.
The locked bootloader is checking the kernel signature and is failing to boot your kernel.
The reason last_kmsg does not show the log of the failed custom kernel boot is that the bootloader never actually loaded that kernel because of the failed signature check.
Click to expand...
Click to collapse
Thanks for your reply
firstly, i know that the last_kmsg is from the stock boot image and that's why i posted here so that someone can help me to use the information it provides about the proper boot to edit the bootimg tools to be used with the g900h
what i found interesting is that the tools that i use to detect the addresses of the boot image and then split the ramdisk from the zimage doesn't work properly because they can't recognize the cmdline of the kernel (i got an empty line) but when you look at the last_kmsg image you can see tht the cmdline has arguments to pass to the kernel so there is definitely something different between what the unpacking tools use to detect the tags and what samsung use to build the kernel image
bads3ctor said:
Doesn't matter.....the bootloader is still checking the kernel's crypro signature and refusing to boot your kernel.
Click to expand...
Click to collapse
How can i make sure of that and is there any way to bypass it ?
moham_96 said:
How can i make sure of that and is there any way to bypass it ?
Click to expand...
Click to collapse
Flash a different bootloader or create something like Loki that would work for Samsung phones: http://forum.xda-developers.com/showthread.php?t=2358871
bads3ctor said:
Flash a different bootloader or create something like Loki that would work for Samsung phones: http://forum.xda-developers.com/showthread.php?t=2358871
Click to expand...
Click to collapse
unfortunately, flashing a new bootloader is a risk i can't take
Can you post a step by step of the things you did after the make command until generating the boot.img? There's a high chance you missed something since I encountered this too after moving from my HTC One M7 to Xperia Z1 Compact. What I missed was the DTS part which is kinda new. So if you could post even just the raw commands you executed I could analyze it for you.
If you're stuck with the Galaxy S5 powered by android logo then that means your kernel isn't even being read.
Because there CM12 or 13 cm stable for the galaxy s5 900h Exynos?

Wifi P2P ("WiFi Direct") support - does anyone know of patches for this on Pie?

Wifi P2P ("WiFi Direct") support - does anyone know of patches for this on Pie?
Pretty much exactly as the subject line states.
When doing anything which brings up a P2P interface (right now, that's "cast" or "wifi direct" under settings / wifi / advanced):
Code:
02-05 22:44:33.565 10656 10744 I WifiP2pNative: P2P interface teardown completed
02-05 22:44:33.565 10656 10744 E WifiP2pService: Failed to setup interface for P2P
02-05 22:44:33.565 10656 10744 D WifiP2pNative: P2P InterfaceAvailableListener false
02-05 22:44:33.565 10656 10744 D WifiP2pService: Wifi enabled=true, P2P Interface availability=false
02-05 22:44:33.565 10656 10744 D WifiP2pNative: P2P InterfaceDestroyedListener p2p0
02-05 22:44:33.565 10656 10744 D WifiP2pNative: Ignoring stale interface destroyed listener
02-05 22:44:33.565 10656 10744 D WifiP2pNative: P2P InterfaceAvailableListener true
02-05 22:44:33.565 10656 10744 D WifiP2pService: Wifi enabled=true, P2P Interface availability=true, Number of clients=1
02-05 22:44:33.565 10656 10744 D WifiP2pService: Wifi enabled=true, P2P Interface availability=true
02-05 22:44:33.566 10656 10744 D WifiP2pNative: Setup P2P interface
02-05 22:44:33.566 10656 10744 D HalDevMgr: createIface: ifaceType=2, lowPriority=false
02-05 22:44:33.566 10656 10744 D HalDevMgr: getAllChipInfo
02-05 22:44:33.566 10656 10744 D HalDevMgr: getChipIds=[0]
02-05 22:44:33.567 23753 23753 D WifiSettings: onAccessPointsChanged (WifiTracker) callback initiated
02-05 22:44:33.567 10656 10744 D HalDevMgr: validateInterfaceCache
02-05 22:44:33.567 10656 10744 D HalDevMgr: createIfaceIfPossible: chipInfos=[{chipId=0, availableModes=[{.id = 0, .availableCombinations = [{.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]}]}, {.id = 1, .availableCombinations = [{.limits = [{.types = [1], .maxIfaces = 1}]}]}], currentModeIdValid=true, currentModeId=0, ifaces[1].length=0, ifaces[0].length=1, ifaces[2].length=0, ifaces[3].length=0)], ifaceType=2, lowPriority=false
02-05 22:44:33.567 10656 10744 D HalDevMgr: {.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]} expands to [[1, 0, 1, 0]]
02-05 22:44:33.568 10656 10744 D HalDevMgr: canIfaceComboSupportRequest: chipInfo={chipId=0, availableModes=[{.id = 0, .availableCombinations = [{.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]}]}, {.id = 1, .availableCombinations = [{.limits = [{.types = [1], .maxIfaces = 1}]}]}], currentModeIdValid=true, currentModeId=0, ifaces[1].length=0, ifaces[0].length=1, ifaces[2].length=0, ifaces[3].length=0), chipMode={.id = 0, .availableCombinations = [{.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]}]}, chipIfaceCombo=[[email protected], ifaceType=2, lowPriority=false
02-05 22:44:33.568 10656 10744 D HalDevMgr: compareIfaceCreationData: val1={chipInfo={chipId=0, availableModes=[{.id = 0, .availableCombinations = [{.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]}]}, {.id = 1, .availableCombinations = [{.limits = [{.types = [1], .maxIfaces = 1}]}]}], currentModeIdValid=true, currentModeId=0, ifaces[1].length=0, ifaces[0].length=1, ifaces[2].length=0, ifaces[3].length=0), chipModeId=0, interfacesToBeRemovedFirst=[]), val2=null
02-05 22:44:33.568 10656 10744 D HalDevMgr: new proposal accepted
02-05 22:44:33.568 10656 10744 D HalDevMgr: {.limits = [{.types = [1], .maxIfaces = 1}]} expands to [[0, 1, 0, 0]]
02-05 22:44:33.568 10656 10744 D HalDevMgr: canIfaceComboSupportRequest: chipInfo={chipId=0, availableModes=[{.id = 0, .availableCombinations = [{.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]}]}, {.id = 1, .availableCombinations = [{.limits = [{.types = [1], .maxIfaces = 1}]}]}], currentModeIdValid=true, currentModeId=0, ifaces[1].length=0, ifaces[0].length=1, ifaces[2].length=0, ifaces[3].length=0), chipMode={.id = 1, .availableCombinations = [{.limits = [{.types = [1], .maxIfaces = 1}]}]}, chipIfaceCombo=[[email protected], ifaceType=2, lowPriority=false
02-05 22:44:33.568 10656 10744 D HalDevMgr: Requested type not supported by combo
02-05 22:44:33.568 10656 10744 D HalDevMgr: compareIfaceCreationData: val1=null, val2={chipInfo={chipId=0, availableModes=[{.id = 0, .availableCombinations = [{.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]}]}, {.id = 1, .availableCombinations = [{.limits = [{.types = [1], .maxIfaces = 1}]}]}], currentModeIdValid=true, currentModeId=0, ifaces[1].length=0, ifaces[0].length=1, ifaces[2].length=0, ifaces[3].length=0), chipModeId=0, interfacesToBeRemovedFirst=[])
02-05 22:44:33.568 10656 10744 D HalDevMgr: executeChipReconfiguration: ifaceCreationData={chipInfo={chipId=0, availableModes=[{.id = 0, .availableCombinations = [{.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]}]}, {.id = 1, .availableCombinations = [{.limits = [{.types = [1], .maxIfaces = 1}]}]}], currentModeIdValid=true, currentModeId=0, ifaces[1].length=0, ifaces[0].length=1, ifaces[2].length=0, ifaces[3].length=0), chipModeId=0, interfacesToBeRemovedFirst=[]), ifaceType=2
02-05 22:44:33.568 10656 10744 D HalDevMgr: isModeConfigNeeded=false
02-05 22:44:33.568 10656 10793 D HalDevMgr: onIfaceAdded: type=2, name=p2p0
02-05 22:44:33.568 10656 10744 D HalDevMgr: createIfaceIfPossible: added cacheEntry={name=p2p0, type=2, destroyedListeners.size()=1, creationTime=89382364, isLowPriority=false}
02-05 22:44:33.569 10656 10744 D HalDevMgr: dispatchAvailableForRequestListeners
02-05 22:44:33.569 10656 10744 D HalDevMgr: getAllChipInfo
02-05 22:44:33.569 10656 10744 D HalDevMgr: getChipIds=[0]
02-05 22:44:33.569 23753 23761 W System : A resource failed to call close.
02-05 22:44:33.571 10656 10744 D HalDevMgr: dispatchAvailableForRequestListeners: chipInfos=[{chipId=0, availableModes=[{.id = 0, .availableCombinations = [{.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]}]}, {.id = 1, .availableCombinations = [{.limits = [{.types = [1], .maxIfaces = 1}]}]}], currentModeIdValid=true, currentModeId=0, ifaces[1].length=0, ifaces[0].length=1, ifaces[2].length=1, ifaces[3].length=0)]
02-05 22:44:33.571 10656 10744 D HalDevMgr: dispatchAvailableForRequestListenersForType: ifaceType=1
02-05 22:44:33.571 10656 10744 D HalDevMgr: dispatchAvailableForRequestListenersForType: ifaceType=0
02-05 22:44:33.571 10656 10744 D HalDevMgr: dispatchAvailableForRequestListenersForType: ifaceType=2
02-05 22:44:33.571 23753 23753 D WifiSettings: onAccessPointsChanged (WifiTracker) callback initiated
02-05 22:44:33.571 10656 10744 D HalDevMgr: isItPossibleToCreateIface: chipInfos=[{chipId=0, availableModes=[{.id = 0, .availableCombinations = [{.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]}]}, {.id = 1, .availableCombinations = [{.limits = [{.types = [1], .maxIfaces = 1}]}]}], currentModeIdValid=true, currentModeId=0, ifaces[1].length=0, ifaces[0].length=1, ifaces[2].length=1, ifaces[3].length=0)], ifaceType=2
02-05 22:44:33.571 10656 10744 D HalDevMgr: {.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]} expands to [[1, 0, 1, 0]]
02-05 22:44:33.571 10656 10744 D HalDevMgr: canIfaceComboSupportRequest: chipInfo={chipId=0, availableModes=[{.id = 0, .availableCombinations = [{.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]}]}, {.id = 1, .availableCombinations = [{.limits = [{.types = [1], .maxIfaces = 1}]}]}], currentModeIdValid=true, currentModeId=0, ifaces[1].length=0, ifaces[0].length=1, ifaces[2].length=1, ifaces[3].length=0), chipMode={.id = 0, .availableCombinations = [{.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]}]}, chipIfaceCombo=[[email protected], ifaceType=2, lowPriority=false
02-05 22:44:33.571 10656 10744 D HalDevMgr: Would need to delete some higher priority interfaces
02-05 22:44:33.571 10656 10744 D HalDevMgr: {.limits = [{.types = [1], .maxIfaces = 1}]} expands to [[0, 1, 0, 0]]
02-05 22:44:33.571 10656 10744 D HalDevMgr: canIfaceComboSupportRequest: chipInfo={chipId=0, availableModes=[{.id = 0, .availableCombinations = [{.limits = [{.types = [0], .maxIfaces = 1}, {.types = [2], .maxIfaces = 1}]}]}, {.id = 1, .availableCombinations = [{.limits = [{.types = [1], .maxIfaces = 1}]}]}], currentModeIdValid=true, currentModeId=0, ifaces[1].length=0, ifaces[0].length=1, ifaces[2].length=1, ifaces[3].length=0), chipMode={.id = 1, .availableCombinations = [{.limits = [{.types = [1], .maxIfaces = 1}]}]}, chipIfaceCombo=[[email protected], ifaceType=2, lowPriority=false
02-05 22:44:33.571 10656 10744 D HalDevMgr: Requested type not supported by combo
02-05 22:44:33.571 10656 10744 D HalDevMgr: Interface available for: ifaceType=2 = false
02-05 22:44:33.572 10656 10744 D HalDevMgr: Interface available listener dispatched: ifaceType=2, listener=com.android.server.[email protected]2c40602
02-05 22:44:33.572 10656 10744 D HalDevMgr: dispatchAvailableForRequestListenersForType: ifaceType=3
02-05 22:44:33.573 10656 10744 I android_os_HwBinder: HwBinder: Starting thread pool for default::[email protected]::ISupplicant
02-05 22:44:33.574 23753 23753 D WifiSettings: onAccessPointsChanged (WifiTracker) callback initiated
02-05 22:44:33.574 10656 10744 D SupplicantP2pIfaceHal: entering getInterface()
02-05 22:44:33.574 10656 10744 E SupplicantP2pIfaceHal: initSupplicantP2pIface got null iface
02-05 22:44:33.574 10656 10744 E WifiP2pNative: Failed to setup P2p iface in supplicant
02-05 22:44:33.574 10656 10744 D WifiP2pNative: Teardown P2P interface
02-05 22:44:33.574 10656 10744 D HalDevMgr: removeIfaceInternal: iface(name)=p2p0, type=2
02-05 22:44:33.574 10656 10744 D HalDevMgr: getChip: iface(name)=p2p0
02-05 22:44:33.575 10656 10744 D HalDevMgr: dispatchDestroyedListeners: iface(name)=p2p0
02-05 22:44:33.575 10656 10744 D HalDevMgr: dispatchAvailableForRequestListeners
02-05 22:44:33.575 10656 10744 D HalDevMgr: getAllChipInfo
Basically, system_server goes into a tight loop trying and failing repeatedly to bring up p2p0.
This is on Huawei, for what it's worth (Mate 8 - NXT-DL00C17 8.0.0.820; Mate 9 - MHA-AL00C00 8.0.0.374), though given that there are other changes which seem pretty general regarding the wifi HAL between 8.0 and 9.0, it seems likely that there are other things happening that are causing problems and I haven't quite figured it out yet.
For what it's worth: the reason for wanting this is because I've ported Miracast support from Oreo into Pie, and it works on devices I have here with P vendor (Mate 9 AL00C00 9.0.1.150; also apparently working on HMA), but since bringing up the WiFi P2P interface is broken, I can't get any farther with it than that.
Not sure if you resolved the issue yet but on C636 running 9.0.1.159 Miracast seems to work. I can share my phone screen to my Android TV box without problem.
itenos said:
Not sure if you resolved the issue yet but on C636 running 9.0.1.159 Miracast seems to work. I can share my phone screen to my Android TV box without problem.
Click to expand...
Click to collapse
Nah, on EMUI it's fine - in this case, its for AOSP Pie built for an EMUI 8 vendor, and there was a good amount of stuff that changed with the WiFi HAL on Pie that caused things to break besides for the bare minimum of functionality needed for wifi to work in the first place. (Hotspot was broken without a HAL being written to provide backwards compatibility behavior, WiFi Direct is broken in the same fashion, I think, but I'm not sure.)
It's also fine if you're already on a Pie vendor - Miracast works fine here on AOSP (with patches to pull Miracast forward from Oreo, of course) on both the Mate 9 (AL00, 9.0.1.150), and the P10 (AL00, 9.0.1.160; C432, 9.0.1.165).

[Guide] Recovering from a hard brick

This guide aims to recover your G7 power from a hard brick that leaves it in emergency download (EDL) mode.
Will this work with my device?
This should work on any device in EDL mode. To check for this mode, first try entering fastboot by holding the power button and volume down at the same time. If the screen comes on, use this guide instead.
If your device can't enter fastboot, connect it to a computer using it's USB-c cable, and open device manager using the search bar. Scroll down to "Ports" and open it, then look for a device called "qualcomm hs-usb qdloader 9008". if it appears, you might just be in luck.
The fix
Recovering from this brick is quite a simple process, as a blank flash is available.
Connect your device to a computer
Download blankflash.zip from https://mega.nz/#!tVd1VaoZ!epk2yLEqnQBKEwT2QbQaOe8-4675pfj76Hs7pC5kbQE onto your computer, and extract it to it's own folder
Run "blank-flash.bat", and wait for it to finish
If you receive an error message like "ERROR: sahara_greet_device()->change_mode()->do_hello()->IO error" on your computer, try holding the power button on your phone for about 10 seconds and trying again, or unplug and reconnect your phone.
After Running blank-flash.bat
From here, your phone should be able to start. If it enters recovery mode, boot loops or has other problems, but CAN now boot, follow this guide to reset your phone to stock, or you can use Lenovo smart assistant's recovery option.
Thanks to ChampC for finding the blankflash to make this recovery possible.
sluggedlemon said:
This guide aims to recover your G7 power from a hard brick that leaves it in emergency download (EDL) mode.
Will this work with my device?
This should work on any device in EDL mode. To check for this mode, first try entering fastboot by holding the power button and volume down at the same time. If the screen comes on, use this guide instead.
If your device can't enter fastboot, connect it to a computer using it's USB-c cable, and open device manager using the search bar. Scroll down to "Ports" and open it, then look for a device called "qualcomm hs-usb qdloader 9008". if it appears, you might just be in luck.
The fix
Recovering from this brick is quite simple, as a blank flash is available.
Connect your device to a computer
Download blankflash.zip from https://mega.nz/#!5NtCia6a!epk2yLEqn...fj76Hs7pC5kbQE onto your computer, and extract it to it's own folder
Run "blank-flash.bat", and wait for it to finish
If you receive an error message like "ERROR: sahara_greet_device()->change_mode()->do_hello()->IO error" on your computer, try holding the power button on your phone for about 10 seconds and trying again, or unplug and reconnect your phone.
After Running blank-flash.bat
From here, your phone should be able to start. If it enters recovery mode, boot loops or has other problems, but CAN now boot, follow this guide to reset your phone to stock, or you can use Lenovo smart assistant's recovery option.
Thanks to ChampC for finding the blankflash to make this recovery possible.
Click to expand...
Click to collapse
Thank
Work XT1955-4.
:fingers-crossed::fingers-crossed::fingers-crossed:
Decryption Key
sluggedlemon said:
This guide aims to recover your G7 power from a hard brick that leaves it in emergency download (EDL) mode.
Will this work with my device?
This should work on any device in EDL mode. To check for this mode, first try entering fastboot by holding the power button and volume down at the same time. If the screen comes on, use this guide instead.
If your device can't enter fastboot, connect it to a computer using it's USB-c cable, and open device manager using the search bar. Scroll down to "Ports" and open it, then look for a device called "qualcomm hs-usb qdloader 9008". if it appears, you might just be in luck.
The fix
Recovering from this brick is quite simple, as a blank flash is available.
Connect your device to a computer
Download blankflash.zip from https://mega.nz/#!5NtCia6a!epk2yLEqn...fj76Hs7pC5kbQE onto your computer, and extract it to it's own folder
Run "blank-flash.bat", and wait for it to finish
If you receive an error message like "ERROR: sahara_greet_device()->change_mode()->do_hello()->IO error" on your computer, try holding the power button on your phone for about 10 seconds and trying again, or unplug and reconnect your phone.
After Running blank-flash.bat
From here, your phone should be able to start. If it enters recovery mode, boot loops or has other problems, but CAN now boot, follow this guide to reset your phone to stock, or you can use Lenovo smart assistant's recovery option.
Thanks to ChampC for finding the blankflash to make this recovery possible.
Click to expand...
Click to collapse
What's the decyption key to download the file?
Romathon said:
What's the decyption key to download the file?
Click to expand...
Click to collapse
https://mega.nz/#!PHRD1KhI!epk2yLEqnQBKEwT2QbQaOe8-4675pfj76Hs7pC5kbQE
Sent from my Moto E (4) using Tapatalk
Romathon said:
What's the decyption key to download the file?
Click to expand...
Click to collapse
Seems like there was a problem with the link. Not sure why, as it should have been identical to the one I used to download it, but either way it's fixed now.
sluggedlemon said:
This guide aims to recover your G7 power from a hard brick that leaves it in emergency download (EDL) mode.
Will this work with my device?
This should work on any device in EDL mode. To check for this mode, first try entering fastboot by holding the power button and volume down at the same time. If the screen comes on, use this guide instead.
If your device can't enter fastboot, connect it to a computer using it's USB-c cable, and open device manager using the search bar. Scroll down to "Ports" and open it, then look for a device called "qualcomm hs-usb qdloader 9008". if it appears, you might just be in luck.
The fix
Recovering from this brick is quite simple, as a blank flash is available.
Connect your device to a computer
Download blankflash.zip from https://mega.nz/#!tVd1VaoZ!epk2yLEqnQBKEwT2QbQaOe8-4675pfj76Hs7pC5kbQE onto your computer, and extract it to it's own folder
Run "blank-flash.bat", and wait for it to finish
If you receive an error message like "ERROR: sahara_greet_device()->change_mode()->do_hello()->IO error" on your computer, try holding the power button on your phone for about 10 seconds and trying again, or unplug and reconnect your phone.
After Running blank-flash.bat
From here, your phone should be able to start. If it enters recovery mode, boot loops or has other problems, but CAN now boot, follow this guide to reset your phone to stock, or you can use Lenovo smart assistant's recovery option.
Thanks to ChampC for finding the blankflash to make this recovery possible.
Click to expand...
Click to collapse
Another sucessfull resurrection of an 1955-4 Thanks a lot!!! You saved my life... i mean phone
Saved my phone.
Man....I never thought the universe would align for me to
A. Have my phone back after a failed TWRP flash. (Which in ten years I've never bricked a phone.) Thank you so very much for providing the blank flash needed to fix my phone. and B. I mounted a new tire to a rim I had to buy because mine was cracked so my car is also saved.
So thank you. So very very much.
p.s thanks for fixing the download link as well.
EDIT: I'm currently stuck here. This is what I get in the qboot_log:
**** Log buffer [000001] 2019-10-31_05:53:29 ****
[ 0.000] Opening device: \\.\COM3
[ 0.001] Detecting device
[ 4.004] ERROR: sahara_greet_device()->change_mode()->do_hello()->IO error
[ 4.004] Check qboot_log.txt for more details
[ 4.004] Total time: 4.005s
[ 4.004]
[ 4.004] qboot version 3.40
[ 4.004]
[ 4.004] DEVICE {
[ 4.004] name = "\\.\COM3",
[ 4.004] flags = "0x64",
[ 4.004] addr = "0x61FE4C",
[ 4.004] api.bnr = "0xF92F20",
[ 4.004] }
[ 4.004]
[ 4.004]
[ 4.004] Backup & Restore {
[ 4.004] num_entries = 0,
[ 4.004] restoring = "false",
[ 4.004] backup_error = "not started",
[ 4.004] restore_error = "not started",
[ 4.004] }
[ 4.004]
disobey said:
EDIT: I'm currently stuck here. This is what I get in the qboot_log:
**** Log buffer [000001] 2019-10-31_05:53:29 ****
[ 0.000] Opening device: \\.\COM3
[ 0.001] Detecting device
[ 4.004] ERROR: sahara_greet_device()->change_mode()->do_hello()->IO error
[ 4.004] Check qboot_log.txt for more details
[ 4.004] Total time: 4.005s
[ 4.004]
[ 4.004] qboot version 3.40
[ 4.004]
[ 4.004] DEVICE {
[ 4.004] name = "\\.\COM3",
[ 4.004] flags = "0x64",
[ 4.004] addr = "0x61FE4C",
[ 4.004] api.bnr = "0xF92F20",
[ 4.004] }
[ 4.004]
[ 4.004]
[ 4.004] Backup & Restore {
[ 4.004] num_entries = 0,
[ 4.004] restoring = "false",
[ 4.004] backup_error = "not started",
[ 4.004] restore_error = "not started",
[ 4.004] }
[ 4.004]
Click to expand...
Click to collapse
Blankflashes can be temperamental, try disconnecting your phone and holding the power button for 10 seconds to make sure it's off before retrying. I've also heard it can help if you run it quickly after reconnecting it, but I've never needed to.
-ps: sorry for not responding earlier
Hi, does this blank flash flash the bootloader from the unlocked varient so that I can flash the factory image from the unlocked version and relock the bootloader without loading a carrier bootloader?
gigawatt said:
Hi, does this blank flash flash the bootloader from the unlocked varient so that I can flash the factory image from the unlocked version and relock the bootloader without loading a carrier bootloader?
Click to expand...
Click to collapse
I believe that this is the unlocked version, but I don't have experience unlocking phones so I'm not sure if it's what you need.
Thank you in advance
Kindly need help with my phone since I tried for almost 5 hours (google/softwares/threads), but still no success.
I tried installing lineageos and I got a bootloop so silly me wiped everything in twrp and formatted data hoping to repeat the steps all over again and make it work. Now, I'm stuck in fastboot mode (no android logo on top), oem_locked, and barcode IMEI shows zeros. PS Fastboot commands won't work and it gives me (permission denied) every time. When I turn off the phone and plug the cable, fastboot mode comes up right in.
any idea whats going here, or any help with the matter is really appreciated
fawazed said:
Kindly need help with my phone since I tried for almost 5 hours (google/softwares/threads), but still no success.
I tried installing lineageos and I got a bootloop so silly me wiped everything in twrp and formatted data hoping to repeat the steps all over again and make it work. Now, I'm stuck in fastboot mode (no android logo on top), oem_locked, and barcode IMEI shows zeros. PS Fastboot commands won't work and it gives me (permission denied) every time. When I turn off the phone and plug the cable, fastboot mode comes up right in.
any idea whats going here, or any help with the matter is really appreciated
Click to expand...
Click to collapse
Try
Code:
fastboot oem blankflash
That should put the device into
Emergency download mode
Then you can follow instructions in post #1
Sent from my mata using XDA Labs
sd_shadow said:
Try
That should put the device into
Emergency download mode
Then you can follow instructions in post #1
Click to expand...
Click to collapse
Okay, will try that.. thank you :good:
sd_shadow said:
Try
Code:
fastboot oem blankflash
That should put the device into
Emergency download mode
Then you can follow instructions in post #1
Sent from my mata using XDA Labs
Click to expand...
Click to collapse
Thank you it worked now .. much appreciated :victory::good:
For those who might face issue of getting stuck on "waiting for devices" when running the bat file, try updating the moto/qualcomm drivers, and choosing the drivers manually in Device Manager.
Hey, thanks for the guide, but i'm currently stuck here :/
[ -0.000] Opening device: \\.\COM7
[ 0.001] Detecting device
[ 0.004] ...cpu.id = 186 (0xba)
[ 0.004] ...cpu.sn = 3785115971 (0xe19c4943)
[ 0.005] Opening singleimage
[ 0.006] Loading package
[ 0.009] ...filename = singleimage.pkg.xml
[ 0.011] Loading programmer
[ 0.012] ...filename = programmer.mbn
[ 0.012] Sending programmer
[ 0.299] Handling things over to programmer
[ 0.300] Identifying CPU version
[ 0.306] Waiting for firehose to get ready
[ 15.977] ReadFile() failed, GetLastError()=0
[ 15.977] ReadFile() failed, GetLastError()=0
[ 46.784] ReadFile() failed, GetLastError()=0
[ 46.785] ReadFile() failed, GetLastError()=0
[ 60.688] Waiting for firehose to get ready
[ 77.568] ReadFile() failed, GetLastError()=0
[ 77.569] ReadFile() failed, GetLastError()=0
[108.332] ReadFile() failed, GetLastError()=0
[108.332] ReadFile() failed, GetLastError()=0
[122.234] ...MSM8953 unknown
[122.234] Determining target secure state
[122.237] Waiting for firehose to get ready
[139.079] ReadFile() failed, GetLastError()=0
[139.080] ReadFile() failed, GetLastError()=0
[183.065] ...secure = no
[183.128] Initializing storage
[183.132] Waiting for firehose to get ready
[243.246] Configuring device...
[243.252] Waiting for firehose to get ready
[303.367] Waiting for firehose to get ready
[363.491] Waiting for firehose to get ready
[423.612] Waiting for firehose to get ready
[483.723] Initializing storage
[483.733] Waiting for firehose to get ready
[543.852] Configuring device...
[543.858] Waiting for firehose to get ready
[603.982] Waiting for firehose to get ready
[665.300] Waiting for firehose to get ready
[725.423] Waiting for firehose to get ready
[785.534] Waiting for firehose to get ready
[845.642] Configuring device...
[845.647] Waiting for firehose to get ready
[905.768] Waiting for firehose to get ready
[965.888] Waiting for firehose to get ready
[1026.004] Waiting for firehose to get ready
[1086.111] ERROR: do_package()->do_recipe()->do_configure()->buffer_read()->device_read()->IO error
[1086.111] Check qboot_log.txt for more details
[1086.115] Total time: 1086.117s
[1086.118] There were some hiccups in backup and restore.
[1086.120] Please save the following files and see a Bootloader member.
[1086.124] 1) ./qboot_log.txt
[1086.126] 2) ./backup_0xE19C4943_2019-11-14_223756.img
[1086.128]
[1086.132]
[1086.132] qboot version 3.40
[1086.132]
[1086.132] DEVICE {
[1086.132] name = "\\.\COM7",
[1086.132] flags = "0x64",
[1086.132] addr = "0x61FE5C",
[1086.132] sahara.current_mode = "0",
[1086.132] api.buffer = "0x124F020",
[1086.132] cpu.serial = "3785115971",
[1086.132] cpu.id = "186",
[1086.132] cpu.sv_sbl = "0",
[1086.132] cpu.name = "MSM8953",
[1086.132] storage.type = "eMMC",
[1086.132] sahara.programmer = "programmer.mbn",
[1086.132] module.firehose = "0x7DD7A0",
[1086.132] cpu.ver = "0",
[1086.132] cpu.vername = "unknown",
[1086.132] api.bnr = "0x6E83F8",
[1086.132] }
[1086.132]
[1086.132]
[1086.132] Backup & Restore {
[1086.132] num_entries = 27,
[1086.132] restoring = "false",
[1086.132] restore_error = "not started",
[1086.133] entries[00] = { skipped = 0, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="cid"},
[1086.133] entries[01] = { skipped = 0, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="frp"},
[1086.133] entries[02] = { skipped = 0, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="hw"},
[1086.133] entries[03] = { skipped = 0, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="misc"},
[1086.133] entries[04] = { skipped = 0, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="persist"},
[1086.133] entries[05] = { skipped = 0, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="persist2"},
[1086.133] entries[06] = { skipped = 0, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="utags"},
[1086.133] entries[07] = { skipped = 0, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="devinfo"},
[1086.133] entries[08] = { skipped = 0, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="sp"},
[1086.133] entries[09] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="aboot_a"},
[1086.133] entries[10] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="cmnlib_a"},
[1086.133] entries[11] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="cmnlib64_a"},
[1086.133] entries[12] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="devcfg_a"},
[1086.133] entries[13] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="keymaster_a"},
[1086.133] entries[14] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="tz_a"},
[1086.133] entries[15] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="rpm_a"},
[1086.133] entries[16] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="prov_a"},
[1086.133] entries[17] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="sbl1_a"},
[1086.133] entries[18] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="aboot_b"},
[1086.133] entries[19] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="cmnlib_b"},
[1086.133] entries[20] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="cmnlib64_b"},
[1086.133] entries[21] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="devcfg_b"},
[1086.133] entries[22] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="keymaster_b"},
[1086.133] entries[23] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="tz_b"},
[1086.133] entries[24] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="rpm_b"},
[1086.133] entries[25] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="prov_b"},
[1086.133] entries[26] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="sbl1_b"},
[1086.133] simg = {
[1086.133] filename = "backup_0xE19C4943_2019-11-14_223756.img",
[1086.133] entries[00] = { size = 405264, name = "programmer.mbn" },
[1086.133] }
[1086.133] }
[1086.133]
It doesn't seem to work for my XT1955-4.. I get that same error as other people. But I can't seem to restart my phone. I hold the power button hoping it will turn off, then when I connect it to laptop, it instantly pops up in the device manager.
Unbelievable how annoying it is to install custom stuff on this phone.
EDIT: I still had my SD card in it. After I removed it, it worked..
...
---------- Post added at 12:53 AM ---------- Previous post was at 12:52 AM ----------
Ballyeet said:
Hey, thanks for the guide, but i'm currently stuck here :/
[ -0.000] Opening device: \.\COM7
[ 0.001] Detecting device
[ 0.004] ...cpu.id = 186 (0xba)
[ 0.004] ...cpu.sn = 3785115971 (0xe19c4943)
[ 0.005] Opening singleimage
[ 0.006] Loading package
[ 0.009] ...filename = singleimage.pkg.xml
[ 0.011] Loading programmer
[ 0.012] ...filename = programmer.mbn
[ 0.012] Sending programmer
[ 0.299] Handling things over to programmer
[ 0.300] Identifying CPU version
[ 0.306] Waiting for firehose to get ready
[ 15.977] ReadFile() failed, GetLastError()=0
[ 15.977] ReadFile() failed, GetLastError()=0
[ 46.784] ReadFile() failed, GetLastError()=0
[ 46.785] ReadFile() failed, GetLastError()=0
[ 60.688] Waiting for firehose to get ready
[ 77.568] ReadFile() failed, GetLastError()=0
[ 77.569] ReadFile() failed, GetLastError()=0
[108.332] ReadFile() failed, GetLastError()=0
[108.332] ReadFile() failed, GetLastError()=0
[122.234] ...MSM8953 unknown
[122.234] Determining target secure state
[122.237] Waiting for firehose to get ready
[139.079] ReadFile() failed, GetLastError()=0
[139.080] ReadFile() failed, GetLastError()=0
[183.065] ...secure = no
[183.128] Initializing storage
[183.132] Waiting for firehose to get ready
[243.246] Configuring device...
[243.252] Waiting for firehose to get ready
[303.367] Waiting for firehose to get ready
[363.491] Waiting for firehose to get ready
[423.612] Waiting for firehose to get ready
[483.723] Initializing storage
[483.733] Waiting for firehose to get ready
[543.852] Configuring device...
[543.858] Waiting for firehose to get ready
[603.982] Waiting for firehose to get ready
[665.300] Waiting for firehose to get ready
[725.423] Waiting for firehose to get ready
[785.534] Waiting for firehose to get ready
[845.642] Configuring device...
[845.647] Waiting for firehose to get ready
[905.768] Waiting for firehose to get ready
[965.888] Waiting for firehose to get ready
[1026.004] Waiting for firehose to get ready
[1086.111] ERROR: do_package()->do_recipe()->do_configure()->buffer_read()->device_read()->IO error
[1086.111] Check qboot_log.txt for more details
[1086.115] Total time: 1086.117s
[1086.118] There were some hiccups in backup and restore.
[1086.120] Please save the following files and see a Bootloader member.
[1086.124] 1) ./qboot_log.txt
[1086.126] 2) ./backup_0xE19C4943_2019-11-14_223756.img
[1086.128]
[1086.132]
[1086.132] qboot version 3.40
[1086.132]
[1086.132] DEVICE {
[1086.132] name = "\.\COM7",
[1086.132] flags = "0x64",
[1086.132] addr = "0x61FE5C",
[1086.132] sahara.current_mode = "0",
[1086.132] api.buffer = "0x124F020",
[1086.132] cpu.serial = "3785115971",
[1086.132] cpu.id = "186",
[1086.132] cpu.sv_sbl = "0",
[1086.132] cpu.name = "MSM8953",
[1086.132] storage.type = "eMMC",
[1086.132] sahara.programmer = "programmer.mbn",
[1086.132] module.firehose = "0x7DD7A0",
[1086.132] cpu.ver = "0",
[1086.132] cpu.vername = "unknown",
[1086.132] api.bnr = "0x6E83F8",
[1086.132] }
[1086.132]
[1086.132]
[1086.132] Backup & Restore {
[1086.132] num_entries = 27,
[1086.132] restoring = "false",
[1086.132] restore_error = "not started",
[1086.133] entries[00] = { skipped = 0, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="cid"},
[1086.133] entries[01] = { skipped = 0, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="frp"},
[1086.133] entries[02] = { skipped = 0, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="hw"},
[1086.133] entries[03] = { skipped = 0, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="misc"},
[1086.133] entries[04] = { skipped = 0, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="persist"},
[1086.133] entries[05] = { skipped = 0, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="persist2"},
[1086.133] entries[06] = { skipped = 0, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="utags"},
[1086.133] entries[07] = { skipped = 0, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="devinfo"},
[1086.133] entries[08] = { skipped = 0, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="sp"},
[1086.133] entries[09] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="aboot_a"},
[1086.133] entries[10] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="cmnlib_a"},
[1086.133] entries[11] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="cmnlib64_a"},
[1086.133] entries[12] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="devcfg_a"},
[1086.133] entries[13] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="keymaster_a"},
[1086.133] entries[14] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="tz_a"},
[1086.133] entries[15] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="rpm_a"},
[1086.133] entries[16] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="prov_a"},
[1086.133] entries[17] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="sbl1_a"},
[1086.133] entries[18] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="aboot_b"},
[1086.133] entries[19] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="cmnlib_b"},
[1086.133] entries[20] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="cmnlib64_b"},
[1086.133] entries[21] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="devcfg_b"},
[1086.133] entries[22] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="keymaster_b"},
[1086.133] entries[23] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="tz_b"},
[1086.133] entries[24] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="rpm_b"},
[1086.133] entries[25] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="prov_b"},
[1086.133] entries[26] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="sbl1_b"},
[1086.133] simg = {
[1086.133] filename = "backup_0xE19C4943_2019-11-14_223756.img",
[1086.133] entries[00] = { size = 405264, name = "programmer.mbn" },
[1086.133] }
[1086.133] }
[1086.133]
Click to expand...
Click to collapse
I get same exactly as you do on my metro g7 power when running ./blank-flash.sh ??
Did you ever resolve this issue and get yours fixed or still bricked?
Sent from my OnePlus5 using XDA Labs
Update 2: Managed to get it to work this time! Just took a few attempts to run the BAT file successfully immediately after plugging in the device.
Update 1:
Swapped out for another USB cable and it started, but failed in the end. Here's the result:
**** Log buffer [000001] 2020-01-07_18:12:13 ****
[ -0.000] Opening device: \\.\COM3
[ 0.001] Detecting device
[ 0.004] ...cpu.id = 186 (0xba)
[ 0.004] ...cpu.sn = 3681404730 (0xdb6dc73a)
[ 0.004] Opening singleimage
[ 0.008] Loading package
[ 0.010] ...filename = singleimage.pkg.xml
[ 0.011] Loading programmer
[ 0.011] ...filename = programmer.mbn
[ 0.011] Sending programmer
[ 0.298] Handling things over to programmer
[ 0.298] Identifying CPU version
[ 0.299] Waiting for firehose to get ready
[ 60.395] Waiting for firehose to get ready
[120.486] ...MSM8953 unknown
[120.486] Determining target secure state
[120.488] Waiting for firehose to get ready
[180.577] ...secure = no
[180.595] Initializing storage
[180.598] Waiting for firehose to get ready
[240.694] Configuring device...
[240.694] Waiting for firehose to get ready
[300.785] Waiting for firehose to get ready
[360.878] Waiting for firehose to get ready
[420.968] Waiting for firehose to get ready
[481.058] Initializing storage
[481.060] Waiting for firehose to get ready
[541.154] Configuring device...
[541.155] Waiting for firehose to get ready
[601.251] Waiting for firehose to get ready
[661.345] Waiting for firehose to get ready
[721.432] Waiting for firehose to get ready
[781.525] Waiting for firehose to get ready
[841.616] Configuring device...
[841.617] Waiting for firehose to get ready
[901.781] Waiting for firehose to get ready
[961.864] Waiting for firehose to get ready
[1021.956] Waiting for firehose to get ready
[1082.044] ERROR: do_package()->do_recipe()->do_configure()->buffer_read()->device_read()->IO error
[1082.044] Check qboot_log.txt for more details
[1082.044] Total time: 1082.045s
[1082.045] There were some hiccups in backup and restore.
[1082.045] Please save the following files and see a Bootloader member.
[1082.046] 1) ./qboot_log.txt
[1082.046] 2) ./backup_0xDB6DC73A_2020-01-07_181513.img
[1082.046]
[1082.047]
[1082.047] qboot version 3.40
[1082.047]
[1082.047] DEVICE {
[1082.047] name = "\\.\COM3",
[1082.047] flags = "0x64",
[1082.047] addr = "0x61FE4C",
[1082.047] sahara.current_mode = "0",
[1082.047] api.buffer = "0x128D020",
[1082.047] cpu.serial = "3681404730",
[1082.047] cpu.id = "186",
[1082.047] cpu.sv_sbl = "0",
[1082.047] cpu.name = "MSM8953",
[1082.047] storage.type = "eMMC",
[1082.047] sahara.programmer = "programmer.mbn",
[1082.047] module.firehose = "0xF3D680",
[1082.047] cpu.ver = "0",
[1082.047] cpu.vername = "unknown",
[1082.047] api.bnr = "0xE47A40",
[1082.047] }
[1082.047]
[1082.047]
[1082.047] Backup & Restore {
[1082.047] num_entries = 27,
[1082.047] restoring = "false",
[1082.047] restore_error = "not started",
[1082.047] entries[00] = { skipped = 0, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="cid"},
[1082.047] entries[01] = { skipped = 0, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="frp"},
[1082.047] entries[02] = { skipped = 0, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="hw"},
[1082.047] entries[03] = { skipped = 0, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="misc"},
[1082.047] entries[04] = { skipped = 0, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="persist"},
[1082.047] entries[05] = { skipped = 0, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="persist2"},
[1082.047] entries[06] = { skipped = 0, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="utags"},
[1082.047] entries[07] = { skipped = 0, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="devinfo"},
[1082.047] entries[08] = { skipped = 0, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="sp"},
[1082.047] entries[09] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="aboot_a"},
[1082.047] entries[10] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="cmnlib_a"},
[1082.047] entries[11] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="cmnlib64_a"},
[1082.047] entries[12] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="devcfg_a"},
[1082.047] entries[13] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="keymaster_a"},
[1082.047] entries[14] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="tz_a"},
[1082.047] entries[15] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="rpm_a"},
[1082.047] entries[16] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="prov_a"},
[1082.047] entries[17] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="sbl1_a"},
[1082.047] entries[18] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="aboot_b"},
[1082.047] entries[19] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="cmnlib_b"},
[1082.047] entries[20] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="cmnlib64_b"},
[1082.047] entries[21] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="devcfg_b"},
[1082.047] entries[22] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="keymaster_b"},
[1082.047] entries[23] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="tz_b"},
[1082.047] entries[24] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="rpm_b"},
[1082.047] entries[25] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="prov_b"},
[1082.047] entries[26] = { skipped = 1, backup_tried = 0, backup_failed = 0, restore_tried = 0, restore_failed = 0, name ="sbl1_b"},
[1082.047] simg = {
[1082.047] filename = "backup_0xDB6DC73A_2020-01-07_181513.img",
[1082.047] entries[00] = { size = 405264, name = "programmer.mbn" },
[1082.047] }
[1082.047] }
[1082.047]
Click to expand...
Click to collapse
--------------------------------------------------------------------------------------------------------------------------------------
Hi all,
I believe I hard bricked my phone when trying to install TWRP earlier today. I had just fastbooted the TWRP image and tried to install the TWRP zip but it did not succeed. I switched over to partition B and accidentally restarted and now it won't boot at all. Tried to use the solution here, but I keep getting the IO error.
**** Log buffer [000001] 2020-01-07_17:39:13 ****
[ -0.000] Opening device: \\.\COM4
[ 0.001] Detecting device
[ 4.008] ERROR: sahara_greet_device()->change_mode()->do_hello()->IO error
[ 4.008] Check qboot_log.txt for more details
[ 4.008] Total time: 4.009s
[ 4.008]
[ 4.008] qboot version 3.40
[ 4.008]
[ 4.008] DEVICE {
[ 4.008] name = "\\.\COM4",
[ 4.008] flags = "0x64",
[ 4.008] addr = "0x61FE4C",
[ 4.008] api.bnr = "0xF12E28",
[ 4.008] }
[ 4.008]
[ 4.008]
[ 4.008] Backup & Restore {
[ 4.008] num_entries = 0,
[ 4.008] restoring = "false",
[ 4.008] backup_error = "not started",
[ 4.008] restore_error = "not started",
[ 4.008] }
[ 4.008]
Click to expand...
Click to collapse
Any ideas on what to try next?
This solution does not work on my XT1995-4
I just get errors about IO over and over, tried 3 different computers and 3 different USB C cables.
Motorola qboot utility version 3.40
[ 0.000] Opening device: /dev/ttyUSB0
[ 0.000] Detecting device
[ 0.004] ...cpu.id = 186 (0xba)
[ 0.004] ...cpu.sn = 802569542 (0x2fd63d46)
[ 0.004] Opening singleimage
[ 0.004] Loading package
[ 0.007] ...filename = singleimage.pkg.xml
[ 0.009] Loading programmer
[ 0.010] ...filename = programmer.mbn
[ 0.010] Sending programmer
[ 0.294] Handling things over to programmer
[ 0.294] Identifying CPU version
[ 0.298] Waiting for firehose to get ready
[ 3.308] ...MSM8953 1.0
[ 3.308] Determining target secure state
[ 3.311] ...secure = yes
[ 3.337] Configuring device...
[ 3.341] Flashing GPT...
[ 3.342] Flashing partition with gpt.bin
[ 3.345] Initializing storage
[ 5.090] Target NAK!
[ 5.090] ...num_partition_sectors=122142720
[ 5.090] ...SECTOR_SIZE_IN_BYTES=512
[ 5.090] ...MFR_ID=19
[ 5.090] ...{"storage_info": {"total_blocks":122142720, "block_size":512, "page_size":512, "num_physical":3, "mfr_id":19, "serial_num":221774116, "fw_version":"4","mem_type":"eMMC", "prod_name":"S0J9N8"}}
[ 5.090] ...XML (0 bytes) not validated
[ 5.090] ERROR: do_package()->do_recipe()->do_flash()->flash_simg()->do_package()->do_recipe()->do_flash()->gpt_flash()->get_storage()->init_storage()->firehose_do_fmt()->do_recipe()->NAK
[ 5.090] Check qboot_log.txt for more details
[ 5.090] Total time: 5.090s
FAILED: qb_flash_singleimage()->do_package()->do_recipe()->do_flash()->flash_simg()->do_package()->do_recipe()->do_flash()->gpt_flash()->get_storage()->init_storage()->firehose_do_fmt()->do_recipe()->NAK
Click to expand...
Click to collapse

Categories

Resources