Related
Hello, guys!
I guess most of you know about this "magic patch" that significantly boosts Linux speed. It's going to be merged in the 2.6.38 branch and it's shipping with Ubuntu Natty too. But this kernel patch can be applied to a previous kernel as well, just rebuilding it with this 224 magical lines of code.
What I wanted to know is if it's possibile to rebuild our kernels with this patch, if it is already, or if it's possibile but won't have significant boosts on Android devices.
You may read more about this on Phoronix. On the 2nd page there are video demos for lazy ones!
This has been discussed here twice &found not to help because we dont use harddisk.
Sent from my GT-I9000 using XDA App
was it "proven" or "theorized" ?
You can look it up here in dev. Search
Sent from my GT-I9000 using XDA App
ragin said:
This has been discussed here twice &found not to help because we dont use harddisk.
Sent from my GT-I9000 using XDA App
Click to expand...
Click to collapse
Thank you, but can you please link the thread with this discussion? I can't seem to find it. Also, this patch regards CPU, not hard disks.
this patch will be officially introduced in the 2.6.38 kernel..
also, this kernel will have about 50% more speed increase, due to the 200 lines patch and another issue resolved after it .. in general the upcoming kernel will be blazingly fast !!
there is a script that tries to do the same as the patch for earlier kernels. which I use on my Ubuntu laptop, and yes major performance increase !!
I tried to apply it to my previous phone (HTC Hero), but didn't work. I also asked Cyanogen on his twitter, but didn't care to give me an answer..
finally I gave up, and decided to wait for the next Android version that will have the 2.6.38 in the future..
MaXo64 said:
this patch will be officially introduced in the 2.6.38 kernel..
also, this kernel will have about 50% more speed increase, due to the 200 lines patch and another issue resolved after it .. in general the upcoming kernel will be blazingly fast !!
there is a script that tries to do the same as the patch for earlier kernels. which I use on my Ubuntu laptop, and yes major performance increase !!
I tried to apply it to my previous phone (HTC Hero), but didn't work. I also asked Cyanogen on his twitter, but didn't care to give me an answer..
finally I gave up, and decided to wait for the next Android version that will have the 2.6.38 in the future..
Click to expand...
Click to collapse
I'm using that script too on Maverick! I don't think there should be a significant increase in responsiveness if you apply it on high-end systems, but our SGS might benefit from it (as my old dual core system).
You say it didn't work on your Hero, but were there any errors in dmesg or you didn't find any significant change in speed?
thunderteaser said:
I'm using that script too on Maverick! I don't think there should be a significant increase in responsiveness if you apply it on high-end systems, but our SGS might benefit from it (as my old dual core system).
You say it didn't work on your Hero, but were there any errors in dmesg or you didn't find any significant change in speed?
Click to expand...
Click to collapse
dmesg should no difference. the script just showed a lot of errors.
I tried the "non-Ubuntu" version as described in Webupd8, but still similar errors.
I guess Android place the kernel differently from Linux desktops.
I might be mistaken, but SO kernel uses its. And haven't really noticed any difference with or without it.
MaXo64 said:
this patch will be officially introduced in the 2.6.38 kernel..
also, this kernel will have about 50% more speed increase, due to the 200 lines patch and another issue resolved after it .. in general the upcoming kernel will be blazingly fast !!
there is a script that tries to do the same as the patch for earlier kernels. which I use on my Ubuntu laptop, and yes major performance increase !!
I tried to apply it to my previous phone (HTC Hero), but didn't work. I also asked Cyanogen on his twitter, but didn't care to give me an answer..
finally I gave up, and decided to wait for the next Android version that will have the 2.6.38 in the future..
Click to expand...
Click to collapse
please don't spread incorrect facts:
* the "automated per tty task groups" (or autogroup) patch - by using cgroups (in CFS - the cpu scheduler) and thus isolating several taks from each other, giving them dedicated slices of cpu power - allows the system to be more responsive under load if there is a kind of cpu hog (task producing much load)
* the speed increase is due to Nick Piggin's VFS changes and Andrea Arcangeli & Mel Gorman's Transparent Hugepages (THP) support (and of course lots of other changes)
dupel said:
I might be mistaken, but SO kernel uses its. And haven't really noticed any difference with or without it.
Click to expand...
Click to collapse
that's correct: - "sched patch : automated per tty task groups (system more smooth and responsive) (v3(since 4_3) and v4(since 4_4))"
so you tried SO kernel with the patch applied and once reverted ?
but - yeah, I got you: I'm myself running a heavy patched 2.6.37 kernel with transparent hugepages, CFS autogroup, etc. enabled - and it certainly can play off its advantage most noticably during heavy system load
zacharias.maladroit said:
that's correct: - "sched patch : automated per tty task groups (system more smooth and responsive) (v3(since 4_3) and v4(since 4_4))"
so you tried SO kernel with the patch applied and once reverted ?
but - yeah, I got you: I'm myself running a heavy patched 2.6.37 kernel with transparent hugepages, CFS autogroup, etc. enabled - and it certainly can play off its advantage most noticably during heavy system load
Click to expand...
Click to collapse
So, please, correct my noobiness, isn't Android using TTY shells? If it's not than I understand why this patch can't be applied, but if it is, rebuilding a kernel with just 200 lines more is no big deal and we all could benefit from it. It's not very common for Android to be under heavy load but hey, it's going to be default in 2.6.38, so why not?
There is a better patch :
blog.internetnews.com/skerner/2010/11/forget-200-lines-red-hat-speed.html
But I don't know if android uses shells.
Protocamlann said:
There is a better patch :
blog.internetnews.com/skerner/2010/11/forget-200-lines-red-hat-speed.html
But I don't know if android uses shells.
Click to expand...
Click to collapse
Yes, that's exactly the script I was talking about a few posts ago. On my system running 2.6.35, I did not rebuild the kernel with the "patch of wonders" but applied this script. But as you may have read, it acts in userspace which is slightly different in Android (as far as I know it's not using the same environment variables and I don't know about any ~/.bashrc equivalents, but again correct me if I'm wrong), that's why a kernel-oriented patch would be more suitable.
* well, actually newer revisions of that patch don't make use of ttys but of the task session
so basically it seems to create separate groups for each task (or program for simplicity's sake)
(source)
I'm also not sure if current Android kernel revisions use CFS at all ("Android versus Linux?")
laststufo has the autogroup patch included in his SO Kernel but I don't know how to measure its effect ... (whether it makes any difference)
* other options to improve interactivity would be to use Lennart Poettering's bash-approach (the script), like MaXo64 already posted: link
since Android uses Bourne Shell (sh) instead of BASH the script might need to be rewritten
* if it's stable enough on the SGS - yet another option would be to use Con Kolivas BFS
thunderteaser said:
Yes, that's exactly the script I was talking about a few posts ago. On my system running 2.6.35, I did not rebuild the kernel with the "patch of wonders" but applied this script. But as you may have read, it acts in userspace which is slightly different in Android (as far as I know it's not using the same environment variables and I don't know about any ~/.bashrc equivalents, but again correct me if I'm wrong), that's why a kernel-oriented patch would be more suitable.
Click to expand...
Click to collapse
well, you could rewrite that script that it is run as a init-script (afaik in /system/init.d/ )
besides that:
there are stripped down (smaller) versions of bash 4.1* that are known to work on CM6 and the HTC Hero
so it should be a possibility to use that script on stock roms, too
if you can install busybox & root it, there also should be the possibility to install bash
zacharias.maladroit said:
* well, actually newer revisions of that patch don't make use of ttys but of the task session
so basically it seems to create separate groups for each task (or program for simplicity's sake)
(source)
I'm also not sure if current Android kernel revisions use CFS at all ("Android versus Linux?")
laststufo has the autogroup patch included in his SO Kernel but I don't know how to measure its effect ... (whether it makes any difference)
* other options to improve interactivity would be to use Lennart Poettering's bash-approach (the script), like MaXo64 already posted: link
since Android uses Bourne Shell (sh) instead of BASH the script might need to be rewritten
* if it's stable enough on the SGS - yet another option would be to use Con Kolivas BFS
Click to expand...
Click to collapse
It seems you're very well informed, so thanks for the infos you're posting!
I'm not a coder, though, so I hope a kernel developer could pick this up and go for BFS. You said laststufo already implemented this patch in his kernel, so that's really good! We should just find a way of testing its effectiveness.
zacharias.maladroit said:
well, you could rewrite that script that it is run as a init-script (afaik in /system/init.d/ )
besides that:
there are stripped down (smaller) versions of bash 4.1* that are known to work on CM6 and the HTC Hero
so it should be a possibility to use that script on stock roms, too
if you can install busybox & root it, there also should be the possibility to install bash
Click to expand...
Click to collapse
Yes, I've also seen bash shipping with some ROMs, so it's definitely possibile, though as I said before, I'm no coder...
thunderteaser said:
It seems you're very well informed, so thanks for the infos you're posting!
I'm not a coder, though, so I hope a kernel developer could pick this up and go for BFS. You said laststufo already implemented this patch in his kernel, so that's really good! We should just find a way of testing its effectiveness.
Click to expand...
Click to collapse
I'm a kernel-dev for linux-kernels so I got to know & learned to cherish them
just stumbled over a thread in the Epic 4G forum
for reference: [Q] [REQ] Galbraith Patch worked into kernals?
zacharias.maladroit said:
I'm a kernel-dev for linux-kernels so I got to know & learned to cherish them
Click to expand...
Click to collapse
You really are? That's great! So why don't you join laststufo to try maximizing the impact of his implemented "patch of wonders"? As I try to keep up with your techical chatting it seems I really can't do more than asking you to help!
zacharias.maladroit said:
just stumbled over a thread in the Epic 4G forum
for reference: [Q] [REQ] Galbraith Patch worked into kernals?
Click to expand...
Click to collapse
Uhm, so it seems BFS isn't stable on our hardware, pretty bad.
Hi guys,
i need some help with wifi tethering/Portable Hotspot
right now i using CM7.2 GINGERBREAD V10 (ALFS kernel V7 ICS) with ALFS V7 ICS kernel.
As i read in the CM7.2 thread, i install Wifi Tether attach in post #2,
i start the wifi tether, and it say, "start with error, please check the log" or something like that
Please check the attachment for the log.
What did i do to solve this problem :
Start Fresh, Wipe data, cache, dalvic cache, format system
install stock ROM + Kernel (E15i_2.1.1.A.0.6_RU.ftf) using flash tool,
and Install NAA kernel 11 + MiniCM7-2.1.9 (As i read NAA + miniCM rom support Native GB hotspot) - The result is : when i start Portable Hotspot it start ok, connecting ok, but cannot browse the web, in the laptop it says "DNS ERROR"
So i flash again ALFS V7 ICS kernel over NAA and flash CM7.2 GINGERBREAD V10,
trying again with wifi tether and no luck
My Question :
1. What happen with my phone? is this something i do wrong when flashing?
2. Is it possible the carrier/operator blocking Tethering?
3. Is there someway to solve this problem?
Please note :
1. Before i was successful starting Portable Hotspot with NAA kernel, but because a2sd error i think i try to start fresh with NAA kernel + MiniCM rom, n thats when this problem occurs
2. I can connect to wifi or Adhoc wifi with no problem
Thanks Guys n sorry for the bad english
Looking at the two screenshots where you got errors reported it would seem as the wireless tether thingy doesn't find the required kernel modules, although they should be part of both kernels you mentioned - though I'm not sure if the "CM7.2 GINGERBREAD V10" ROM is compatible with Alfs.
I would ask in either Alfs' or nAa's thread about what may be wrong here; from my viewpoint it's missing modules that should be part of the kernel already.
B.Jay said:
Looking at the two screenshots where you got errors reported it would seem as the wireless tether thingy doesn't find the required kernel modules, although they should be part of both kernels you mentioned - though I'm not sure if the "CM7.2 GINGERBREAD V10" ROM is compatible with Alfs.
I would ask in either Alfs' or nAa's thread about what may be wrong here; from my viewpoint it's missing modules that should be part of the kernel already.
Click to expand...
Click to collapse
hi... thanks for ur reply
can we check it? i mean for the module?
maybe we can look on a folder n check that the module is there or not?
for the CM7.2 GB V10 ROM, i think it only using ALFS Kernel (ALF V7 ICS), so it should be compatible.
i really like to post on the NAA and ALFS thread but as u can see, iam lack of post
lanjor said:
hi... thanks for ur reply
can we check it? i mean for the module?
maybe we can look on a folder n check that the module is there or not?
for the CM7.2 GB V10 ROM, i think it only using ALFS Kernel (ALF V7 ICS), so it should be compatible.
i really like to post on the NAA and ALFS thread but as u can see, iam lack of post
Click to expand...
Click to collapse
Errr.... no, you won't find the modules as files - they should be compiled into the kernel (hence "part of it")
What you can try is to look into this thread, though that modules shouldn't be needed on Alfs or nAa, just on stock kernel.
However, if it works afterwards it might be worth trying.
B.Jay said:
Errr.... no, you won't find the modules as files - they should be compiled into the kernel (hence "part of it")
What you can try is to look into this thread, though that modules shouldn't be needed on Alfs or nAa, just on stock kernel.
However, if it works afterwards it might be worth trying.
Click to expand...
Click to collapse
i check n read the link above, n i think i just jump to
"You can use iptables executable now and check if works:" Part :
because like u say, this module should be part of the kernel, n if i flash the kernel right, the module should be there, dont u think.
so i try run the command via terminal :
- iptables -L
the result are :
Code:
$ export PATH=/data/local/bin:$PATH:.
$su
# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
#
- iptables -t nat -L
the result are :
Code:
$ export PATH=/data/local/bin:$PATH:.
$ su
# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
#
- cat /proc/net/nf_conntrack
The result are :
Code:
$ export PATH=/data/local/bin:$PATH:.
$su
# cat /proc/net/nf_conntrack
ipv4 2 tcp 6 431959 ESTABLISHED src=10.89.156.230 dst=216.155.195.253 sport=42914 dport=80 src=216.155.195.253 dst=10.89.156.230 sport=80 dport=42914 [ASSURED] use=1
ipv4 2 tcp 6 431972 ESTABLISHED src=10.89.156.230 dst=173.192.219.136 sport=44146 dport=443 src=173.192.219.136 dst=10.89.156.230 sport=443 dport=44146 [ASSURED] use=1
ipv4 2 tcp 6 431876 ESTABLISHED src=10.89.156.230 dst=61.145.124.115 sport=41129 dport=5222 src=61.145.124.115 dst=10.89.156.230 sport=5222 dport=41129 [ASSURED] use=1
ipv4 2 tcp 6 426586 ESTABLISHED src=192.168.0.5 dst=216.155.195.253 sport=52694 dport=80 src=216.155.195.253 dst=192.168.0.5 sport=80 dport=52694 [ASSURED] use=1
ipv4 2 tcp 6 426570 ESTABLISHED src=192.168.0.5 dst=61.145.121.120 sport=56854 dport=5222 src=61.145.121.120 dst=192.168.0.5 sport=5222 dport=56854 [ASSURED] use=1
ipv4 2 tcp 6 431982 ESTABLISHED src=10.89.156.230 dst=216.155.195.253 sport=56242 dport=80 src=216.155.195.253 dst=10.89.156.230 sport=80 dport=56242 [ASSURED] use=1
ipv4 2 tcp 6 426550 ESTABLISHED src=192.168.0.5 dst=173.194.72.188 sport=58555 dport=5228 src=173.194.72.188 dst=192.168.0.5 sport=5228 dport=58555 [ASSURED] use=1
ipv4 2 tcp 6 220 ESTABLISHED src=10.89.156.230 dst=209.85.175.188 sport=56186 dport=5228 src=209.85.175.188 dst=10.89.156.230 sport=5228 dport=56186 [ASSURED] use=1
#
Only this one is different from the result expected
-----------------------------------------------------------------
so what do you think ? the module is there? n why is the last command result is different?
Well, the last output you got HAS to be different because "nf_conntrack" reads, fully spelled: Net Filter Connection Tracker
This means the nf_conntrack in /proc/net shows entries of connections currently established on your phone (outgoing and incoming).
It actually looks like as if the modules are in the kernel (as they should) - otherwise you would have gotten a error message from iptables.
Now don't ask me why the "tethering-update" ZIP from Alfs won't work or why nAa's tethering doesn't like you...
B.Jay said:
Well, the last output you got HAS to be different because "nf_conntrack" reads, fully spelled: Net Filter Connection Tracker
This means the nf_conntrack in /proc/net shows entries of connections currently established on your phone (outgoing and incoming).
It actually looks like as if the modules are in the kernel (as they should) - otherwise you would have gotten a error message from iptables.
Now don't ask me why the "tethering-update" ZIP from Alfs won't work or why nAa's tethering doesn't like you...
Click to expand...
Click to collapse
oh.. okey
at least i know the module is there
just last question B.Jay, if it's ok with u,
1. is there a possibility something wrong with superuser?
thanks for ur help B.Jay
Don't think so, you were able to run "su" commands in the terminal.
Just check with some app that requires superuser rights ... like Titanium Backup or Root Explorer ... when they get su granted then Superuser should work.
B.Jay said:
Don't think so, you were able to run "su" commands in the terminal.
Just check with some app that requires superuser rights ... like Titanium Backup or Root Explorer ... when they get su granted then Superuser should work.
Click to expand...
Click to collapse
Ok thanks B.Jay
---------------------------------------------------------------------------
Still trying to figure out the problem
Well check the ROM info maybe the tethering is not working.... or its just a kernel bug....
HIT THANKS IF I HELPED!
ZeWhiteRabbit said:
Well check the ROM info maybe the tethering is not working.... or its just a kernel bug....
HIT THANKS IF I HELPED!
Click to expand...
Click to collapse
if u read the first post, i already write it, before it was working good
----------------------------------------------------------------------------
Anyway i figure it out, it is my carrier/operator
i tried to change sim card from different operator n
the tethering works really good
i dont know what they do, but i cannot change proxy, i cannot change DNS, and i cannot use wifi tethering/portable hotspot
but at least the problem solved thanks to B.Jay for helping me
On mini+nAa wifi tether works really good
Sent from my E15i using XDA App
I upgraded my HTC sensation XL to ICS with kernel 3.0.16, I am trying to hook sys_call_table. How can I get the address od sys_call_table?
scottwen said:
I upgraded my HTC sensation XL to ICS with kernel 3.0.16, I am trying to hook sys_call_table. How can I get the address od sys_call_table?
Click to expand...
Click to collapse
hey, what makes the sys call table..? and for what you need...maybe you must compile a kernel with a patch of this (github commits)..also some things can be changed with an init.d script
with kind regards..Alex
Alex-V said:
hey, what makes the sys call table..? and for what you need...maybe you must compile a kernel with a patch of this (github commits)..also some things can be changed with an init.d script
with kind regards..Alex
Click to expand...
Click to collapse
I am trying to develop a loadable kernel module to protect my private data from accessing by unauthorized apps. I have downloaded the source codes of the kernel 3.0.16 from htcdev.com. I can find the file System.map which keeps the address of sys_call_table in kernel 2.6.35, but System.map no longer exists in kernel 3.0.16. Do you know in which file I can find the address of sys_call_table? Is it "init.d"?
Best regareds,
Scott
scottwen said:
I am trying to develop a loadable kernel module to protect my private data from accessing by unauthorized apps. I have downloaded the source codes of the kernel 3.0.16 from htcdev.com. I can find the file System.map which keeps the address of sys_call_table in kernel 2.6.35, but System.map no longer exists in kernel 3.0.16. Do you know in which file I can find the address of sys_call_table? Is it "init.d"?
Best regareds,
Scott
Click to expand...
Click to collapse
not sure if i could help...heared of this the first time...just did a quick google search
https://www.google.de/#q=sys_call_t....,cf.osb&fp=3feb6ca7e010caf6&biw=1366&bih=646
http://code.google.com/p/bricked/source/browse/arch/avr32/kernel/syscall_table.S
http://faculty.kfupm.edu.sa/ics/salah/091/ics531/slides/Understanding The Linux Kernel.pdf
PS: init.d (if its activated in kernel ramdisk) is a folder in system/etc/init.d in this you can put scriptes...eg to handle ram or undervolt on the fly..or zipallaign on each boot...
with kind regards
Some background info:
I'm the author of PPP Widget which is an app that enables mobile data connections on Android devices with USB host capabilities - even if they are WiFi-only.
It turned out that many Android devices have the drivers for 3G sticks already on board, included with the stock kernel. The one large exception are Samsung devices ...
I started to provide the missing drivers as modules (mostly "ppp_async" and "option" which depends on "usb_wwan"). That worked well for some Google devices and also for Samsung devices running ICS, using the source packages from
http://opensource.samsung.com/
In their JB kernels though, Samsung enabled the "MODVERSION" option. Furthermore, compiling the modules with the officially recommended toolchain resulted in a different "module_layout" checksum than in the modules provided in the firmware.
This prevents using any additonal modules on the devices. "insmod" refuses to load these modules.
The only explanation for this problem is that the custom device configuration provided in the source packages does not match the configuration of the device kernel.
This is the case for all GT-P31xx and GT-P51xx models as far as I can tell.
My take is that Samsung is required to provide the correct kernel configuration under the rules of the GPL. Maybe anyone else wants to contact Samsung on this behalf; I already did several times - still waiting for an answer ...
That's the reason why I build everyting from source including the GPU driver and lost exFAT support http://forum.xda-developers.com/showthread.php?t=1859227 and the boot image result http://forum.xda-developers.com/showthread.php?t=1855700 .
ketut.kumajaya said:
That's the reason why I build everyting from source including the GPU driver and lost exFAT support
Click to expand...
Click to collapse
Unfortunately, replacing the kernel is no option for end users. The modules I provide are going into a folder on the sdcard, and can be "insmod'ed" from there with no problem - once their magic string and the "modversions" are matching the kernel on the device. The latter is the wall I'm hitting ...
JFDee said:
Unfortunately, replacing the kernel is no option for end users. The modules I provide are going into a folder on the sdcard, and can be "insmod'ed" from there with no problem - once their magic string and the "modversions" are matching the kernel on the device. The latter is the wall I'm hitting ...
Click to expand...
Click to collapse
Thanx alot for such a great development. ...
Adi™
Creator Of Sungsonic™HD
I have received a reply from Samsung. They have updated the JB open source package for GT-P3110, GT-P5110 and GT-N7100 (which previously included a config file from 3.0.15 for a kernel version of 3.0.31 !!).
Unfortunately, the modversions of the compiled kernel are still different and incompatible. I have replied with these finding.
Waiting again ...
BTW, the only recent kernel config consistent with the actual device kernel that I have found is for the GT-N8000 (3.0.31). So it is possible to provide a matching configuration.
JFDee said:
I have received a reply from Samsung. They have updated the JB open source package for GT-P3110, GT-P5110 and GT-N7100 (which previously included a config file from 3.0.15 for a kernel version of 3.0.31 !!).
Unfortunately, the modversions of the compiled kernel are still different and incompatible. I have replied with these finding.
Waiting again ...
BTW, the only recent kernel config consistent with the actual device kernel that I have found is for the GT-N8000 (3.0.31). So it is possible to provide a matching configuration.
Click to expand...
Click to collapse
If You will start to work with kernel I'm willing to beta test with my P5110. Only issue for me is that I need to know what 3G dongle to buy (well need it anyway so would prefer an advice from someone who know something about it). I'm living in Poland and Ireland (once here once there) so I can even test LTE modems (well donations here, myself can spend up to ~50€ on 3G one) because in Wroclaw, Poland I heard it's quite good, also I got H+/H on SGSII here. While in Ireland signal is not THAT strong due to fact most of places are quite remote (except Dublin, Galway etc). Hope I can help in either way
This is what I wrote to Samsung concerning the botched configuration file provided with the latest GT-P3110 kernel source:
Thank you for the source code update.
However, I have asked for the kernel configuration that matches exactly the kernel on the GT-P3110.
I have compiled the kernel from the provided update, but the module layout checksum does *not* match the one from the kernel running on my device.
On the device: module_layout 0xb5a27644
From source: module_layout 0x143474f1
I have used the recommended toolchain "CodeSourcery 2010q1" and the unchanged config file provided with the source ("android_espresso_omap4430_r04_user_defconfig").
Please be aware that you are obliged by the GPL to provide the correct config file for the binary kernel that you are distributing.
As a side note: the configuration provided with the kernel source for the GT-N8000 *does* match the kernel on the device, so there is no doubt that it is possible to get the configuration right.
Other Android vendors are just enabling the "embedded" config file in the kernel, so that the correct configuration is simply available on the device as "/proc/config.gz". This is so much less trouble. I suggest that you enable this option for Samsung kernels too.
Regards,
...
Click to expand...
Click to collapse
The GT-N8010 is also in the same situation you describe - config for 3.0.15 and jb stock kernel at 3.0.31, can't build working modules for stock.
davp, there seems to have been some activity at the Samsung open source center after my messages.
I suggest you make yourself heard as well. Use the "Inquiry" button next to the package download link in the table for your device.
To be able to add working modules to the device, the kernel configuration for the source has to be 100% compatible. It does not matter if any closed drivers are missing as we don't want to replace the kernel - but all those general debugging config options should be correct.
BTW, there is a history of similar issues:
http://forum.xda-developers.com/showthread.php?t=1123643
The kernel source for the GT-P3110 has been updated once more, and this time they have fixed the configuration.
With the latest JB update we can actually build working modules for the current firmware.
I confirmed this to the Samsung people and reminded them of the other devices in need of this fix: GT-P3100, GT-P5100, GT-P5110, GT-N7100 and probably more (like the GT-N8010).
JFDee said:
The kernel source for the GT-P3110 has been updated once more, and this time they have fixed the configuration.
With the latest JB update we can actually build working modules for the current firmware.
I confirmed this to the Samsung people and reminded them of the other devices in need of this fix: GT-P3100, GT-P5100, GT-P5110, GT-N7100 and probably more (like the GT-N8010).
Click to expand...
Click to collapse
So for now we might get stock kernel which will support 3G modems via USB OTG? How about other kernels such as CM10.1?
I'm looking for good 3G dongle then Any advices?
Additional kernel modules for stock JB P31xx (tested) and P51xx (untested), contains:
- usb_wwan, ppp_async, and option module for PPP Widget
- dns_resolver, md4, and cifs module for cifs/samba filesystem support
- sunrpc, lockd, and nfs module for nfs filesystem support
Kernel config file attached.
FTDI Single Port Serial Driver added.
cifs.ko not working on P3100 JB 4.1.2 (stock rooted)
ketut.kumajaya said:
Additional kernel modules for stock JB P31xx (tested) and P51xx (untested), contains:
- usb_wwan, ppp_async, and option module for PPP Widget
- dns_resolver, md4, and cifs module for cifs/samba filesystem support
- sunrpc, lockd, and nfs module for nfs filesystem support
Kernel config file attached.
Click to expand...
Click to collapse
Hi ketut.kumajaya,
I'm trying to use cifs.ko but i get:
/system/lib/modules # insmod cifs.ko
insmod: can't insert 'cifs.ko': unknown symbol in module or invalid parameter
I have:
/system/lib/modules # uname -a
Linux localhost 3.0.31-1084989 #1 SMP PREEMPT Mon Mar 25 14:53:07 KST 2013 armv7l GNU/Linux
I tried other cirs.ko with same result.
Can you give me some clues of what can I do?
Thank you.
Try insmod in order:
insmod dns_resolver.ko
insmod md4.ko
insmod cifs.ko
If something goes wrong, see the kernel messages using dmesg.
ketut.kumajaya said:
Try insmod in order:
insmod dns_resolver.ko
insmod md4.ko
insmod cifs.ko
If something goes wrong, see the kernel messages using dmesg.
Click to expand...
Click to collapse
Great!!!
That's the solution.
In my Tab 10.1 4.0.4 I'm loading (different kernel and different modules, of course):
insmod cifs.ko
insmod md4.ko
insmod nls_utf8.ko
So I was not thinking I should use a different order.
Thank you.
Development Goals:
- stability
- energy savings due to more efficient ARM algorithms
- strictly no overclocking unless approved by the manufacturer or my source base integrates it (also, even if my source base integrates it, expect no support for it)
- no undervolting as well unless the manufacturer approves it since it's relatively pointless IMHO...
- all improvements should require MINIMAL user interaction (e.g. you don't need to do anything except flash the kernel or at the very least use SetCPU or the like to set fixed options)
- stability
*note: FAQ is at the 3rd post
20151018_20XX:
- some ramdisk cleanups for single image
- enabled KSM and ZRAM swapping for increased memory flexibility
20151015_15XX:
- added in partial resume support for *hopefully* better battery life
- tweak cubic algorithm just in case it's needed
20151003_20XX:
- added F2FS support (refer to 3rd post for MANUAL instructions on how to convert a partition to F2FS)
20151001_10XX:
- uploaded to personal site with updated compiler
20150922_16XX:
- tons of commits to improve power efficiency...just go to my GitHub...
20150831_19XX:
- added FIOPS IO scheduler and set it as default
- set FS options NOATIME and NODIRATIME always
- use 4k kernel stacks to save memory
20150815_18XX:
- first release for "back-to-basics" kernel
- turned off a ton of debugging options to improve performance
20150726_17XX:
- upgraded compiler
20150723_00XX:
- fixed bootloop while charging
20150702_23XX:
- modified ramdisk to support wifi properly on v2 of LeeDroid's Urbane port
20150623_22XX:
- more backports for improved efficiency
- changed kernel compression to XZ to make it even smaller
- limited maximum CPU frequency to 1Ghz to lower power consumption for multi version since mpdecision keeps on using max frequency too much
20150621_21XX:
- additional IPI reduction commits
- changed kernel compression to LZMA to make it smaller
20150620_17XX:
- reverted partial resume studies (seems to cause slowdowns somewhere but might also cause slightly more battery consumption)
- comment some printouts which are annoying
- kernel IPI improvements
20150617_23XX:
- minor improvements to reduce CPU load
- WiFi tweak
- rendering optimizations
20150612_08XX:
- added new feature for users of Urbane ROM which *might* also fix the bootup problem
20150611_09XX:
- added new image, wifi.multi.boot.img, which is multicore and with built-in wifi support so no need to flash Tasssadar's MOD when you upgrade the kernel (from an already modded ROM or from Urbane port)
***IF YOUR ROM IS NOT YET MODDED, DON'T USE THE WIFI.MULTI RELEASE SINCE IT MIGHT CAUSE AN ERROR WHEN YOU RUN TASSSADAR'S UPDATE ZIP***
20150607_09XX:
- back to usual local version tag
- rebased to newly released 5.1.1 Lenok branch on AOSP with some additions from Bass branch for WiFi throughput and energy saving
20150602_23XX:
- compiled using GCC 5.1
- special local version tag
20150602_08XX:
- modified panel to disable partial update since it seems to cause problems with current code (i.e. it disabled burn-in protection)
- special local version tag
20150531_18XX:
- removed a useless setting in the ramdisk which might cause increased CPU utilization thus less battery life
20150531_15XX:
- just added a new flashable image, multi-core for those who want...strictly for testing for now...I won't be responsible if your device explodes or burns off your wrist or something...
20150531_08XX:
- modified configuration with changes in Bass
- imported clock change for WiFi from Bass
20150530_08XX:
- has WiFi driver built-in waiting for ROM builders or modders to take advantage of
*we have WiFi here!
- first release for 5.1.1 based on Bass (Urbane) kernel source that was just released
20150503_16XX:
- rolled back previous changed as it increased battery consumption
20150423_23XX:
- ported one of my Kindle Fire modification which I just remembered could impact performance extremely well
- still has SELinux enabled as stock ROM doesn't play well with it disabled
20150412_21XX:
- numerous backports from linux 4.0 for timer, scheduler and ARM
20150411_21XX:
- numerous backports from linux 4.0 for timer, mutex and slub functionality performance improvements
20150411_19XX:
- tweaked kernel settings according to imoseyon's findings
20150410_18XX:
- timer optimization
20150409_00XX:
- merged Motorola's lowmemorykiller tree modification
- merged latest modifications to ondemand governor
20150402_07XX:
- uses updated Linaro toolchain
- integrated 5.0.2 changes in the kernel level (previous change was on the ramdisk level)
- some performance improvement commits
20150220_23XX:
- integrated changes for 5.0.2
*since changes were minimal, this might still work for 5.0.1...do that at your own risk though...
20150129_22XX:
- cherry-picked a patch for fixing the randomly occuring kernel BUG OOPS in smp_send_reschedule
20150127_22XX:
- fully tickless kernel
- adjust compiler tweaks even further
- reduce panel power consumption
20150117_18XX:
- updated my compiler with 15.01 Linaro gcc release source
- tweaked more compiler flags for maximum performance
20150112_22XX:
- first release with 2 kernels for single and dual core by default setup
- first release using my own compiler
- additional compiler flag optimizations
- merged NVidia power efficiency patches together with a scheduler optimization
20150103_18XX:
- enabled 2 cores and set to ondemand with maximum frequency limited to 800Mhz
- added several improvements from arter97's G Watch repo namely ARM instruction conversion to bx from mov pc, definition of L1 and L2 cache size for better compiler instruction generation and binder mutex change to real time for surfaceflinger improvement (in layman's term: graphics rendering improvement)
20141221_18XX:
- use compile time constants when possible for jiffies conversion
- several BT and i2c voltage tweaks to lower power consumption
20141217_00XX:
- same features as before only for Lollipop
20141206_07XX:
- enabled partial frame updates to hopefully improve screen power consumption
*not sure though since it might actually need ROM backing to work
20141203_17XX:
- added some filesystem optimizations
- compiled using Linaro 4.9.3
20141130_14XX:
- initial public release
- uses Linaro 4.9.2 for compilation
- enable use of UDIV/SDIV ARM instructions
- build-in byte-swap function
- memutils optimizations
- memcopy and string libraries now use glibc implementations
- optimized copy_page functions for ARM
Disclaimer:
Flash at your own risk.
You can find my other kernels at:
http://intersectraven.net/kernels
GitHub is at:
XDA:DevDB Information
intersectRaven's G Watch R Kernel, Kernel for the LG G Watch R
Contributors
intersectRaven
Kernel Special Features:
Version Information
Status: Stable
Created 2015-02-22
Last Updated 2015-02-22
Special Thanks To:
DooMLoRD - some patches I integrated are from his repo
faux123 - some patches I integrated are from his repo
arter97 - some patches I integrated are from his repo
imoseyon - kernel tweaks
lion567 - F2FS enabled TWRP recovery in 3rd post
Other devs I neglected to mention.
FAQ:
1.) How do I flash this on my device?
Use the "fastboot flash boot" command since I don't really have the time to support creation of a recovery flashable file. Optionally, you could also use the "fastboot boot" command to use the boot image temporarily which will reset to stock after a restart.
*also, this device does not have a custom recovery *YET* as of the time of this thread's creation
2.) How do I return to stock kernel?
Use the "fastboot flash boot" command using the stock boot image I provided in another thread here.
3.) Will you be releasing frequent updates?
Right now I don't see anything else needed to improve this kernel as I am quite satisfied with it. You could post suggestions BUT they must have MINIMAL USER INTERACTION or will only seek to enable editing of certain values.
4.) How do you verify that it flashed correctly?
Well, if it booted after fastboot showed the "writing" dialog, then it should be ok already. If you're ultra paranoid that maybe fastboot is lying to you or the NSA doesn't want you to know that it didn't overwrite the stock kernel which contains their secret spy stuff that wants to know how frequently you exercise you could enter the ff. command through adb:
cat /proc/version
and the kernel should show #7 and intersectRaven there together with the date that the kernel was compiled which is what I use to indicate the release.
5.) I see two files at the link above. What should I flash?
In the site you'll see single.boot.img, dual.boot.img, multi.boot.img and wifi.multi.boot.img. This indicates how many cores are enabled by default upon boot and if it's wifi ROM ready. If you're a heavy user, you might want to go with dual.boot.img so that you have 2 cores available or maybe multi.boot.img so that it'll adjust to at most 4 cores WHEN NEEDED. If you just use your watch for notifications and want maximum power savings, use single.boot.img.
6.) What about the wifi.multi.boot.img?
This is mainly for an ALREADY MODDED ROM (by Tasssadar) OR the URBANE ROM. With this, when you flash you won't need to rerun the update.zip provided by Tasssadar. Again, ONLY RUN THIS ON AN ALREADY MODDED ROM. If you flash this then run Tasssadar's Mod, you WILL encounter errors.
6.) If I flash the single boot image am I stuck forever with just one core being enabled?
No. If your watch is rooted, you can enable a core (even all 4 if you wish) through adb. The boot images are merely separated for bootup default convenience.
7.) How do you enable WiFi?
Go here.
8.) How do you convert a partition to F2FS?
a.) Download the mkfs.f2fs file here.
b.) Download a custom recovery somewhere and boot it.
c.) Push mkfs.f2fs somewhere. (tested on /sbin directory)
adb push mkfs.f2fs /sbin/
d.) In adb, issue a mount command to find the partition you wish to format.
*note, you can only format cache and userdata partitions and IF you choose to format the userdata, that's equivalent to a factory reset
adb -> mount
e.) Issue the ff. command replacing the X part with the partition you wish to format:
mkfs.f2fs -l X
e.g. mkfs.f2fs -l cache /dev/block/mmcblk0p20
f.) Reboot.
OR use this modified TWRP by lion567!
Reserved 3
I see you disabled secure booting, any idea how to get this device rooted? I made a kernel myself and disabled secure booting but I can't seem to figure out the root shell part, I pushed su to /data/local/tmp and set permissions but I still cant move it to system/bin..... frustrating
tonu42 said:
I see you disabled secure booting, any idea how to get this device rooted? I made a kernel myself and disabled secure booting but I can't seem to figure out the root shell part, I pushed su to /data/local/tmp and set permissions but I still cant move it to system/bin..... frustrating
Click to expand...
Click to collapse
I didn't disable secure boot I only replaced the kernel with my own. The ramdisk is exactly the same with stock. As for rooting, it's a bit tricky now due to SELinux being enabled. You could try disabling SELinux but that isn't really recommended. Also, I don't think modifying the system partition is good practice. You could just put it in the ramdisk so that it's recognized immediately as being "inside". I'll try and look into it further when I have time. I'm still looking at the battery consumption of my latest kernel for a few days so I can't modify until then.
What do you mean by putting it in the ramdisk so its "inside"? I tried to do something like that with rootsh but it didn't work. Also when I unmkbootimg'ed your kernel it had stuff from dory, isn't dory the regular lg g watch? We are lenok? I know a lot of the stuff is the same, the main goal I want to do is root so I can increase the vibration motor, but if I can't accomplish root easily I will be forced to make my own custom system.img with the modified values...... that would be a pain to be able to share it.
tonu42 said:
What do you mean by putting it in the ramdisk so its "inside"? I tried to do something like that with rootsh but it didn't work. Also when I unmkbootimg'ed your kernel it had stuff from dory, isn't dory the regular lg g watch? We are lenok? I know a lot of the stuff is the same, the main goal I want to do is root so I can increase the vibration motor, but if I can't accomplish root easily I will be forced to make my own custom system.img with the modified values...... that would be a pain to be able to share it.
Click to expand...
Click to collapse
Are you pertaining to the ramdisk or the kernel? I double-checked the ramdisk and there isn't any dory in there. As for the kernel, I used the lenok_defconfig so I don't really know if there is dory in there as well although they are derivatives so might be. I read your post in the other thread and it doesn't really need root to modify. You just need to give the user permission to those parameters so it can be changed through adb.
intersectRaven said:
Are you pertaining to the ramdisk or the kernel? I double-checked the ramdisk and there isn't any dory in there. As for the kernel, I used the lenok_defconfig so I don't really know if there is dory in there as well although they are derivatives so might be. I read your post in the other thread and it doesn't really need root to modify. You just need to give the user permission to those parameters so it can be changed through adb.
Click to expand...
Click to collapse
If only I knew how . Do I gotta edit init.d?
intersectRaven said:
. As for rooting, it's a bit tricky now due to SELinux being enabled.
Click to expand...
Click to collapse
so... we dont have root never? :S
i ll flash ur kernel, thanks!
tonu42 said:
If only I knew how . Do I gotta edit init.d?
Click to expand...
Click to collapse
I think the last time I did that I edited something in ueventd or something and not init.d although you could do that also. I'll have to check on what's the current best practice as I don't really like editing the ramdisk too much.
9ain said:
so... we dont have root never? :S
i ll flash ur kernel, thanks!
Click to expand...
Click to collapse
We'll have root eventually as more devs get the R but as of this time, no root yet!
*Personally, I don't get the point of rooting the watch as it's got huge limitations (battery, screen, controls, etc.) that I don't see the point...but that's me...
intersectRaven said:
I think the last time I did that I edited something in ueventd or something and not init.d although you could do that also. I'll have to check on what's the current best practice as I don't really like editing the ramdisk too much.
We'll have root eventually as more devs get the R but as of this time, no root yet!
*Personally, I don't get the point of rooting the watch as it's got huge limitations (battery, screen, controls, etc.) that I don't see the point...but that's me...
Click to expand...
Click to collapse
i want to change dpi
I want to change the vibration strength and duration!
Gesendet von meinem SM-N9005 mit Tapatalk
cybermungo said:
I want to change the vibration strength and duration!
Gesendet von meinem SM-N9005 mit Tapatalk
Click to expand...
Click to collapse
its the same thing xD
9ain said:
its the same thing xD
Click to expand...
Click to collapse
Ah ok...
Gesendet von meinem SM-N9005 mit Tapatalk
cybermungo said:
Ah ok...
Gesendet von meinem SM-N9005 mit Tapatalk
Click to expand...
Click to collapse
No its not, strength and duration are two totally different setting files and methods in the kernel driver. It also has braking_ms which is the gap you notice in between vibrations.
tonu42 said:
No its not, strength and duration are two totally different setting files and methods in the kernel driver. It also has braking_ms which is the gap you notice in between vibrations.
Click to expand...
Click to collapse
The duration is what causes the motor to accelerate more and be more strength.... more duration=more strength (Until maximum possible).
/sys/class/timed_output/vibrator/amp
/sys/class/timed_output/vibrator/driving_ms
this is the files to change (we need root)
9ain said:
The duration is what causes the motor to accelerate more and be more strength.... more duration=more strength (Until maximum possible).
/sys/class/timed_output/vibrator/amp
/sys/class/timed_output/vibrator/driving_ms
this is the files to change (we need root)
Click to expand...
Click to collapse
You listed two files. Go look in the kernel and look at the driver. Amp is related to the gain and the gain is in mV i believe. Of course increasing the duration will also make it feel stronger so increasing both helps.
9ain said:
The duration is what causes the motor to accelerate more and be more strength.... more duration=more strength (Until maximum possible).
/sys/class/timed_output/vibrator/amp
/sys/class/timed_output/vibrator/driving_ms
this is the files to change (we need root)
Click to expand...
Click to collapse
I looked at doing this but it seems SELinux is going crazy and not recognizing attempts to override the sysfs protection so we either really need root, disable SELinux altogether (don't like), or set it in the kernel (no user override which I don't think people like).
tonu42 said:
You listed two files. Go look in the kernel and look at the driver. Amp is related to the gain and the gain is in mV i believe. Of course increasing the duration will also make it feel stronger so increasing both helps.
Click to expand...
Click to collapse
Yep it's in mV with a range of 0 - 100.
My ADB cant find the watch. My thought is that it is because computer cant find drivers to the watch when I connect it. Where can I find usb-drivers for my watch?