Related
Hello,
I've just compiled the undervolt module for current 2.3.3 kernels of X10 (2.6.29-00054-g5f01537).
Introduction
I've started from the source code provided by nobodyAtall here.
I also thank ThJap for getting me to work on this.
Settings
On my X10, the values can't vary too much from the default ones, otherwise the phone freezes / reboots. I was able to chopoff only 30 (instead of 50-100) that were possible apparently for 2.1 ROM.
Anyway, just because these values might be different from phone to phone, and to give each one the chance to configure it, the attached module is configurable:
Code:
insmod x10uv.ko args=970,970,1020,1120,1270
1) If you don't specify any arguments, the module will use the default voltages!
2) arguments are in the order of 245Mhz, ... for each frequency that X10 supports.
Once loaded with arguments, you will find this in dmesg:
Code:
<6>[ 509.594738] x10uv: module v002b-kernel-011 loaded. Built for target device
: X10
<6>[ 509.641605] x10uv: frequencies table: 245Mhz/1000 384Mhz/1000 576MHz/1050
768MHz/1150 998Mhz/1300.
<6>[ 509.641848] x10uv: patching done. enjoy better battery life.
The stuff above shows the default values (1000, 1000, 1050, 1150 and 1300).
As I said, I was only able to chop off only 30 out of all values, and have the phone still stable in tests.
If used with the insmod above, the output looks like:
Code:
<6>[ 597.082098] x10uv: module v002b-kernel-011 loaded. Built for target device
: X10
<6>[ 597.129015] x10uv: frequencies table: 245Mhz/970 384Mhz/970 576MHz/1020 76
8MHz/1120 998Mhz/1270.
<6>[ 597.129256] x10uv: patching done. enjoy better battery life.
Download
Use it at your own risk!
x10uv.zip
do you have to load with arguments on each reboot or only once?
ah nice... something like VDD control... but why only 30mV?
Wow, you are amazing, every day some new kernel module from you
Thank you
scoobysnacks said:
do you have to load with arguments on each reboot or only once?
Click to expand...
Click to collapse
You will have to do it everytime. Before setting them at boot, please play a while - otherwise you might end up with phone freezing each boot!
DooMLoRD said:
ah nice... something like VDD control... but why only 30mV?
Click to expand...
Click to collapse
Don't really know I was hoping for at least 100mV (if those are mV) as was mentioned in nobodyatall thread.
I can chop 100mV out of the highest frequency (998Mhz), but I have to leave the others untouched.
Another thing that I noticed, is that the lowest frequency (245MHz) is the most "unstable". If I chop more than 30mV, phone resets almost at each click.
But this might be my old battery (I got the phone second hand anyway). Others might chop more out of the voltages - so that's why I made it configurable - it might be helpful.
Later edit:
In fact, the X10Undervolt from nobodyAtall took off 100mV off each frequency under 998MHz, and left the 998Mhz at 1300 (according to the source code). I tried to cut 30mV out of all frequency, to have an "all inclusive" reduction. But is configurable, and anybody can try something that suites their needs
Thank you
Your compiled modules are a great addition to the phone. I think I almost use all of them
Right now I am testing these setting for stability on stock rom with Z's smartass govenor.
insmod /system/lib/modules/x10uv.ko args=900,900,950,1050,1250
Can anyone tell me how to unload the module, so I do not have to reboot anytime I want to change the voltage?
Byrana said:
Your compiled modules are a great addition to the phone. I think I almost use all of them
Right now I am testing these setting for stability on stock rom with Z's smartass govenor.
insmod /system/lib/modules/x10uv.ko args=900,900,950,1050,1250
Can anyone tell me how to unload the module, so I do not have to reboot anytime I want to change the voltage?
Click to expand...
Click to collapse
Thank you
To unload use:
Code:
rmmod /system/lib/modules/x10uv.ko
which also restores the frequencies to the default values.
hi, thanks for module
im on latest cm7 by z with hotfix
i added "insmod /system/lib/modules/x10uv.ko args=900,900,950,1050,1250" (before tested, thanks to Byrana )
in install-recovery.sh
so
in adb shell
su
dmesg gives me long info, but nothing usefull
but without su
$ lsmod
lsmod
ar6000 241048 0 - Live 0xbf058000
cifs 222624 0 - Live 0xbf01c000
nls_utf8 1804 0 - Live 0xbf016000
smartass_zmod 10656 1 - Live 0xbf00e000
x10uv 2180 0 - Live 0xbf008000
tun 11240 0 - Live 0xbf000000
means this "x10uv 2180 0 - Live 0xbf008000" is loaded now, with uv settings? (args=900,900,950,1050,1250)
ok sry for, only thing is want to know how to make it work permanent?
Zocker Tko said:
ok sry for, only thing is want to know how to make it work permanent?
Click to expand...
Click to collapse
To verify, try this:
Code:
dmesg | grep freq
If everything worked, the grep should give you something like (but with your values):
Code:
<6>[ 2723.381871] x10uv: frequencies table: 245Mhz/970 384Mhz/970 576MHz/1020 76
8MHz/1120 998Mhz/1270.
Please post back to confirm.
I just tried to remove the module with rmmod but it didn't work (error 2).
Also I rechecked with dmesg but having the same thing as Zocker. So I wouldn't recommend using my uv settings.
I am using set cpu and cpu spy maybe this is causing trouble because I found some entries from cpu spy after doing the dmesg.
I am checking now what the cause is.
C:\android-sdk\tools>adb shell
$ dmesg | grep freq
dmesg | grep freq
<6>[ 0.268207] Max ACPU freq from efuse data is 998400 KHz
<6>[ 0.454813] 5 scaling frequencies supported.
<6>[ 9.079225] x10uv: frequencies table: 245Mhz/900 384Mhz/900 576MHz/950 768
MHz/1050 998Mhz/1250.
<4>[ 77.747912] AR6000 connected event on freq 2447 with bssid 00:1a:4f:95:4a:
1a listenInterval=1000, beaconInterval = 100, beaconIeLen = 22 assocReqLen=61 a
ssocRespLen =48
<4>[ 1847.173317] AR6000 connected event on freq 2447 with bssid 00:1a:4f:95:4a:
1a listenInterval=1000, beaconInterval = 100, beaconIeLen = 22 assocReqLen=61 a
ssocRespLen =48
<4>[ 1913.065598] AR6000 connected event on freq 2447 with bssid 00:1a:4f:95:4a:
1a listenInterval=1000, beaconInterval = 100, beaconIeLen = 22 assocReqLen=61 a
ssocRespLen =48
<4>[ 1920.829923] AR6000 connected event on freq 2447 with bssid 00:1a:4f:95:4a:
1a listenInterval=1000, beaconInterval = 100, beaconIeLen = 22 assocReqLen=61 a
ssocRespLen =48
<4>[ 1928.594878] AR6000 connected event on freq 2447 with bssid 00:1a:4f:95:4a:
1a listenInterval=1000, beaconInterval = 100, beaconIeLen = 22 assocReqLen=61 a
ssocRespLen =48
thanks, seems it works
Just did a reboot and inserted again ... now it shows up again. I will keep an eye on it
working great with 50mv off of each!
good work
Byrana said:
I just tried to remove the module with rmmod but it didn't work (error 2).
Also I rechecked with dmesg but having the same thing as Zocker. So I wouldn't recommend using my uv settings.
I am using set cpu and cpu spy maybe this is causing trouble because I found some entries from cpu spy after doing the dmesg.
I am checking now what the cause is.
Click to expand...
Click to collapse
1) error 2 means file not found. So either the path is incorrect OR the file isn't there... if you do "rmmod x10uv.ko" , it expects to find the module in the current folder (so you need to cd /system/lib/modules first). If you use the full path, make sure the module is really there.
2) if the module is not inserted (no trace of the frequency table in the dmesg - please use the grep described above), then it means it was not inserted. Again, in this case, check that the module is located in /system/lib/modules, and that you can insmod it with the correct frequencies (and double check again with grep).
If everything works in command line, but not with install_recovery.sh, then there has to be something wrong with install_recovery.sh entries ...
SetCPU / CpuSPY will not interfere with this module.
Sorry, my bet. No clue what went wrong but it shows everything right after I do the grep freq. My earlier posted settings work very well on my phone.
Thanks mate ... I hope this is gonna save some juice
viulian said:
Hello,
I've just compiled the undervolt module for current 2.3.3 kernels of X10 (2.6.29-00054-g5f01537).
Introduction
I've started from the source code provided by nobodyAtall here.
I also thank ThJap for getting me to work on this.
Settings
On my X10, the values can't vary too much from the default ones, otherwise the phone freezes / reboots. I was able to chopoff only 30 (instead of 50-100) that were possible apparently for 2.1 ROM.
Anyway, just because these values might be different from phone to phone, and to give each one the chance to configure it, the attached module is configurable:
Code:
insmod x10uv.ko args=970,970,1020,1120,1270
1) If you don't specify any arguments, the module will use the default voltages!
2) arguments are in the order of 245Mhz, ... for each frequency that X10 supports.
Once loaded with arguments, you will find this in dmesg:
Code:
<6>[ 509.594738] x10uv: module v002b-kernel-011 loaded. Built for target device
: X10
<6>[ 509.641605] x10uv: frequencies table: 245Mhz/1000 384Mhz/1000 576MHz/1050
768MHz/1150 998Mhz/1300.
<6>[ 509.641848] x10uv: patching done. enjoy better battery life.
The stuff above shows the default values (1000, 1000, 1050, 1150 and 1300).
As I said, I was only able to chop off only 30 out of all values, and have the phone still stable in tests.
If used with the insmod above, the output looks like:
Code:
<6>[ 597.082098] x10uv: module v002b-kernel-011 loaded. Built for target device
: X10
<6>[ 597.129015] x10uv: frequencies table: 245Mhz/970 384Mhz/970 576MHz/1020 76
8MHz/1120 998Mhz/1270.
<6>[ 597.129256] x10uv: patching done. enjoy better battery life.
Download
Use it at your own risk!
x10uv.zip
Click to expand...
Click to collapse
AWESOME! May I add it into EWJET rom?
Yes it can be used in ROMs of course! Please link back here from your description, in case module gets updated, for people to be able to get the latest values and so on.
But feel free to embed it (but watch out for too aggressive settings )
maybe someone could make something for gscript...so everyone can easily test their on settings on the phone. My sweetspot for 998 Mhz is at 1200 mV. Just testing 875 mV on 245 Mhz...you just made my night It is so awesome that it is so easily configurable.
Gooooood
also I will try to build by myself again!
Very good!!!
On my phone
Tested
[email protected]
[email protected]
[email protected]
Byee
Sent from my X10i using Tapatalk
Welcome to the most customizable N4 kernel on xda
Bricked-Kernel Nexus 4 (mako)
Features:
* Based upon Googles msm 3.4 source
* Various other fixes (look @ github)
* Compiled with gcc4.7.2 toolchain (linaro 09.12)
* -O3 optimized
* Snapdragon S4 & CortexA15 optimizations
* Sweep2wake
(Disabled as default, activate through an app like KControl or over sysfs: echo 1 > /sys/android_touch/sweep2wake)
* DoubleTap2Wake
(Disabled as default, activate through an app like KControl or over sysfs: echo 1 > /sys/android_touch/doubletap2wake)
* replaced qcoms hotplug binary with msm_mpdecision (IN-KERNEL, better battery life + performance)
* Extensive sysfs interface for mpdecision with all the tuneables you want (/sys/kernel/msm_mpdecision/)
* replaced the thermald binary with my IN-KERNEL solution. (/sys/kernel/msm_thermal/)
* export krait version to: /sys/kernel/debug/krait_variant
* modified ondemand governor
* Allow OC up to 1,83Ghz, faux123 (from a thermal point of view that is now SAFE)
* Allow UC down to 94,5Mhz
* Fixed min cpufreq resets
* Undervolting (faux123)
* Default clocks: 384min & 1512max
Zip features:
* ramdisk module insertion
* removes governor overrides from the ramdisk
* adds init.d support to your ramdisk (if not already supported)
Check the compare links for the rest
Where is tha Changelog???
There will be no more changelogs.
Instead the download pages were outfitted with compare links to github for each download.
What is sweep2wake?
How to install?
Flash through recovery. #done.
How to uninstall?
Flash this through recovery:
Bricked_uninstaller
Bye.
Where to complain about errors/bugs?
Please use the Issuetracker for bugs/errors/feature wishes!
Issuetracker @ https://github.com/showp1984/bricked-mako/issues
[email protected]
IRC Chat: Freenode IRC #bricked
Download:
No Guarantees! If it kills your grandmother or your device, I am NOT responsible! If you understand this:
(If you download, please hit Thanks below my post! Thank you!)
>>> DOWNLOAD <<<
Donor List:
> Hall of fame <
Thank you very much!
Stock Nexus4 JELLYBEAN JWR boot.img (flash this if you come from another kernel)
Source:
What is msm_thermal?
Kernel based 3-phase thermal control!
This replaces your /system/bin/thermald binary which is renamed by the installer to thermald_bck.
It will throttle your cpu speed to keep it cool and unleash it if the cpu has cooled down enough. (3 phases: low, mid and high)
Check /sys/kernel/msm_thermal/conf/ for the thermal configuration
allowed_max_high = highest threshold (phase 3)
allowed_max_low = remove the throttling if we cooled down to this (clr_thrshold)
allowed_max_freq = max frequency if throttled (limit)
[...]mid[...] = same as above, just for phase 2
[...]low[...] = Lowest threshold (phase 1)
check_interval_ms = how often shall we check? (sampling rate)
Default: 100ms (=0.1sec)
shutdown_temp = if we reach this shut down the device!
Default: 80°C
If you want to see msm_thermal doing it's job:
Code:
adb shell
cat /proc/kmsg | grep 'thermal'
What is msm_mpdecision?
100% kernel based multi core decision! (should cpu1/2/3 be online or not?)
This replaces your /system/bin/mpdecision binary which is renamed by the installer to mpdecision_bck.
Check /sys/kernel/msm_mpdecision/conf/ for the configuration.
startdelay = time until mpdecision starts doing it's magic (20000)
delay = time between checks (70)
pause = if something else plugs in the cpu, fall asleep for 10000ms (10 secs)
scroff_single_core = if the screen is off, don't plug in cpu1/2/3. Additionally: Unplug all cpus except cpu0 when screen is turned off (1)
enabled = enable(1) or disable(0) mpdecision. This does not affect scroff_single_core!
min_cpus = min cpus to be online, cannot be < 1. Default: 1
max_cpus = max cpus to be online, cannot be > 4. (if you set it to 2 and min_cpus to 1 you will basically have a dualcore) Default: 4
idle_freq = a value against that will be checked if a core +/- is requested. (486000)
If cpu0 is below that value and a core up of another cpu is requested, nothing will happen.
If any other cpu is above that value and a core down of that cpu is requested, nothing will happen. (otherwise it would now put down that cpu even though it is still working, which isn't what we want)
Hot plug thresholds (aka now it gets 'complicated')
This small formula calculates which value will be used: (number_of_cpus_online - 1) * 2
The result of this formula will be the nwns_threshold where a new cpu is hotplugged.
The result of this formula + 1 will be the nwns_threshold where a cpu is unplugged.
nwns_threshold_x = runqueue threshold, if this is reached cpuX will be hot/unplugged
twts_threshold_x = time threshold, this amount of time must have passed for the related action to be taken (hot/unplug)
Example:
One cpu is online.
(1 - 1) * 2 = 0 ergo:
nwns_threshold_0 = cpu1 will be hotplugged at this value
((1 - 1) * 2) + 1 = 1
nwns_threshold_1 = cpu0 will be unplugged at this value
Since we can't unplug cpu0 this is '0'.
Two cpus are online.
(2 - 1) * 2 = 2 ergo:
nwns_threshold_2 = cpu2 will be hotplugged at this value
((2 - 1) * 2) + 1 = 3
nwns_threshold_3 = cpu1 will be unplugged at this value
etc...
The default values are:
NwNs_Threshold: 12, 0, 25, 20, 32, 28, 0, 35
TwTs_Threshold: 140, 0, 140, 190, 140, 190, 0, 190
Where the position and function of the number equals the result of the above explained formula.
(all times are in ms)
If you want to see the mpdecision magic happening:
Code:
adb shell
cat /proc/kmsg | grep 'MPDEC'
mpdecision's input event boost, aka project butter
This will boost your min cpu speed if you touch the screen or press a button and gives you full control.
In those events the min cpu freq will be risen to a predefined value (look below) on every online cpu. This boosts overall reaction times and smoothness a lot. (works similar to the qcom mpdecision binary)
Configuration files:
[email protected]:/sys/kernel/msm_mpdecision/conf # ls
boost_enabled
boost_freqs
boost_time
All of them work like the usual sysfs files, except one special case:
boost_freqs will list all frequencies from cpu 0 to cpu x. Cpu 3 and any following cpu will share one frequency.
To change those frequencies echo the cpu number + the frequency in khz. To change the boost freq of cpu3 (and 4,5,6,7,8, etc) the echo would look as follows:
Code:
echo "3 1026000" > /sys/kernel/msm_mpdecision/conf/boost_freqs
for cpu0:
Code:
echo "0 1026000" > /sys/kernel/msm_mpdecision/conf/boost_freqs
Defaults:
Code:
cat /sys/kernel/msm_mpdecision/conf/boost_freqs
918000
918000
702000
594000
How does sweep2wake work? Does it keep my phone awake?
Short answer: No.
Long answer:
Sweep2wake works with IRQs (Interrupts).
An interrupt can be best imagined as you doing something, like shopping at the local super market, when someone jumps in front of you and punches you into your family jewels. You will most certainly not just continue shopping.
In technical terms: An Interrupt interrupts the normal operation of a program and executes "special" code instead.
So if you touch your screen, an interrupt is send on which the touch driver reacts. That's it.
Since we have a capacitive touchscreen you also do not need to worry about any pressure onto the screen.
If you want to disable sweep2wake execute this command on your phone (adb shell or directly), you can also add it to an init.d script.
Code:
echo "0" > /sys/android_touch/sweep2wake
(echoing "1" activates it, which is the default setting)Recommended governor?
Ondemand.Why do I have no WLAN?
Due to this kernels very high optimization settings it is too big for our boot.img with WLAN included into the kernel, so it is built as a module. That means it needs to be inserted into the kernel upon boot up, which needs to be automated for maximum comfort.
The zip adds this to your ramdisk, if that fails for some reason the wlan module cannot be inserted.
if
Code:
adb shell lsmod
doesn't show this:
Code:
tun 14701 0 - Live 0x00000000
cifs 275399 0 - Live 0x00000000
wlan 2964650 0 - Live 0x00000000 (C)
Then something went wrong. (My fault)
You can test it by executing
Code:
adb shell
su
insmod /system/lib/modules/wlan.ko
Wait a few seconds and try to enable wifi and repeat the above lsmod command (should now show wlan).
If WLAN now works, I messed up.
Open a new issue in the issue tracker and it will be fixed asap.Last release for 4.2.2?
STABLE: 20130622_233007_master-8fa9be1
BETA: 20130727_023549_exp-d64cabc
If you look for an app to control your kernel: http://forum.xda-developers.com/showthread.php?p=47773391#post47773391
it is finally here!!!
i spy sweep2wake
So over clock is safe with this???
Sent from my Nexus 4 using XDA Premium HD app
Looking forward to trying this out! Looks awesome. Just out of curiosity is there any reason why this zip is so much larger than the zips for other kernels?
I can't wait to get bricked!
alewis2k12 said:
So over clock is safe with this???
Sent from my Nexus 4 using XDA Premium HD app
Click to expand...
Click to collapse
OP is your friend
Sent from my Nexus 4 using xda premium
---------- Post added at 08:38 PM ---------- Previous post was at 08:38 PM ----------
Locksmith81 said:
OP is your friend
Sent from my Nexus 4 using xda premium
Click to expand...
Click to collapse
It's a yes
Sent from my Nexus 4 using xda premium
Flashed it and will report soon
Do it need to wipe cache ??
jarjar124 said:
it is finally here!!!
i spy sweep2wake
Click to expand...
Click to collapse
Soon(tm)
I am currently making final adjustments to sweep2wake
Perhaps it will be a christmas present?
alewis2k12 said:
So over clock is safe with this???
Click to expand...
Click to collapse
From a thermal point of view: Yes.
But if you set a too high clock and your chip craps out because of too much voltage, that won't save it.
Overclocking is dangerous. It will never be safe, the thermal guard just makes it as safe as on any other phone.
cmikeh2 said:
Looking forward to trying this out! Looks awesome. Just out of curiosity is there any reason why this zip is so much larger than the zips for other kernels?
Click to expand...
Click to collapse
Yes, because of sooooo many optimizations I pumped into the kernel it was getting pretty big, too big for it to fit inside the boot.img with the ramdisk. SO I had to remove stuff from the kernel and put it into modules (wlan,cifs,tun) which are inserted into the kernel upon boot.
You won't feel the difference but it enabled me to include these optimizations.
(the prima wlan module is 22megs or so... freaky big thing.)
mpttrung said:
Flashed it and will report soon
Do it need to wipe cache ??
Click to expand...
Click to collapse
It wipes cache for you.
show-p1984 said:
Soon(tm)
It wipes cache for you.
Click to expand...
Click to collapse
Opps ! It stucks at Google logo @@
I am using stock, any idea ??
mpttrung said:
Opps ! It stucks at Google logo @@
I am using stock, any idea ??
Click to expand...
Click to collapse
I am too on stock, works for me though.
Gimme last_kmsg after you got it into recovery.
show-p1984 said:
I am too on stock, works for me though.
Gimme last_kmsg after you got it into recovery.
Click to expand...
Click to collapse
Red : what do u mean ??
mpttrung said:
Opps ! It stucks at Google logo @@
I am using stock, any idea ??
Click to expand...
Click to collapse
Were you on Franco's kernel?
harpo1 said:
Were you on Franco's kernel?
Click to expand...
Click to collapse
Yeah ! U got stucked too ???
Anybody got a safe OC limit?? And thanks for the help....and coming from Franco as well
Sent from my Nexus 4 using XDA Premium HD app
alewis2k12 said:
Anybody got a safe OC limit?? And thanks for the help....and coming from Franco as well
Click to expand...
Click to collapse
1.7 should be safe, apq8064 is built with that max freq in mind.
Though to be clear: THERE IS NO SAFE OC FREQ. OC IS ALWAYS DANGEROUS!
To all those who have problems, I will provide a stock boot.img in the first post. (gimme a few seconds)
Stock Nexus4 boot.img (flash this if you come from another kernel)
mpttrung said:
Yeah ! U got stucked too ???
Click to expand...
Click to collapse
Yeah if you're kernel hopping make sure you reset back to stock. :good:
UZ7 said:
Yeah if you're kernel hopping make sure you reset back to stock. :good:
Click to expand...
Click to collapse
Flash to stock using fastboot ?
you could also reflash your rom
hi all im electronic tech i have brick my tablet when try flash in fastboot adb fastboot mode clockwork recovery 5.8xx first device opened and boot up normal without any problem then i reboot few time i have not seen cwm menu and i wipe data and tablet hardly bricked lol
so i start to find the way how to unbrick it without nvflash wheelie Secure Boot Key (blob.bin) because i not backup it. and still i don't know how to backup it!?
After a long research tegra based schematics and nvidia tegra dev docs, some forum posts, for my prime i got the idea from google nexus 7 schematic there used same pin con. figure
this post nexus7 sch http://forum.xda-developers.com/showpost.php?p=31922480&postcount=86
i find in printed circuit board GMI_OE_N, FORCE_RECOVERY#, and Uart Debug, jtag. connector pinout for comminication but that socket and some resistor used only for development process and test. its unmounted for production.
first i try FORCE_RECOVERY# pin when i power on tablet short it with ground device entered directly APX mode but that is same with vol power button combination tegra Soc still not allowed me to access emmc nand.
I started to research uart debugin i find this post http://forum.xda-developers.com/showthread.php?t=1081743 little information about howto tegra uart debug to understand what has happened to the bootloader
in experiment first i see in terminal garbage ascii characters i change TTL the location of the wire uart TXD, and uart RXD. "UART_DEBUG_TXD <-> UART_DEBUG_RXD" for tf201 showed me the right uart log in terminal meybe jtag pins are different placed i still not sure? but F_Recovery, pin and Hot_reset, pin are in same place VDD1.8v pin where have in right placed! i have edit schematic picture with paint for correction
i use for Uart debugin Usb TTL adapter pl2303 and PuTTY terminal emulator
How to: UART
1. Connect TTL to source device TX
2. Connect TTL RxD to source device RX
3. Connect TTL GND to source device GND! (don't forgot it!)
5. Open a terminal emulator, like PuTTY.
Connection parameters:
115200, 8 n 1, no flow control
Warning! Use this information at your own risk. Will void your warranty!
!don't Unmount nothing in pcb!
edited by me 24pin con. points schematic View attachment 1784738
mb pad connector pic View attachment 1784739
here is the power on boot debug log
Code:
-Mé11AÁé¢ÂZ¡é)9YI8
-MéAUéºZ¡é)9YI8I8 1=
½¹Ñɽ±±ÉéªRre%Õiêjjj¥*áÑɹ
½¹Ñɽ±±ÉéªRş
ADJUSTED CLOCKS:
MC clock is set to 250000 KHz
EMC clock is set to 500000 KHz (DDR clock is at 500000 KHz)
PLLX0 clock is set to 700000 KHz
PLLC0 clock is set to 600000 KHz
CPU clock is set to 700000 KHz
System and AVP clock is set to 102000 KHz
GraphicsHost clock is set to 163200 KHz
3D clock is set to 83333 KHz
2D clock is set to 83333 KHz
Epp clock is set to 83333 KHz
Mpe clock is set to 83333 KHz
Vde clock is set to 272000 KHz
Bootloader Start at:2017 ms
PCB value(0x0)
Initializing Display
PCB value(0x0)
PCB value(0x0)
PCB value(0x0)
PCB value(0x0)
Inval idate-only cache maint not supported in NvOs
PCB value(0x0)
PCB value(0x0)
PCB value(0x0)
PCB value(0x0)
PCB value(0x0)
PCB value(0x0)
LowLowBatteryCheck
LowLowBattery Check pinvalue=0
Battery capacity >low low Battery voltage
PCB value(0x0)Show mdpilogo
show logo at 2814ms
[bootloader] (built on Nov 22 2012, 20:19:53)
Platform Pre Boot configuration...
Verify chip uid
chip uid 1st RSAVerify ok
The Device is UnLocked.
SocCpuMaxKHz = 1000000
SocCpuMinKHz = 32
PLLX0 FreqKHz = 700000
Checking for android ota recovery
PCB value(0x0)
Platform Pre OS Boot configuration...
HDMI CPLD Program - ERROR
HDMI CPLD Program - ERROR
CpldRead8(): Failed: SlaveNotFound slave Add 0xd2
The enabling SDMMC1 Power rail is FAILED.
Actual Size = 0x540800 bytes
Verify chip uid
chip uid 1st RSAVerify ok
The proc BoardInfo: 0x0222:0x8200:0xe0:0x4f:0x44
PCB value(0x0)
!!!ERROR!!! EKS Partition is not available
Jumping to kernel at:3737 ms
"END"
i find jelly bean internal FLASH ROM partition table documentation for lg x4 HD tegra3 based SoC
chinse http://bbs.gfan.com/android-5633570-1-1.html
The EKS hidden partition 2M
The "NVEKSP" logo, followed by a 2048-bit key and guess verify boot.img with the public key. Using RAS (guess) algorithm SOS and LNX partition data do signature verification, signature data block (1024 bytes) in the tail of the SOS and LNX partition data.
[partition]
name=EKS
id=6
type=data
allocation_policy=sequential
filesystem_type=basic
size=81200
file_system_attribute=0
partition_attribute=0
allocation_attribute=8
percent_reserved=0
filename=eks.dat
thanks
fullcontrol said:
hi all in my bricked tablet i find my uart debug pins on pcb in terminal here is the on boot log it have chanse to i unbrick it ?
-Mé11AÁé¢ÂZ¡é)9YI8
-MéAUéºZ¡é)9YI8I8 1=
½¹Ñɽ±±ÉéªRre%Õiêjjj¥*áÑɹ
½¹Ñɽ±±ÉéªRş
ADJUSTED CLOCKS:
MC clock is set to 250000 KHz
EMC clock is set to 500000 KHz (DDR clock is at 500000 KHz)
PLLX0 clock is set to 700000 KHz
PLLC0 clock is set to 600000 KHz
CPU clock is set to 700000 KHz
System and AVP clock is set to 102000 KHz
GraphicsHost clock is set to 163200 KHz
3D clock is set to 83333 KHz
2D clock is set to 83333 KHz
Epp clock is set to 83333 KHz
Mpe clock is set to 83333 KHz
Vde clock is set to 272000 KHz
Bootloader Start at:2017 ms
PCB value(0x0)
Initializing Display
PCB value(0x0)
PCB value(0x0)
PCB value(0x0)
PCB value(0x0)
Inval idate-only cache maint not supported in NvOs
PCB value(0x0)
PCB value(0x0)
PCB value(0x0)
PCB value(0x0)
PCB value(0x0)
PCB value(0x0)
LowLowBatteryCheck
LowLowBattery Check pinvalue=0
Battery capacity >low low Battery voltage
PCB value(0x0)Show mdpilogo
show logo at 2814ms
[bootloader] (built on Nov 22 2012, 20:19:53)
Platform Pre Boot configuration...
Verify chip uid
chip uid 1st RSAVerify ok
The Device is UnLocked.
SocCpuMaxKHz = 1000000
SocCpuMinKHz = 32
PLLX0 FreqKHz = 700000
Checking for android ota recovery
PCB value(0x0)
Platform Pre OS Boot configuration...
HDMI CPLD Program - ERROR
HDMI CPLD Program - ERROR
CpldRead8(): Failed: SlaveNotFound slave Add 0xd2
The enabling SDMMC1 Power rail is FAILED.
Actual Size = 0x540800 bytes
Verify chip uid
chip uid 1st RSAVerify ok
The proc BoardInfo: 0x0222:0x8200:0xe0:0x4f:0x44
PCB value(0x0)
!!!ERROR!!! EKS Partition is not available
Jumping to kernel at:3737 ms
thanks
Click to expand...
Click to collapse
1) where is the uart?
2) is that all there is of the log?
yes its all log frezed on asus logo not continue meybe it is first warmboot sorry i will edit first post for points for uart debuging txd and rxd pins still not redy drawing. meybe i find too jtag pin points too still i not sure
fullcontrol said:
yes its all log frezed on asus logo not continue meybe it is first warmboot sorry i will edit first post for points for uart debuging txd and rxd pins still not redy drawing. meybe i find too jtag pin points too still i not sure
Click to expand...
Click to collapse
How did you brick your Prime? Did you check the unbricking thread?
fullcontrol said:
yes its all log frezed on asus logo not continue meybe it is first warmboot sorry i will edit first post for points for uart debuging txd and rxd pins still not redy drawing. meybe i find too jtag pin points too still i not sure
Click to expand...
Click to collapse
have you tried holding vol-down?
first post have been updated... i hope it will be helpful for you
i brick it when i send clockwork 5x img in fastboot adb mode first i have no problem with boot up after few a reboot enter in fastmode try to active cwm menu and didnt see cwm recovery menu i have do wipe data wipe process gone long time and i power off my tablet then tablet bricked sty in asus logo only. vol power button combination not help i see nothing there is full log what happened on boot
i not underdstand why on debug i see only command end line not all commands meybe UART4_TXD n UART4_RXD not connected? i will check it soon
what mean "Checking for android ota recovery" i have try with microSD put there firmware not work i not have otg for test i will build one later meybe look special file name? or boot look some recovery file in any port!? devs will be know it i think all answers have in oficial kernel im not dev programmer to i find sorry i will try soon
wipe data or cwm kill my "EKS Partition" it is for jelly bean partition table here is link for jelly bean partition table http://forum.xda-developers.com/showthread.php?p=38754475
Looking over your log, and with the new information sadly you have a bricked unit.
JTAG is fused off on production devices, so that is out, and it looks like you have a boot to recovery flag set, but a broken recovery partition.
There is one thing you could try if you are up to it, but it really isn't the most simple exercise, find the mmc data lines, wire that up to an mmc reader, then using your pc find the misc partition and clean it.
lilstevie said:
Looking over your log, and with the new information sadly you have a bricked unit.
JTAG is fused off on production devices, so that is out, and it looks like you have a boot to recovery flag set, but a broken recovery partition.
There is one thing you could try if you are up to it, but it really isn't the most simple exercise, find the mmc data lines, wire that up to an mmc reader, then using your pc find the misc partition and clean it.
Click to expand...
Click to collapse
thanks for your advice yes i have jrag before arm power pc stb processors arm cpu must be enter test mode to allow jtagin! it is rulle
tegra based arm have that pin TEST_MODE_EN R28 i not have t30 bga stenchil to remove cpu to folow that lines i will check it soon
and update first post im just lazy
last other possibility is to i remove nand flash and place different arm device to root or programmer to reflash it easy but i need worked dump file stil emmc nand is new not all devices use that nand.
sorry you mean SDmmc or nand device there have alot memmory controler data lines
fullcontrol said:
thanks for your advice yes i have jrag before arm power pc stb processors arm cpu must be enter test mode to allow jtagin! it is rulle
tegra based arm have that pin TEST_MODE_EN R28 i not have t30 bga stenchil to remove cpu to folow that lines i will check it soon
and update first post im just lazy
last other possibility is to i remove nand flash and place different arm device to root or programmer to reflash it easy but i need worked dump file stil emmc nand is new not all devices use that nand.
sorry you mean SDmmc or nand device there have alot memmory controler data lines
Click to expand...
Click to collapse
the test mode pin is irrelevant, the device has an efuse block that when a specific fuse is blown (ODM_SECURE) JTAG is strictly prohibited by the bootrom, this is inside the SoC and not exposed externally at all.
While the emmc may have many many pins underneath it, there are only a limited number in use as it isn't attached as nand but rather mmc, and connected to the tegras mmc bus, with a little bit of time and probing you would be able to figure out which pins are required for data, there is even a possibility of disabling the emmc as it tries to read the boot flag but timing that would be extremely hard, and it would be easier to figure out the data bus.
Your only other real option is to send it to asus
Can you explain with a little more detail exactly what you did to get uart working? I've looked over the the instructions and they aren't very clear (I do understand that English is not your first language and that does make it harder).
I've tried to follow them myself and I'm not having much success really
first post updated so any idea ?
It was my understanding that both UART and JTAG are efused out on production hardware? If not, I am going to feel compelled to give this a whirl...
Sent from my Transformer Prime TF201 using xda app-developers app
all the answers are in blob.ebt =bootloader.bin file who can extract the strings in the bootloader ?
fullcontrol said:
hi all im electronic tech i have brick my tablet when try flash in fastboot adb fastboot mode clockwork recovery 5.8xx first device opened and boot up normal without any problem then i reboot few time i have not seen cwm menu and i wipe data and tablet hardly bricked lol
so i start to find the way how to unbrick it without nvflash wheelie Secure Boot Key (blob.bin) because i not backup it. and still i don't know how to backup it!?
After a long research tegra based schematics and nvidia tegra dev docs, some forum posts, for my prime i got the idea from google nexus 7 schematic there used same pin con. figure
this post nexus7 sch http://forum.xda-developers.com/showpost.php?p=31922480&postcount=86
i find in printed circuit board GMI_OE_N, FORCE_RECOVERY#, and Uart Debug, jtag. connector pinout for comminication but that socket and some resistor used only for development process and test. its unmounted for production.
first i try FORCE_RECOVERY# pin when i power on tablet short it with ground device entered directly APX mode but that is same with vol power button combination tegra Soc still not allowed me to access emmc nand.
I started to research uart debugin i find this post http://forum.xda-developers.com/showthread.php?t=1081743 little information about howto tegra uart debug to understand what has happened to the bootloader
in experiment first i see in terminal garbage ascii characters i change TTL the location of the wire uart TXD, and uart RXD. "UART_DEBUG_TXD <-> UART_DEBUG_RXD" for tf201 showed me the right uart log in terminal meybe jtag pins are different placed i still not sure? but F_Recovery, pin and Hot_reset, pin are in same place VDD1.8v pin where have in right placed! i have edit schematic picture with paint for correction
i use for Uart debugin Usb TTL adapter pl2303 and PuTTY terminal emulator
How to: UART
1. Connect TTL to source device TX
2. Connect TTL RxD to source device RX
3. Connect TTL GND to source device GND! (don't forgot it!)
5. Open a terminal emulator, like PuTTY.
Connection parameters:
115200, 8 n 1, no flow control
Warning! Use this information at your own risk. Will void your warranty!
!don't Unmount nothing in pcb!
edited by me 24pin con. points schematic View attachment 1784738
mb pad connector pic View attachment 1784739
here is the power on boot debug log
Code:
-Mé11AÁé¢ÂZ¡é)9YI8
-MéAUéºZ¡é)9YI8I8 1=
½¹Ñɽ±±ÉéªRre%Õiêjjj¥*áÑɹ
½¹Ñɽ±±ÉéªRş
ADJUSTED CLOCKS:
MC clock is set to 250000 KHz
EMC clock is set to 500000 KHz (DDR clock is at 500000 KHz)
PLLX0 clock is set to 700000 KHz
PLLC0 clock is set to 600000 KHz
CPU clock is set to 700000 KHz
System and AVP clock is set to 102000 KHz
GraphicsHost clock is set to 163200 KHz
3D clock is set to 83333 KHz
2D clock is set to 83333 KHz
Epp clock is set to 83333 KHz
Mpe clock is set to 83333 KHz
Vde clock is set to 272000 KHz
Bootloader Start at:2017 ms
PCB value(0x0)
Initializing Display
PCB value(0x0)
PCB value(0x0)
PCB value(0x0)
PCB value(0x0)
Inval idate-only cache maint not supported in NvOs
PCB value(0x0)
PCB value(0x0)
PCB value(0x0)
PCB value(0x0)
PCB value(0x0)
PCB value(0x0)
LowLowBatteryCheck
LowLowBattery Check pinvalue=0
Battery capacity >low low Battery voltage
PCB value(0x0)Show mdpilogo
show logo at 2814ms
[bootloader] (built on Nov 22 2012, 20:19:53)
Platform Pre Boot configuration...
Verify chip uid
chip uid 1st RSAVerify ok
The Device is UnLocked.
SocCpuMaxKHz = 1000000
SocCpuMinKHz = 32
PLLX0 FreqKHz = 700000
Checking for android ota recovery
PCB value(0x0)
Platform Pre OS Boot configuration...
HDMI CPLD Program - ERROR
HDMI CPLD Program - ERROR
CpldRead8(): Failed: SlaveNotFound slave Add 0xd2
The enabling SDMMC1 Power rail is FAILED.
Actual Size = 0x540800 bytes
Verify chip uid
chip uid 1st RSAVerify ok
The proc BoardInfo: 0x0222:0x8200:0xe0:0x4f:0x44
PCB value(0x0)
!!!ERROR!!! EKS Partition is not available
Jumping to kernel at:3737 ms
"END"
i find jelly bean internal FLASH ROM partition table documentation for lg x4 HD tegra3 based SoC
chinse http://bbs.gfan.com/android-5633570-1-1.html
The EKS hidden partition 2M
The "NVEKSP" logo, followed by a 2048-bit key and guess verify boot.img with the public key. Using RAS (guess) algorithm SOS and LNX partition data do signature verification, signature data block (1024 bytes) in the tail of the SOS and LNX partition data.
[partition]
name=EKS
id=6
type=data
allocation_policy=sequential
filesystem_type=basic
size=81200
file_system_attribute=0
partition_attribute=0
allocation_attribute=8
percent_reserved=0
filename=eks.dat
thanks
Click to expand...
Click to collapse
Hi,
I have a bricked tf201.
I'm very interested in the progress you made so far. Any luck sniffing the nand data lines?
I have a hard bricked tf201, does this mean there's a possibility to fix it?
Sent from my LG-P880
axepted said:
I have a hard bricked tf201, does this mean there's a possibility to fix it?
Sent from my LG-P880
Click to expand...
Click to collapse
Well... everything is possible....
I'm waiting for my bus pirate to arrive. After that, It may be possible to reflash the nand thru the jtag interface
Any updates?
I hard bricked my tf201 too and i try to find unbrick
Hello,
Is there a way to hack the encryption in order to create our proper blob.bin manually ( with hex editing another blob.bin)
No ?
Thanks
Hi guys,
Finally , does anyone could retrieve the start of our TF201 using the procedure with JTAG ? or change, does only have the option to change motherboard of the TF201 ?
Welcome to the most customizable N7 2013 kernel on xda
Bricked-Kernel Nexus 7 2013 (flo/deb)
Features:
* Based upon Googles msm 3.4 source
* Various other fixes (look @ github)
* Compiled with gcc4.7.2 toolchain (linaro 09.12)
* -O3 optimized
* Snapdragon S4 & CortexA15 optimizations
* vastly improved touchscreen drivers, which made it rock stable even before Google patched the firmware
* Sweep2wake
* DoubleTap2Wake
* replaced qcoms hotplug binary with msm_mpdecision (IN-KERNEL, better battery life + performance)
* Extensive sysfs interface for mpdecision with all the tuneables you want (/sys/kernel/msm_mpdecision/)
* replaced the thermald binary with my IN-KERNEL solution. (/sys/kernel/msm_thermal/)
* export krait version to: /sys/kernel/debug/krait_variant
* modified ondemand governor
* Allow OC up to 1,83Ghz
* Fixed min cpufreq resets
* Undervolting
* Sound Control (faux123)
* Default clocks: 384min & 1512max
Zip features:
*** ON-THE-FLY-RAMDISK EDITS!
*** THIS KERNEL USES YOUR RAMDISK, it will just modify it on the fly while flashing. These changes are not creating any incompatibilities with roms/other kernels. (Except those roms which intentionally go incompatible to stock/aosp on a driver level)
* removes min freq overrides from the ramdisk
* removes governor overrides from the ramdisk
* adds init.d support to your ramdisk (if not already supported)
* modifies stock ondemand settings
* add module insertion
Check the compare links for the rest
Where is tha Changelog???
There will be no more changelogs.
Instead the download pages were outfitted with compare links to github for each download.
What is sweep2wake?
Yes that is a mako, works the same way on the flo though
How to install?
Flash through recovery. #done.
How to uninstall?
Flash this through recovery:
Bricked_uninstaller
Bye.
Where to complain about errors/bugs?
Please use the Issuetracker for bugs/errors/feature wishes!
Issuetracker @ https://github.com/showp1984/bricked-flo/issues
[email protected]
IRC Chat: Freenode IRC #bricked
Download:
No Guarantees! If it kills your grandmother or your device, I am NOT responsible! If you understand this:
(If you download, please hit Thanks below my post! Thank you!)
>>> DOWNLOAD <<<
Donor List:
> Hall of fame <
Thank you very much!
Source:
What is msm_thermal?
Kernel based 3-phase thermal control!
This replaces your /system/bin/thermald binary which is renamed by the installer to thermald_bck.
It will throttle your cpu speed to keep it cool and unleash it if the cpu has cooled down enough. (3 phases: low, mid and high)
Check /sys/kernel/msm_thermal/conf/ for the thermal configuration
allowed_max_high = highest threshold (phase 3)
allowed_max_low = remove the throttling if we cooled down to this (clr_thrshold)
allowed_max_freq = max frequency if throttled (limit)
[...]mid[...] = same as above, just for phase 2
[...]low[...] = Lowest threshold (phase 1)
check_interval_ms = how often shall we check? (sampling rate)
Default: 100ms (=0.1sec)
shutdown_temp = if we reach this shut down the device!
Default: 80°C
If you want to see msm_thermal doing it's job:
Code:
adb shell
cat /proc/kmsg | grep 'thermal'
What is msm_mpdecision?
100% kernel based multi core decision! (should cpu1/2/3 be online or not?)
This replaces your /system/bin/mpdecision binary which is renamed by the installer to mpdecision_bck.
Check /sys/kernel/msm_mpdecision/conf/ for the configuration.
startdelay = time until mpdecision starts doing it's magic (20000)
delay = time between checks (70)
pause = if something else plugs in the cpu, fall asleep for 10000ms (10 secs)
scroff_single_core = if the screen is off, don't plug in cpu1/2/3. Additionally: Unplug all cpus except cpu0 when screen is turned off (1)
enabled = enable(1) or disable(0) mpdecision. This does not affect scroff_single_core!
min_cpus = min cpus to be online, cannot be < 1. Default: 1
max_cpus = max cpus to be online, cannot be > 4. (if you set it to 2 and min_cpus to 1 you will basically have a dualcore) Default: 4
idle_freq = a value against that will be checked if a core +/- is requested. (486000)
If cpu0 is below that value and a core up of another cpu is requested, nothing will happen.
If any other cpu is above that value and a core down of that cpu is requested, nothing will happen. (otherwise it would now put down that cpu even though it is still working, which isn't what we want)
Hot plug thresholds (aka now it gets 'complicated')
This small formula calculates which value will be used: (number_of_cpus_online - 1) * 2
The result of this formula will be the nwns_threshold where a new cpu is hotplugged.
The result of this formula + 1 will be the nwns_threshold where a cpu is unplugged.
nwns_threshold_x = runqueue threshold, if this is reached cpuX will be hot/unplugged
twts_threshold_x = time threshold, this amount of time must have passed for the related action to be taken (hot/unplug)
Example:
One cpu is online.
(1 - 1) * 2 = 0 ergo:
nwns_threshold_0 = cpu1 will be hotplugged at this value
((1 - 1) * 2) + 1 = 1
nwns_threshold_1 = cpu0 will be unplugged at this value
Since we can't unplug cpu0 this is '0'.
Two cpus are online.
(2 - 1) * 2 = 2 ergo:
nwns_threshold_2 = cpu2 will be hotplugged at this value
((2 - 1) * 2) + 1 = 3
nwns_threshold_3 = cpu1 will be unplugged at this value
etc...
The default values are:
NwNs_Threshold: 12, 0, 25, 20, 32, 28, 0, 35
TwTs_Threshold: 140, 0, 140, 190, 140, 190, 0, 190
Where the position and function of the number equals the result of the above explained formula.
(all times are in ms)
If you want to see the mpdecision magic happening:
Code:
adb shell
cat /proc/kmsg | grep 'MPDEC'
mpdecision's input event boost, aka project butter
This will boost your min cpu speed if you touch the screen or press a button and gives you full control.
In those events the min cpu freq will be risen to a predefined value (look below) on every online cpu. This boosts overall reaction times and smoothness a lot. (works similar to the qcom mpdecision binary)
Configuration files:
[email protected]:/sys/kernel/msm_mpdecision/conf # ls
boost_enabled
boost_freqs
boost_time
All of them work like the usual sysfs files, except one special case:
boost_freqs will list all frequencies from cpu 0 to cpu x. Cpu 3 and any following cpu will share one frequency.
To change those frequencies echo the cpu number + the frequency in khz. To change the boost freq of cpu3 (and 4,5,6,7,8, etc) the echo would look as follows:
Code:
echo "3 1026000" > /sys/kernel/msm_mpdecision/conf/boost_freqs
for cpu0:
Code:
echo "0 1026000" > /sys/kernel/msm_mpdecision/conf/boost_freqs
Defaults:
Code:
cat /sys/kernel/msm_mpdecision/conf/boost_freqs
918000
918000
702000
594000
How does sweep2wake work? Does it keep my phone awake?
Short answer: No.
Long answer:
Sweep2wake works with IRQs (Interrupts).
An interrupt can be best imagined as you doing something, like shopping at the local super market, when someone jumps in front of you and punches you into your family jewels. You will most certainly not just continue shopping.
In technical terms: An Interrupt interrupts the normal operation of a program and executes "special" code instead.
So if you touch your screen, an interrupt is send on which the touch driver reacts. That's it.
Since we have a capacitive touchscreen you also do not need to worry about any pressure onto the screen.
If you want to disable sweep2wake execute this command on your phone (adb shell or directly), you can also add it to an init.d script.
Code:
echo "0" > /sys/android_touch/sweep2wake
(echoing "1" activates it, which is the default setting)Recommended governor?
Ondemand.Why do I have no WLAN?
Due to this kernels very high optimization settings it is too big for our boot.img with WLAN included into the kernel, so it is built as a module. That means it needs to be inserted into the kernel upon boot up, which needs to be automated for maximum comfort.
The zip adds this to your ramdisk, if that fails for some reason the wlan module cannot be inserted.
if
Code:
adb shell lsmod
doesn't show this:
Code:
tun 14701 0 - Live 0x00000000
cifs 275399 0 - Live 0x00000000
wlan 2964650 0 - Live 0x00000000 (C)
Then something went wrong. (My fault)
You can test it by executing
Code:
adb shell
su
insmod /system/lib/modules/wlan.ko
Wait a few seconds and try to enable wifi and repeat the above lsmod command (should now show wlan).
If WLAN now works, I messed up.
Open a new issue in the issue tracker and it will be fixed asap.
If you look for an app to control your kernel: http://forum.xda-developers.com/showthread.php?p=47773391#post47773391
Wohoooooo the best kernel on sensation thread now reaches nexus 7!!! That's awesome :highfive:
Sent from my Nexus 7 using xda app-developers app
Drunken_elk said:
Wohoooooo the best kernel on sensation thread now reaches nexus 7!!! That's awesome :highfive:
Click to expand...
Click to collapse
It's been on the flo since September the 19th, there just wasn't an xda thread for it
Oh damn . Anyway good choice to add the thread
Sent from my Nexus 7 using xda app-developers app
no fsynch trigger? or just not mentioned in features?
L-ViZ said:
no fsynch trigger? or just not mentioned in features?
Click to expand...
Click to collapse
Whoever disables fsync is a maniac. It is not in this kernel and will never get in. That's my totally honest opinion.
Using a no fsync, or 'dynamic' fsync kernel is the equivalent of jumping from a skyscraper with nothing but a napkin.
Best Nexus 5 kernel il now on N7 ! Awesome ! Thank's for this
Envoyé depuis mon Nexus 7 avec Tapatalk 4
Assume this is based on the new 4.4.1?
Sent from my Nexus 4 using Tapatalk
ogrillion said:
Assume this is based on the new 4.4.1?
Click to expand...
Click to collapse
Indeed.
Hey man, good to see more talented kernel devs on this device, yours was one of my favourites back on my HTC One X
Any chance of merging kexec patch for multirom support?
http://forum.xda-developers.com/showthread.php?t=2457079
Nexus 7 LTE
Stock rooted KOT49E
Faux Kernel
show-p1984 said:
Indeed.
Click to expand...
Click to collapse
Oh god ! Downloading now !
Envoyé depuis mon Nexus 7 avec Tapatalk 4
Can you include the MultiROM patch in the kernel?
Sent from Tapatalk, using Tapatalk
show-p1984 said:
Indeed.
Click to expand...
Click to collapse
made for 4.4.1 means only usable on 4.4.1 or works on 4.4 too?
Will this brick my phone
Does Slimport work with this? I have had other kernels flick out after 5 minutes or so.
Sent from my Omni 4.4 Galaxy S3. Proud Googy Beta tester.
Works with CM11?
L-ViZ said:
made for 4.4.1 means only usable on 4.4.1 or works on 4.4 too?
Click to expand...
Click to collapse
I can tell you that I am running it on Bruce's 4.4 odexed and is running brilliantly so far. Installed it early this morning and running great so far.
Quiksilver78 said:
Works with CM11?
Click to expand...
Click to collapse
It should.
Give it a try, the install process make a backup of your current Zimage, if something goes wrong, just flash the uninstaller and your'll get back to your unmodified rom.
lionelia said:
It should.
Give it a try, the install process make a backup of your current Zimage, if something goes wrong, just flash the uninstaller and your'll get back to your unmodified rom.
Click to expand...
Click to collapse
Turning on WiFi caused boot loops for me lol
I figured it wasn't supposed to work so I didn't report it so I flashed slimkat
Hi people.
I have new bricked Huawei Honor 4c with HiSilicon Kirin 620 octacore (Hi6620) Hardly bricked.
I`ve unlocked bootloader and custom recovery used to flash it with my own update.zip from other phone (with LTE support). At the end of flashing - it turned off and bricked.
BUT! After connecting to PC via USB it flashes GREEN and RED leds a few times and after windows determines it as a device with USB\VID_12D1&PID_3609&REV_0000 and named as 䕇䕎䥎 ㌲㔴㜶㤸 .
It is Huawei`s VID. And after a lot of search I found a driver for it - and device became HUAWEI USB-COM 1.0. But nothing else.
No flash utility, nothing. HiSilicon-IDT for K3 processor doesn`t work.
After another searches I found very similar device - it`s named HiKey board. Based on Hisilicon Kirin processor too https://www.96boards.org/.
This board is base around the HiSilicon Kirin 6220 eight-core ARM Cortex-A53 64-bit SoC running at 1.2GHz and delivering over 10,000 Dhrystone VAX MIPS total performance. The SoC also delivers high performance 3D graphics support with its ARM Mali 450-MP4 GPU.
1GB 800MHz LPDDR3 DRAM, 4GB eMMC Flash Storage and the standard 96Boards microSD v3.0 socket provide high performance. Flexible storage options and connectivity are available through 802.11a/b/g/n WiFi, Bluetooth 4.0 LE, three high speed USB 2.0 ports (1 OTG), an HDMI 1.3 1080p video output with audio, and Maker, DSI display and CSI camera interfaces. The board is the standard 96Boards credit-card form factor powered by an 8-18V DC 2A power supply.
Click to expand...
Click to collapse
As we can see - it is very close to ours phone.
It is fully documented and has a lot of spec about proc and other.
And in it`s manual written about recovery procedure after damage of ROM - when device is powered on - it is in "download mode" for 90 seconds - abslolutly like mine phone - after 90 second it turns off from windows.
In short - it is ability to write 2 fastboot images (fastboot1.img and fastboot2.img) in RAM, launch them and using fastboot command flash images to eMMC. They use SERIAL COM PORT to manipulate with device.
It uses utility called "hisi-idt.py" - it is a python script for Linux based machines.
I`ve Installed Linux Mint and try it.
And I`ve some result - first image is going fine and I receive "Done"
But second image is always "Failed". And fastboot command "fastboot devices" do not list any devices.
Viewing binaries from my ROM (Fastboot.img and Fastboot1.img) in HEX - I can see load addresses to ROM are the same as in python script. It is 0xf9800800 and 0x0700000 for both images.
But.... have no success. It looks like I`m close to the goal.
Any ideas?
Noone intersted in?
I`ve found UART Rx Tx points on the motherboard and now I can get some debug info.
I see I can load images into RAM but...
Code:
debug EMMC boot: print init OK
debug EMMC boot: send RST_N .
debug EMMC boot: start eMMC boot......
OnChipRom: fastboot1 Verif sucess !
[BDID]boardid: 745 <7.4.5>
battery ocv is 4141 mv
�����������������������������������������������������壂�{��?O
H�����������w!!I㡡�v�J�ơ�����硾�B����9�F�F�$�/"�0D�c���������f��B���B�f��B�rreset device done.
start enum.
enum done intr
Enum is starting.
usb reset intr
enum done intr
NULL package
NULL package
USB ENUM OK.
init ser device done....
USB:: Err!! Unknown USB setup packet!
NULL package
USB:: Err!! Unknown USB setup packet!
NULL package
USB:: Err!! Unknown USB setup packet!
NULL package
USB:: Err!! Unknown USB setup packet!
NULL package
USB:: Err!! Unknown USB setup packet!
NULL package
uFileAddress=ss=f9800800
start armboot download mode
[BDID]boardid: 745 <7.4.5>
battery 펟v���W�����ʝcn�g������
H�����������w!!I㡡�v�J�ơ�����硾�B����9�F�F�$�/"�0D�c���������f��B���B�f���gc姾����fB�ʔ
thats all for a while
i have same problem pleas tell me if you fix it
michfood said:
Noone intersted in?
I`ve found UART Rx Tx points on the motherboard and now I can get some debug info.
I see I can load images into RAM but...
Code:
debug EMMC boot: print init OK
debug EMMC boot: send RST_N .
debug EMMC boot: start eMMC boot......
OnChipRom: fastboot1 Verif sucess !
[BDID]boardid: 745 <7.4.5>
battery ocv is 4141 mv
�����������������������������������������������������壂�{��?O
H�����������w!!I㡡�v�J�ơ�����硾�B����9�F�F�$�/"�0D�c���������f��B���B�f��B�rreset device done.
start enum.
enum done intr
Enum is starting.
usb reset intr
enum done intr
NULL package
NULL package
USB ENUM OK.
init ser device done....
USB:: Err!! Unknown USB setup packet!
NULL package
USB:: Err!! Unknown USB setup packet!
NULL package
USB:: Err!! Unknown USB setup packet!
NULL package
USB:: Err!! Unknown USB setup packet!
NULL package
USB:: Err!! Unknown USB setup packet!
NULL package
uFileAddress=ss=f9800800
start armboot download mode
[BDID]boardid: 745 <7.4.5>
battery 펟v���W�����ʝcn�g������
H�����������w!!I㡡�v�J�ơ�����硾�B����9�F�F�$�/"�0D�c���������f��B���B�f���gc姾����fB�ʔ
thats all for a while
Click to expand...
Click to collapse
Hello, can you uload somewere the python file to have a look at it? Also the log you have provided to us it's the whole log?
no the log is not full.
it changes UART speed while booting.
script:
Code:
#!/usr/bin/python
#-*- coding: utf-8 -*-
import os
import os.path
import serial, time
import array
import sys, getopt
class bootdownload(object):
'''
Hisilicon boot downloader
>>> downloader = bootdownload()
>>> downloader.download(filename)
'''
# crctab calculated by Mark G. Mendel, Network Systems Corporation
crctable = [
0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50a5, 0x60c6, 0x70e7,
0x8108, 0x9129, 0xa14a, 0xb16b, 0xc18c, 0xd1ad, 0xe1ce, 0xf1ef,
0x1231, 0x0210, 0x3273, 0x2252, 0x52b5, 0x4294, 0x72f7, 0x62d6,
0x9339, 0x8318, 0xb37b, 0xa35a, 0xd3bd, 0xc39c, 0xf3ff, 0xe3de,
0x2462, 0x3443, 0x0420, 0x1401, 0x64e6, 0x74c7, 0x44a4, 0x5485,
0xa56a, 0xb54b, 0x8528, 0x9509, 0xe5ee, 0xf5cf, 0xc5ac, 0xd58d,
0x3653, 0x2672, 0x1611, 0x0630, 0x76d7, 0x66f6, 0x5695, 0x46b4,
0xb75b, 0xa77a, 0x9719, 0x8738, 0xf7df, 0xe7fe, 0xd79d, 0xc7bc,
0x48c4, 0x58e5, 0x6886, 0x78a7, 0x0840, 0x1861, 0x2802, 0x3823,
0xc9cc, 0xd9ed, 0xe98e, 0xf9af, 0x8948, 0x9969, 0xa90a, 0xb92b,
0x5af5, 0x4ad4, 0x7ab7, 0x6a96, 0x1a71, 0x0a50, 0x3a33, 0x2a12,
0xdbfd, 0xcbdc, 0xfbbf, 0xeb9e, 0x9b79, 0x8b58, 0xbb3b, 0xab1a,
0x6ca6, 0x7c87, 0x4ce4, 0x5cc5, 0x2c22, 0x3c03, 0x0c60, 0x1c41,
0xedae, 0xfd8f, 0xcdec, 0xddcd, 0xad2a, 0xbd0b, 0x8d68, 0x9d49,
0x7e97, 0x6eb6, 0x5ed5, 0x4ef4, 0x3e13, 0x2e32, 0x1e51, 0x0e70,
0xff9f, 0xefbe, 0xdfdd, 0xcffc, 0xbf1b, 0xaf3a, 0x9f59, 0x8f78,
0x9188, 0x81a9, 0xb1ca, 0xa1eb, 0xd10c, 0xc12d, 0xf14e, 0xe16f,
0x1080, 0x00a1, 0x30c2, 0x20e3, 0x5004, 0x4025, 0x7046, 0x6067,
0x83b9, 0x9398, 0xa3fb, 0xb3da, 0xc33d, 0xd31c, 0xe37f, 0xf35e,
0x02b1, 0x1290, 0x22f3, 0x32d2, 0x4235, 0x5214, 0x6277, 0x7256,
0xb5ea, 0xa5cb, 0x95a8, 0x8589, 0xf56e, 0xe54f, 0xd52c, 0xc50d,
0x34e2, 0x24c3, 0x14a0, 0x0481, 0x7466, 0x6447, 0x5424, 0x4405,
0xa7db, 0xb7fa, 0x8799, 0x97b8, 0xe75f, 0xf77e, 0xc71d, 0xd73c,
0x26d3, 0x36f2, 0x0691, 0x16b0, 0x6657, 0x7676, 0x4615, 0x5634,
0xd94c, 0xc96d, 0xf90e, 0xe92f, 0x99c8, 0x89e9, 0xb98a, 0xa9ab,
0x5844, 0x4865, 0x7806, 0x6827, 0x18c0, 0x08e1, 0x3882, 0x28a3,
0xcb7d, 0xdb5c, 0xeb3f, 0xfb1e, 0x8bf9, 0x9bd8, 0xabbb, 0xbb9a,
0x4a75, 0x5a54, 0x6a37, 0x7a16, 0x0af1, 0x1ad0, 0x2ab3, 0x3a92,
0xfd2e, 0xed0f, 0xdd6c, 0xcd4d, 0xbdaa, 0xad8b, 0x9de8, 0x8dc9,
0x7c26, 0x6c07, 0x5c64, 0x4c45, 0x3ca2, 0x2c83, 0x1ce0, 0x0cc1,
0xef1f, 0xff3e, 0xcf5d, 0xdf7c, 0xaf9b, 0xbfba, 0x8fd9, 0x9ff8,
0x6e17, 0x7e36, 0x4e55, 0x5e74, 0x2e93, 0x3eb2, 0x0ed1, 0x1ef0,
]
startframe = {
'hi3716cv200':[0xFE,0x00,0xFF,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x02,0x01]
}
headframe = {
'hi3716cv200':[0xFE,0x00,0xFF,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x02,0x01]
}
bootheadaddress = {
'hi3716cv200':0xF9800800
}
bootdownloadaddress = {
'hi3716cv200':0x07000000
}
BOOT_HEAD_LEN = 0x4F00
MAX_DATA_LEN = 0x400
def __init__(self,chiptype,serialport):
try:
self.s = serial.Serial(port=serialport, baudrate=115200, timeout=1)
except serial.serialutil.SerialException:
#no serial connection
self.s = None
print "\nFailed to open serial!", serialport
sys.exit(2)
self.chip = chiptype
def __del__(self):
if self.s != None:
self.s.close()
def calc_crc(self, data, crc=0):
for char in data:
crc = ((crc << 8) | ord(char)) ^ self.crctable[(crc >> 8) & 0xff]
for i in range(0,2):
crc = ((crc << 8) | 0) ^ self.crctable[(crc >> 8) & 0xff]
return crc & 0xffff
def getsize(self, filename):
st = os.stat(filename)
return st.st_size
def sendframe(self, data, loop):
for i in range(1, loop):
self.s.flushOutput()
self.s.write(data)
self.s.flushInput()
try:
ack = self.s.read()
if len(ack) == 1:
if ack == chr(0xaa):
return None
except:
return None
print 'failed'
def sendstartframe(self):
self.s.setTimeout(0.01)
data = array.array('B', self.startframe[self.chip]).tostring()
crc = self.calc_crc(data)
data += chr((crc >> 8)&0xff)
data += chr(crc&0xff)
self.sendframe(data,10000)
def sendheadframe(self,length,address):
self.s.setTimeout(0.03)
self.headframe[self.chip][4] = (length>>24)&0xff
self.headframe[self.chip][5] = (length>>16)&0xff
self.headframe[self.chip][6] = (length>>8)&0xff
self.headframe[self.chip][7] = (length)&0xff
self.headframe[self.chip][8] = (address>>24)&0xff
self.headframe[self.chip][9] = (address>>16)&0xff
self.headframe[self.chip][10] = (address>>8)&0xff
self.headframe[self.chip][11] = (address)&0xff
data = array.array('B', self.headframe[self.chip]).tostring()
crc = self.calc_crc(data)
data += chr((crc >> 8)&0xff)
data += chr(crc&0xff)
self.sendframe(data,16)
def senddataframe(self,seq,data):
self.s.setTimeout(0.15)
head = chr(0xDA)
head += chr(seq&0xFF)
head += chr((~seq)&0xFF)
data = head + data
crc = self.calc_crc(data)
data += chr((crc >> 8)&0xff)
data += chr(crc&0xff)
self.sendframe(data,32)
def sendtailframe(self,seq):
data = chr(0xED)
data += chr(seq&0xFF)
data += chr((~seq)&0xFF)
crc = self.calc_crc(data)
data += chr((crc >> 8)&0xff)
data += chr(crc&0xff)
self.sendframe(data,16)
def senddata(self, data, address):
length=len(data)
self.sendheadframe(length,address)
seq=1
while length > self.MAX_DATA_LEN:
self.senddataframe(seq,data[(seq-1)*self.MAX_DATA_LEN:seq*self.MAX_DATA_LEN])
seq = seq+1
length = length-self.MAX_DATA_LEN
self.senddataframe(seq,data[(seq-1)*self.MAX_DATA_LEN:])
self.sendtailframe(seq+1)
def download(self, filename1, filename2):
f=open(filename1,"rb")
data = f.read()
f.close()
print 'Sending', filename1, '...'
self.senddata(data,self.bootheadaddress[self.chip])
print 'Done\n'
if filename2:
f=open(filename2,"rb")
data = f.read()
f.close()
print 'Sending', filename2, '...'
self.senddata(data,self.bootdownloadaddress[self.chip])
print 'Done\n'
def burnboot(chiptype, serialport, filename1, filename2=''):
downloader = bootdownload(chiptype, serialport)
downloader.download(filename1, filename2)
def startterm(serialport=0):
try:
miniterm = Miniterm(
serialport,
115200,
'N',
rtscts=False,
xonxoff=False,
echo=False,
convert_outgoing=2,
repr_mode=0,
)
except serial.SerialException, e:
sys.stderr.write("could not open port %r: %s\n" % (port, e))
sys.exit(1)
miniterm.start()
miniterm.join(True)
miniterm.join()
def main(argv):
'''
img2 = 'fastboot2.img'
'''
img1 = 'fastboot1.img'
img2 = ''
dev = '/dev/serial/by-id/usb-䕇䕎䥎_㌲㔴㜶㤸-if00-port0'
try:
opts, args = getopt.getopt(argv,"hd:",["img1=","img2="])
except getopt.GetoptError:
print 'hisi-idt.py -d device --img1 <fastboot1> --img2 <fastboot2>'
sys.exit(2)
for opt, arg in opts:
if opt == '-h':
print 'hisi-idt.py -d device --img1 <fastboot1> --img2 <fastboot2>'
sys.exit()
elif opt in ("-d"):
dev = arg
elif opt in ("--img1"):
img1 = arg
elif opt in ("--img2"):
img2 = arg
print '+----------------------+'
print ' Serial: ', dev
print ' Image1: ', img1
print ' Image2: ', img2
print '+----------------------+\n'
if not os.path.isfile(img1):
print "Image don't exists:", img1
sys.exit(1)
if (img2):
if not os.path.isfile(img2):
print "Image don't exists:", img2
sys.exit(1)
burnboot('hi3716cv200', dev, img1, img2)
if __name__ == "__main__":
main(sys.argv[1:])
logs:
Code:
��������������������������������������������������������������������������������������������������������������������������0
===>vbus_is_high!
fastboot1 charger_type:CHARGER_TYPE_PC
get_hw_config_int,hw_afreq:1200000.
get_efuse_value,efuse ATE_flag temp:0x0af00000.
ATE PASS,ate flag value:0x00000001.
get_efuse_value,efuse acpu_freq change level:0x8e186100.
get_efuse_value,efuse afreq change level val:0x00000000.
get_efuse_value,efuse acpu_freq level:0x8e186100.
get_efuse_value,efuse acpu freq sys level:0x00000000.
###INFO###,soc_freq = hw_afreq, efuse_afreq:1200000,hw_afreq:1200000.
efuse ACPU 1.4G HPM:0.
efuse ACPU 1.2G HPM:0.
efuse ACPU 960M HPM:0.
fastboot: acpu_dvfs_init successful!
begin get voltage by hpm...
prof[729000]: hpm_dly_exp = 0x00000cb0, hpm_dly_exit = 0x00000cf6!
prof[960000]: hpm_dly_exp = 0x00000cb6, hpm_dly_exit = 0x00000cfc!
prof[1200000]: hpm_dly_exp = 0x00000e94, hpm_dly_exit = 0x00000eda!
acpu support freq num:5
volt:0x0000004a 0x0000004a 0x0000004a 0x0000004a 0x00000057
acpu_get_dvfs_volt,g_afreq_max_pro is :5��acpu max freq:1200000.
#### success !!!!! set_acpu_freq: acpu support freq num is 5 and start is 4 .
get_ddr_type 1; (lpddr2: 0; lpddr3: 1)
pass the func addr: [0xfff81b10]: 0xf980d044ddr_init(): get_ddr_type: 1
ddr freq: 800000
in lpddr3_init: mode: 0; freq_config: 800
switch ddr voltage: 1.25V -> 1.2V
lpddr3_init 150
lpddr3_150_rank0_init_pass
lpddr3_150_rank1_init_pass
lpddr3_init 266
lpddr3_266_rank0_init_pass
lpddr3_266_rank1_init_pass
lpddr3_init 400
lpddr3_400_rank0_init_pass
lpddr3_400_rank1_init_pass
switch ddr voltage: 1.2V -> 1.25V
lpddr3_init 533
lpddr3_rank0_phydraminit_pass
lpddr3_cat_pass
lpddr3_533_rank0_init_pass
rdet_lbs_passrdet_ds_passrdet_rbs_av_passwdet_lbs_passwdet_ds_passwdet_rbs_av_passlpddr3_533_rank1_init_pass
lpddr3_init 800
lpddr3_rank0_phydraminit_pass
lpddr3_cat_pass
lpddr3_800_rank0_init_pass
rdet_lbs_passrdet_ds_passrdet_rbs_av_passwdet_lbs_passwdet_ds_passwdet_rbs_av_passlpddr3_800_rank1_init_pass
ERROR: tmp_freq: 0
tmp_freq: 400000
MR8 value=:0x0000005b
MR5 value=:0x00000001
Samsung DDR
MR6 value=:0x00000004
MR5 value=:0x00000000
[MR7,MR6,MR5]=:0x00000401
ddr init pll1 0x00007800!ddrc_qos_init done
bootloader_logger got buffer at 0x07300000, size 0x00040000
bootloader_logger: no valid data in buffer , (sig = 0x43474244)
[emmc_set_card_ready]emmc id:0xb64432c9 0x520644c1 0x474e4433 0x15010038
[emmc_set_card_ready]manufid: 0x00000015
DDR mode emmc
--error: gps/ldo16
[SEC]check_oem_hw: carrier_id = 0x00000000
DX_BIV_SwImageVerification image id is 0x00000011, return is 0xf1000002 !
execute_load_fastboot2: In secure mode and fastboot2 verify failed!
Load fastboot2 failed!
hw_error_print : led = 12. func = 0. err = 0.
[fastboot]:k3_led_green_on
[fastboot]:k3_led_green_on
[fastboot]:k3_led_green_on
[fastboot]:k3_led_green_on
[fastboot]:k3_led_green_on
[fastboot]:k3_led_green_on
enter fatal_exception!
Unrecovery Error, go to onchiprom usbloader!
USB Soft Disconnect
��������������������������������������������������������������������������������������������������������������������������0
===>vbus_is_high!
fastboot1 charger_type:CHARGER_TYPE_PC
get_hw_config_int,hw_afreq:1200000.
get_efuse_value,efuse ATE_flag temp:0x0af00000.
ATE PASS,ate flag value:0x00000001.
get_efuse_value,efuse acpu_freq change level:0x8e186100.
get_efuse_value,efuse afreq change level val:0x00000000.
get_efuse_value,efuse acpu_freq level:0x8e186100.
get_efuse_value,efuse acpu freq sys level:0x00000000.
###INFO###,soc_freq = hw_afreq, efuse_afreq:1200000,hw_afreq:1200000.
efuse ACPU 1.4G HPM:0.
efuse ACPU 1.2G HPM:0.
efuse ACPU 960M HPM:0.
fastboot: acpu_dvfs_init successful!
begin get voltage by hpm...
prof[729000]: hpm_dly_exp = 0x00000caf, hpm_dly_exit = 0x00000cf5!
prof[960000]: hpm_dly_exp = 0x00000cb5, hpm_dly_exit = 0x00000cfb!
prof[1200000]: hpm_dly_exp = 0x00000e90, hpm_dly_exit = 0x00000ed6!
acpu support freq num:5
volt:0x0000004a 0x0000004a 0x0000004a 0x0000004a 0x00000057
acpu_get_dvfs_volt,g_afreq_max_pro is :5��acpu max freq:1200000.
#### success !!!!! set_acpu_freq: acpu support freq num is 5 and start is 4 .
get_ddr_type 1; (lpddr2: 0; lpddr3: 1)
pass the func addr: [0xfff81b10]: 0xf980d044ddr_init(): get_ddr_type: 1
ddr freq: 800000
in lpddr3_init: mode: 0; freq_config: 800
switch ddr voltage: 1.25V -> 1.2V
lpddr3_init 150
lpddr3_150_rank0_init_pass
lpddr3_150_rank1_init_pass
lpddr3_init 266
lpddr3_266_rank0_init_pass
lpddr3_266_rank1_init_pass
lpddr3_init 400
lpddr3_400_rank0_init_pass
lpddr3_400_rank1_init_pass
switch ddr voltage: 1.2V -> 1.25V
lpddr3_init 533
lpddr3_rank0_phydraminit_pass
lpddr3_cat_pass
lpddr3_533_rank0_init_pass
rdet_lbs_passrdet_ds_passrdet_rbs_av_passwdet_lbs_passwdet_ds_passwdet_rbs_av_passlpddr3_533_rank1_init_pass
lpddr3_init 800
lpddr3_rank0_phydraminit_pass
lpddr3_cat_pass
lpddr3_800_rank0_init_pass
rdet_lbs_passrdet_ds_passrdet_rbs_av_passwdet_lbs_passwdet_ds_passwdet_rbs_av_passlpddr3_800_rank1_init_pass
ERROR: tmp_freq: 0
tmp_freq: 400000
MR8 value=:0x0000005b
MR5 value=:0x00000001
Samsung DDR
MR6 value=:0x00000004
MR5 value=:0x00000000
[MR7,MR6,MR5]=:0x00000401
ddr init pll1 0x00007800!ddrc_qos_init done
bootloader_logger got buffer at 0x07300000, size 0x00040000
bootloader_logger: no valid data in buffer , (sig = 0x43474244)
[emmc_set_card_ready]emmc id:0xb64432c9 0x520644c1 0x474e4433 0x15010038
[emmc_set_card_ready]manufid: 0x00000015
DDR mode emmc
--error: gps/ldo16
[SEC]check_oem_hw: carrier_id = 0x00000000
DX_BIV_SwImageVerification image id is 0x00000011, return is 0xf1000002 !
execute_load_fastboot2: In secure mode and fastboot2 verify failed!
Load fastboot2 failed!
hw_error_print : led = 12. func = 0. err = 0.
[fastboot]:k3_led_green_on
[fastboot]:k3_led_green_on
[fastboot]:k3_led_green_on
[fastboot]:k3_led_green_on
[fastboot]:k3_led_green_on
[fastboot]:k3_led_green_on
enter fatal_exception!
Unrecovery Error, go to onchiprom usbloader!
USB Soft Disconnect
��������������������������������������������������������������������������������������������������������������������������́v
nUpdate debug uart baudRate to :921600
===>vbus_is_high!
fastboot1 download_mode:1
fastboot1 charger_type:CHARGER_TYPE_PC
get_hw_config_int,hw_afreq:1200000.
get_efuse_value,efuse ATE_flag temp:0x0af00000.
ATE PASS,ate flag value:0x00000001.
get_efuse_value,efuse acpu_freq change level:0x8e186100.
get_efuse_value,efuse afreq change level val:0x00000000.
get_efuse_value,efuse acpu_freq level:0x8e186100.
get_efuse_value,efuse acpu freq sys level:0x00000000.
###INFO###,soc_freq = hw_afreq, efuse_afreq:1200000,hw_afreq:1200000.
efuse ACPU 1.4G HPM:0.
efuse ACPU 1.2G HPM:0.
efuse ACPU 960M HPM:0.
fastboot: acpu_dvfs_init successful!
begin get voltage by hpm...
prof[729000]: hpm_dly_exp = 0x00000cad, hpm_dly_exit = 0x00000cf3!
prof[960000]: hpm_dly_exp = 0x00000cad, hpm_dly_exit = 0x00000cf3!
prof[1200000]: hpm_dly_exp = 0x00000e88, hpm_dly_exit = 0x00000ece!
acpu support freq num:5
volt:0x0000004a 0x0000004a 0x0000004a 0x0000004a 0x00000057
acpu_get_dvfs_volt,g_afreq_max_pro is :5��acpu max freq:1200000.
#### success !!!!! set_acpu_freq: acpu support freq num is 5 and start is 4 .
get_ddr_type 1; (lpddr2: 0; lpddr3: 1)
pass the func addr: [0xfff81b10]: 0xf980d044ddr_init(): get_ddr_type: 1
ddr freq: 800000
in lpddr3_init: mode: 0; freq_config: 800
switch ddr voltage: 1.25V -> 1.2V
lpddr3_init 150
lpddr3_150_rank0_init_pass
lpddr3_150_rank1_init_pass
lpddr3_init 266
lpddr3_266_rank0_init_pass
lpddr3_266_rank1_init_pass
lpddr3_init 400
lpddr3_400_rank0_init_pass
lpddr3_400_rank1_init_pass
switch ddr voltage: 1.2V -> 1.25V
lpddr3_init 533
lpddr3_rank0_phydraminit_pass
lpddr3_cat_pass
lpddr3_533_rank0_init_pass
rdet_lbs_passrdet_ds_passrdet_rbs_av_passwdet_lbs_passwdet_ds_passwdet_rbs_av_passlpddr3_533_rank1_init_pass
lpddr3_init 800
lpddr3_rank0_phydraminit_pass
lpddr3_cat_pass
lpddr3_800_rank0_init_pass
rdet_lbs_passrdet_ds_passrdet_rbs_av_passwdet_lbs_passwdet_ds_passwdet_rbs_av_passlpddr3_800_rank1_init_pass
ERROR: tmp_freq: 0
tmp_freq: 400000
MR8 value=:0x0000005b
MR5 value=:0x00000001
Samsung DDR
MR6 value=:0x00000004
MR5 value=:0x00000000
[MR7,MR6,MR5]=:0x00000401
ddr init pll1 0x00007800!ddrc_qos_init done
bootloader_logger got buffer at 0x07300000, size 0x00040000
bootloader_logger: found existing buffer, size 1044, addr 24
USB_DOWNLOAD_MODE
timestamp: 0xfff2c982
return from fastboot1!
uFileAddress=ss=07000000
uFileAddress=ss=07000000
uFileAddress=ss=07000000
image verify failed!
@michfood hmm okay i had a look. As i can understand your phone doesn't accept the second fastboot.img. I don't think that the problem is the crctable. Maybe you have a wrong fastboot.img?? Try to get a new dump from an another phone.
If your image it's an original dump then there is no reason why it fails to pass the check. The reason why i think the crc signature it's correct it is because you are able to download both images(i saw more details in 96boards forum).
the second image do not start.
after loading first - it says:
"timestamp: 0xfff2c982
return from fastboot1!
uFileAddress=ss=07000000
image verify failed!"
so it is returned from fastboot1 to onchip loader and tries to load second image - but fails.
have no possibility to look normal boot as all phones are under guaranty - nobody want to solder uart pins
Actually i didn't said to you to look at a normal boot uart log. In a normal boot you'll just see the kernel booting. Maybe you second fastboot.img is faulty...
the second boot is correct - from the update.app, as the first one
there is a thought that message "image verify failed" is an onchip loader message after fastboot2 loads, runs, made some checks of other partitions (broken) (with no UART messages) and exits with some error code.
here we can see difference between boot from eMMC (left) and boot from RAM (right)
http://clip2net.com/s/3mFVeRi
No, i think fastboot2 doesn't boot at all. Look at ths:
Code:
execute_load_fastboot2: In secure mode and fastboot2 verify failed!
If you try to load only one fastboot.img? what happens?
you just look at log booting from emmc. while booting from ram - no such message.
and once more - after loading first fastboot to RAM it exits with message "return from fastboot1" and tries to load second file to RAM. read carefully
I've got a honor 4x which uses the same chipset. Mine is also bricked but loads into Fastboot&rescue mode, which does not allow me to update the fastboot image due to a signature verify problem (BL31 image). This is related to ARM Trusted Firmware. Also, it does not load a new update.app from the SDCARD - Simply hangs on the logo screen. Therefore, I need to force it to flash a new fastboot.img. I read the HiKey user guide, and noticed there's a J15 SEL jumper, where, when closed, will attempt to program the flash from USB OTG source. Before a pull my phone apart, I would like to know whether anybody has tried flashing a new fastboot.img via USB OTG via closing the J15 SEL jumper and whether it worked. Or if there's any other way to boot my own fastboot.img
some info. i`m looking for motherboard on ali.. have no success
Same problem
michfood said:
Hi people.
I have new bricked Huawei Honor 4c with HiSilicon Kirin 620 octacore (Hi6620) Hardly bricked.
I`ve unlocked bootloader and custom recovery used to flash it with my own update.zip from other phone (with LTE support). At the end of flashing - it turned off and bricked.
BUT! After connecting to PC via USB it flashes GREEN and RED leds a few times and after windows determines it as a device with USB\VID_12D1&PID_3609&REV_0000 and named as 䕇䕎䥎 ㌲㔴㜶㤸 .
It is Huawei`s VID. And after a lot of search I found a driver for it - and device became HUAWEI USB-COM 1.0. But nothing else.
No flash utility, nothing. HiSilicon-IDT for K3 processor doesn`t work.
After another searches I found very similar device - it`s named HiKey board. Based on Hisilicon Kirin processor too https://www.96boards.org/.
As we can see - it is very close to ours phone.
It is fully documented and has a lot of spec about proc and other.
And in it`s manual written about recovery procedure after damage of ROM - when device is powered on - it is in "download mode" for 90 seconds - abslolutly like mine phone - after 90 second it turns off from windows.
In short - it is ability to write 2 fastboot images (fastboot1.img and fastboot2.img) in RAM, launch them and using fastboot command flash images to eMMC. They use SERIAL COM PORT to manipulate with device.
It uses utility called "hisi-idt.py" - it is a python script for Linux based machines.
I`ve Installed Linux Mint and try it.
And I`ve some result - first image is going fine and I receive "Done"
But second image is always "Failed". And fastboot command "fastboot devices" do not list any devices.
Viewing binaries from my ROM (Fastboot.img and Fastboot1.img) in HEX - I can see load addresses to ROM are the same as in python script. It is 0xf9800800 and 0x0700000 for both images.
But.... have no success. It looks like I`m close to the goal.
Any ideas?
Click to expand...
Click to collapse
Hi,
I'm stucked in the same hard brick. Could you provide a download link for the driver you found?
Are there news about progresses with this issue?
Thank you very much, I'll try to help if you want
In China,Hisilicon Kirin 620 is hi6210,not 6620.You can get the source code of HUAWEI Honor 4C from:http://emuirom123.dbankcloud.com/Cherrymini_kernel_[Android 5.1 EMUI3.1].tar.gz?rid=1520
It is for the China Mobile version(CHM-TL00H) with Kirin 620.
Chinese version Kirin 620 runs 8×A53 1.2GHz cores and ARM Mali-450 MP4 Gpu.The baseband of hisilicon kirin 620 is Balong V8R1SFT.
Sorry for my bad English.
来自搭载Android 2.3 GingerBread的华为Y220-T10
JackLenz said:
Hi,
I'm stucked in the same hard brick. Could you provide a download link for the driver you found?
Are there news about progresses with this issue?
Thank you very much, I'll try to help if you want
Click to expand...
Click to collapse
still nothing
zhaozihanzzh said:
In China,Hisilicon Kirin 620 is hi6210,not 6620.You can get the source code of HUAWEI Honor 4C from:http://emuirom123.dbankcloud.com/Cherrymini_kernel_[Android 5.1 EMUI3.1].tar.gz?rid=1520
It is for the China Mobile version(CHM-TL00H) with Kirin 620.
Chinese version Kirin 620 runs 8×A53 1.2GHz cores and ARM Mali-450 MP4 Gpu.The baseband of hisilicon kirin 620 is Balong V8R1SFT.
Sorry for my bad English.
来自搭载Android 2.3 GingerBread的华为Y220-T10
Click to expand...
Click to collapse
thanks for info - but how it helps?
michfood said:
still nothing
Click to expand...
Click to collapse
And what about the driver link?
I found some source code on github, maybe it could be useful
https://github.com/muhammadfahadbaig/android_vendor_huawei_hi6210sft