mdnie LUT format with shared CYMK+W primaries? - Galaxy S 4 Developer Discussion [Developers-Only]

I need someone who can help me better understand how this LUT works. I'm trying to create an app that loads ICC profiles on the Galaxy S4 using mdnie, but the definitions are all concorded and weird and I can't figure out how to pull them out.
mdnie loads color correction in LUTs that look like this:
Code:
static char MOVIE_UI_2[] = {
0xEC,
0x00, //roi ctrl
0x00, //roi0 x start
0x00,
0x00, //roi0 x end
0x00,
0x00, //roi0 y start
0x00,
0x00, //roi0 y end
0x00,
0x00, //roi1 x strat
0x00,
0x00, //roi1 x end
0x00,
0x00, //roi1 y start
0x00,
0x00, //roi1 y end
0x00,
0x81, //scr Cr Yb
0xd9, //scr Rr Bb
0xf6, //scr Cg Yg
0x1c, //scr Rg Bg
0xec, //scr Cb Yr
0x13, //scr Rb Br
0xe0, //scr Mr Mb
0x52, //scr Gr Gb
0x34, //scr Mg Mg
0xee, //scr Gg Gg
0xf5, //scr Mb Mr
0x1f, //scr Gb Gr
0xe9, //scr Yr Cb
0x1c, //scr Br Rb
0xf3, //scr Yg Cg
0x1f, //scr Bg Rg
0x40, //scr Yb Cr
0xeb, //scr Bb Rr
0xff, //scr Wr Wb
0x00, //scr Kr Kb
0xfa, //scr Wg Wg
0x00, //scr Kg Kg
0xf3, //scr Wb Wr
0x00, //scr Kb Kr
0x00, //curve 1 b
0x20, //curve 1 a
0x00, //curve 2 b
0x20, //curve 2 a
0x00, //curve 3 b
0x20, //curve 3 a
0x00, //curve 4 b
0x20, //curve 4 a
0x02, //curve 5 b
0x1b, //curve 5 a
0x02, //curve 6 b
0x1b, //curve 6 a
0x02, //curve 7 b
0x1b, //curve 7 a
0x01, //curve 8 b
0x1b, //curve 8 a
0x09, //curve 9 b
0xa6, //curve 9 a
0x09, //curve10 b
0xa6, //curve10 a
0x09, //curve11 b
0xa6, //curve11 a
0x09, //curve12 b
0xa6, //curve12 a
0x00, //curve13 b
0x20, //curve13 a
0x00, //curve14 b
0x20, //curve14 a
0x00, //curve15 b
0x20, //curve15 a
0x00, //curve16 b
0x20, //curve16 a
0x00, //curve17 b
0x20, //curve17 a
0x00, //curve18 b
0x20, //curve18 a
0x00, //curve19 b
0x20, //curve19 a
0x00, //curve20 b
0x20, //curve20 a
0x00, //curve21 b
0x20, //curve21 a
0x00, //curve22 b
0x20, //curve22 a
0x00, //curve23 b
0x20, //curve23 a
0x00, //curve24 b
0xFF, //curve24 a
0x04, //cc r1 0.2
0x90,
0x1f, //cc r2
0x88,
0x1f, //cc r3
0xe8,
0x1f, //cc g1
0xc3,
0x04, //cc g2
0x55,
0x1f, //cc g3
0xe8,
0x1f, //cc b1
0xc3,
0x1f, //cc b2
0x88,
0x04, //cc b3
0xb5,
};
(Yes, the hardware converts the RGB input to CYMK+W to do color correction and then back to RGB again to output to screen. What the ****, Samsung?)
Pretty sure the beginning bits are bounds, the //scr section is the color LUT, and everything after is the gamma LUT.
The problem I'm having is that all these values seem to be double-defined in a way I can't decode.
Code:
0xeb, //scr Bb Rr
Vs
Code:
0xd9, //scr Rr Bb
Suggestions? Is one + and one - in colorspace?

PelPix said:
I need someone who can help me better understand how this LUT works. I'm trying to create an app that loads ICC profiles on the Galaxy S4 using mdnie, but the definitions are all concorded and weird and I can't figure out how to pull them out.
Pretty sure the beginning bits are bounds, the //scr section is the color LUT, and everything after is the gamma LUT.
The problem I'm having is that all these values seem to be double-defined in a way I can't decode.
Code:
0xeb, //scr Bb Rr
Vs
Code:
0xd9, //scr Rr Bb
Suggestions? Is one + and one - in colorspace?
Click to expand...
Click to collapse
Just disregard the second column in color name. So, use "scr Bb Rr" just as "scr Bb". The second color name is just inverted color space (for unknown reason).
Bb means amount of blue in Blue color, and so on.
Curves - are gamma curves. CC is another color control.
Most challenging is curves of gamma. They are very depend on each other like harmonics.
Every curve has 2 bytes:
a - 0..127 (X amount), mask 0x80 is sign for (b)
b - 0..255 (Y amount)
curve24 has special meaning - total amplification.

Related

NDrive and HD2

Hi, i have NDrive for my HD2 and i have a little, very little problem
What i mean is... real little....
The Buttons are big and greatful to Tuch. But if i search a street or a city, the text are so small..
how i can change the text size?
On my Touch HD it work perfekt.
use this ini:
[settings]
GpsSaveButton = false
ManeuversOn = trueStretchMap = true
DPI = 245
UnitDefaultIsMiles = false
TrafficDefaultIsOff = true
[YFPND]
EnableTimeZoneConfig=true
PowerManagerOff = true
BacklightAPI = false
EnableGpsConfigButtons = true
[ELENTEC_NAVI]
EnableTimeZoneConfig=true
PowerManagerOff = true
BacklightAPI = false
EnableGpsConfigButtons = true
[GPS Navigation System]
EnableTimeZoneConfig=true
PowerManagerOff = true
BacklightAPI = false
EnableGpsConfigButtons = true
DPI = 250
[Handhold Reference Board_A3]
DPI=128
[PLATFORM_OEM]
PowerManagerOff = true
HWVolumeControl = true
DPI = 100
DatabaseOnCard = true
HasPhotoViewer = false
[GPS6027]
PowerManagerOff = true
HWVolumeControl = true
DPI = 128
[GPS6088]
PowerManagerOff = true
[GUEPARD]
PowerManagerOff = true
[NDriveG280]
PowerManagerOff = true
BacklightAPI = false
[NDriveG800]
PowerManagerOff = true
BacklightAPI = false
DPI = 128
[NDriveG400]
HWVolumeControl = true
Key.VolumeUp = 0x75
Key.VolumeDown = 0x76
[NDriveTouch]
DPI=115
[NDriveTouchXL]
DPI=128
[Handhold Reference Board_A3]
DPI=128
[X1i]
StretchMap = true
DPI = 245
Key.VolumeUp = 0x75
Key.VolumeDown = 0x76
[Palm Treo 850]
ForceGdi = true
Key.VolumeUp = 0x75
Key.VolumeDown = 0x76
DPI=181
[NDRIVE S300]
Key.VolumeUp = 0x75
Key.VolumeDown = 0x76
DPI = 143
[DX900V040]
StretchMap = true
DPI = 286
Key.VolumeUp = 0x75
Key.VolumeDown = 0x76
[Toshiba TG01]
StretchMap = true
DPI = 228
Key.VolumeUp = 0x75
Key.VolumeDown = 0x76
[HTC Touch Pro2 T7373]
StretchMap = true
DPI = 245
Key.VolumeUp = 0x75
Key.VolumeDown = 0x76
[HTC Touch Pro T7272]
StretchMap = true
DPI = 286
Key.VolumeUp = 0x75
Key.VolumeDown = 0x76
[HTC Touch HD T8282]
StretchMap = true
DPI = 245
Key.VolumeUp = 0x75
Key.VolumeDown = 0x76
[HTC T8282]
StretchMap = true
DPI = 245
Key.VolumeUp = 0x75
Key.VolumeDown = 0x76
[HTC Touch Diamond P3700]
StretchMap = true
DPI = 286
Key.VolumeUp = 0x75
Key.VolumeDown = 0x76
[HTC_Touch_Diamond]
StretchMap = true
DPI = 286
Key.VolumeUp = 0x75
Key.VolumeDown = 0x76
[SIM Technology]
StretchMap = true
DPI = 286
Key.VolumeUp = 0x75
Key.VolumeDown = 0x76
[SGH-i780]
Key.VolumeUp = 0x75
Key.VolumeDown = 0x76
DPI = 177
[SGH-i900]
Key.VolumeUp = 0x75
Key.VolumeDown = 0x76
DPI = 147
ForceGDI = true
WM6SuspendThreads = true
SMSTransport = body
[GT-I8000]
Key.VolumeUp = 0x75
Key.VolumeDown = 0x76
DPI = 286
StretchMap = true
[ARTE10000]
ForceGdi = true
Key.Up = 0x26, 0x84
Key.Down = 0x28, 0x84
Key.Left = 0x25, 0x84
Key.Right = 0x27, 0x84
Key.ZoomIn = 0x28, 0x83
Key.ZoomOut = 0x26, 0x83
Key.VolumeUp = 0x75
Key.VolumeDown = 0x76
Key.Camera = 0x5B, 0xC5
Key.SysMenu = 0x5B, 0xC2
Key.PocketIE = 0x5B, 0xC4
Key.SpeedDial = 0x5B, 0xC6
DPI = 143
[PHAR10000]
Key.Up = 0x26, 0x84
Key.Down = 0x28, 0x84
Key.Left = 0x25, 0x84
Key.Right = 0x27, 0x84
Key.ZoomIn = 0x28, 0x83
Key.ZoomOut = 0x26, 0x83
Key.VolumeUp = 0x75
Key.VolumeDown = 0x76
Key.Camera = 0x5B, 0xC3
Key.SysMenu = 0x5B, 0xC1
DPI = 143
[ARTE20000]
ForceGdi = true
Key.Up = 0x26, 0x84
Key.Down = 0x28, 0x84
Key.Left = 0x25, 0x84
Key.Right = 0x27, 0x84
Key.ZoomIn = 0x28, 0x83
Key.ZoomOut = 0x26, 0x83
Key.VolumeUp = 0x75, 0x75
Key.VolumeDown = 0x76, 0x76
GPS.ForceBT = 0
GpsIsBuiltIn = true
GPS.Port = 4
DPI = 143
[ARTE*****]
ForceGdi = true
Key.Up = 0x26, 0x84
Key.Down = 0x28, 0x84
Key.Left = 0x25, 0x84
Key.Right = 0x27, 0x84
Key.ZoomIn = 0x28, 0x83
Key.ZoomOut = 0x26, 0x83
Key.VolumeUp = 0x75, 0x75
Key.VolumeDown = 0x76, 0x76
GPS.ForceBT = 0
GpsIsBuiltIn = true
GPS.Port = 4
GPS.Baud = 38600
DPI = 143
[Kaiser]
ForceGdi = true
Key.Up = 0x26, 0x84
Key.Down = 0x28, 0x84
Key.Left = 0x25, 0x84
Key.Right = 0x27, 0x84
Key.ZoomIn = 0x28, 0x83
Key.ZoomOut = 0x26, 0x83
Key.Enter = 0x5C, 0x75
Key.VolumeUp = 0x75
Key.VolumeDown = 0x76
Key.Camera = 0xE9
Key.Messaging = 0x5B, 0xC2
Key.SpeedDial = 0x5B, 0xC6
Key.PocketIE = 0x5B, 0xC1
Key.SysMenu = 0x5B, 0xC3
DPI = 143
[HERA10000]
ForceGdi = true
Key.Up = 0x26, 0x84
Key.Down = 0x28, 0x84
Key.Left = 0x25, 0x84
Key.Right = 0x27, 0x84
Key.ZoomIn = 0x28, 0x83
Key.ZoomOut = 0x26, 0x83
Key.Enter = 0x5C, 0x75
Key.VolumeUp = 0x75
Key.VolumeDown = 0x76
Key.Camera = 0xE9
Key.SpeedDial = 0x5B, 0xC6
Key.SysMenu = 0x5B, 0xC3
DPI = 143
[Polaris]
ForceGdi = true
Key.Up = 0x26, 0x84
Key.Down = 0x28, 0x84
Key.Left = 0x25, 0x84
Key.Right = 0x27, 0x84
Key.ZoomIn = 0x28, 0x83
Key.ZoomOut = 0x26, 0x83
Key.VolumeUp = 0x75, 0x75
Key.VolumeDown = 0x76, 0x76
GPS.ForceBT = 0
GpsIsBuiltInt = true
DPI = 143
[NIKI100]
ForceGdi = true
Key.VolumeUp = 0x75, 0x75
Key.VolumeDown = 0x76, 0x76
DPI = 143
[Treo]
ForceGdi = true
DPI = 108
[AMOI Electronic CO.,LTD.]
Key.VolumeUp = 0x75
Key.VolumeDown = 0x76
DPI = 143
[Mio Technology Ltd.]
ForceGdi = true
DPI = 143
[Hewlett-Packard Company]
Key.RotateScreen = 0x5B, 0xCE
Key.EndCall = 0x5C, 0x75
Key.Discard = 0x5B, 0xC4
DPI = 115
[hp iPAQ hw6915]
GPS.ForceBT = 0
GPS.ForceGPSID = 1
GpsIsBuiltIn = true
GPS.Port = 7
GPS.Baud = 57600
Key.VolumeUp = 0x75
Key.VolumeDown = 0x76
Key.SysMenu = 0x5B
DPI = 108
[i-mate JAQ4]
GPS.ForceBT = 1
GPS.Port = 8
GPS.Baud = 9600
[HTC-S620]
Key.Fn = 0xEC
Key.ZoomIn = 0x28, 0x83
Key.ZoomOut = 0x26, 0x83
Power.LockLevel = 1
[HTC S310]
Key.Delete = 0x1B
Power.LockLevel = 1
[MAINSTN]
GpsIsBuiltIn = true
GPS.Port = 7
GPS.Baud = 9600
[Handheld Reference Board]
Key.VolumeUp = 0x75
Key.VolumeDown = 0x76
[Mitac, Mio DigiWalker]
GpsIsBuiltIn = true
GPS.Port = 2
GPS.Baud = 4800
Key.Soft1 = 0x5B, 0xC1
Key.Soft2 = 0x5B, 0xC4
Key.EndCall = 0x5B, 0xC3
Key.SysMenu = 0x5B, 0xC2
DPI = 115
[S3C2440]
Key.ZoomIn = 0x44
Key.ZoomOut = 0x45
Key.Soft1 = 0x42
Key.ZoomIn = 0x0D
[S3C2410]
HWVolumeControl = true
[GP75-ARMV4-30200]
HWVolumeControl = true
[Handheld Reference Board]
HWVolumeControl = true
[manta-35-01]
HWVolumeControl = true
[PU10]
DPI = 223
[HP iPAQ hx4700]
DPI = 266
[CREDIX M43C2 Board]
HWVolumeControl = true
DPI = 128
[NDrivePC]
DPI = 300
StretchMap = true
FullScreenMode = false
WindowSize = 800x600
[ZTE CO.,LTD]
DisableSoftKeyboard = true
Alpha2NumericMap = @ERTDFGCVB
SoftKeyboardStartsMinimized = true
[QUALCOMM]
Key.VolumeUp = 0x75
Key.VolumeDown = 0x76
Alpha2NumericMap = 0ERTDFGCVB
SoftKeyboardStartsMinimized = true
[GT-C6625]
DisableSoftKeyboard = true
Alpha2NumericMap = +ERTDFGXCV
SoftKeyboardStartsMinimized = true
[MACOSX]
StretchMap = false
[DX900V040]
StretchMap = true
DPI = 286
[MOTOROLA MC75]
StretchMap = true
DPI = 260
[Touch Diamond2 T5353]
StretchMap = true
DPI = 245
[GB_RAMAR_BLUE_BT]
PowerManagerOff = true
HWVolumeControl = true
DPI = 128
[NDriveTouch_SE]
DPI=125
[NDriveTouchXL_SE]
DPI=136
[NDriveTouchXXL_SE]
DPI=117
[HTC Snap S521]
DisableSoftKeyboard = true
DisableNumericMode = true
TegicET9Off = true
[Toshiba TG02]
StretchMap = true
DPI = 228
Key.VolumeUp = 0x75
Key.VolumeDown = 0x76
[GT-B7300]
DPI = 155
Key.VolumeUp = 0x75
Key.VolumeDown = 0x76
or only change [settings]
Thanks hol9er, this is working great.
Thank you SO much. Brilliant!
Hi hol9er
Thanks m8, this is it..
Sorry, but I don't understand what to do exactly with hol9er's information
Thanks for your help
arturobandini said:
Sorry, but I don't understand what to do exactly with hol9er's information
Thanks for your help
Click to expand...
Click to collapse
You have to edit the ini file on the ndrive folder.
Ok, I see.
Thank you very much.
[EDIT: I changed the text in the ini file, but the graphics in the settings are still very small ((( ]
I had the same issue, and this ini text worked for me!! Now the letters in Settings are big enough. Thank you!!
Hello arturobandini !
open the NDrive.ini file in windows with editor
it is a text file
delete the text
copy and paste my text
dont forget to save
phone to pc - active sync
copy and paste the new file over the old
path: /storage card/NDrive
thats all
run NDrive and enjoy
hol9er
edit:
landscape view with BSB-Tweaks
hol9er
I have oneother problem.
When ndrive starts tries to find a bluetooth connection (which isnt there) and there is a very annoying popup.
Also cant find the gps port at all.
Disable GPS (dis)connection sound?
I find the GPS disconnection/reconnection sound immensely annoying, as I routinely drive through a number of tunnels. I can't find a way to control it separately from the voice.
Any ideas? Any secret INI settings, maybe?
ugumba said:
I find the GPS disconnection/reconnection sound immensely annoying, as I routinely drive through a number of tunnels. I can't find a way to control it separately from the voice.
Click to expand...
Click to collapse
Of course, immediately after posting, I realised I could look for the audio files. I found the GPS connection sounds as 62.wav and 63.wav in the voice ZIP. They should be trivial to replace - I just deleted them myself.
Thanks a lot. U are the best.
What is the config so i only rotate NDRIVE?
Are there another way to view this in landscape without change other apps?
Thanks again
Good work !
Works 100%
Kindly yours
Worked a treat
Thank you so much
how can i landscape view
i love ndrive but the screen doesn´t rotate i don´t know what to do please help
i really need ndrive to rotate
thanks
no ideas..
mat19835 said:
no ideas..
Click to expand...
Click to collapse
Install BsB Tweaks foudn here (bottom of the 1st post): http://forum.xda-developers.com/showthread.php?t=589305
After you've installed it, launch it from the StartMenu and then click on Menu. From Menu, click on Rotation. From Rotation, click on Options and then click on Add Application and follow the directions and you'll be all set.

[Dev] Gen8 AES/MPK keys

Hello All,
I didn't see them published anywhere, so here they are if someone needs them.
I tested them with archutil and aos-tools, they are working fine:
Code:
static unsigned char G8A_AES[] = {
0xCF,0xB7,0x81,0x70,0x22,0x19,0x72,0x93,
0x32,0xC4,0x0C,0x2F,0xE9,0x58,0xD2,0x4A
};
static unsigned char G8A_BOOTLOADER[] = {
0xA9, 0xDB, 0xED, 0xA9, 0x06, 0xF2, 0xAC, 0x43, 0x58, 0x7B,
0xF5, 0x8E, 0x10, 0xD4, 0xEC, 0x08, 0xCF, 0x12, 0xFD, 0x0F,
0xA4, 0x42, 0x1F, 0x62, 0x20, 0x10, 0xAF, 0x96, 0xE3, 0x14,
0xA4, 0x6B, 0x18, 0x19, 0xAB, 0xF2, 0x26, 0x3C, 0x29, 0x80,
0xD0, 0x19, 0x0D, 0x7D, 0x9B, 0xAF, 0x61, 0x9F, 0xEA, 0x79,
0x5C, 0x14, 0x69, 0xF7, 0x46, 0x63, 0x67, 0xE5, 0xDE, 0xA3,
0x66, 0x48, 0xC1, 0x33, 0x40, 0x34, 0x1D, 0x12, 0xC0, 0x9E,
0xCD, 0x8E, 0x89, 0x94, 0xB5, 0xC2, 0x19, 0xFF, 0xEC, 0x5B,
0x28, 0x9B, 0x74, 0x4A, 0xC4, 0xBF, 0x81, 0xAB, 0x21, 0xDD,
0x34, 0xDF, 0x5B, 0xBF, 0x8E, 0xC9, 0x0F, 0x81, 0x92, 0xAA,
0x3A, 0xA1, 0x8F, 0x29, 0x0C, 0xBB, 0x8A, 0xC0, 0xE0, 0x13,
0x94, 0x77, 0x3D, 0x52, 0xFF, 0x28, 0xB9, 0xA1, 0x37, 0x87,
0x35, 0x48, 0xC4, 0xB9, 0x2D, 0x25, 0x7F, 0xA5, 0x01, 0x00,
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xA8,
0x63, 0xBA,
};
static unsigned char G8A_RELMPK[] = {
0x1B, 0xD6, 0xF1, 0x0D, 0x13, 0x66, 0x74, 0x16, 0x62, 0x86,
0xA4, 0x1E, 0x27, 0x25, 0xAC, 0x99, 0x68, 0xDA, 0xF8, 0x18,
0x39, 0x7C, 0x81, 0x20, 0x62, 0x53, 0x5A, 0x52, 0xE4, 0x04,
0x52, 0xED, 0xCE, 0xAD, 0xB9, 0x08, 0xB2, 0xB3, 0x3B, 0x16,
0xC9, 0xC4, 0x2F, 0x05, 0xA7, 0xEA, 0xB4, 0xE2, 0x19, 0x50,
0x9A, 0x52, 0x35, 0x8B, 0x22, 0xDC, 0x3F, 0xBE, 0x18, 0x77,
0xFE, 0xE5, 0x5B, 0x2A, 0xDA, 0x5A, 0x31, 0x55, 0x4D, 0x3E,
0xF8, 0x24, 0x84, 0x8F, 0x66, 0xCA, 0x5B, 0xA2, 0x0E, 0xF4,
0xD8, 0x60, 0x6F, 0xF4, 0x5B, 0x9B, 0x1A, 0xDC, 0x6A, 0x12,
0xE5, 0x83, 0x80, 0x7E, 0x04, 0x73, 0x5A, 0x98, 0xD9, 0x64,
0x4E, 0xFC, 0x5E, 0x11, 0x17, 0x1B, 0x0D, 0xB8, 0x4F, 0x18,
0x88, 0xEA, 0xBC, 0x7E, 0xA5, 0x25, 0xAE, 0x56, 0x06, 0xD2,
0x07, 0xA0, 0x2D, 0x77, 0x9B, 0x3A, 0x19, 0xCE, 0x01, 0x00,
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x67,
0xD8, 0xEC,
};
static unsigned char G8A_DEVMPK[] = {
0x49, 0x71, 0x94, 0x20, 0x20, 0xC8, 0x88, 0x6E, 0xE8, 0x58,
0x5A, 0xFE, 0xA7, 0x52, 0x7D, 0xA2, 0x2F, 0x71, 0xB2, 0x25,
0x40, 0xF1, 0x55, 0x78, 0x7F, 0x95, 0xF2, 0x54, 0x88, 0x14,
0x0D, 0xF8, 0xD5, 0x4A, 0xB7, 0xA0, 0x70, 0x44, 0x07, 0xE2,
0x5D, 0x7D, 0x74, 0x68, 0x7C, 0x90, 0x16, 0x32, 0x21, 0x46,
0x7A, 0xCB, 0x91, 0xE7, 0xBE, 0xB0, 0x7B, 0x5A, 0x09, 0xEE,
0x64, 0xE8, 0xC7, 0xA9, 0x02, 0x46, 0x6B, 0x18, 0x1C, 0x71,
0xE1, 0x47, 0x4A, 0x9E, 0x80, 0x8E, 0x6F, 0x70, 0x4D, 0xAC,
0x90, 0x7C, 0x6B, 0xAF, 0x28, 0xD5, 0x3C, 0xE5, 0x4C, 0x8D,
0x7D, 0x14, 0x7D, 0x4F, 0x3D, 0xD1, 0x6A, 0xC4, 0xB1, 0x2D,
0x50, 0xD9, 0x22, 0xE5, 0xCE, 0xE3, 0x14, 0x46, 0x96, 0x27,
0x62, 0x09, 0x8B, 0xD6, 0x1A, 0xAB, 0xB3, 0x4E, 0xE7, 0xB0,
0xF8, 0x59, 0x0D, 0xAC, 0x0E, 0x05, 0xD9, 0xCD, 0x01, 0x00,
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0xBE,
0x4B, 0x57,
};
static unsigned char G8A_PLUGMPK[] = {
0x79, 0x31, 0x9B, 0x90, 0xF0, 0xB2, 0x3D, 0xF2, 0xCE, 0x64,
0x2E, 0x2F, 0x31, 0x40, 0xD4, 0xAD, 0xCC, 0x08, 0x4E, 0xA4,
0x16, 0x94, 0x47, 0xD7, 0xD6, 0x2F, 0xB5, 0x02, 0xE6, 0x2D,
0xB4, 0x43, 0xF9, 0x15, 0x92, 0x04, 0x3E, 0x89, 0x2F, 0x3A,
0x8D, 0xA7, 0xDD, 0x2C, 0x20, 0xCD, 0x22, 0x4D, 0x54, 0x94,
0xFE, 0x5B, 0x65, 0x27, 0x45, 0xCE, 0xC0, 0x6D, 0x9C, 0x90,
0xBA, 0x56, 0x05, 0xB9, 0x63, 0xCE, 0x35, 0xDA, 0x80, 0x26,
0x06, 0xE4, 0x56, 0xF1, 0x2C, 0x21, 0xBE, 0x27, 0x34, 0x1C,
0x7F, 0xD6, 0xB7, 0x6D, 0x92, 0xBB, 0x00, 0x57, 0x36, 0x7A,
0x6B, 0x71, 0xB7, 0x9C, 0xB9, 0x47, 0x7F, 0x7B, 0x25, 0x7C,
0xDF, 0x2B, 0xFD, 0xBD, 0xC1, 0xEC, 0x65, 0xBB, 0xC1, 0x7F,
0x2A, 0x03, 0x34, 0xE6, 0xC4, 0xD7, 0x99, 0xA2, 0x83, 0xA0,
0xB6, 0xE4, 0xAF, 0xFD, 0x0E, 0x77, 0xF3, 0xC7, 0x01, 0x00,
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x9E,
0x6D, 0xEB,
};
static unsigned char G8A_HDDMPK[] = {
0x1F, 0x80, 0x02, 0x1B, 0xD9, 0x8F, 0x55, 0x4C, 0x11, 0x51,
0xFA, 0x12, 0xA1, 0xFF, 0xCC, 0xD5, 0xC6, 0xB9, 0x82, 0xB5,
0x72, 0x15, 0xA5, 0xC2, 0x27, 0x20, 0x3C, 0xC0, 0x60, 0x02,
0x13, 0x27, 0x03, 0x26, 0xB3, 0xBC, 0x5B, 0xDD, 0xEE, 0x23,
0x96, 0x52, 0x40, 0x05, 0x93, 0xB7, 0x7C, 0x05, 0x91, 0x63,
0xB2, 0x7B, 0xBB, 0xBE, 0x94, 0xA0, 0x39, 0xE4, 0xE1, 0x94,
0x96, 0xB1, 0x0D, 0xC1, 0x63, 0xAA, 0x8D, 0x7D, 0x84, 0xE2,
0x4C, 0x57, 0xE7, 0xD7, 0xA4, 0xAD, 0xB3, 0x46, 0xD2, 0xA0,
0x01, 0x04, 0x2B, 0xD1, 0x27, 0x0A, 0xCB, 0x31, 0x64, 0x75,
0xA0, 0x13, 0xA9, 0xBE, 0x12, 0x4B, 0xAF, 0x30, 0x02, 0x0F,
0x3D, 0x22, 0xA0, 0x78, 0x31, 0x66, 0xBD, 0xBA, 0xDA, 0xCC,
0x4B, 0x7D, 0xC2, 0x2D, 0x21, 0xA6, 0x1F, 0x05, 0x60, 0x33,
0x93, 0xEA, 0x02, 0x8D, 0x94, 0x32, 0x09, 0xB7, 0x01, 0x00,
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x70,
0x1A, 0xD2,
};
LeTama
what they are good for? I'm just curious. WIll they help decrypting aos files
FrEcP said:
what they are good for? I'm just curious. WIll they help decrypting aos files
Click to expand...
Click to collapse
Yes, they let you decrypt and unpack aos files.
Oh no, now it won't take long until we have alot of bricked Gen8, because some stupid nerds will try to use this to get their own bootloader installed.
After that other noobs will try to follow their descriptions and we will have only complaints about bricked devices.
fzelle said:
Oh no, now it won't take long until we have alot of bricked Gen8, because some stupid nerds will try to use this to get their own bootloader installed.
After that other noobs will try to follow their descriptions and we will have only complaints about bricked devices.
Click to expand...
Click to collapse
= more work for us
Please dont use these keys, if you have no idea what you're doing!
Lenn said:
= more work for us
Please dont use these keys, if you have no idea what you're doing!
Click to expand...
Click to collapse
Huh? Except for unpacking aos, they won't do anything. These are only public keys, not private keys.
No way to repack an aos file that will go through without proprer private keys.
Well we dont need repack aos files.
But i will help us extract drivers and other stuff somehow and make uruk/cm7/debian ****ing gr8 eventualy
So no bricked devices but gr8 OSes
So how extactly we extract em now with?
Wow, this is awesome. Really great work....
The most crazy thing is, that i just stumbled over this section located at 0xc0f0 in the dump of bootcode (end of 2nd loader). See attachment....
The AES is marked there...
The dump has been made by Vitalif. It's the guy who did investigation on the bootloader and hack the security check.
http://forum.xda-developers.com/showthread.php?t=1018260
FrEcP said:
So how extactly we extract em now with?
Click to expand...
Click to collapse
As letama already pointed out, we need to enhance aos-tools.
The keys have to be added here:
http://code.google.com/p/aos-tools/source/browse/trunk/tools/keys.h
Some lines of code will need tweaking...
@letama: Do you have already modified source code of aos-tools?
Cheers,
scholbert
scholbert said:
The most crazy thing is, that i just stumbled over this section located at 0xc0f0 in the dump of bootcode (end of 2nd loader). See attachment....
The AES is marked there...
Click to expand...
Click to collapse
Yes, keys are there. Regarding the security check post: if you are toying with it, be careful, location is different on mine.
scholbert said:
@letama: Do you have already modified source code of aos-tools?
Click to expand...
Click to collapse
Yes, I did only aos-unpack and aos-info, I attached source code (it's a tgz, not tar, board won't let me upload tgz extension)
I verified unpack result, it matches.
Maybe im wrong but the first things we should do/try with this are:
1) Extract drivers (For better Rom Support..)
2) Find the difference between 2.3.81 and 2.3.26/2.3.20 (For the Cinema Plugin, so we can disable it..)
I am right or wrong?
Atm i try to learn a bit about this, could someone give me instructions how to use this keys and how are the files/directories are saved in archos firmware files?
But AES is symetric, so it has no public/private part..(?)
alex2308 said:
But AES is symetric, so it has no public/private part..(?)
Click to expand...
Click to collapse
Yes, first is AES and symetric, but MPKs are RSA and these are public keys only.
letama said:
Yes, keys are there. Regarding the security check post: if you are toying with it, be careful, location is different on mine.
Click to expand...
Click to collapse
Thanks for the warning... i will study internal firmware structure first.
Anyway, the best would be to start an open bootloader project based on x-loader and u-boot
The guys from Always Innovating put some efforts in the code for their pad.
Look here:
http://www.alwaysinnovating.com/wiki/index.php/Main_Page
In fact their design is comparable to the Archos tablets, at least the basics...
letama said:
Yes, I did only aos-unpack and aos-info, I attached source code (it's a tgz, not tar, board won't let me upload tgz extension)
I verified unpack result, it matches.
Click to expand...
Click to collapse
Wow, pretty cool... thanks a lot for the sources!
Seems it's mostly done
Will play around tomorrow night, no time for that right now
Have fun!
scholbert
scholbert said:
Anyway, the best would be to start an open bootloader project based on x-loader and u-boot
Click to expand...
Click to collapse
Hum, this is far more than what I had in mind
I wouldn't touch bootloader development without jtag. But it would be nice, yes.
I "just" wanted to root and have full access to system dir without installing SDE.
I succeeded today, I patched bootloaders, I'm able to flash init/recovery kernels with their associated initrds and I patched initrd to be able to use my rooted own .squashfs.secure
I'm not sure I'll document it or give my sources as it's very rough and very dangerous. I don't want to be responsible for a pile of brick around the place But it was an interesting journey.
Hi,
yesterday i also unpacked some of the firmware files. Worked out very well.
letama said:
Hum, this is far more than what I had in mind
I wouldn't touch bootloader development without jtag. But it would be nice, yes.
Click to expand...
Click to collapse
Yeah would be nice... that's all i wanted to say
BTW it would be possible to start bootloader development without JTAG and without risking a brick. See my thread over here:
http://forum.xda-developers.com/showthread.php?t=1199450
By tweaking the hardware, it's possible to boot completely from external media (e.g. microSD). So eMMC bootblock won't be touched in any way (unless you force overwriting at some point).
If i had enough time....
letama said:
I "just" wanted to root and have full access to system dir without installing SDE.
I succeeded today, I patched bootloaders, I'm able to flash init/recovery kernels with their associated initrds and I patched initrd to be able to use my rooted own .squashfs.secure
I'm not sure I'll document it or give my sources as it's very rough and very dangerous. I don't want to be responsible for a pile of brick around the place But it was an interesting journey.
Click to expand...
Click to collapse
That's indeed a great hack...
I guess you used the recovery mode to dump and write back the content.
Is this correct?
Thanks again for all that useful stuff
Kind regards,
scholbert
scholbert said:
BTW it would be possible to start bootloader development without JTAG and without risking a brick. See my thread over here:
http://forum.xda-developers.com/showthread.php?t=1199450
Click to expand...
Click to collapse
Yes, saw your thread, nice stuff. Hardware and soldering are not my best skills unfortunately. It would be nice to have such safety though.
scholbert said:
That's indeed a great hack...
I guess you used the recovery mode to dump and write back the content.
Is this correct?
Click to expand...
Click to collapse
No, I did it directly from adb/android, as most parts are read-only, you can dump safely from there. I patched bootloaders and kernels with the apps I wrote that directly access mmc0. The only tricky part was to re-write squashfs, it crashes android if you don't stop it before writing. But only with adb running it's do-able.
As you opened it, do you have the reference for the mmc0 and mmc1 chips by any chance ?
letama said:
No, I did it directly from adb/android, as most parts are read-only, you can dump safely from there. I patched bootloaders and kernels with the apps I wrote that directly access mmc0. The only tricky part was to re-write squashfs, it crashes android if you don't stop it before writing. But only with adb running it's do-able.
Click to expand...
Click to collapse
Uuuh, sounds bit weird. Anyway you made it!!!
Congratulation
BTW, i extracted SDE firmaware and had a look at the avboot image.
This loader is a bit longer than the stock one.
Would be interesting to start some diassembly and look for the changes...
letama said:
As you opened it, do you have the reference for the mmc0 and mmc1 chips by any chance ?
Click to expand...
Click to collapse
See this post:
http://forum.xda-developers.com/showpost.php?p=16452190&postcount=12
Here's the direct link again
You'll find a datasheet of a similar device from SanDisk inside.
My device also got a SanDisk chip (16GByte type).
Some got Toshiba assembled.
Cheers,
scholbert

[Dev] Gen8v2 (a70it2/a70b) AES/MPK

Hi All,
Same as usual, here are the keys for the new a70it2/a70b:
Code:
// G8AV2 (a70it2)
static unsigned char G8AV2_AES[] = {
0x91,0x7E,0xC9,0x9C,0x98,0xE4,0x4B,0xEA,
0x98,0x10,0x5F,0x9B,0x9C,0xD0,0xD0,0xAB,
};
static unsigned char G8AV2_BOOTLOADER[] = {
0x09, 0xE0, 0xD3, 0x16, 0x96, 0xF3, 0x68, 0xAC, 0x88, 0xC4,
0x0B, 0xD3, 0xBF, 0x76, 0x7D, 0x58, 0x74, 0x7C, 0xC2, 0xBA,
0x85, 0xE5, 0xCE, 0x67, 0xFD, 0x5C, 0x65, 0xF3, 0x86, 0x13,
0x2D, 0xAC, 0xAC, 0xB6, 0x22, 0x67, 0x68, 0x8E, 0x0D, 0x95,
0x41, 0x2E, 0xF3, 0x66, 0x07, 0x00, 0x5C, 0x3A, 0x7C, 0x61,
0xDD, 0xB9, 0x62, 0xBF, 0x35, 0xAF, 0xC6, 0x42, 0x74, 0xCC,
0xDB, 0x04, 0x73, 0x7F, 0xA5, 0x13, 0x04, 0xFE, 0x87, 0x8A,
0x57, 0x30, 0xCD, 0x27, 0x05, 0x13, 0x0F, 0x28, 0x4D, 0x7B,
0x36, 0x5D, 0x04, 0x94, 0x1F, 0xD0, 0xC4, 0x5F, 0xF1, 0x8A,
0x15, 0x58, 0xFB, 0x26, 0x38, 0xAE, 0x6D, 0x74, 0x7C, 0x9E,
0x7F, 0xBF, 0xFC, 0xA2, 0xC3, 0x5E, 0x83, 0x5E, 0x03, 0x88,
0x15, 0x1D, 0x27, 0x90, 0x5C, 0x93, 0x5E, 0x70, 0x74, 0xE8,
0xBE, 0x9B, 0x6B, 0xC3, 0x8C, 0xF3, 0xD6, 0x96, 0x01, 0x00,
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD3, 0xC7,
0xCA, 0x97,
};
static unsigned char G8AV2_RELMPK[] = {
0x7F, 0x72, 0x00, 0x52, 0x09, 0x90, 0xB5, 0x72, 0x04, 0x21,
0x86, 0x29, 0x2C, 0x0D, 0xF2, 0x64, 0x89, 0xB4, 0xF9, 0x7C,
0x6E, 0x3E, 0x4F, 0xBE, 0x5A, 0xB2, 0x8A, 0xA0, 0x12, 0x5B,
0x13, 0x11, 0x10, 0x7C, 0x8B, 0xD1, 0x89, 0xD3, 0xA1, 0x2C,
0xE3, 0x87, 0x78, 0xFD, 0xF2, 0xDF, 0x65, 0x8A, 0xF7, 0x39,
0xCE, 0x25, 0x66, 0x87, 0x24, 0x85, 0xAD, 0x8D, 0x7D, 0xC1,
0x79, 0x71, 0x29, 0xE0, 0x49, 0xBA, 0xE8, 0x49, 0x1C, 0x52,
0xDE, 0x11, 0xAB, 0xA6, 0x73, 0x85, 0x49, 0x15, 0xD3, 0xD2,
0x16, 0x48, 0xAD, 0x21, 0x93, 0xAB, 0x5E, 0x7E, 0xF3, 0xCB,
0x9A, 0xFF, 0xCD, 0x28, 0x04, 0xF9, 0x98, 0xF3, 0xFF, 0x8E,
0x8B, 0x00, 0x18, 0x1E, 0xD2, 0x2E, 0xD5, 0xC6, 0x90, 0xC4,
0xD0, 0x13, 0xD9, 0x50, 0x40, 0xEA, 0xE5, 0x9B, 0x66, 0xD7,
0xDC, 0xF5, 0xA3, 0x6E, 0x40, 0x10, 0xA3, 0xD0, 0x01, 0x00,
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x94,
0xCE, 0xC6,
};
static unsigned char G8AV2_DEVMPK[] = {
0x4B, 0xF2, 0xEA, 0x28, 0x12, 0xAB, 0x34, 0x0C, 0xFB, 0xBA,
0x58, 0xE6, 0xD3, 0x50, 0xF3, 0xCA, 0x20, 0x32, 0x72, 0x85,
0xCA, 0xC7, 0x53, 0xF8, 0xC8, 0x3D, 0x4A, 0x20, 0x6F, 0x14,
0xAF, 0xFD, 0x1F, 0x9E, 0x91, 0x04, 0x8A, 0x86, 0xAC, 0x82,
0x76, 0xE2, 0x27, 0xA8, 0x12, 0xBC, 0x39, 0x93, 0x96, 0xEA,
0x81, 0xD6, 0x72, 0xDA, 0x08, 0x9B, 0xE8, 0x24, 0x46, 0x4F,
0x6E, 0x99, 0xB2, 0xD5, 0xF1, 0xF4, 0xCE, 0x33, 0xC1, 0x49,
0x19, 0x6D, 0x48, 0x99, 0xB5, 0x49, 0x9D, 0x69, 0x59, 0xC4,
0xE9, 0xA8, 0x57, 0x78, 0x38, 0xE6, 0x78, 0xC9, 0x37, 0xCB,
0xBA, 0xE9, 0x28, 0x31, 0x3A, 0xA7, 0x99, 0x5E, 0x13, 0x0D,
0x9D, 0x2E, 0x45, 0x3B, 0x7C, 0x2F, 0xD2, 0x16, 0x32, 0x6B,
0x67, 0xFE, 0xFB, 0xBC, 0xAA, 0xAE, 0x9A, 0x95, 0x6B, 0x00,
0x4E, 0x3E, 0x24, 0x4E, 0x2F, 0x1E, 0x98, 0xCA, 0x01, 0x00,
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x75,
0x6D, 0xAF,
};
static unsigned char G8AV2_PLUGMPK[] = {
0x71, 0xCB, 0x8E, 0xAE, 0x3D, 0xEA, 0xF7, 0xB3, 0xF4, 0xA8,
0xBE, 0x1C, 0x5D, 0xCE, 0x3A, 0xFC, 0x00, 0x20, 0x45, 0x6E,
0xE9, 0x05, 0x8D, 0x66, 0x1C, 0x9E, 0xCC, 0x47, 0x75, 0x2E,
0xEC, 0x18, 0x01, 0x1D, 0x2A, 0xEA, 0x6F, 0xC9, 0xEA, 0xD6,
0x1F, 0xFF, 0xF0, 0xAD, 0x64, 0x72, 0xEC, 0x2E, 0x18, 0x81,
0xDE, 0xED, 0xA0, 0x52, 0x7E, 0x17, 0xEB, 0xE1, 0x13, 0x53,
0x2C, 0x58, 0x6E, 0xA4, 0xED, 0xB8, 0x77, 0xB9, 0x63, 0x71,
0xD1, 0x52, 0xAD, 0xC3, 0x9F, 0x41, 0xFC, 0x6E, 0xF4, 0x6D,
0x0A, 0xE7, 0xFE, 0xF3, 0xAB, 0xE0, 0x39, 0xBE, 0xBA, 0x73,
0x17, 0x91, 0x30, 0x71, 0xE9, 0xBD, 0x54, 0x18, 0xF5, 0x11,
0x94, 0xB8, 0x83, 0x67, 0x41, 0x8D, 0x43, 0xE5, 0xBC, 0xA9,
0xA3, 0xB5, 0x72, 0x4A, 0xBB, 0xC9, 0x16, 0x7B, 0x2D, 0x6D,
0xB3, 0x67, 0xAE, 0x13, 0xBB, 0xD2, 0x02, 0xB0, 0x01, 0x00,
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA7, 0x4F,
0xBA, 0xB5,
};
static unsigned char G8AV2_HDDMPK[] = {
0xD3, 0xE5, 0x47, 0x4E, 0xF5, 0x0D, 0xE9, 0x38, 0xE7, 0x27,
0x0B, 0x98, 0xA5, 0x98, 0x50, 0x2D, 0xA8, 0x3B, 0x88, 0xBD,
0x66, 0x53, 0x22, 0x06, 0x6E, 0x3B, 0xC7, 0xEA, 0xB0, 0xC1,
0xBF, 0x14, 0x6F, 0x6F, 0x35, 0xE9, 0x83, 0x9A, 0xAA, 0x41,
0xB8, 0x59, 0x78, 0xE4, 0xE8, 0x32, 0xB6, 0xE5, 0x0C, 0xC4,
0x23, 0x16, 0xE1, 0x8B, 0x48, 0xD5, 0x50, 0x15, 0xDE, 0x85,
0x57, 0xA3, 0xA6, 0x69, 0xC7, 0x07, 0x20, 0x34, 0x94, 0xF8,
0x6E, 0x56, 0x76, 0x95, 0x41, 0x7F, 0x69, 0x5B, 0xAA, 0x4E,
0xA9, 0xDB, 0x3B, 0xE7, 0xBB, 0xD7, 0x4E, 0x04, 0x18, 0x1C,
0xCD, 0x93, 0xD4, 0xB7, 0x42, 0x2A, 0xE3, 0xE0, 0x2D, 0x26,
0xD7, 0x72, 0x52, 0x73, 0xED, 0x71, 0x0C, 0xF3, 0x7D, 0x26,
0xF8, 0x93, 0x5B, 0x3F, 0x2C, 0xFD, 0xAD, 0xC5, 0xE8, 0xDF,
0x90, 0x51, 0x8A, 0x36, 0x81, 0x95, 0xFB, 0xC2, 0x01, 0x00,
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA7, 0xD5,
0x6B, 0x5C,
};
Cheers,
LeTama
latest Honeycomb firmware extracted (A70IT2)
Hi,
based on letamas keys i tweaked the aos-tools again to extracted the latest Honeycomb firmware for A70IT2.
So here's some info:
Code:
Parsing "firmware_archos_it3.aos":
Signature type: Release
Signature present: Yes
Signature is valid: Yes
Device type: Archos Gen8 V2 (detected from signature data)
File is Encrypted: Yes (decrypting...)
Header Information:
Product Name: G8AV2
Locked to Product Key: No
Product Version: 3.2.77
So in fact same procedure gives us some files...
- avboot changed to newer version (seems to have a debug feature)
- new kernel version:
Linux version 2.6.35.7+ ([email protected]) (gcc version 4.4.1 (GCC) ) #1 PREEMPT Thu Dec 8 06:45:16 CET 2011
(Unfortunately Archos did not release any update on the GPL kernel git yet... )
- of course rootfs with all Honeycomb proprietary files, suitable for OMAP3630
Attached you'll find my tweaked aos-tools to handle the new firmware (source code as well).
@letama:
We should merge the code and put it down at gitorious or googlecode.
Otherwise there will be too many different versions floating around some day...
P.S.: What happened to your devices???
Best regards,
scholbert
Hi Scholbert,
scholbert said:
@letama:
We should merge the code and put it down at gitorious or googlecode.
Otherwise there will be too many different versions floating around some day...
Click to expand...
Click to collapse
Yes, it would be nice, however I only did a quick key integration on only one tool, not really a proper merge of keys.
scholbert said:
P.S.: What happened to your devices???
Click to expand...
Click to collapse
I killed the IT2 with the Honeycomb firmware :-(
I'll spare you the long story, but to make it short, I'm back to a regular A70IT, 80 Euros lost and very mad at Archos.
bricked 70b
Off topic but, surely you will RMA the device - picture of device running honeycomb was displayed in my Archos account, and other forum members for at least a week when we first registered them - they cannot blame us for thinking Honeycomb would install on it. Paul
Hi paulus3476!
No, as it was less than 15 days after purchase, my retailer proposed direct exchange and they had only a70it. My bill was showing a70it not a70it2, and when he scanned barcode, their system didn't find it like it never existed even though they were selling it the week before.
So when I considered all the troubles I could get with the rma and the eventuality that at the end I ended up with an a70it anyway, I decided to take the direct exchange.

Help/information/firmware with Kaon SC7210 (claro video)

Hello great comunity!, I'm creating this thread with all the information that I was able to gather from different threads and sources.
This device is being given away by Claro Uruguay as a video stream platform (similar to Netflix?)
The hardware:
Chipset: Hi3798M (11,000 DMIPS) Cortex A7 Quad Core
Info from vendor
http://www.kaonmedia.com/eng/product/pro02_3.asp?pgrp=31&pidx=26
Quad Core 1.5G ARM Cortex A7 11,000DMIPS CPU
Mali MP450 Quad Core GPU
Android 4.4 Kitkat
4GB eMMC.
1GB DDR3
HEVC/H.264 Decoder up to 1080p
WIFI:802.11n 2x2 Dual Band (2,4/5Ghz) + bluetooth
HDMI:1.4a (3D suport)
Ethernet: 10/100, Rj45 Full Duplex
One Usb 2.0 and Micro sd card
(all info from the user manual)
Possible ways to flash it.
1. load scatter file from firmware to SP Tools and click download from PC.
2. Disconnect the usb connected to the PC (use only usb ) and also the power cable of the SC7210
3. Connect the USB to an 2.0 USB of the PC.
4. Connect the power cable to the SC7210.
5. Done!. SP Tools start flashing the firmware.
If does not work there is a jumper inside that box that it seems that put the usb in debug mode.
Put the jumper and try again.
please some help?
I attach some photos of it
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
---------- Post added at 04:55 PM ---------- Previous post was at 04:50 PM ----------
More info: https://fccid.io/WQT-SC7210
Hola... Alguien tiene al Firmware ? de donde lo podria descargar ?
up
Alguna novedad sobre este tema?
Yes. Connecting a keyboard & mouse combo in the USB port will let you launch the web browser with Win+B combination.
Then you can install apk from the web (like apkmirror) for KirKat. Downloads can be accessed with Ctrl+J combination.
First apk should be a Launcher to access Settings and set as default Launcher.
No permite descargar
Deja acceder al navegador pero no descargar Si sabes alguna otra solución te lo agradecemos
mmm.... voy a probar
pruebo y les cuento
J_M_V_S said:
Yes. Connecting a keyboard & mouse combo in the USB port will let you launch the web browser with Win+B combination.
Then you can install apk from the web (like apkmirror) for KirKat. Downloads can be accessed with Ctrl+J combination.
First apk should be a Launcher to access Settings and set as default Launcher.
Click to expand...
Click to collapse
You have to select "Save link as" (context menu) in order for the browser to save files
*Como instalar apps en Kaon SC7210*
Requerido: Teclado y mouse conectado en el puerto USB (combo teclado+mouse inalámbrico recomendado)
Presionar Win + B para abrir el navegador
Como descargar los siguientes programas: Elegir el APK correcto y cuando pregunta "Your download will start immediately. If not, please click <<here>>." dejar apretado el botón derecho del mouse en <<here>> y en las opciones que aparecen elegir Guardar enlace (lo va a guardar con extensión PHP, no importa).
Bajar de APKMirror:
1) Nova Launcher 5.5 (https://www.apkmirror.com/apk/tesla...ease/nova-launcher-5-5-android-apk-download/)
2) Terminal Emulator 1.0.70 (https://www.apkmirror.com/apk/jack-...rminal-emulator-1-0-70-android-apk-download/)
https://t.me/coship9090/38029
Si me funciono
Gracias Brother funciono perfecto. Tenes idea como instalo los sevices de google ?
Hola de donde saco los archivos para realizar el flash?
kaon SC7210
Hola hermanos como andan, saludos de argentina uso google translate, al final dejo la traducción directa. Hace como dos semanas comencé con este dispositivo ya que me lo regalo claro, hace un par de meses cuando contrate Internet, cuando vi que era un dipositivo basado en android me emocione por la idea de tunearlo, pero la verdad que me trajo muchos dolores de cabeza, probe conectarlo via usb y serial con un adaptador usb CPxx (no recuerdo el chip, pero es muy comun verlo en arduino).
Adaptador USB aun costado de la placa podemos buscar los puertos serie, RX, TX, GND, el VCC no es necesario conectar para lograr transferencia de datos ojo que la placa tiene 3.3v y la mayoría de adaptadores tienen dos voltajes 3.3v y 5v este ultimo por lo general es nombrado como VCC.
usando putty obtuve esto de respuesta al iniciar el dispositivo
Code:
Bootrom start
Boot from eMMC
Initializing DDR ... OK
Starting DDR training ... OK
Starting fastboot ...
System startup
Reg Version: v1.1.0
Reg Time: 2017-10-26 ▒▒▒▒ 7:18hi3798mdmo1a_hi3798mv100_ddr3_1gbyte_16bitx2_4 layers_emmc.reg
Reg Name: hi3798mdmo1a_hi3798mv100_ddr3_1gbyte_16bitx2_4layers_emmc.reg
Relocate Boot to DDR
Jump to DDR
Compressed-boot v1.0.0
Uncompress.........................Ok
System startup
Reg Version: v1.1.0
Reg Time: 2017-10-26 ▒▒▒▒ 7:18hi3798mdmo1a_hi3798mv100_ddr3_1gbyte_16bitx2_4 layers_emmc.reg
Reg Name: hi3798mdmo1a_hi3798mv100_ddr3_1gbyte_16bitx2_4layers_emmc.reg
Relocate Boot to DDR
Jump to DDR
Fastboot 3.3.0-dirty ([email protected]) (Feb 28 2018 - 15:26:27)
Fastboot: Version 3.3.0
Build Date: Feb 28 2018, 15:26:37
CPU: Hi3798Mv100 (CA)
Boot Media: eMMC
DDR Size: 1GB
Check nand flash controller v610. found
Special NAND id table Version 1.36
Nand ID: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
No NAND device found!!!
MMC/SD controller initialization.
MMC/SD Card:
MID: 0x15
Read Block: 512 Bytes
Write Block: 512 Bytes
Chip Size: 3728M Bytes (High Capacity)
Name: "4FPD3"
Chip Type: MMC
Version: 5.0
Speed: 52000000Hz
Bus Width: 8bit
Boot Addr: 0 Bytes
Boot Env on eMMC
Env Offset: 0x00100000
Env Size: 0x00010000
Env Range: 0x00010000
HI_OTP_LockIdWord,327: ID_WORD have already been locked
SDK Version: HiSTBAndroidV600R001C00SPC065_v2016112822
Security begin read RSA CRC Key in USB disk
Security no RSA CRC Key in USB disk
(Re)start USB...
USB0: Register 1212 NbrPorts 2
USB EHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
USB1: Register 1111 NbrPorts 1
USB EHCI 1.00
scanning bus 1 for devices... 1 USB Device(s) found
scanning usb for storage devices... 0 Storage Device(s) found
NO Such file: fwinfo.txt on usb device
NO Such file: recovery.chk on usb device
NO Such file: production.chk on usb device
mac:44:F0:34:73:FE:FE
MMC read: dev # 0, block # 1, count 1 ... 1 blocks read: OK
842105 Bytes/s
RSA Module:
0xD5, 0x93, 0x99, 0x2A, 0x0E, 0xCA, 0x15, 0x7E, 0x0C, 0x3E, 0x63, 0x90, 0x45, 0x 77, 0x05, 0x5A,
0x40, 0xE5, 0x9D, 0x39, 0x7C, 0x91, 0x9E, 0x42, 0x76, 0x86, 0x85, 0x21, 0x9E, 0x 8B, 0x1D, 0xE7,
0xEC, 0x75, 0x93, 0x63, 0x90, 0xD0, 0x10, 0x04, 0x60, 0x1C, 0xCF, 0x28, 0x45, 0x AE, 0x18, 0x30,
0xF7, 0x5A, 0x41, 0xFD, 0xED, 0x93, 0xA5, 0xA8, 0x12, 0x24, 0xBA, 0x05, 0x8A, 0x 5E, 0xAD, 0xF4,
0x5F, 0xE6, 0x0D, 0xF7, 0x35, 0x29, 0x34, 0xCA, 0x11, 0x27, 0x04, 0x66, 0x3A, 0x 50, 0x7D, 0x6C,
0x79, 0x6B, 0xE9, 0xFA, 0x13, 0x3B, 0x46, 0x79, 0x25, 0x4F, 0xB1, 0x36, 0x46, 0x 47, 0x38, 0xE8,
0xD8, 0x5C, 0x63, 0xF1, 0x0E, 0x0C, 0x3C, 0x9F, 0x12, 0xF1, 0x77, 0xEB, 0xB7, 0x 86, 0xE7, 0x0D,
0x37, 0xD2, 0xE3, 0x89, 0x6C, 0xA8, 0xBD, 0xFC, 0x9B, 0xAC, 0x47, 0x5D, 0x54, 0x 3E, 0x93, 0xA1,
0x9E, 0xE2, 0x8D, 0x78, 0xB8, 0xC8, 0x93, 0xE0, 0xF0, 0x49, 0xE8, 0x54, 0xC2, 0x 8E, 0xC6, 0xD9,
0x7C, 0xD2, 0xA3, 0x07, 0x7F, 0x4C, 0xA2, 0x46, 0x6B, 0x9D, 0xD8, 0xE4, 0x50, 0x 87, 0xAF, 0x74,
0x9A, 0xDC, 0xCD, 0x55, 0x0F, 0x9A, 0x7B, 0x3D, 0x76, 0x22, 0x74, 0xE4, 0x7D, 0x B9, 0x73, 0x81,
0x0F, 0xD0, 0xCD, 0x7E, 0xEE, 0x7A, 0xF3, 0x80, 0xE0, 0x73, 0x90, 0x1C, 0xB8, 0x 41, 0x24, 0x27,
0x95, 0x9D, 0x12, 0x56, 0xCB, 0x1B, 0x83, 0xF4, 0x5E, 0xB7, 0x8A, 0x7F, 0xC1, 0x DE, 0xEE, 0xB9,
0x3A, 0x51, 0x6E, 0x78, 0x02, 0xF3, 0xAB, 0x24, 0x8C, 0xBB, 0xF0, 0x2F, 0x90, 0x 6B, 0xF4, 0xA8,
0x48, 0xB5, 0xD8, 0x7A, 0x42, 0xAD, 0xB1, 0x68, 0x33, 0x20, 0xB6, 0x99, 0xB9, 0x D5, 0x71, 0x1F,
0x79, 0x1E, 0x5C, 0x4F, 0x46, 0x70, 0x00, 0xED, 0x45, 0x7C, 0xDB, 0xE6, 0x42, 0x 93, 0xD3, 0xAF,
RSA Exponent:
0x03, 0x00, 0x00, 0x00,
get extern rsa key success!
g_EnvFlashAddr:0x100000, g_EnvFlashPartionSize:0x100000
CA_flash_open_addr,340: Open addr, enFlashType: 0x00000002
HI_CA_CommonVerify_BootPara,2218: Sign Header found!
HI_CA_CommonVerify_BootPara,2224: CRC32 check ok
HI_CA_CommonVerify_BootPara,2260: begin sha2, length:65536
HI_CA_CommonVerify_BootPara,2275: Sha check ok
u8MagicNumber:Hisilicon_ADVCA_ImgHead_MagicNum
u8Version:v1.0.0.3
u32CreateDay:0x0
u32CreateTime:0x0
u32HeadLength:0x384
u32SignedDataLength:65536:0x10000
u32IsYaffsImage:0
u32IsConfigNandBlock:1
u32NandBlockType:0
u32IsNeedEncrypt:0
u32IsEncrypted:0
u32HashType:1
u32CurrentsectionID:0
u32TotalsectionID:1
u32SectionSize:0
00 b8 7c 37 7e 2d 41 5b 92 bd cb 6d 96 68 2a 03 30 30 d4 49 ee d7 e3 bd 0d d7 7d d7 c8 77 cd 6d
u32SignatureLen:256
77 5b c4 7c 3b ba d3 3d 06 ab 14 d2 75 17 0e 67 15 25 b6 52 1a c5 80 9f 53 9f 72 fd d9 44 f3 04 db e5 96 91 38 26 1a d6 2f 95 82 2d 9a 9d 4c 91 3b 39 c2 57 72 b 5 c5 29 d9 ab 86 67 d6 77 32 3c ea eb 04 75 a0 10 1e 1c 90 8e a8 76 57 2a 97 46 49 21 fe d2 fc a5 f5 a7 f6 d7 e0 6d ac 3b 52 5b 33 bb a2 89 84 c5 42 94 ae a6 65 47 89 fa a6 92 ba 66 6c c0 ac 66 ab dd cf f5 e4 77 d0 7e 34 c9 1c c1 4d 09 aa 6 1 bd 06 e1 de d8 05 f3 17 09 c6 d8 f9 a0 cc 99 ff b7 4b 4b 17 33 07 c3 56 56 54 56 74 6a b1 21 9f b2 b6 62 13 d8 c3 9b b4 ee 4a 49 02 38 c5 58 93 80 92 47 99 df e3 a1 ce 76 7a 02 d4 a4 dd 99 34 3d c1 df 45 d2 5e 89 ea 70 ec d9 a8 e2 3e 78 1 4 f7 89 e3 b5 04 9d eb 78 9f cf f9 05 0b 1a c8 dd 33 a0 03 cd 7a d5 db e3 d4 54 0f 20 35 a1 55 67 cf 46 01 6a 15 94 a4 88 f1 da
OrignalImagePath:/home/charlie/work/G6Q065/out/target/product/Hi3798MV100/Emmc/b ootargs.bin
RSAPrivateKeyPath:/home/charlie/work/G6Q065/device/hisilicon/Hi3798MV100/securit y/extern_rsa_priv.txt
CRC32:18797ea2
HI_CA_CommonVerify_BootPara,2281: Check Authenitication is ok
CA_Common_VerifyBootParaByPartitionDebug,535: verify success
HI_CA_GetAuthMode,863: Special Signature!
CA_Special_FlashAuthenticateDebug,116: CA_FlashAuthenticate kernel
HI_CA_GetFlashImgInfoByName,762: Img has not be encrypted
HI_CA_GetFlashImgInfoByName,782: ImgInfo.u8MagicNumber:
0x48, 0x69, 0x73, 0x69, 0x6C, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x41, 0x44, 0x56, 0x 43, 0x41, 0x5F,
0x49, 0x6D, 0x67, 0x48, 0x65, 0x61, 0x64, 0x5F, 0x4D, 0x61, 0x67, 0x69, 0x63, 0x 4E, 0x75, 0x6D,
HI_CA_GetFlashImgInfoByName,785: Magic number check success
HI_CA_GetFlashImgInfoByName,806: CRC32 check ok
HI_CA_FlashAuthenticateByName,906: HI_CA_FlashAuthenticateByName kernel successe d
g_partition_hash:
0x00, 0xB8, 0x7C, 0x37, 0x7E, 0x2D, 0x41, 0x5B, 0x92, 0xBD, 0xCB, 0x6D, 0x96, 0x 68, 0x2A, 0x03,
0x30, 0x30, 0xD4, 0x49, 0xEE, 0xD7, 0xE3, 0xBD, 0x0D, 0xD7, 0x7D, 0xD7, 0xC8, 0x 77, 0xCD, 0x6D,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x 00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x 00, 0x00, 0x00,
0x43, 0x90, 0x0D, 0x4D, 0x2A, 0xB1, 0xDF, 0xCD, 0xBD, 0x89, 0x71, 0x09, 0x2E, 0x 7E, 0x3A, 0xF0,
0xC8, 0x90, 0x95, 0x9E, 0x23, 0x36, 0x04, 0xA1, 0xCE, 0x09, 0xD7, 0x56, 0x54, 0x 80, 0x56, 0xF6,
CA_Special_FlashAuthenticateDebug,118: ca_special_verify success
CA_Special_FlashAuthenticateDebug,116: CA_FlashAuthenticate trustedcore
HI_CA_GetFlashImgInfoByName,762: Img has not be encrypted
HI_CA_GetFlashImgInfoByName,782: ImgInfo.u8MagicNumber:
0x48, 0x69, 0x73, 0x69, 0x6C, 0x69, 0x63, 0x6F, 0x6E, 0x5F, 0x41, 0x44, 0x56, 0x 43, 0x41, 0x5F,
0x49, 0x6D, 0x67, 0x48, 0x65, 0x61, 0x64, 0x5F, 0x4D, 0x61, 0x67, 0x69, 0x63, 0x 4E, 0x75, 0x6D,
HI_CA_GetFlashImgInfoByName,785: Magic number check success
HI_CA_GetFlashImgInfoByName,806: CRC32 check ok
HI_CA_FlashAuthenticateByName,906: HI_CA_FlashAuthenticateByName trustedcore suc cessed
g_partition_hash:
0x00, 0xB8, 0x7C, 0x37, 0x7E, 0x2D, 0x41, 0x5B, 0x92, 0xBD, 0xCB, 0x6D, 0x96, 0x 68, 0x2A, 0x03,
0x30, 0x30, 0xD4, 0x49, 0xEE, 0xD7, 0xE3, 0xBD, 0x0D, 0xD7, 0x7D, 0xD7, 0xC8, 0x 77, 0xCD, 0x6D,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x 00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x 00, 0x00, 0x00,
0x43, 0x90, 0x0D, 0x4D, 0x2A, 0xB1, 0xDF, 0xCD, 0xBD, 0x89, 0x71, 0x09, 0x2E, 0x 7E, 0x3A, 0xF0,
0xC8, 0x90, 0x95, 0x9E, 0x23, 0x36, 0x04, 0xA1, 0xCE, 0x09, 0xD7, 0x56, 0x54, 0x 80, 0x56, 0xF6,
CA_Special_FlashAuthenticateDebug,118: ca_special_verify success
Reserve Memory
Start Addr: 0x3FFFE000
Bound Addr: 0x8E71000
Free Addr: 0x3ED48000
Alloc Block: Addr Size
0x3FBFD000 4194304
0x3F8FC000 3145728
0x3F87B000 524288
0x3F878000 8192
0x3F843000 212992
0x3F742000 1048576
0x3F73E000 12288
0x3F3B9000 3686400
0x3F223000 1658880
0x3EE9E000 3686400
0x3ED4B000 1384448
0x3ED48000 8192
Hibernate!! drv phyaddr 0x3FC00000
Hibernate!! user api phyaddr 0x3F900000
Hibernate!! userapi start 0xD200000, size 0x800000
Hibernate!! drv start 0xDA00000, size 0x800000
Hibernate!! flag start 0xE200000, size 0x800000
Hibernate!! data start 0xEA00000, size 0xFC00000
Press Ctrl+C to stop autoboot
MMC read: dev # 0, block # 307200, count 20480 ... 20480 blocks read: OK
87755757 Bytes/s
Check Hisilicon_ADVCA ...
Boot hisilicon ADVCA image ...
Found Initrd at 0x04000000 (Size 328308 Bytes), align at 16384 Bytes
## Booting kernel from Legacy Image at 02001fc0 ...
Image Name: Linux-3.10.0_s40
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 7863168 Bytes = 7.5 MiB
Load Address: 02000000
Entry Point: 02000000
Loading Kernel Image ... OK
OK
Starting kernel ...
Booting Linux on physical CPU 0x0
Linux version 3.10.0_s40 ([email protected]) (gcc version 4.4.1 (Hisilicon_ v200(gcc4.4-290+glibc-2.11+eabi+nptl)) ) #1 SMP Tue Nov 20 05:56:18 KST 2018
CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: bigfish
cma: CMA: reserved 436 MiB at 23800000
cma: CMA: reserved 4 MiB at 3fc00000
Memory policy: ECC disabled, Data cache writealloc
CPU: Hi3798Mv100
PERCPU: Embedded 8 pages/cpu @81a79000 s12224 r8192 d12352 u32768
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 260096
Kernel command line: console=ttyAMA0,115200 blkdevparts=mmcblk0:1M(fastboot),1M( bootargs),10M(recovery),2M(deviceinfo),8M(baseparam),8M(pqparam),20M(logo),20M(l ogobak),40M(fastplay),40M(fastplaybak),40M(kernel),20M(misc),8M(userapi),8M(hibd rv),8M(qbflag),252M(qbdata),40M(trustedcore),8M(securestore),800M(system),1024M( userdata),500M(cache),50M(private),-(sdcard) initrd=0x4000000,0x50274 mem=1G mmz =ddr,0,0,435M
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 1024MB = 1024MB total
Memory: 563024k/563024k available, 485552k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
vmalloc : 0xc0800000 - 0xff000000 (1000 MB)
lowmem : 0x80000000 - 0xc0000000 (1024 MB)
pkmap : 0x7fe00000 - 0x80000000 ( 2 MB)
modules : 0x7f000000 - 0x7fe00000 ( 14 MB)
.text : 0x80008000 - 0x80ee0d54 (15204 kB)
.init : 0x80ee1000 - 0x80f51fc0 ( 452 kB)
.data : 0x80f52000 - 0x81089fb8 (1248 kB)
.bss : 0x81089fb8 - 0x8127219c (1953 kB)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
Hierarchical RCU implementation.
NR_IRQS:192
sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms
Console: colour dummy device 80x30
Calibrating delay loop... 2383.87 BogoMIPS (lpj=1191936)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
ftrace: allocating 33032 entries in 97 pages
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x80b31560 - 0x80b315b8
CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
Brought up 4 CPUs
SMP: Total of 4 processors activated (9572.35 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
hw-breakpoint: maximum watchpoint size is 8 bytes.
Serial: AMBA PL011 UART driver
uart:0: ttyAMA0 at MMIO 0xf8b00000 (irq = 81) is a PL011 rev2
console [ttyAMA0] enabled
uart:1: ttyAMA1 at MMIO 0xf8006000 (irq = 82) is a PL011 rev2
uart:2: ttyAMA2 at MMIO 0xf8b02000 (irq = 83) is a PL011 rev2
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Linux video capture interface: v2.00
Advanced Linux Sound Architecture Driver Initialized.
Bluetooth: Core ver 2.16
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: L2CAP socket layer initialized
Bluetooth: SCO socket layer initialized
[204 ERROR-Invalid]:MCE_Init[2135]:ERR: get PDM Param
Switching to clocksource timer3
NET: Registered protocol family 2
TCP established hash table entries: 8192 (order: 4, 65536 bytes)
TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
TCP: reno registered
UDP hash table entries: 512 (order: 2, 16384 bytes)
UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
Trying to unpack rootfs image as initramfs...
Freeing initrd memory: 320K (84000000 - 84050000)
NetWinder Floating Point Emulator V0.97 (double precision)
CPU PMU: probing PMU on CPU 0
hw perfevents: enabled with ARMv7 Cortex-A7 PMU driver, 5 counters available
VFS: Disk quotas dquot_6.5.2
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
squashfs: version 4.0 (2009/01/31) Phillip Lougher
jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
fuse init (API version 7.22)
msgmni has been set to 1980
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
io scheduler noop registered
io scheduler deadline registered (default)
io scheduler cfq registered
brd: module loaded
loop: module loaded
input: Hi keyboard as /devices/virtual/input/input0
input: Hi mouse as /devices/virtual/input/input1
input: qwerty as /devices/virtual/input/input2
Hi Android vinput driver init successful!
Found Nand Flash Controller V610.
Nand ID: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
No NAND device found
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <[email protected]>
libphy: himii: probed
Up port phy at 0x01 is connect
libphy: PHY himii:1f not found
PPP generic driver version 2.4.2
PPP BSD Compression module registered
PPP Deflate Compression module registered
PPP MPPE Compression module registered
NET: Registered protocol family 24
usbotg: usb otg driver registeredusbcore: registered new interface driver cdc_wd m
usbcore: registered new interface driver usb-storage
usbcore: registered new interface driver usbserial
usbcore: registered new interface driver option
usbserial: USB Serial support registered for GSM modem (1-port)
dwc_otg: version 3.00a 10-AUG-2012
Core Release: 3.10a
Setting default values for core params
Using Buffer DMA mode
Dedicated Tx FIFOs mode
g_ffs: file system registered
mousedev: PS/2 mouse device common for all mice
usbcore: registered new interface driver uvcvideo
USB Video Class driver (1.1.1)
device-mapper: ioctl: 4.24.0-ioctl (2013-01-15) initialised: [email protected]
mmc0: BKOPS_EN bit is not set
mmc0: new high speed DDR MMC card at address 0001
mmcblk0: mmc0:0001 4FPD3R 3.64 GiB
mmcblk0boot0: mmc0:0001 4FPD3R partition 1 4.00 MiB
mmcblk0boot1: mmc0:0001 4FPD3R partition 2 4.00 MiB
mmcblk0: p1(fastboot) p2(bootargs) p3(recovery) p4(deviceinfo) p5(baseparam) p6 (pqparam) p7(logo) p8(logobak) p9(fastplay) p10(fastplaybak) p11(kernel) p12(mis c) p13(userapi) p14(hibdrv) p15(qbflag) p16(qbdata) p17(trustedcore) p18(secures tore) p19(system) p20(userdata) p21(cache) p22(private) p23(sdcard)
mmcblk0boot1: unknown partition table
mmcblk0boot0: unknown partition table
hi_mci0: eMMC/MMC/SD Device NOT detected!
hidraw: raw HID events driver (C) Jiri Kosina
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
zram: Created 1 device(s) ...
ashmem: initialized
logger: created 256K log 'log_main'
logger: created 256K log 'log_events'
logger: created 256K log 'log_radio'
logger: created 256K log 'log_system'
created verify block verify_ from
Registering sdcardfs 2.1.3
usbcore: registered new interface driver snd-usb-audio
oprofile: using timer interrupt.
GACT probability on
Mirror/redirect action on
Failed to load ipt action
Simple TC action Loaded
netem: version 1.3
u32 classifier
Performance counters on
input device check on
Actions configured
Netfilter messages via NETLINK v0.30.
nf_conntrack version 0.5.0 (15842 buckets, 63368 max)
ctnetlink v0.93: registering with nfnetlink.
NF_TPROXY: Transparent proxy support initialized, version 4.1.0
NF_TPROXY: Copyright (c) 2006-2007 BalaBit IT Ltd.
xt_time: kernel timezone is -0000
IPVS: Registered protocols ()
IPVS: Connection hash table configured (size=4096, memory=32Kbytes)
IPVS: Creating netns size=776 id=0
IPVS: ipvs loaded.
ip_tables: (C) 2000-2006 Netfilter Core Team
ipt_CLUSTERIP: ClusterIP Version 0.8 loaded successfully
arp_tables: (C) 2002 David S. Miller
TCP: cubic registered
NET: Registered protocol family 10
ip6_tables: (C) 2000-2006 Netfilter Core Team
NET: Registered protocol family 17
Bridge firewalling registered
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM ver 1.11
Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Bluetooth: BNEP filters: protocol multicast
Bluetooth: BNEP socket layer initialized
Bluetooth: HIDP (Human Interface Emulation) ver 1.2
Bluetooth: HIDP socket layer initialized
8021q: 802.1Q VLAN Support v1.8
lib80211: common routines for IEEE802.11 drivers
No pude poner el mensaje completo.
Cuando use USB fue bastante distinto, use el método descrito mas atrás, y funciona gracias, o sea con el NOVA LAUNCHER logre, hacer arrancar el dispositivo de otra manera y acceder al menú de desarrollo, y abrir Depurar USB, asi el pc si reconoció al dispositivo.
Hasta acá pude lograr comunicación con el dispositivo el problema es que no entra en bootloader probé con todos los botones del control remoto y también con el teclado pense que tal vez, no este pensando con claridad algo, al aparato lo hiba a flashear con la rom, que esta el foro para el coship, pero antes queria hacer un back-up, como no tiene JUMP como el otro modelo no me ha permitido usar SP Flash Tool, intente también cambiar la opción en la herramienta, por el puerto uart, pero no logro que arranque por mas que haga el procedimiento,
Puedo seguir el avance para que quede el tuto pero el problema es que necesito ayudar para entrar en bootloader, probé con comandos ADB, recibe reboot pero no en modo bootloader o recovery, también desde el mismo dispositivo, con terminal emulator SU -C REBOOT RECOVERY, con teclado y control remoto, también hasta lo he habilitado el root desde el pc con king root (costo un rato pero lo habilito).
El resto del codigo y la traduccion.
Hello brothers how are you, greetings from Argentina I use google translate, at the end I leave the direct translation. About two weeks ago I started with this device since I was giving it to myself, a couple of months ago when I hired the Internet, when I saw that it was an android-based device, I was excited by the idea of ​​tuning it, but the truth that brought me many pains of head, try connecting it via usb and serial with a usb adapter CPxx (I don't remember the chip, but it is very common to see it on arduino).
USB adapter even on the side of the board we can look for the serial ports, RX, TX, GND, the VCC is not necessary to connect to achieve data transfer, eye that the board has 3.3v and most adapters have two 3.3v and 5v voltages, the latter for it is generally named as VCC.
When using USB it was quite different, use the most described method, and it works thanks, that is, with the NOVA LAUNCHER I managed to start the device in another way and access the development menu, and open USB Debug, so the PC did recognize to device.
Until here I was able to communicate with the device the problem is that it does not enter the bootloader probe with all the buttons of the remote control and also with the keyboard I thought that maybe, I am not thinking clearly about something, the device was going to flash with the rom , which is the forum for the coship, but before I wanted to do a back-up, since it does not have JUMP as the other model has not allowed me to use the SP Flash Tool, also try to change the option in the tool, for the uart port, but I can't get it to start even if I do the procedure,
I can follow the progress so that the tutorial is left but the problem is that I need to help to enter the bootloader, probe with adb commands, receive reboot but not in bootloader or recovery mode, also from the same device, with terminal emulator SU -C REBOOT RECOVERY , with keyboard and remote control, I have even enabled the root from the PC with king root (I check it for a while but I enable it).
Code:
VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
Load hi_tde.ko success. (SDK_VERSION:[HiSTBAndroidV600R001C00SPC065_v201 6112822] Build Time:[Nov 20 2018, 05:55:18])
Load hi_fb.ko success. (SDK_VERSION:[HiSTBAndroidV600R001C00SPC065_v2016112822] Build Time:[Nov 20 2018, 05:54:49])
DieID is locked!
hisi-sndcard hisi-sndcard: aiao-hifi <-> hisi-i2s mapping ok
Load hi_png.ko success. (SDK_VERSION:[HiSTBAndroidV600R001C00SPC065_v201 6112822] Build Time:[Nov 20 2018, 05:55:15])
Load hi_jpegenc.ko success. (SDK_VERSION:[HiSTBAndroidV600R001C00SPC065_v201 6112822] Build Time:[Nov 20 2018, 05:54:59])
enter temperature_control_thread
ALSA device list:
#0: HISI-AIAO
Freeing unused kernel memory: 448K (80ee1000 - 80f51000)
init: /init.bigfish.rc: 78: invalid option 'sdcard_r'
init (1): /proc/1/oom_adj is deprecated, please use /proc/1/oom_score_adj instea d.
init: /dev/hw_random not found
init: cannot open '/initlogo.rle'
SQUASHFS error: Can't find a SQUASHFS superblock on mmcblk0p19
EXT4-fs (mmcblk0p19): mounted filesystem with ordered data mode. Opts: (null)
EXT4-fs (mmcblk0p20): 1 orphan inode deleted
EXT4-fs (mmcblk0p20): recovery complete
EXT4-fs (mmcblk0p20): mounted filesystem with ordered data mode. Opts: (null)
EXT4-fs (mmcblk0p21): recovery complete
EXT4-fs (mmcblk0p21): mounted filesystem with ordered data mode. Opts: (null)
EXT4-fs (mmcblk0p22): recovery complete
EXT4-fs (mmcblk0p22): mounted filesystem with ordered data mode. Opts: (null)
init: /dev/hw_random not found
healthd: No charger supplies found
healthd: BatteryStatusPath not found
init: cannot find '/system/bin/rild', disabling 'ril-daemon'
init: cannot find '/system/bin/dbus-daemon', disabling 'dbus'
init: cannot find '/system/etc/install-recovery.sh', disabling 'flash_recovery'
init: cannot find '/system/bin/teecd', disabling 'teecd'
init: cannot find '/system/bin/dtvserver', disabling 'dtvserver'
init: cannot find '/system/bin/hidns-sd', disabling 'hidns-sd'
init: cannot find '/system/bin/usb-driver', disabling 'usb-driver'
init: property 'sys.powerctl' doesn't exist while expanding '${sys.powerctl}'
init: powerctl: cannot expand '${sys.powerctl}'
init: property 'sys.sysctl.extra_free_kbytes' doesn't exist while expanding '${s ys.sysctl.extra_free_kbytes}'
init: cannot expand '${sys.sysctl.extra_free_kbytes}' while writing to '/proc/sy s/vm/extra_free_kbytes'
healthd: BatteryHealthPath not found
healthd: BatteryPresentPath not found
healthd: BatteryCapacityPath not found
healthd: BatteryVoltagePath not found
healthd: BatteryTemperaturePath not found
healthd: BatteryTechnologyPath not found
************ ADB Disabled ************
************ ADB Disabled in Build Firmware ************
[email protected]:/ # IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
Welcome to HiAndroid
enter low_ram mode
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
hiusb-ehci hiusb-ehci.0: HIUSB EHCI
hiusb-ehci hiusb-ehci.0: new USB bus registered, assigned bus number 1
Adding 131068k swap on /dev/block/zram0. Priority:-1 extents:1 across:131068k S S
hiusb-ehci hiusb-ehci.0: irq 98, io mem 0xf9890000
hiusb-ehci hiusb-ehci.0: USB 0.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
hiusb-ehci hiusb-ehci.1: HIUSB EHCI
hiusb-ehci hiusb-ehci.1: new USB bus registered, assigned bus number 2
hiusb-ehci hiusb-ehci.1: irq 94, io mem 0xf9930000
hiusb-ehci hiusb-ehci.1: USB 0.0 started, EHCI 1.00
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
init: sys_prop: permission denied uid:1002 name:persist.bt.fwdump
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
hiusb-ohci hiusb-ohci.0: HIUSB OHCI
hiusb-ohci hiusb-ohci.0: new USB bus registered, assigned bus number 3
hiusb-ohci hiusb-ohci.0: irq 99, io mem 0xf9880000
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 2 ports detected
hiusb-ohci hiusb-ohci.1: HIUSB OHCI
hiusb-ohci hiusb-ohci.1: new USB bus registered, assigned bus number 4
hiusb-ohci hiusb-ohci.1: irq 95, io mem 0xf9920000
hub 4-0:1.0: USB hub found
hub 4-0:1.0: 1 port detected
usb 1-2: new high-speed USB device number 2 using hiusb-ehci
hiusb-xhci hiusb-xhci.0: xHCI Host Controller
hiusb-xhci hiusb-xhci.0: new USB bus registered, assigned bus number 5
hiusb-xhci hiusb-xhci.0: irq 101, io mem 0xf98a0000
hub 5-0:1.0: USB hub found
hub 5-0:1.0: 1 port detected
hiusb-xhci hiusb-xhci.0: xHCI Host Controller
hiusb-xhci hiusb-xhci.0: new USB bus registered, assigned bus number 6
hub 6-0:1.0: USB hub found
hub 6-0:1.0: 1 port detected
===========================================
Mediatek Bluetooth USB driver ver 2.0.12
===========================================
probe_counter = 1
btmtk_usb_probe begin
chip id = 76320044
btmtk_usb_load_rom_patch begin
LOAD_CODE_METHOD : BIN_FILE_METHOD
FW Version = 20160929164408a
build Time = 20160929164408a
platform = TV_1
HW/SW version = ▒▒
Patch version =
loading rom patch...
patch_len = 65404
cur_len = 0
sent_len = 2039
sent_len + PATCH_HEADER_SIZE = 2048, phase = 1
patch_len = 65404
cur_len = 2039
sent_len = 2039
sent_len + PATCH_HEADER_SIZE = 2048, phase = 2
patch_len = 65404
cur_len = 4078
sent_len = 2039
sent_len + PATCH_HEADER_SIZE = 2048, phase = 2
patch_len = 65404
cur_len = 6117
sent_len = 2039
sent_len + PATCH_HEADER_SIZE = 2048, phase = 2
patch_len = 65404
cur_len = 8156
sent_len = 2039
sent_len + PATCH_HEADER_SIZE = 2048, phase = 2
patch_len = 65404
cur_len = 10195
sent_len = 2039
sent_len + PATCH_HEADER_SIZE = 2048, phase = 2
patch_len = 65404
cur_len = 12234
sent_len = 2039
sent_len + PATCH_HEADER_SIZE = 2048, phase = 2
patch_len = 65404
cur_len = 14273
sent_len = 2039
sent_len + PATCH_HEADER_SIZE = 2048, phase = 2
patch_len = 65404
cur_len = 16312
sent_len = 2039
sent_len + PATCH_HEADER_SIZE = 2048, phase = 2
patch_len = 65404
cur_len = 18351
sent_len = 2039
sent_len + PATCH_HEADER_SIZE = 2048, phase = 2
patch_len = 65404
cur_len = 20390
sent_len = 2039
sent_len + PATCH_HEADER_SIZE = 2048, phase = 2
patch_len = 65404
cur_len = 22429
sent_len = 2039
sent_len + PATCH_HEADER_SIZE = 2048, phase = 2
patch_len = 65404
cur_len = 24468
sent_len = 2039
sent_len + PATCH_HEADER_SIZE = 2048, phase = 2
patch_len = 65404
cur_len = 26507
sent_len = 2039
sent_len + PATCH_HEADER_SIZE = 2048, phase = 2
patch_len = 65404
cur_len = 28546
sent_len = 2039
sent_len + PATCH_HEADER_SIZE = 2048, phase = 2
patch_len = 65404
cur_len = 30585
sent_len = 2039
sent_len + PATCH_HEADER_SIZE = 2048, phase = 2
patch_len = 65404
cur_len = 32624
sent_len = 2039
sent_len + PATCH_HEADER_SIZE = 2048, phase = 2
patch_len = 65404
cur_len = 34663
sent_len = 2039
sent_len + PATCH_HEADER_SIZE = 2048, phase = 2
patch_len = 65404
cur_len = 36702
sent_len = 2039
sent_len + PATCH_HEADER_SIZE = 2048, phase = 2
patch_len = 65404
cur_len = 38741
sent_len = 2039
sent_len + PATCH_HEADER_SIZE = 2048, phase = 2
patch_len = 65404
cur_len = 40780
sent_len = 2039
sent_len + PATCH_HEADER_SIZE = 2048, phase = 2
patch_len = 65404
cur_len = 42819
sent_len = 2039
sent_len + PATCH_HEADER_SIZE = 2048, phase = 2
patch_len = 65404
cur_len = 44858
sent_len = 2039
sent_len + PATCH_HEADER_SIZE = 2048, phase = 2
patch_len = 65404
cur_len = 46897
sent_len = 2039
sent_len + PATCH_HEADER_SIZE = 2048, phase = 2
patch_len = 65404
cur_len = 48936
sent_len = 2039
sent_len + PATCH_HEADER_SIZE = 2048, phase = 2
patch_len = 65404
cur_len = 50975
sent_len = 2039
sent_len + PATCH_HEADER_SIZE = 2048, phase = 2
patch_len = 65404
cur_len = 53014
sent_len = 2039
sent_len + PATCH_HEADER_SIZE = 2048, phase = 2
patch_len = 65404
cur_len = 55053
sent_len = 2039
sent_len + PATCH_HEADER_SIZE = 2048, phase = 2
patch_len = 65404
cur_len = 57092
sent_len = 2039
sent_len + PATCH_HEADER_SIZE = 2048, phase = 2
patch_len = 65404
cur_len = 59131
sent_len = 2039
sent_len + PATCH_HEADER_SIZE = 2048, phase = 2
patch_len = 65404
cur_len = 61170
sent_len = 2039
sent_len + PATCH_HEADER_SIZE = 2048, phase = 2
patch_len = 65404
cur_len = 63209
sent_len = 2039
sent_len + PATCH_HEADER_SIZE = 2048, phase = 2
patch_len = 65404
cur_len = 65248
sent_len = 156
sent_len + PATCH_HEADER_SIZE = 165, phase = 3
patch_len = 65404
cur_len = 65404
sent_len = 0
Get rom patch result : OK
warning: `zygote' uses 32-bit capabilities (legacy support in use)
Check rom patch result : OK
Check reset wmt result : OK
btmtk_usb_send_hci_reset_cmd : OK
warning, 0x41070c[0] is 1!
btmtk_usb_send_hci_set_ce_cmd : OK
btmtk_usb_load_rom_patch end
btmtk_usb_probe end
btmtk_usb_open
usbcore: registered new interface driver btmtk_usb
tntfs: module license 'Commercial. For support email [email protected]' t aints kernel.
Disabling lock debugging due to kernel taint
Tuxera NTFS driver 3015.10.14 [Flags: R/W MODULE].
create enforce
input: inno touch rcu as /devices/virtual/input/input3
btmtk_usb_close
lowmemorykiller: lowmem_shrink: convert oom_adj to oom_score_adj:
lowmemorykiller: oom_adj 0 => oom_score_adj 0
lowmemorykiller: oom_adj 1 => oom_score_adj 58
lowmemorykiller: oom_adj 2 => oom_score_adj 117
lowmemorykiller: oom_adj 3 => oom_score_adj 176
lowmemorykiller: oom_adj 9 => oom_score_adj 529
lowmemorykiller: oom_adj 15 => oom_score_adj 1000
prealloc_alloc tx 14340 num 70
prealloc_alloc null pkt 3844
prealloc_alloc ps-poll 3844
prealloc_alloc rx 16384 num 8
prealloc_alloc cmd-resp 1024
==>[0]:PreBuff:0x9bf90000, DmaAddr:0x1bf90000
==>[1]:PreBuff:0x9bf94000, DmaAddr:0x1bf94000
==>[2]:PreBuff:0x9bf98000, DmaAddr:0x1bf98000
==>[3]:PreBuff:0x9bf9c000, DmaAddr:0x1bf9c000
==>[4]:PreBuff:0x9bfa0000, DmaAddr:0x1bfa0000
==>[5]:PreBuff:0x9bfa4000, DmaAddr:0x1bfa4000
==>[6]:PreBuff:0x9bfa8000, DmaAddr:0x1bfa8000
==>[7]:PreBuff:0x9bfac000, DmaAddr:0x1bfac000
==>[8]:PreBuff:0x9bfb0000, DmaAddr:0x1bfb0000
==>[9]:PreBuff:0x9bfb4000, DmaAddr:0x1bfb4000
==>[10]:PreBuff:0x9bfb8000, DmaAddr:0x1bfb8000
==>[11]:PreBuff:0x9bfbc000, DmaAddr:0x1bfbc000
==>[12]:PreBuff:0x9bfc0000, DmaAddr:0x1bfc0000
==>[13]:PreBuff:0x9bfc4000, DmaAddr:0x1bfc4000
==>[14]:PreBuff:0x9bfc8000, DmaAddr:0x1bfc8000
==>[15]:PreBuff:0x9bfcc000, DmaAddr:0x1bfcc000
==>[16]:PreBuff:0x9bfd0000, DmaAddr:0x1bfd0000
==>[17]:PreBuff:0x9bfd4000, DmaAddr:0x1bfd4000
==>[18]:PreBuff:0x9bfd8000, DmaAddr:0x1bfd8000
==>[19]:PreBuff:0x9bfdc000, DmaAddr:0x1bfdc000
==>[20]:PreBuff:0x9bfe0000, DmaAddr:0x1bfe0000
==>[21]:PreBuff:0x9bfe4000, DmaAddr:0x1bfe4000
==>[22]:PreBuff:0x9bfe8000, DmaAddr:0x1bfe8000
==>[23]:PreBuff:0x9bfec000, DmaAddr:0x1bfec000
==>[24]:PreBuff:0x9bff0000, DmaAddr:0x1bff0000
==>[25]:PreBuff:0x9bff4000, DmaAddr:0x1bff4000
==>[26]:PreBuff:0x9bff8000, DmaAddr:0x1bff8000
==>[27]:PreBuff:0x9bffc000, DmaAddr:0x1bffc000
==>[28]:PreBuff:0x98000000, DmaAddr:0x18000000
==>[29]:PreBuff:0x98004000, DmaAddr:0x18004000
==>[30]:PreBuff:0x98008000, DmaAddr:0x18008000
==>[31]:PreBuff:0x9800c000, DmaAddr:0x1800c000
==>[32]:PreBuff:0x98010000, DmaAddr:0x18010000
==>[33]:PreBuff:0x98014000, DmaAddr:0x18014000
==>[34]:PreBuff:0x98018000, DmaAddr:0x18018000
==>[35]:PreBuff:0x9801c000, DmaAddr:0x1801c000
==>[36]:PreBuff:0x98020000, DmaAddr:0x18020000
==>[37]:PreBuff:0x98024000, DmaAddr:0x18024000
==>[38]:PreBuff:0x98028000, DmaAddr:0x18028000
==>[39]:PreBuff:0x9802c000, DmaAddr:0x1802c000
==>[40]:PreBuff:0x98030000, DmaAddr:0x18030000
==>[41]:PreBuff:0x98034000, DmaAddr:0x18034000
==>[42]:PreBuff:0x98038000, DmaAddr:0x18038000
==>[43]:PreBuff:0x9803c000, DmaAddr:0x1803c000
==>[44]:PreBuff:0x98040000, DmaAddr:0x18040000
==>[45]:PreBuff:0x98044000, DmaAddr:0x18044000
==>[46]:PreBuff:0x98048000, DmaAddr:0x18048000
==>[47]:PreBuff:0x9804c000, DmaAddr:0x1804c000
==>[48]:PreBuff:0x98050000, DmaAddr:0x18050000
==>[49]:PreBuff:0x98054000, DmaAddr:0x18054000
==>[50]:PreBuff:0x98058000, DmaAddr:0x18058000
==>[51]:PreBuff:0x9805c000, DmaAddr:0x1805c000
==>[52]:PreBuff:0x98060000, DmaAddr:0x18060000
==>[53]:PreBuff:0x98064000, DmaAddr:0x18064000
==>[54]:PreBuff:0x98068000, DmaAddr:0x18068000
==>[55]:PreBuff:0x9806c000, DmaAddr:0x1806c000
==>[56]:PreBuff:0x98070000, DmaAddr:0x18070000
==>[57]:PreBuff:0x98074000, DmaAddr:0x18074000
==>[58]:PreBuff:0x98078000, DmaAddr:0x18078000
==>[59]:PreBuff:0x9807c000, DmaAddr:0x1807c000
==>[60]:PreBuff:0x98080000, DmaAddr:0x18080000
==>[61]:PreBuff:0x98084000, DmaAddr:0x18084000
==>[62]:PreBuff:0x98088000, DmaAddr:0x18088000
==>[63]:PreBuff:0x9808c000, DmaAddr:0x1808c000
==>[64]:PreBuff:0x98090000, DmaAddr:0x18090000
==>[65]:PreBuff:0x98094000, DmaAddr:0x18094000
==>[66]:PreBuff:0x98098000, DmaAddr:0x18098000
==>[67]:PreBuff:0x9809c000, DmaAddr:0x1809c000
==>[68]:PreBuff:0x980a0000, DmaAddr:0x180a0000
==>[69]:PreBuff:0x980a4000, DmaAddr:0x180a4000
==>[70]:PreBuff:0xa2659000, DmaAddr:0x22659000
==>[71]:PreBuff:0xa2658000, DmaAddr:0x22658000
==>[72]:PreBuff:0x980c8000, DmaAddr:0x180c8000
==>[73]:PreBuff:0x980cc000, DmaAddr:0x180cc000
==>[74]:PreBuff:0x980d0000, DmaAddr:0x180d0000
==>[75]:PreBuff:0x980d4000, DmaAddr:0x180d4000
==>[76]:PreBuff:0x980d8000, DmaAddr:0x180d8000
==>[77]:PreBuff:0x980dc000, DmaAddr:0x180dc000
==>[78]:PreBuff:0x980e0000, DmaAddr:0x180e0000
==>[79]:PreBuff:0x980e4000, DmaAddr:0x180e4000
==>[80]:PreBuff:0xa2a6ac00, DmaAddr:0x22a6ac00
prealloc_alloc ok
cfg80211: Calling CRDA to update world regulatory domain
=== pAd = c256b000, size = 2436976 ===
<-- RTMPAllocAdapterBlock, Status=0
WiFi Chip ID = 0x76320044
==>rlt_wlan_chip_onoff(): OnOff:1, Reset= 1, pAd->WlanFunCtrl:0x0, Reg-WlanFunCt rl=0x20a
InitUSBDevice: rompatch pwrOn
mt76x2_rompatch_pwrOn: ROMPATCH_FEATURE_BIT ret = 1. wait_countdown=5
Driver version-JEDI.MP2.mt76x2u.wifi.v3.4.2
RtmpChipOpsEepromHook::e2p_type=0, inf_Type=2
RtmpEepromGetDefault::e2p_dafault=1
NVM is EFUSE mode
Endpoint(8) is for In-band Command
Endpoint(4) is for WMM0 AC0
Endpoint(5) is for WMM0 AC1
Endpoint(6) is for WMM0 AC2
Endpoint(7) is for WMM0 AC3
Endpoint(9) is for WMM1 AC0
Endpoint(84) is for Data-In
Endpoint(85) is for Command Rsp
get_dev_name_prefix(): dev_idx = 0, dev_name_prefix=wlan
00
usbcore: registered new interface driver rt2870
andes_usb_load_rom_patch --> ChipID : 0x76320044
andes_usb_load_rom_patch --> mac_value : 0xe1001 , cap->rom_code_protect = 1
Rom patch already loaded, skip load again
Load WiFi firmware from BinFile $FIRMWARE_PATH/mt7662_firmware_e3_tvbox.bin
fw version:1.e3.20A build:1
build time:201612060951____
fw for E3 IC
ilm length = 62060(bytes)
dlm length = 18460(bytes)
loading fw.....andes_usb_loadfw: fw dlm shift 0x800
.andes_usb_loadfw: fw dlm shift 0x800
.
EXT4-fs (mmcblk0p23): recovery complete
andes_usb_erasefw
WOW Enable 0, WOWFirmware 0
EXT4-fs (mmcblk0p23): mounted filesystem with ordered data mode. Opts: share
cfg_mode=12
cfg_mode=12
wmode_band_equal(): Band Not Equal!
AckPolicy[0]=0
AckPolicy[1]=0
AckPolicy[2]=0
AckPolicy[3]=0
AckPolicy[4]=0
USBAggregation = 1
1. Phy Mode = 31
Country Region from e2p = ffff
2. Phy Mode = 31
3. Phy Mode = 31
ChipStructAssign(): MT76x2 hook !
andes_usb_fw_init
AntCfgInit: primary/secondary ant 0/1
andes_load_cr:cr_type(2) temp_level(0) channel(0)
MCS Set = ff ff 00 00 01
<==== rt28xx_init, Status=0
RTMPDrvOpen(1):Check if PDMA is idle!
RTMPDrvOpen(2):Check if PDMA is idle!
TX0 power compensation = 0x38
TX1 power compensation = 0x38
80211> Connect bssid f4:79:60:53:1b:f8
SYNC - MlmeJoinReqAction(BSS #0)
SYNC - Switch to ch 44, Wait BEACON from f4:79:60:53:1b:f8
PeerBeaconAtJoinAction():receive desired BEACON,Channel=44
PeerBeaconAtJoinAction():AP HT-CtrlChannel=44, CentralChannel=>46
PeerBeaconAtJoinAction(): Set CentralChannel=46
PeerBeaconAtJoinAction(): InfraAP_BW : 1 ===========================>ihanks
AdjustChannelRelatedValue(): Input BW=1, rf_channel=46, vht_bw=1, Channel=44, vh t_cent_ch=46!
init: sys_prop: permission denied uid:1000 name:persist.ethernet.on
AUTH - Send AUTH request seq#1 (Alg=0)...
AUTH - Receive AUTH_RSP seq#2 to me (Alg=0, Status=0)
CNTL - AUTH OK
MlmeAssocReqAction ASSOC - Send ASSOC request...
MlmeAssocReqAction ASSOC - add ExtCapInfo...
PeerAssocRspAction():ASSOC - receive ASSOC_RSP to me (status=0)
PeerAssocRspAction():MacTable [255].AMsduSize = 1. ClientStatusFlags = 0x10000f0
!!!Infra LINK UP !!!
!!! LINK UP !!! (BssType=1, AID=1, ssid=CLAROWIFI5, Channel=44, CentralChannel = 46)
80211> CFG80211_OpsRekeyData
Rcv Wcid(1) AddBAReq
Start Seq = 00000002
alloc_contig_range test_pages_isolated(2dbae, 2df32) failed
3, flush one!
Rcv Wcid(1) AddBAReq
Start Seq = 00000000
Rcv Wcid(1) AddBAReq
Start Seq = 00000000
0, flush one!
Indicate_Legacy_Packet():flush reordering_timeout_mpdus! RxWI->Flags=128, pRxWI. TID=0, RxD->AMPDU=0!
1, flush one!
2, flush one!
Indicate_Legacy_Packet():flush reordering_timeout_mpdus! RxWI->Flags=128, pRxWI. TID=0, RxD->AMPDU=0!
0, flush one!
1, flush one!
nf_conntrack: automatic helper assignment is deprecated and it will be removed s oon. Use the iptables CT target to attach helpers instead.
Rcv Wcid(1) AddBAReq
Start Seq = 00000000
1, flush one!
Disable LMK
Finish init.g6.sh
Algunas imágenes
https://forum.xda-developers.com/picture.php?albumid=16291&pictureid=60621 [IMG]
[IMG]https://forum.xda-developers.com/picture.php?albumid=16291&pictureid=60619 [IMG]
En esta imagen podemos ver claramente los colores de la conexión
De derecha a izquierda
El Primer cable Morado es RX
El Segundo cable Azul es GND
El Tercer cable Verde es TX
[IMG]https://forum.xda-developers.com/picture.php?albumid=16291&pictureid=60625 [IMG][COLOR="Silver"]
[SIZE=1]---------- Post added at 03:42 AM ---------- Previous post was at 03:38 AM ----------[/SIZE]
[/COLOR]Algunas imágenes
[IMG]https://forum.xda-developers.com/picture.php?albumid=16291&pictureid=60627
En esta imagen podemos ver claramente los colores de la conexión
De derecha a izquierda
El Primer cable Morado es RX
El Segundo cable Azul es GND
El Tercer cable Verde es TX
Hola como estas?pudiste avanzar con esto?
carligacitos said:
Hola como estas?pudiste avanzar con esto?
Click to expand...
Click to collapse
tranki pude hacerle varias cosas pero no puedo entrar en bootloader, asi que nunca puedo formatearlo por mas que probé varias veces de distintas maneras. Aunque con el root quedo bastante bien, vos probaste algo?
King root desde pc
Usar método teclado para abrir navegador (tecla windows + b)
bajar nova launcher 3.3
Nuevo inicio es la version que mejor me funciono en cada caso.
es file explorer 4.2
Da acceso a la red sin problemas ademas de la sd y usb storged
play service ultima version all models 20. es para que pueda andar youtube
youtube 14.
anda con dificultad
netflix 3.14
anda muy bien
vlc videolan 3.1
anda muy bien
chrome 38.
anda bien pero con dificultad y tiene acceso restringido a varias paginas. por ser muy viejo. Recomiendo el Navegador de Fabrica.
Link2SD sirve junto a es file explorer, (obio permiso root) para convertir las apps en parte del sistema a demás de poder desista lar la app de clarovideo, yo encontré 2 dependencias que son molestas para el funcionamiento, que se habrían de repente, en segundo plano Net.innodigital.startup.Service, HIRMService.
así hice y quedo bien, si me das una pista por que no se ven mis imágenes te muestro
hola para mirar youtube les recomiendo bajar newpipe creo que funciona sin los servicios de google play
https://www.apkmirror.com/apk/thescrabi/newpipe/newpipe-0-19-2-release/newpipe-fdroid-version-0-19-2-android-apk-download/
ah me olvida el newpipe me funciono con el control remoto de claro por que el youtube de google ademas de andar mal no funcionaba el control solo con el mouse
tambien le pueden cambiar el launcher por el square home 2 https://squarehome-2.uptodown.com/android me anda bastate bien y puedo navegar por el menu con el control remoto ya que con el nova no me deja saludos
Hola a todos tengo un sc 7210 pero no puedo descargar ninguna apk cuando hago la convinacion de la tecla win+b por favor alguien podria orientarme ?

Huawei AppGallery Auth service using Mobile Number in flutter

Introduction
AppGallery Connect provides a cloud-based auth service and SDKs to help you quickly build a secure and reliable user authentication system for your apps to verify user identity. The AppGallery Connect auth service supports multiple authentication methods and is seamlessly integrated with other Serverless services to help you secure user data based on simple rules that you have defined.
In this article, we will cover just the mobile number authentication method in Flutter.
Auth Service supported accounts
Phone
Huawei ID
Huawei Game Service
WeChat
Weibo
QQ
Email
Integration of Crash service
1. Configure application on the AGC
2. Client application development process
Configure application on the AGC
This step involves a couple of steps, as follows.
Step 1: We need to register as a developer account in AppGallery Connect. If you are already a developer ignore this step.
Step 2: Create an app by referring to Creating a Project and Creating an App in the Project
Step 3: Set the data storage location based on the current location.
Step 4: Enabling Crash Kit. Open AppGallery connect, choose project settings > Build> Auth Service
Step 5: Generating a Signing Certificate Fingerprint.
Step 6: Configuring the Signing Certificate Fingerprint.
Step 7: Download your agconnect-services.json file, paste it into the app root directory.
Client application development process
This step involves the couple of steps as follows.
Step 1: Create flutter application in the Android studio (Any IDE which is your favorite).
Step 2: Add the App level gradle dependencies. Choose inside project Android > app > build.gradle
1
2apply plugin: 'com.android.application'
apply plugin: 'com.huawei.agconnect'
Root level gradle dependencies
1
2maven { url 'https://developer.huawei.com/repo/' }
classpath 'com.huawei.agconnect:agcp:1.4.1.300'
Add the below permissions in Android Manifest file.
1<uses-permission android:name="android.permission.INTERNET" />
Step 3: Add the agconnect_auth in pubspec.yaml
Step 4: Add downloaded file into outside project directory. Declare plugin path in pubspec.yaml file under dependencies.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25name: tic_tac_toe
description: A new Flutter project.
version: 1.0.0+1
environment:
sdk: ">=2.1.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^0.1.2
agconnect_auth: ^1.1.0
dev_dependencies:
flutter_test:
sdk: flutter
flutter:
uses-material-design: true
assets:
- images/cross.png
- images/circle.png
- images/edit.png
- images/delete.png
- images/success.png
- images/otp-icon.png
To achieve Auth service example let’s follow the steps
1. AGC Configuration
2. Build Flutter application
Step 1: AGC Configuration
1. Sign in to AppGallery Connect and select My apps.
2. Select the app in which you want to integrate Crash Service.
3. Navigate to Project Setting > Build> Auth Service
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Step 2: Build Flutter application
homepage.dart
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131import 'package:agconnect_auth/agconnect_auth.dart';
import 'package:flutter/material.dart';
import 'package:tic_tac_toe/Constant/Constant.dart';
class HomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
List<Widget> widgetList = [];
return Scaffold(
appBar: AppBar(
backgroundColor: Colors.red,
title: Text(
"Login",
style: TextStyle(
color: Colors.white,
fontWeight: FontWeight.bold,
),
),
),
backgroundColor: Color(0xFFeaeaea),
body: ListView(
shrinkWrap: true,
scrollDirection: Axis.vertical,
children: <Widget>[
Column(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Padding(
padding: const EdgeInsets.only(
left: 16.0, top: 20.0, right: 16.0),
child: Text(
"Enter your phone number",
style: TextStyle(
fontSize: 18.0,
fontWeight: FontWeight.bold,
color: Colors.black),
textAlign: TextAlign.center,
),
),
Padding(
padding: const EdgeInsets.only(top: 30.0),
child: Image(
image: AssetImage('images/otp-icon.png'),
height: 120.0,
width: 120.0,
),
),
Row(
children: <Widget>[
Flexible(
child: new Container(),
flex: 1,
),
Flexible(
child: new TextFormField(
textAlign: TextAlign.center,
autofocus: false,
enabled: false,
initialValue: "+91",
style: TextStyle(fontSize: 20.0, color: Colors.black),
),
flex: 3,
),
Flexible(
child: new Container(),
flex: 1,
),
Flexible(
child: new TextFormField(
textAlign: TextAlign.start,
autofocus: false,
enabled: true,
keyboardType: TextInputType.number,
textInputAction: TextInputAction.done,
style: TextStyle(fontSize: 20.0, color: Colors.black),
),
flex: 9,
),
Flexible(
child: new Container(),
flex: 1,
),
],
),
Padding(
padding: const EdgeInsets.only(top: 40.0, bottom: 40.0),
child: new Container(
width: 150.0,
height: 40.0,
child: new RaisedButton(
onPressed: () {
//Navigator.of(context).pushNamed(OTP_SCREEN);
checkIsUserSignedIn(context);
},
child: Text("Get OTP"),
textColor: Colors.white,
color: Colors.red,
shape: new RoundedRectangleBorder(
borderRadius: new BorderRadius.circular(30.0))),
),
)
])
],
));
}
void checkIsUserSignedIn(BuildContext context) {
AGCAuth.instance.currentUser.then((user) {
if (user != null) {
print("User is already signed in");
} else {
requestCode(context, '91', '9731276143');
}
});
}
void requestCode(
BuildContext context, String countryCode, String phoneNumber) {
VerifyCodeSettings settings =
VerifyCodeSettings(VerifyCodeAction.registerLogin, sendInterval: 30);
PhoneAuthProvider.requestVerifyCode(countryCode, phoneNumber, settings)
.then((result) {
print("Requested verification code");
Navigator.of(context).pushNamed(OTP_SCREEN);
});
}
}
otppage.dart
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533import 'package:agconnect_auth/agconnect_auth.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
class OtpPage extends StatefulWidget {
@override
OtpPageState createState() => OtpPageState();
}
class OtpPageState extends State<OtpPage> {
TextEditingController controller1 = new TextEditingController();
TextEditingController controller2 = new TextEditingController();
TextEditingController controller3 = new TextEditingController();
TextEditingController controller4 = new TextEditingController();
TextEditingController controller5 = new TextEditingController();
TextEditingController controller6 = new TextEditingController();
TextEditingController currController = new TextEditingController();
@override
void dispose() {
super.dispose();
controller1.dispose();
controller2.dispose();
controller3.dispose();
controller4.dispose();
controller5.dispose();
controller6.dispose();
}
@override
void initState() {
// TODO: implement initState
super.initState();
currController = controller1;
}
@override
Widget build(BuildContext context) {
List<Widget> widgetList = [
Padding(
padding: EdgeInsets.only(left: 0.0, right: 2.0),
child: new Container(
color: Colors.transparent,
),
),
Padding(
padding: const EdgeInsets.only(right: 2.0, left: 2.0),
child: new Container(
alignment: Alignment.center,
decoration: new BoxDecoration(
color: Color.fromRGBO(0, 0, 0, 0.1),
border: new Border.all(
width: 1.0, color: Color.fromRGBO(0, 0, 0, 0.1)),
borderRadius: new BorderRadius.circular(4.0)),
child: new TextField(
inputFormatters: [
LengthLimitingTextInputFormatter(1),
],
enabled: false,
controller: controller1,
autofocus: false,
textAlign: TextAlign.center,
style: TextStyle(fontSize: 24.0, color: Colors.black),
)),
),
Padding(
padding: const EdgeInsets.only(right: 2.0, left: 2.0),
child: new Container(
alignment: Alignment.center,
decoration: new BoxDecoration(
color: Color.fromRGBO(0, 0, 0, 0.1),
border: new Border.all(
width: 1.0, color: Color.fromRGBO(0, 0, 0, 0.1)),
borderRadius: new BorderRadius.circular(4.0)),
child: new TextField(
inputFormatters: [
LengthLimitingTextInputFormatter(1),
],
controller: controller2,
autofocus: false,
enabled: false,
keyboardType: TextInputType.number,
textAlign: TextAlign.center,
style: TextStyle(fontSize: 24.0, color: Colors.black),
),
),
),
Padding(
padding: const EdgeInsets.only(right: 2.0, left: 2.0),
child: new Container(
alignment: Alignment.center,
decoration: new BoxDecoration(
color: Color.fromRGBO(0, 0, 0, 0.1),
border: new Border.all(
width: 1.0, color: Color.fromRGBO(0, 0, 0, 0.1)),
borderRadius: new BorderRadius.circular(4.0)),
child: new TextField(
inputFormatters: [
LengthLimitingTextInputFormatter(1),
],
keyboardType: TextInputType.number,
controller: controller3,
textAlign: TextAlign.center,
autofocus: false,
enabled: false,
style: TextStyle(fontSize: 24.0, color: Colors.black),
),
),
),
Padding(
padding: const EdgeInsets.only(right: 2.0, left: 2.0),
child: new Container(
alignment: Alignment.center,
decoration: new BoxDecoration(
color: Color.fromRGBO(0, 0, 0, 0.1),
border: new Border.all(
width: 1.0, color: Color.fromRGBO(0, 0, 0, 0.1)),
borderRadius: new BorderRadius.circular(4.0)),
child: new TextField(
inputFormatters: [
LengthLimitingTextInputFormatter(1),
],
textAlign: TextAlign.center,
controller: controller4,
autofocus: false,
enabled: false,
style: TextStyle(fontSize: 24.0, color: Colors.black),
),
),
),
Padding(
padding: const EdgeInsets.only(right: 2.0, left: 2.0),
child: new Container(
alignment: Alignment.center,
decoration: new BoxDecoration(
color: Color.fromRGBO(0, 0, 0, 0.1),
border: new Border.all(
width: 1.0, color: Color.fromRGBO(0, 0, 0, 0.1)),
borderRadius: new BorderRadius.circular(4.0)),
child: new TextField(
inputFormatters: [
LengthLimitingTextInputFormatter(1),
],
textAlign: TextAlign.center,
controller: controller5,
autofocus: false,
enabled: false,
style: TextStyle(fontSize: 24.0, color: Colors.black),
),
),
),
Padding(
padding: const EdgeInsets.only(right: 2.0, left: 2.0),
child: new Container(
alignment: Alignment.center,
decoration: new BoxDecoration(
color: Color.fromRGBO(0, 0, 0, 0.1),
border: new Border.all(
width: 1.0, color: Color.fromRGBO(0, 0, 0, 0.1)),
borderRadius: new BorderRadius.circular(4.0)),
child: new TextField(
inputFormatters: [
LengthLimitingTextInputFormatter(1),
],
textAlign: TextAlign.center,
controller: controller6,
autofocus: false,
enabled: false,
style: TextStyle(fontSize: 24.0, color: Colors.black),
),
),
),
Padding(
padding: EdgeInsets.only(left: 2.0, right: 0.0),
child: new Container(
color: Colors.transparent,
),
),
];
return new Scaffold(
resizeToAvoidBottomInset: false,
appBar: AppBar(
title: Text("Enter OTP"),
backgroundColor: Colors.red,
),
backgroundColor: Color(0xFFeaeaea),
body: Container(
child: Column(
children: <Widget>[
Flexible(
child: Column(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
Padding(
padding: const EdgeInsets.only(top: 8.0),
child: Text(
"Verifying your number!",
style: TextStyle(
fontSize: 18.0, fontWeight: FontWeight.bold),
),
),
Padding(
padding: const EdgeInsets.only(
left: 16.0, top: 4.0, right: 16.0),
child: Text(
"Please type the verification code sent to",
style: TextStyle(
fontSize: 15.0, fontWeight: FontWeight.normal),
textAlign: TextAlign.center,
),
),
Padding(
padding: const EdgeInsets.only(
left: 30.0, top: 2.0, right: 30.0),
child: Text(
"+91 9731276143",
style: TextStyle(
fontSize: 15.0,
fontWeight: FontWeight.bold,
color: Colors.red),
textAlign: TextAlign.center,
),
),
Padding(
padding: const EdgeInsets.only(top: 16.0),
child: Image(
image: AssetImage('images/otp-icon.png'),
height: 120.0,
width: 120.0,
),
)
],
),
flex: 90,
),
Flexible(
child: Column(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
GridView.count(
crossAxisCount: 8,
mainAxisSpacing: 10.0,
shrinkWrap: true,
primary: false,
scrollDirection: Axis.vertical,
children: List<Container>.generate(
8,
(int index) =>
Container(child: widgetList[index]))),
]),
flex: 20,
),
Flexible(
child: Column(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
new Container(
child: Padding(
padding: const EdgeInsets.only(
left: 8.0, top: 16.0, right: 8.0, bottom: 0.0),
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: <Widget>[
MaterialButton(
onPressed: () {
inputTextToField("1");
},
child: Text("1",
style: TextStyle(
fontSize: 25.0,
fontWeight: FontWeight.w400),
textAlign: TextAlign.center),
),
MaterialButton(
onPressed: () {
inputTextToField("2");
},
child: Text("2",
style: TextStyle(
fontSize: 25.0,
fontWeight: FontWeight.w400),
textAlign: TextAlign.center),
),
MaterialButton(
onPressed: () {
inputTextToField("3");
},
child: Text("3",
style: TextStyle(
fontSize: 25.0,
fontWeight: FontWeight.w400),
textAlign: TextAlign.center),
),
],
),
),
),
new Container(
child: Padding(
padding: const EdgeInsets.only(
left: 8.0, top: 4.0, right: 8.0, bottom: 0.0),
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: <Widget>[
MaterialButton(
onPressed: () {
inputTextToField("4");
},
child: Text("4",
style: TextStyle(
fontSize: 25.0,
fontWeight: FontWeight.w400),
textAlign: TextAlign.center),
),
MaterialButton(
onPressed: () {
inputTextToField("5");
},
child: Text("5",
style: TextStyle(
fontSize: 25.0,
fontWeight: FontWeight.w400),
textAlign: TextAlign.center),
),
MaterialButton(
onPressed: () {
inputTextToField("6");
},
child: Text("6",
style: TextStyle(
fontSize: 25.0,
fontWeight: FontWeight.w400),
textAlign: TextAlign.center),
),
],
),
),
),
new Container(
child: Padding(
padding: const EdgeInsets.only(
left: 8.0, top: 4.0, right: 8.0, bottom: 0.0),
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: <Widget>[
MaterialButton(
onPressed: () {
inputTextToField("7");
},
child: Text("7",
style: TextStyle(
fontSize: 25.0,
fontWeight: FontWeight.w400),
textAlign: TextAlign.center),
),
MaterialButton(
onPressed: () {
inputTextToField("8");
},
child: Text("8",
style: TextStyle(
fontSize: 25.0,
fontWeight: FontWeight.w400),
textAlign: TextAlign.center),
),
MaterialButton(
onPressed: () {
inputTextToField("9");
},
child: Text("9",
style: TextStyle(
fontSize: 25.0,
fontWeight: FontWeight.w400),
textAlign: TextAlign.center),
),
],
),
),
),
new Container(
child: Padding(
padding: const EdgeInsets.only(
left: 8.0, top: 4.0, right: 8.0, bottom: 0.0),
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: <Widget>[
MaterialButton(
onPressed: () {
deleteText();
},
child: Image.asset('images/delete.png',
width: 25.0, height: 25.0)),
MaterialButton(
onPressed: () {
inputTextToField("0");
},
child: Text("0",
style: TextStyle(
fontSize: 25.0,
fontWeight: FontWeight.w400),
textAlign: TextAlign.center),
),
MaterialButton(
onPressed: () {
//matchOtp();
signIn('91', '9731276143', '385961', '!huawei143');
},
child: Image.asset('images/success.png',
width: 25.0, height: 25.0)),
],
),
),
),
],
),
flex: 90,
),
],
),
),
);
}
void inputTextToField(String str) {
//Edit first textField
if (currController == controller1) {
controller1.text = str;
currController = controller2;
}
//Edit second textField
else if (currController == controller2) {
controller2.text = str;
currController = controller3;
}
//Edit third textField
else if (currController == controller3) {
controller3.text = str;
currController = controller4;
}
//Edit fourth textField
else if (currController == controller4) {
controller4.text = str;
currController = controller5;
}
//Edit fifth textField
else if (currController == controller5) {
controller5.text = str;
currController = controller6;
}
//Edit sixth textField
else if (currController == controller6) {
controller6.text = str;
currController = controller6;
}
}
void deleteText() {
if (currController.text.length == 0) {
} else {
currController.text = "";
currController = controller5;
return;
}
if (currController == controller1) {
controller1.text = "";
} else if (currController == controller2) {
controller1.text = "";
currController = controller1;
} else if (currController == controller3) {
controller2.text = "";
currController = controller2;
} else if (currController == controller4) {
controller3.text = "";
currController = controller3;
} else if (currController == controller5) {
controller4.text = "";
currController = controller4;
} else if (currController == controller6) {
controller5.text = "";
currController = controller5;
}
}
void matchOtp() {
showDialog(
context: context,
builder: (BuildContext context) {
return AlertDialog(
title: Text("Successfully"),
content: Text("Otp matched successfully."),
actions: <Widget>[
IconButton(
icon: Icon(Icons.check),
onPressed: () {
Navigator.of(context).pop();
})
],
);
});
}
void signIn(String countryCode, String mobileNumber, String verificationCode,
String password) {
AGCAuthCredential credential = PhoneAuthProvider.credentialWithVerifyCode(
countryCode, mobileNumber, verificationCode,
password: password);
AGCAuth.instance.signIn(credential).then((signInResult) {
//get user info
AGCUser user = signInResult.user;
print("User Name: " + user.displayName);
print("User Email: " + user.email);
print("User Email: " + user.phone);
}).catchError((error) {
//fail
});
}
}
Result
Tips and Tricks
Always use the latest version of the library.
Add agconnect-services.json file without fail.
Add SHA-256 fingerprint without fail.
Make sure min SDK is 17 or higher
Make sure that you enabled the auth service in AG-Console.
Make sure that you enabled the Authentication mode in Auth Service.
Conclusion
In this article, we have learnt the integration of Huawei Auth Service-AGC mobile number sign in and mobile number verification through OTP in flutter application. Auth Service provides secure and reliable user authentication system to your application.
References
Flutter Auth Service

Categories

Resources