[size=18][COLOR=darkgreen][/COLOR][/SIZE]
[size=18][COLOR=darkgreen]Bricked-Kernel Nexus 5 (hammerhead)[/COLOR][/SIZE][INDENT]
[size=12][COLOR=darkgreen]XDA-Thread[/COLOR][/SIZE]
[size=18][COLOR=darkgreen]Features:[/COLOR][/SIZE][INDENT]* Support für Multi-Rom *neu ab 30.12.
* Basis Google's MSM 3.4-Ssource
* Diverse Fixes, Verbesserungen und Optimirungen (schaut dazu ins GitHub)
* kompiliert mit GCC4.7.2 Toolchain (Linaro 09.12)
* -O3 optimimiert
* Snapdragon & CortexA15 Optimierungen
* Qcom's Hotplug-Binary durch msm_mpdecision ersetzt (IN-KERNEL, bessere Akku-Performance und-Lebensdauer)
* umfangreiches sysfs-Interface für mpdecision mit vielen Optiemerungsmöglichkeiten (/sys/kernel/msm_mpdecision/)
* Qcom's thermal binary wurde durch eine eigens entwickelte IN-KERNEL-Lösung ersetzt. (/sys/kernel/msm_thermal/)
* export krait version to: /sys/kernel/debug/krait_variant
* OC bis zu 2,5Ghz
* UC bis 96Mhz
* Undervolting (faux123)
* Voreingestellt: 300 Mhz min & 2265,6 Mhz max
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.
* 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
[/INDENT][COLOR=darkgreen][size=18]Changelog???[/SIZE][/COLOR][INDENT]There will be no more changelogs.
Bei jedem Download werden Links zum GitHub zur Verfügung gestellt, wo die Versionen verglichen werden
[/INDENT][COLOR=red][size=18]W[size=18]as[/SIZE] ist sweep2wake?[/SIZE][/COLOR][INDENT]Disabled als default, entweder mit einer App wie KControl oder mit:
sysfs: echo 1 > /sys/android_touch/sweep2wake
aktivieren
[/INDENT][COLOR=red][size=18]W[size=18]as[/SIZE] ist [size=18]doubletap[/SIZE]2wake/KnockKnock?[/SIZE][/COLOR][INDENT]Disabled als default, aktivieren mit einer App wie KControl oderr mit
sysfs: echo 1 > /sys/android_touch/doubletap2wake
[/INDENT][COLOR=blue][size=18]Installation:[/SIZE][/COLOR][INDENT]Via Recovery flashen ....Fertig :winki:
[/INDENT][COLOR=blue][size=18]Wo Ihr Bugs melden könnt:[/SIZE][/COLOR][INDENT][COLOR=red]Issuetracker @ https://github.com/showp1984/bricked-hammerhead/issues[/COLOR]
"showp1984@gmail.com"[/email]
IRC Chat: Freenode IRC #bricked
[/INDENT][COLOR=red][size=18]Download:[/SIZE][/COLOR]
[INDENT]Ich übernehme keine Garantie für Schäden am Device ... wenn Euch das klar isr und nur dann:
[/INDENT][/INDENT][size=14]*stables*[/SIZE] [[COLOR=seagreen]STABLE[/COLOR]] [DLMURL="http://bricked.de/index.php?action=kdownload&device=hammerhead&release=stable&type=aosp"]Click me[/DLMURL]
[size=14]*betas* [/SIZE][[COLOR=red]Possibly unstable, for testing only.[/COLOR]] [DLMURL="http://bricked.de/index.php?action=kdownload&device=hammerhead&release=beta&type=aosp"]Click me[/DLMURL]
[size=14]Und hier noch einige weitere sehr spezifische Informationen:[/SIZE]
[size=12]Was ist msm-Thermal[/SIZE]
Spoiler anzeigen
[FONT=Verdana]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)[/FONT]
[FONT=Verdana]Check /sys/kernel/msm_thermal/conf/ for the thermal configuration [/FONT]
[FONT=Verdana]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)[/FONT]
[FONT=Verdana][...]mid[...] = same as above, just for phase 2
[...]low[...] = Lowest threshold (phase 1)[/FONT]
[FONT=Verdana]check_interval_ms = how often shall we check? (sampling rate)[/FONT]
[FONT=Verdana]shutdown_temp = if we reach this shut down the device![/FONT]
[FONT=Verdana]If you want to see msm_thermal doing it's job:
Code:
adb shell cat /proc/kmsg | grep 'thermal' [/FONT]
[size=12]Was ist msm-mpdecision?[/SIZE]
Spoiler anzeigen
[FONT=Verdana]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.[/FONT]
[FONT=Verdana]Check /sys/kernel/msm_mpdecision/conf/ for the configuration.[/FONT]
[FONT=Verdana]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)
[size=10]If cpu0 is below that value and a core up of another cpu is requested, nothing will happen.[/SIZE][/FONT]
[size=10][FONT=Verdana]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)[/FONT][/SIZE]
[FONT=Verdana]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.[/FONT]
[FONT=Verdana]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)[/FONT]
[FONT=Verdana]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'.[/FONT]
[FONT=Verdana]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[/FONT]
[FONT=Verdana]etc...[/FONT]
[FONT=Verdana]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.[/FONT]
[FONT=Verdana](all times are in ms)
If you want to see the mpdecision magic happening:
Code:
adb shell cat /proc/kmsg | grep 'MPDEC' [/FONT]
[size=12]Mpdesicions "input even boost" aka Project Butter[/SIZE]
Spoiler anzeigen
[FONT=Verdana]his 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:
root@android:/sys/kernel/msm_mpdecision/conf # ls | grep boost
boost_enabled
boost_freqs
boost_time[/FONT]
[FONT=Verdana]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.
Example: To change the boost freq of cpu3 (and 4,5,6,7,8, etc) the echo would look as follows:
Code:
echo "3 960000" > /sys/kernel/msm_mpdecision/conf/boost_freqs
for cpu0:
Code:
echo "0 960000" > /sys/kernel/msm_mpdecision/conf/boost_freqs
Defaults:
Code:
cat /sys/kernel/msm_mpdecision/conf/boost_freqs 960000 960000 729600 576000 [/FONT]
[size=14][COLOR=red]Warum habe ich kein WLAN mehr?[/COLOR][/SIZE]
Spoiler anzeigen
[FONT=Verdana]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.[/FONT]
[FONT=Verdana]The zip adds module insertion to your ramdisk, if that fails for some reason the wlan module cannot be inserted.[/FONT]
[FONT=Verdana]if
Code:
adb shell lsmod
doesn't show this:
Code:
tun 14701 0 - Live 0x00000000 cifs 275399 0 - Live 0x00000000 bcmdhd 2964650 0 - Live 0x00000000 (C)
Then something went horribly wrong.
Chances are that I broke it and this should never happen.
One post in the issue tracker will probably fix it with the next release [/FONT]
[FONT=Verdana]You can restore wlan for your current bootup by executing:
Code:
adb shell su insmod /system/lib/modules/bcmdhd.ko [/FONT]
[size=12]Gibt es eine App zum optimalen einstellen der Kernel-Features?[/SIZE]
Ja, die App heißt KControl ---> PlayStore
-----[INDENT][COLOR=red][size=18]What is sweep2wake?[/SIZE][/COLOR][INDENT][youtube]APR6iR3QnBc[/youtube]
Disabled as default, activate through an app like KControl or over sysfs: echo 1 > /sys/android_touch/sweep2wake
[/INDENT][COLOR=red][size=18]What is doubletap2wake / knock knock?[/SIZE][/COLOR][INDENT][youtube]S2Q3hRSSRak[/youtube]
Disabled as default, activate through an appapp like KControl or over sysfs: echo 1 > /sys/android_touch/doubletap2wake
[/INDENT][/INDENT][size=14]
-
stable für lollipop 29.11.14[/SIZE]