[KERNEL]> BRICKED <[HH][S2W-KnockKnock/DT2W]

EdgA

EdgA

Enthusiast
1.209
smile.gif


Bricked-Kernel Nexus 5 (hammerhead)







Features:
* 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​






Changelog???
There will be no more changelogs.
Bei jedem Download werden Links zum GitHub zur Verfügung gestellt, wo die Versionen verglichen werden


Was ist sweep2wake?
Disabled als default, entweder mit einer App wie KControl oder mit:
sysfs: echo 1 > /sys/android_touch/sweep2wake

aktivieren


Was ist doubletap2wake/KnockKnock?
Disabled als default, aktivieren mit einer App wie KControl oderr mit
sysfs: echo 1 > /sys/android_touch/doubletap2wake


Installation:
Via Recovery flashen ....Fertig :winki:
Wo Ihr Bugs melden könnt:
Issuetracker @ https://github.com/showp1984/bricked-hammerhead/issues

showp1984@gmail.com
IRC Chat: Freenode IRC #bricked



Download:
Ich übernehme keine Garantie für Schäden am Device ... wenn Euch das klar isr und nur dann:
*stables* [STABLE] Click me

*betas* [Possibly unstable, for testing only.] Click me





Und hier noch einige weitere sehr spezifische Informationen:

Was ist 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
smile.gif


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)

shutdown_temp = if we reach this shut down the device!

If you want to see msm_thermal doing it's job:
Code:
adb shell cat /proc/kmsg | grep 'thermal'


Was ist 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'

Mpdesicions "input even boost" aka Project Butter
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

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

Warum habe ich kein WLAN mehr?
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 module insertion 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 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
smile.gif


You can restore wlan for your current bootup by executing:
Code:
adb shell su insmod /system/lib/modules/bcmdhd.ko


Gibt es eine App zum optimalen einstellen der Kernel-Features?

Ja, die App heißt KControl ---> PlayStore

-----
What is sweep2wake?
[youtube]APR6iR3QnBc[/youtube]
Disabled as default, activate through an app like KControl or over sysfs: echo 1 > /sys/android_touch/sweep2wake
What is doubletap2wake / knock knock?
[youtube]S2Q3hRSSRak[/youtube]
Disabled as default, activate through an appapp like KControl or over sysfs: echo 1 > /sys/android_touch/doubletap2wake
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: Berlino, Goggle, Mucky2 und eine weitere Person
Sauber, der Mann macht sehr gute Kernels! ^^
 
Und er war doch auch derjenige, der S²W rausgebracht hat, wenn ich nicht falsch informiert bin?
Also S²W, bzw. D²TW waren für mich die letzten Gründe, warum ich das N5 haben möchte :)
 
ja, s2w is von showp (zumindest auf dem n4)
 
Hi,
hab jetzt auch mal den Kernel installiert, läuft tadellos und superfluffy (und dem Himmel sei Dank ohne Aroma)...:D;
bloss, warum sind von den letzten beiden Versionen jeweils zwei Kernel an einem Tag raus gekommen? Wo liegt da der Unterschied?

Gesendet von meinem AOSP on HammerHead mit der Android-Hilfe.de App
 
Ich glaube, die Versionen sind unterschiedlich getaktet.

Andere Frage: Ich habe das gute Google angeschmissen, um herauszufinden, was ein Kernel direkt nützt. (Was er prinzipiell tut, weiß ich, ich würde es aber jeweils gern für den Jeweiligen wissen). Könnte mich einer ganz kurz aufklären, was es mir bringt (neben besserer Akkulaufzeit)? [Ich verstehe leider die Sachen, die unter den Features aufgelistet sind nicht wirklich, so gern ich es täte!] Ich bin auch ziemlich neu in der Szene, bin aber gewollt, zu Lernen!

Und wo liegt der größte Unterschied zu einem "Hybrid-Kernel"? (Wie diesem)

Also danke schon einmal für eure super freundliche Hilfe im Voraus. ;) Schönen Abend noch!
 
Zuletzt bearbeitet:
Der Kernel ist quasi der Kern und steuert elementare Funktionen wie GPU, CPU etc. Man kann mit einem Customkernel den Prozessor übertakten, undervolten und andere Dinge. Google mal nach Govenor etc. Der Stock Kernel hat die Version 3.4 Der hybrid Kernel hat was von Linux Kernel 3.8...

Eigentlich muss man einfach etwas testen und nach seinem Verhalten schauen, ob mans braucht oder nicht.
 
Ich danke dir! :') Ich werde es wohl einfach mal probieren. Zum Laufen bekomme ich das Ding wieder, auch wenn was schief geht. Noch einmal danke!

Ich hoffe, dass meine Akkulaufzeit mit der richtigen Konfiguration auch noch etwas besser wird. Mal sehen. ;)
 
Mit der Kernel kann man sehr viel in Sachen Akku rausholen, sofern man weniger wert auf die performance legt. Einfach untertakten und/oder undervolten...
 
Zuletzt bearbeitet:
Neue Builds sind raus und wenn ich das bei XDA richtig gesehen habe, gibt es nun oder bald s2w ...
 
  • Danke
Reaktionen: Patman75
...na denn wolln wir mal...:D
Der ist quasi noch ofenfrisch...

Edit
Yup, schnurrt wie er soll...:D

Gesendet von meinem AOSP on HammerHead mit der Android-Hilfe.de App
 
Zuletzt bearbeitet:
Danke, OP ergänzt :thumbup:
 
  • Danke
Reaktionen: _DIORDNA_
Hi,
was tut der Uninstaller eigentlich? Stock Kernel flashen?
Und heißt das, man sollte den Uninstaller nutzen bevor ein neuer Kernel installiert wird?

Gesendet von meinem AOSP on HammerHead mit der Android-Hilfe.de App
 
Auf jeden Fall!
Ich denke es werden Module entfernt und der Stock Kernel geflashed, habe ich mir aber noch nicht angeschaut
 
  • Danke
Reaktionen: Patman75
Stock Kernel ist nicht in der Zip, ist auch nur 600kb groß. Denke es werden nur die weiteren Änderungen rückgängig gemacht

Gesendet von meinem Nexus 5 mit der Android-Hilfe.de App
 
  • Danke
Reaktionen: Patman75
Dann wird nur was entfernt
 
Also bei Wechsel erst Uninstaller nutzen, danach gleich Kernel flashen.

Gesendet von meinem Nexus 4 mit der Android-Hilfe.de App
 
Nein, einfach via Recovery flashen, wenn Du danach einen anderen Kernel flashen willst, dann erst den Uninstaller ...
Aber dennoch würde ich erst ein Backup machen und dann flashen...
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: Patman75

Ähnliche Themen

Bödi
Antworten
27
Aufrufe
6.207
black_bottom
B
qu4nd
  • qu4nd
2
Antworten
21
Aufrufe
4.606
qu4nd
qu4nd
Radagast
Antworten
21
Aufrufe
4.573
Radagast
Radagast
Zurück
Oben Unten