Hey guys
First: THIS THREAD IS DEV-ONLY! All not development related posts will be deleted!
Now, working on AOSP last night, i found a derp in the device tree. This derp seems to be present in all device trees i have found for our device. So i thought it would be good to have one thread where such things can have an appropriate place, without making new threads over and over again. Also it is big advantage to have everything bundeled in one thread IMO.
I have registered a channel on freenode called "#p880-dev", so we can discuss everything in there
Feel free to join in
As already mentioned, I found a (most likely) typo in the device tree. Our battery's capacity is 2150mAh, but all device trees got 2050mAh.
See HERE
Now, to make it public, let's call some ppl in here
@Adam77Root, @Demetris, @arararagi, @kholk, @Rudjgaard, @dcos
(no particular order, just ROM devs i found in the section, building from source)
Good catch. Does anyone know what effect this has though?
The kernel directly reports the battery % through /sys/class/power_supply/battery/capacity
http://forum.xda-developers.com/showpost.php?p=46361993&postcount=344
Will push to Omni device tree.
BT tethering is also derped. The needed value in overlay is "bt-pan" instead of "bnep\\d".
Sent from my OmniROM-powered LG Optimus 4X HD
laufersteppenwolf said:
Hey guys
First: THIS THREAD IS DEV-ONLY! All not development related posts will be deleted!
Now, working on AOSP last night, i found a derp in the device tree. This derp seems to be present in all device trees i have found for our device. So i thought it would be good to have one thread where such things can have an appropriate place, without making new threads over and over again. Also it is big advantage to have everything bundeled in one thread IMO.
As already mentioned, I found a (most likely) typo in the device tree. Our battery's capacity is 2150mAh, but all device trees got 2050mAh.
See HERE
Click to expand...
Click to collapse
Thanks for the heads up and let me just say, great idea opening this thread. :good:
arararagi said:
Good catch. Does anyone know what effect this has though?
The kernel directly reports the battery % through /sys/class/power_supply/battery/capacity
Click to expand...
Click to collapse
Well I believe this mostly reflects on battery usage statistics, but maybe I'm wrong.
Reference: https://source.android.com/devices/tech/power.html#
In our kernel source there is a emc bw efficiency name error in
arch/arm/mach-tegra/tegra3_clocks.c line 3141 + 3142
bw = emc_bw_efficiency ?
(bw / emc_bw_efficiency) : bus->max_rate;
In arch/arm/mach-tegra/tegra3_emc.c is looking for u8 tegra_emc_bw_efficiency = 35;
and also same thing in arch/arm/mach-tegra/tegra3_emc.h extern u8 tegra_emc_bw_efficiency;
Demetris said:
In our kernel source there is a emc bw efficiency name error in
arch/arm/mach-tegra/tegra3_clocks.c line 3141 + 3142
bw = emc_bw_efficiency ?
(bw / emc_bw_efficiency) : bus->max_rate;
In arch/arm/mach-tegra/tegra3_emc.c is looking for u8 tegra_emc_bw_efficiency = 35;
and also same thing in arch/arm/mach-tegra/tegra3_emc.h extern u8 tegra_emc_bw_efficiency;
Click to expand...
Click to collapse
I think that's intentional. Maybe an LGE change. In the beginning of the tegra3_clk_shared_bus_update function, the emc_bw_efficiency is defined. It's initialized to tegra_emc_bw_efficiency_boost and is set to tegra_emc_bw_efficiency if the clock name is "3d.emc" and shared bus mode is enabled and set to ceiling mode.
Sometimes my laziness is beyond compare
Never bothered to look good into tegra3_clocks.c
Thanks adam huge derp from me
Could you care have a look into my mount options for a cherry-pick
Here they are:
HTML:
/dev/block/platform/sdhci-tegra.3/by-name/LNX /boot emmc defaults defaults
/dev/block/platform/sdhci-tegra.3/by-name/SOS /recovery emmc defaults defaults
/dev/block/platform/sdhci-tegra.3/by-name/APP /system ext4 ro,noatime,barrier=0,noauto_da_alloc,data=writeback wait
/dev/block/platform/sdhci-tegra.3/by-name/UDA /data ext4 discard,noatime,nosuid,nodev,nomblk_io_submit,noauto_da_alloc,errors=panic wait
/dev/block/platform/sdhci-tegra.3/by-name/CAC /cache ext4 discard,noatime,nosuid,nodev,nomblk_io_submit,noauto_da_alloc,errors=panic wait
/dev/block/platform/sdhci-tegra.3/by-name/CAL /cal ext4 nosuid,nodev,barrier=1 wait
/dev/block/platform/sdhci-tegra.3/by-name/DRM /persist-lg ext4 nosuid,nodev,barrier=1 wait
/dev/block/platform/sdhci-tegra.3/by-name/MLT /mpt ext4 nosuid,nodev,barrier=1,data=ordered wait
/devices/platform/sdhci-tegra.2/mmc_host/mmc2 /storage/sdcard1 auto defaults voldmanaged=sdcard:auto
/dev/block/platform/sdhci-tegra.2/by-num/p1 /external_sd auto defaults recoveryonly
I find them to perform better than stock ones
Looks good to me.
Something we really lack are full SELinux policies. I'm calling out to you since I have little to no knowledge in this field. We should really fix this before the KitKat release. The audit2allow tool might help analysing the needed rules. What do you say?
Adam77Root said:
Something we really lack are full SELinux policies. I'm calling out to you since I have little to no knowledge in this field. We should really fix this before the KitKat release. The audit2allow tool might help analysing the needed rules. What do you say?
Click to expand...
Click to collapse
Well, I have the same problem as you do.... I have no idea about SELinux
Never been actually working on/with it. Let's hope @Demetris can help us out
Guys, I could use some help on the camera for AOSP... It's driving me crazy Whatever I try, it keeps FC'ing
Here's the logcat
It'd be great for someone having an Idea to "start" from
Thanks in advance
laufersteppenwolf said:
Guys, I could use some help on the camera for AOSP... It's driving me crazy Whatever I try, it keeps FC'ing
Here's the logcat
It'd be great for someone having an Idea to "start" from
Thanks in advance
Click to expand...
Click to collapse
I am not sure if this is it https://github.com/SlimRoms/frameworks_av/commit/3c2c4f8f8a4abdc61aa2321640b0b03a3a2661b7 but whatever it is it should be on frameworks_av .
I would look on the commits and see if there is anything else relevant there.
ezet said:
I am not sure if this is it https://github.com/SlimRoms/frameworks_av/commit/3c2c4f8f8a4abdc61aa2321640b0b03a3a2661b7 but whatever it is it should be on frameworks_av .
I would look on the commits and see if there is anything else relevant there.
Click to expand...
Click to collapse
no, already checked, it's neither frameworks/av, nor hardware/libhardware, nor hardware/libhardware_legacy...
laufersteppenwolf said:
no, already checked, it's neither frameworks/av, nor hardware/libhardware, nor hardware/libhardware_legacy...
Click to expand...
Click to collapse
frameworks/native? and frameworks/av? maybe, take them from cm?
penguin449 said:
frameworks/native? and frameworks/av? maybe, take them from cm?
Click to expand...
Click to collapse
I cannot just take another repo and replace it. But i sure did cherry-pick from it
laufersteppenwolf said:
Guys, I could use some help on the camera for AOSP... It's driving me crazy Whatever I try, it keeps FC'ing
Here's the logcat
It'd be great for someone having an Idea to "start" from
Thanks in advance
Click to expand...
Click to collapse
Little update to the problem: Whatever I do, I can't get around the SIGSEGV... Any ideas?
And the according logcat of course
Hmm ive spent some time investigating, but with a lack of understanding of the android camera implementation, its hard to narrow it down. I did find a post that at least gives us some leads
Have been doing some work on trying to get the camera to work... sadly no good news for now
I have fixed the HAL methods ( new camera HAL had some minor changes ), but still getting the same errors on load:
07-20 00:09:24.500: E/NvOmxCamera(162): createCameraObjects: graph creation failed! [0x80001005]
07-20 00:09:24.500: E/NvOmxCamera(162): createCameraObjects: Fail! [0x80001005]
07-20 00:09:24.500: E/NvOmxCamera(162): NvOmxCamera::createObjects :::: FAIL ::::::::::::::::: [0x80001005]
And on usage of the camera a segfault on PowerOnSensor.
The reason that it segfaults is basically because they forgot to add a check in cameraservice if the HAL module actually returned any working cameras. I have added logging to the cameraservice and manually called get_number_of_cameras on the HAL module.
07-20 00:09:24.500: D/CameraService(162): reported number of cameras: 0
So basically after graph creation fails the entire camera initializations stalls, but libcameraservice is also happy to work with 0 cameras aslong as there is a module ( oops ). Then calling a HAL method on some uninitialized pointer will not do much besides give a nice segfault of course.
Just to be sure the HAL module was working correctly i did call get_camera_info which should return the camera info defined in nvcamera.conf.
07-20 00:09:24.510: D/CameraService(162): camera info for camera 0 = 0 90
The entire graph creation process depends on omx and the graph error (0x80001005) is actually OMX_ErrorBadParameter.
So either our implementation of OpenMax is broken or there are other compatibility issues...
Click to expand...
Click to collapse
http://www.icsforums.com/comment/1315991#comment-1315991
Could there be a problem with the Openmax DL in aosp?
JoinTheRealms said:
Hmm ive spent some time investigating, but with a lack of understanding of the android camera implementation, its hard to narrow it down. I did find a post that at least gives us some leads
http://www.icsforums.com/comment/1315991#comment-1315991
Could there be a problem with the Openmax DL in aosp?
Click to expand...
Click to collapse
I thinks so, too, but I just cannot figure out what exactly the problem is...
Been cherry-picking most frameworks/av commits, but still no success...
Let's start a discussion about the new Android, a.k.a. KitKat. I compiled Omni 4.4 today, there were only a few build errors, those are trivial to fix. First it didn't boot, because now SELinux is set to enforcing mode by default. This can be fixed by modifying 'selinux_is_enforcing()' function in init.c to return always false or by setting 'ro.boot.selinux' property to 'permissive'. I had some errors with SurfaceFlinger (0x3 device version, need to revert only new blobs support.) and with sensors.tegra.so, it's complaining about a missing function.
Adam77Root said:
Let's start a discussion about the new Android, a.k.a. KitKat. I compiled Omni 4.4 today, there were only a few build errors, those are trivial to fix. First it didn't boot, because now SELinux is set to enforcing mode by default. This can be fixed by modifying 'selinux_is_enforcing()' function in init.c to return always false or by setting 'ro.boot.selinux' property to 'permissive'. I had some errors with SurfaceFlinger (0x3 device version, need to revert only new blobs support.) and with sensors.tegra.so, it's complaining about a missing function.
Click to expand...
Click to collapse
You may laugh, but I'm still trying to compile AOSP 4.4 I somehow had a broken source, so even pure AOSP for mako/hammerhead did not compile
But it is now, so would you mind sharing the commits you reverted in order to get SurfaceFlinger working? The same as in 4.3 I suppose, right?
And about SELinux, let's hope for CM to bring a proper SELinux for our device with CM11
Related
Hello I'm trying to compile cyanogenmod 7 with subskyper tass device to try to mantain this project update in line with the original philosophy: keep it 100% cyanogenmod without any tweaks
When I compile I face two errors that broke my compilation:
1-
device/samsung/tass/overlay/frameworks/base/core/res/res/values/config.xml:95: error: Resource at swap_volume_keys_orientation appears in overlay but not in the base package; use <add-resource> to add.
make: *** [out/target/common/obj/APPS/framework-res_intermediates/package-export.apk] Errore 1
make: *** Eliminazione del file "out/target/common/obj/APPS/framework-res_intermediates/package-export.apk"
make: *** Attesa per i processi non terminati....
This one I commented out the line reguarding swap_volume_keys_orientation in file
device/samsung/tass/overlay/frameworks/base/core/res/res/values/config.xml
but when i continue...
2-
prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/../../../../arm-eabi/bin/ld: out/target/product/tass/obj/SHARED_LIBRARIES/libandroid_runtime_intermediates/AndroidRuntime.o: in function android::gRegJNI:AndroidRuntime.cpp(.data.rel.ro+0x148): error: undefined reference to 'register_android_hardware_fm_fmradio(_JNIEnv*)'
collect2: ld returned 1 exit status
make: *** [out/target/product/tass/obj/SHARED_LIBRARIES/libandroid_runtime_intermediates/LINKED/libandroid_runtime.so] Errore 1
make: *** Attesa per i processi non terminati..
Someone faced same problems?
Any ideas?
thanks a lot
Send PM With The Error To Subpsyke
t-r-e said:
Send PM With The Error To Subpsyke
Click to expand...
Click to collapse
done. I hope he will answer me cause I'm able to sync repos in a couple of hours, so it will be easy to mantain pure cyanogenmod 7 for our sgm.
mebitek said:
done. I hope he will answer me cause I'm able to sync repos in a couple of hours, so it will be easy to mantain pure cyanogenmod 7 for our sgm.
Click to expand...
Click to collapse
Best Luck Buddy Don't Give Up Early , We Look Forward To See Your Work As We Need To Keep Subpsyke Project Alive
prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/../../../../arm-eabi/bin/ld:
Click to expand...
Click to collapse
Are you using 32-bit linux system ?
If yes, then I guess 64-bit is necessary to get things compiled properly without errors.
NB: Just sharing info.
coolsandie said:
Are you using 32-bit linux system ?
If yes, then I guess 64-bit is necessary to get things compiled properly without errors.
NB: Just sharing info.
Click to expand...
Click to collapse
Thanks for the reply but I think that this kind of error is a missing reference for the function register_android_hardware_fm_fmradio that is called from AndroidRuntime.cpp
32 or 64 bit it is no differnce in compile result. just speed....
However I've checked tass configuration and I see that fm radio is set to BCM2049 chip.
I checkd into frameworks/base/core/jni/ cm source tree directory and I found only fm hardware reference for :
bcm4325
si4708
si4709
wl1271
now I'm trying to compile again setting radio to bcm4325 just to see if something appens...
P.S. should be nice to have some tecnical ideas about the code error not only if the host system is well configured
P.P.S. changed values to bcm4325 let me not face errors no more. Now I'm compiling!!!!
I have checked some github projects and I see that a lot of device as sgm with bcm2049 fm chipset set it to bcm4325. I see that just subskype change that value to bcm2049. Should be nice to have some tip and tricks from him to understand well the point of the situation
Now I have a signed zip to flash into my sgm.
It contains subskype cm7.2 tass device configuration and latest cm 7.2 sources update at 31-01-2012.
to check changes:
http://review.cyanogenmod.com/#q,status:open,n,z
It works!!! finally compiled and booting successfully.
Now I'm trying to study the best way to mantain this kind of project (it's first time for me in android dev and I just have an android device by november).
first at all I was thinking to add V6 supercharge by default. what do you think?
mebitek said:
It works!!! finally compiled and booting successfully.
Now I'm trying to study the best way to mantain this kind of project (it's first time for me in android dev and I just have an android device by november).
first at all I was thinking to add V6 supercharge by default. what do you think?
Click to expand...
Click to collapse
Great news. Glückwunsch (don't know the english word at the moment).
Supercharger would be possibly good. Subpsyke said something to it but i don't rember clearly.
Keep up your work.
Sent from my GT-S5570 using xda premium
mebitek said:
It works!!! finally compiled and booting successfully.
Now I'm trying to study the best way to mantain this kind of project (it's first time for me in android dev and I just have an android device by november).
first at all I was thinking to add V6 supercharge by default. what do you think?
Click to expand...
Click to collapse
No not add anything. It s better. Completely clean
Inviato dal mio GT-S5570 usando Tapatalk
mebitek said:
Thanks for the reply but I think that this kind of error is a missing reference for the function register_android_hardware_fm_fmradio that is called from AndroidRuntime.cpp
32 or 64 bit it is no differnce in compile result. just speed....
However I've checked tass configuration and I see that fm radio is set to BCM2049 chip.
I checkd into frameworks/base/core/jni/ cm source tree directory and I found only fm hardware reference for :
bcm4325
si4708
si4709
wl1271
now I'm trying to compile again setting radio to bcm4325 just to see if something appens...
P.S. should be nice to have some tecnical ideas about the code error not only if the host system is well configured
P.P.S. changed values to bcm4325 let me not face errors no more. Now I'm compiling!!!!
I have checked some github projects and I see that a lot of device as sgm with bcm2049 fm chipset set it to bcm4325. I see that just subskype change that value to bcm2049. Should be nice to have some tip and tricks from him to understand well the point of the situation
Click to expand...
Click to collapse
For the radio, I used my patch to add support for the bcm2xxx devices with proper seeking. It's on gerrit here: http://review.cyanogenmod.com/#change,10358
mebitek said:
It works!!! finally compiled and booting successfully.
Now I'm trying to study the best way to mantain this kind of project (it's first time for me in android dev and I just have an android device by november).
first at all I was thinking to add V6 supercharge by default. what do you think?
Click to expand...
Click to collapse
no no...no v6.
Just vanilla cm7...and thanks for the initiative and ABT!
dont add scripts..but maybe something from cm gerrit if u wish..but then it'll not be vanilla.
===============================================================
Issue closed, read:
http://forum.xda-developers.com/showpost.php?p=42638124&postcount=17
===============================================================
l2_hsic issue
l2_hsic running amok (GT-P7500, GT-P7501) is ONE considerable reason for abnormal battery drain.
The so far known counter measures (HC, Stiffmeister + its xda derivate, WiFi-ROM) do not comply to my requests:
- CM10.1 nightlies
- 3G usage
- no l2_hsic hassle
l2_hsic root cause
Analysis of kmsg files provide a consistent pattern. Function if_usb_suspend(..) from modem_link_device_hsic.c does not call wake_lock_timeout(..) in wakelock.c in case of l2_hsic is running amok.
The missed call to wake_lock_timeout is obviously caused by a non cancellable USB-connection.
It is a single non expiring wakelock, what makes trouble.
Inside of modem_link_device_hsic.c I lost track on further explanations.
Candidate to fix the issue
Since I cannot correct the root cause, I tried to fix its consequence.
Basis is the current pershoot P4 CM10.1 kernel.
There are a few spots in its source code, where one could obtain the so called prevent_suspend_time of a l2_hsic wakelock.
A monitor is installed in such place. It triggers, when a l2_hsic wakelock’s individual prevent_suspend_time exceeds >10s (empirical value).
In this case the function wake_lock_timeout is called, which ignites the wakelock’s expiration.
Next the trigger is reset and the monitoring becomes active again.
As a second and measure of last resort the tab is shutdown, once l2_hsic’s total prevent_suspend_time exceeds >1h (never happened so far).
All these events are logged:
--> /proc/grzwolf shows current status
--> /proc/kmsg is extended by a couple of messages
Verification
The described modified kernel was installed on my Tab months ago.
Since then DS works perfect to me.
Furthermore I did not experience any side effects.
This kernel-mod had been announced at
http://www.android-hilfe.de/samsung...s-10-1n-mit-stock-4-0-4-a-69.html#post5550736
Meanwhile the kernelmod is integrated:
BeeGee(Ganbarou), AAccount(A1 Kernel), kasper_h(Team Infamous/AOKP) and twa_priv(CM10.1/SGT7)
Preconditions for installation
- the kernelmod applies only for P4 devices (GT-P7500, GT-P7501)
- no need to contiue, if you don’t have a l2_hsic issue
- if you continue, you should know what you are doing
- I don’t take any warranty
- after flashing a Nightly ROM, the kernelmod needs to be installed again
- CM10.1 is installed on P4 according to the OP of thread http://forum.xda-developers.com/showpost.php?p=36077123&postcount=1
Kernelmod installation
- comply to the preconditions above
- within CWM make a Nandroid backup of a running isntallation
- copy 'P4 kernel' (see downloads below) to your Tab
- install 'P4 kernel modified' within CWM and check functionality after booting up
- if not ok, restore in CWM your Nandroid backup
Credits
- pershoot (Kernel)
- MapleSyrup (Kernel build)
- nakedninja42 (CM10.1 Installation)
Changelog
Rev. 2013.04.10-19.44
first release
Downloads
- CWM flashable kernel zip, Rev. 2013.04.10-19.44
- md5 sum of kernel zip
- source code
- readme source code
All hail grzwolf! Thank you so freaking much for finally finding the fix that no one could. I now don't need to flash a WiFi ROM to get rid of the l2_hsic issue.
Sent from my GT-P7500 using XDA Premium HD app
Great work, grzwolf!
Did you find the root cause of the wakelock based on your extended logging?
Is it OK for you if I take your code, streamline it a bit (remove logging, renaming methods, ...) and integrate it in the CM kernel?
C-o-M said:
Great work, grzwolf!
Did you find the root cause of the wakelock based on your extended logging?
Is it OK for you if I take your code, streamline it a bit (remove logging, renaming methods, ...) and integrate it in the CM kernel?
Click to expand...
Click to collapse
Root Cause
According to my current testing (next revision kernelmod), I'm almost convinced it's caused by a race condition
between modem and modem interface (most likely the "kill_urb stuff").
Just by adding the extended logging in "if_usb_suspend" seem to have wiped the issue with the missing "wake_lock_timeout".
As next I'm going to switch back to the erroneous behaviour, verifying this theory.
If this approach would stand, the extended logging could be replaced by reasonable delays.
Not impossible, that the whole silly detection & triggering in wakelock.c is not needed.
Usage
That would be fine to me, so no problems at all with code re use.
You mean the issue is fixed by just adding some delays in if_usb_suspend? So you do not enter your wake lock fix at all with the current patch?
C-o-M said:
You mean the issue is fixed by just adding some delays in if_usb_suspend? So you do not enter your wake lock fix at all with the current patch?
Click to expand...
Click to collapse
That's what I'm currently trying out.
I would never had come up with this assumption, without the wish to understand the logic behind.
Since the nature of this presumable race condition is a fickle ***** (if my assumption is correct),
it may take a while to have solid evidence.
Although, it sounds tempting.
Thank YOU!!!
Thanks for this fix grzwolf, works as it should. Now my P7500 is great with cm10.1 and good battery life. :good:
theone
Question ! Do i have to flash source code or just only p4_kernel_2013.04.10-19.44.zip ? Thanks
saigon66 said:
Question ! Do i have to flash source code or just only p4_kernel_2013.04.10-19.44.zip ? Thanks
Click to expand...
Click to collapse
Just the one you mentioned --> p4_kernel_2013.04.10-19.44.zip
CHN Kernel
grzwolf said:
Just the one you mentioned --> p4_kernel_2013.04.10-19.44.zip
Click to expand...
Click to collapse
Since the Chinese Kernel solo, solves the problem why don't you compare the kernels. Hope i'm not ofending you with probably a stupid question. I'm saying this because when i found Stifmeister zip file and solution, i installed the chinese kernel directly via odin, and just overwrited some network files (i presume), and since then, 8 months ago, never seen a wakelock and a battery drain. Some my humble assumption was that the Chinese Kernel has no l2_hsic wakelock, except, when you connect a USB sd card and unmount it without passing through settings.
Hope it helps.
PS: I should have said this first, i'm still on stock...
Great Job anyway..
Thanks
Phibs said:
Since the Chinese Kernel solo, solves the problem why don't you compare the kernels. Hope i'm not ofending you with probably a stupid question. I'm saying this because when i found Stifmeister zip file and solution, i installed the chinese kernel directly via odin, and just overwrited some network files (i presume), and since then, 8 months ago, never seen a wakelock and a battery drain. Some my humble assumption was that the Chinese Kernel has no l2_hsic wakelock, except, when you connect a USB sd card and unmount it without passing through settings.
Hope it helps.
PS: I should have said this first, i'm still on stock...
Great Job anyway..
Thanks
Click to expand...
Click to collapse
Your suggestion is absolutely conclusive and would be definitely worth a follow up.
Afaik only Samsung knows, what sources and settings were used to build this specific Chinese Kernel,
Means, they are very unlikely available. Otherwise the magic would have been unveiled long time ago.
I suppose disassembling the kernel and looking for the specific code where the wakelock is set would be too difficult?
Sent from my GT-P7100 using Tapatalk 4 Beta
doctorow said:
I suppose disassembling the kernel and looking for the specific code where the wakelock is set would be too difficult?
Sent from my GT-P7100 using Tapatalk 4 Beta
Click to expand...
Click to collapse
At least for me.
Afaik it would end up with machine code / assembler language.
Another tool were required to translate it into C.
Even then, there were no really meaningful function and variable names.
Means, one couldn't easily compare this with existing sources.
Finally the whole exercise could result in already known source code.
Not impossible, that the "magic of the China-Kernel" is caused by very specific compiler or optimization settings, which cannot reverse engineered.
Too many if and may be ...
Comparing kernel sources is a very good idea.
Pershoot's p4 kernel is based on Samsungs kernel sources for GT-P7510, Opensource Update 2, released in April 2012 (AFAIR).
For the p5 kernel, I always rebased pershoot's kernel to the latest sources (to GT-P7300_HK_ICS_Opensource_Update1.zip in September, to GT-P7300_ICS_Opensource_Update1.zip in December). No one has ever reported the l2_hsic bug on CM for p5. Neither on CM10 (where I used the chinese kernel sources), nor on CM10.1 (updated to the official ICS sources). But the bug occured for example on AAcount's kernel which isn't rebased. So Samsung seems to fixed the issue in the kernel instead of doing some "magic hacks".
I commited a lot of different p4/p5 kernels to github to make it easier to compare them. I guess you'd like to take a look on those changes:https://github.com/cmorlok/android_kernel_samsung_p5/tree/P7300_ICS_U1/drivers/misc/modem_if
Great, of course I would. Thanks.
Just kdiffed modem_link_device_hsic from your recent P5 against P4, there are non trivial differences.
I'll give it a try right away.
hi c-o-m and grzwolf.
can you please furnish the latest code to this implementation?
any SOD as a result? any other weird behavior?
i'd like to get this in to mainline, if no issue.
thx
pershoot said:
hi c-o-m and grzwolf.
can you please furnish the latest code to this implementation?
any SOD as a result? any other weird behavior?
i'd like to get this in to mainline, if no issue.
thx
Click to expand...
Click to collapse
Following C-o-M's advise with the code review between P4 and P5 modem interface was the breakthru.
The P5 modem interface has a number of non trivial changes compared to its P4 counterpart (--> git format-patch attached).
Although I didn't understand the details, I gave them a try and replaced the P4 modem interface from your github repo completely with the one coming from P5.
Non of the usual test cases made any problem regarding l2_hsic or anything else.
- long time operation
- charging w/o reboot
- USB-drive operation
- Wifi
- 3G
Currently I'm on the 20130604 CM nightly + KernelMod, means 12 days in sequence since last reboot.
BTW: Neither a single SOD, nor any other weird behavior.
To my opinion, the l2_hsic amok issue could be finally closed.
Hail to C-o-M.
Do you think this will get merged into where ever it is that the cm team get their kernals from?
grzwolf said:
Following C-o-M's advise with the code review between P4 and P5 modem interface was the breakthru.
The P5 modem interface has a number of non trivial changes compared to its P4 counterpart (--> git format-patch attached).
Although I didn't understand the details, I gave them a try and replaced the P4 modem interface from your github repo completely with the one coming from P5.
Non of the usual test cases made any problem regarding l2_hsic or anything else.
- long time operation
- charging w/o reboot
- USB-drive operation
- Wifi
- 3G
Currently I'm on the 20130604 CM nightly + KernelMod, means 12 days in sequence since last reboot.
BTW: Neither a single SOD, nor any other weird behavior.
To my opinion, the l2_hsic amok issue could be finally closed.
Hail to C-o-M.
Click to expand...
Click to collapse
cool thx grzwolf.
Lol, shows how much I pay attention. I completely missed pershoots post.
Edit:
Ok, looks like this should be in the nightlies now....
http://forum.xda-developers.com/showpost.php?p=42680093&postcount=1875
Main thread + features + install instructions + dev support
http://forum.xda-developers.com/showthread.php?t=2201860
PhilZ Touch is a CWM Advanced Edition that adds all the features you could ever miss in CWM
It is a well proven recovery for many phones
It also adds a full touch interface a completely configurable GUI
Please give your feedback, what works, and any bug you could encounter
Read the features, and check if you are missing something
Also, do not forget to read about the powerful aroma file manager integration and double tap shortcut
Download links
Last version can be found here:
celoxhd
http://goo.im/devs/philz_touch/CWM_Advanced_Edition
Original dev supporter:
http://www.androidfilehost.com/?w=files&flid=12461
Click to expand...
Click to collapse
Huge thanks and credits to @titanic_fanatic
He ported the sources and provided all needed stuff to build it
Excellent, many thanks for all the work you put into this for us. We very much appreciate it
On the topic of bugs, I only have two (but I really don't mind at all). The screenshot works except for the resulting image is wavy coloured lines and no vibration regardless of the setting.
We've never had either, so I'm not missing them at all, but wanted to let you know.
Take care Phil
Sent from my SGH-I757M using XDA Premium 4 mobile app
titanic_fanatic said:
Excellent, many thanks for all the work you put into this for us. We very much appreciate it
On the topic of bugs, I only have two (but I really don't mind at all). The screenshot works except for the resulting image is wavy coloured lines and no vibration regardless of the setting.
We've never had either, so I'm not missing them at all, but wanted to let you know.
Take care Phil
Sent from my SGH-I757M using XDA Premium 4 mobile app
Click to expand...
Click to collapse
Added you to credits on the device page in main thread and here in OP :good:
screen shots: forget it, I should disable it once for all on new devices. Sadly, we have no working thing for most new devices. Only some Sammy and the mako did work
vibration: can you provide the path for vibrator?, it should be in kernel drivers I guess. Currently I use:
Code:
/sys/class/timed_output/vibrator/enable
We echo some msec value there and it Bzzzzz for that msec
Phil3759 said:
Added you to credits on the device page in main thread and here in OP :good:
screen shots: forget it, I should disable it once for all on new devices. Sadly, we have no working thing for most new devices. Only some Sammy and the mako did work
vibration: can you provide the path for vibrator?, it should be in kernel drivers I guess. Currently I use:
Code:
/sys/class/timed_output/vibrator/enable
We echo some msec value there and it Bzzzzz for that msec
Click to expand...
Click to collapse
That's the correct path Maybe the driver isn't loading properly... I'll see if I can get a dmesg Log when booting recovery to see if the driver actually loads
Sent from my SGH-I757M using XDA Premium 4 mobile app
Vibrator Fixed
Hey @Phil3759, I did a whole lot of investigating tonight and have figured out and fixed the vibration issue. I discovered that it was trying to load the module from /system/lib/modules/vibrator.ko. This is my roms ko file and is currently for cm10.2. The kerenel I setup for this recovery is our cm11 kernel and uses a different module (compiled against that kernel). It was trying to load the cm10.2 module from my rom into the cm11 kernel which obviously doesn't work, so I split the recovery.img added the correct module at /tmp/system/lib/modules added the necessary lines to init.recovery.qcom.rc and repackaged the kernel and new ramdisk.
I have flashed this and tested it. it works like a charm now Can you replace the version in your repo with this new one?
titanic_fanatic said:
Hey @Phil3759, I did a whole lot of investigating tonight and have figured out and fixed the vibration issue. I discovered that it was trying to load the module from /system/lib/modules/vibrator.ko. This is my roms ko file and is currently for cm10.2. The kerenel I setup for this recovery is our cm11 kernel and uses a different module (compiled against that kernel). It was trying to load the cm10.2 module from my rom into the cm11 kernel which obviously doesn't work, so I split the recovery.img added the correct module at /tmp/system/lib/modules added the necessary lines to init.recovery.qcom.rc and repackaged the kernel and new ramdisk.
I have flashed this and tested it. it works like a charm now Can you replace the version in your repo with this new one?
Click to expand...
Click to collapse
If you update your device tree, it would be even better. That way, my next updates won't be affected again
Phil3759 said:
If you update your device tree, it would be even better. That way, my next updates won't be affected again
Click to expand...
Click to collapse
I just finished updating my device tree with the necessary fixes for the vibrator to work in recovery
https://github.com/titanic-fanatic/android_device_samsung_celoxhd/commit/6f005f4045551e48adfa0ac228641bf8d6a12128
Also, not that I care, but Amarullz was able to get screenshots working in the latest AromaInstaller (Flamboyan I think). If your interested, maybe ask him what he did to get it to work. He could probably point you to the commits
Take Care
titanic_fanatic said:
I just finished updating my device tree with the necessary fixes for the vibrator to work in recovery
https://github.com/titanic-fanatic/...mmit/6f005f4045551e48adfa0ac228641bf8d6a12128
Also, not that I care, but Amarullz was able to get screenshots working in the latest AromaInstaller (Flamboyan I think). If your interested, maybe ask him what he did to get it to work. He could probably point you to the commits
Take Care
Click to expand...
Click to collapse
Looking at it quickly: why that first extra / at end of copy files?
Also, won't be cleaner to use standard path like /lib/modules?
/tmp can be wiped and modified by installers and recovery
Phil3759 said:
Looking at it quickly: why that first extra / at end of copy files?
Also, won't be cleaner to use standard path like /lib/modules?
/tmp can be wiped and modified by installers and recovery
Click to expand...
Click to collapse
The first / is because it's part of a set of chained product copy files directives:
# Ramdisk
PRODUCT_COPY_FILES += \
device/samsung/celoxhd/ramdisk/init.qcom.usb.rc:root/init.qcom.usb.rc \
# BT firmware
PRODUCT_COPY_FILES += \
device/samsung/celoxhd/firmware/bcm4330B1.hcd:system/etc/firmware/bcm4330B1.hcd \
# Needed for vibrator to work in recovery
PRODUCT_COPY_FILES += \
device/samsung/celoxhd/recovery/root/lib/modules/vibrator.ko:recovery/root/lib/modules/vibrator.ko \
device/samsung/celoxhd/recovery/root/init.recovery.qcom.rc:recovery/root/init.recovery.qcom.rc
Click to expand...
Click to collapse
I did this only to adhere to the existing pattern in my device.mk file, the one appended to the first PRODUCT_COPY_FILES was already there from when I forked the project and took that as being a set of chained commands. If this is wrong, I will change it
I definitely see your point on the /tmp dir. I here the commit that fixes that
https://github.com/titanic-fanatic/android_device_samsung_celoxhd/commit/61da6be2d60a03797ddc31c0187cc5c62bb3a97a
titanic_fanatic said:
The first / is because it's part of a set of chained product copy files directives:
I did this only to adhere to the existing pattern in my device.mk file, the one appended to the first PRODUCT_COPY_FILES was already there from when I forked the project and took that as being a set of chained commands. If this is wrong, I will change it
I definitely see your point on the /tmp dir. I here the commit that fixes that
https://github.com/titanic-fanatic/android_device_samsung_celoxhd/commit/61da6be2d60a03797ddc31c0187cc5c62bb3a97a
Click to expand...
Click to collapse
I uploaded 6.01.2 with your fixed vibrator :good:
PRODUCT_COPY_FILES:
Maybe I am wrong, but usually, in make files, only the last element has no trailing /
Code:
# Ramdisk
PRODUCT_COPY_FILES += \
device/samsung/celoxhd/ramdisk/init.qcom.usb.rc:root/init.qcom.usb.rc
xxx-yyy \
zzz-pppp\
last_one
# BT firmware
PRODUCT_COPY_FILES += \
device/samsung/celoxhd/firmware/bcm4330B1.hcd:system/etc/firmware/bcm4330B1.hcd
# Needed for vibrator to work in recovery
PRODUCT_COPY_FILES += \
device/samsung/celoxhd/recovery/root/tmp/system/lib/modules/vibrator.ko:recovery/root/tmp/system/lib/modules/vibrator.ko \
device/samsung/celoxhd/recovery/root/init.recovery.qcom.rc:recovery/root/init.recovery.qcom.rc
Also, just for info, my full gui builds need these, often in cm.mk:
Code:
TARGET_SCREEN_HEIGHT := 1280
TARGET_SCREEN_WIDTH := 720
Phil3759 said:
I uploaded 6.01.2 with your fixed vibrator :good:
PRODUCT_COPY_FILES:
Maybe I am wrong, but usually, in make files, only the last element has no trailing /
Code:
# Ramdisk
PRODUCT_COPY_FILES += \
device/samsung/celoxhd/ramdisk/init.qcom.usb.rc:root/init.qcom.usb.rc
xxx-yyy \
zzz-pppp\
last_one
# BT firmware
PRODUCT_COPY_FILES += \
device/samsung/celoxhd/firmware/bcm4330B1.hcd:system/etc/firmware/bcm4330B1.hcd
# Needed for vibrator to work in recovery
PRODUCT_COPY_FILES += \
device/samsung/celoxhd/recovery/root/tmp/system/lib/modules/vibrator.ko:recovery/root/tmp/system/lib/modules/vibrator.ko \
device/samsung/celoxhd/recovery/root/init.recovery.qcom.rc:recovery/root/init.recovery.qcom.rc
Also, just for info, my full gui builds need these, often in cm.mk:
Code:
TARGET_SCREEN_HEIGHT := 1280
TARGET_SCREEN_WIDTH := 720
Click to expand...
Click to collapse
It seems that the extra \ was introduced in our JB branch and has never been fixed. Various examples in googles repo confirm that you are correct. I have removed the extra \ and added the properties you mentioned above to the cm.mk file. Here is the relevant commit:
https://github.com/titanic-fanatic/android_device_samsung_celoxhd/commit/6ce5f482d63cd70cf64a3d1428ad2428844e23cb
Hey @Phil3759, I just downloaded and flashed the latest version. Thanks kindly for the update
I see that I made a boo boo and forgot to update the path to the vibrator in the init.recovery.qcom.rc file and so the vibrator isn't loading. I've fixed that with the following commit:
https://github.com/titanic-fanatic/android_device_samsung_celoxhd/commit/b87b3267d75a0de1bb94f68850ae6986ac4dde92
One other thing, for some reason the background is tiled 4 times as if my devices dimensions were not set correctly. I do have that set in my cm.mk file. Here was the commit for that:
https://github.com/titanic-fanatic/android_device_samsung_celoxhd/commit/6ce5f482d63cd70cf64a3d1428ad2428844e23cb
Is there somewhere else I'm supposed to specify the device screen dimensions?
Thanks again for the new version and I apologize for missing that path in the init.recovery.qcom.rc.
titanic_fanatic said:
Hey @Phil3759, I just downloaded and flashed the latest version. Thanks kindly for the update
I see that I made a boo boo and forgot to update the path to the vibrator in the init.recovery.qcom.rc file and so the vibrator isn't loading. I've fixed that with the following commit:
https://github.com/titanic-fanatic/android_device_samsung_celoxhd/commit/b87b3267d75a0de1bb94f68850ae6986ac4dde92
One other thing, for some reason the background is tiled 4 times as if my devices dimensions were not set correctly. I do have that set in my cm.mk file. Here was the commit for that:
https://github.com/titanic-fanatic/android_device_samsung_celoxhd/commit/6ce5f482d63cd70cf64a3d1428ad2428844e23cb
Is there somewhere else I'm supposed to specify the device screen dimensions?
Thanks again for the new version and I apologize for missing that path in the init.recovery.qcom.rc.
Click to expand...
Click to collapse
About background image:
I think this is the cause:
https://github.com/CyanogenMod/android_device_samsung_celox-common/blob/cm-11.0/celox-common.mk#L45
called here:
https://github.com/titanic-fanatic/...xhd/blob/philz-recovery-cm-11.0/device.mk#L37
Your cm.mk settings are overridden
Maybe just move device resolution from cm.mk to device.mk after Line 37
About the vibrator: do you need exfat through kernel modules? If yes, let me know. It is much faster than fuse. For that, you'll need to compile the kernel with samsung exfat sources. I can guide you for that
Else, link me to what exactly is needed in your kernel for the vibrator to work. If it is just a change in defconfig, I can add it and compile along exfat
Phil3759 said:
About background image:
I think this is the cause:
https://github.com/CyanogenMod/android_device_samsung_celox-common/blob/cm-11.0/celox-common.mk#L45
called here:
https://github.com/titanic-fanatic/...xhd/blob/philz-recovery-cm-11.0/device.mk#L37
Your cm.mk settings are overridden
Maybe just move device resolution from cm.mk to device.mk after Line 37
About the vibrator: do you need exfat through kernel modules? If yes, let me know. It is much faster than fuse. For that, you'll need to compile the kernel with samsung exfat sources. I can guide you for that
Else, link me to what exactly is needed in your kernel for the vibrator to work. If it is just a change in defconfig, I can add it and compile along exfat
Click to expand...
Click to collapse
I see it, and now as you've recommended I reset the values after calling celox-common.mk. The commit is here:
https://github.com/titanic-fanatic/android_device_samsung_celoxhd/commit/cd44b44b7cbb0ddb3b649ac5c4f8d5d1f51d7998
As for exfat, I will be adding this when I have some time to rebuild this kernel. We can worry about exfat for the next time you do device updates and hopefully I'll have it ready by that time. I have your main thread in my subscriptions, so I'll know when your ready to release a new version and will remind you to sync with my repo at that time
Thanks for catching that issue with screen size
titanic_fanatic said:
I see it, and now as you've recommended I reset the values after calling celox-common.mk. The commit is here:
https://github.com/titanic-fanatic/android_device_samsung_celoxhd/commit/cd44b44b7cbb0ddb3b649ac5c4f8d5d1f51d7998
As for exfat, I will be adding this when I have some time to rebuild this kernel. We can worry about exfat for the next time you do device updates and hopefully I'll have it ready by that time. I have your main thread in my subscriptions, so I'll know when your ready to release a new version and will remind you to sync with my repo at that time
Thanks for catching that issue with screen size
Click to expand...
Click to collapse
np
Let me know if you need info to add exfat
I will update with the current fixes asap
Phil3759 said:
np
Let me know if you need info to add exfat
I will update with the current fixes asap
Click to expand...
Click to collapse
Can I get a link to these fixes please when you have it ready
titanic_fanatic said:
Can I get a link to these fixes please when you have it ready
Click to expand...
Click to collapse
https://github.com/PhilZ-cwm6/GE-Ed...mmit/a8963ca853cfd88466716f8a25434d5c469a2bb9
It is just adding the exfat folder in drivers and edit the makefile with -y to have it built as static. No need to separate modules
Phil3759 said:
https://github.com/PhilZ-cwm6/GE-Ed...mmit/a8963ca853cfd88466716f8a25434d5c469a2bb9
It is just adding the exfat folder in drivers and edit the makefile with -y to have it built as static. No need to separate modules
Click to expand...
Click to collapse
Excellent. I'll add it soon, it should be a pretty quick process.
Quick question though since we are currently having some issues with random reboots in all of my latest builds of cm-11.0. My kernel was updated at some point, and that's when my builds started having random reboots. They are actually not random, but seem rather consistent.
My question is this, do you think this will affect operation in recovery? I believe the reboots are due to kernel panic from a graphics related issue but am not sure if that will only affect the rom and not recovery.
If this might affect recovery, I think I'll build it as a module so I can just add it to my device tree instead of having to update the entire zImage. This will at least give us the old working kernel with the exfat module included.
What do you think?
Sent from my SGH-I757M using XDA Premium 4 mobile app
titanic_fanatic said:
Excellent. I'll add it soon, it should be a pretty quick process.
Quick question though since we are currently having some issues with random reboots in all of my latest builds of cm-11.0. My kernel was updated at some point, and that's when my builds started having random reboots. They are actually not random, but seem rather consistent.
My question is this, do you think this will affect operation in recovery? I believe the reboots are due to kernel panic from a graphics related issue but am not sure if that will only affect the rom and not recovery.
If this might affect recovery, I think I'll build it as a module so I can just add it to my device tree instead of having to update the entire zImage. This will at least give us the old working kernel with the exfat module included.
What do you think?
Sent from my SGH-I757M using XDA Premium 4 mobile app
Click to expand...
Click to collapse
you'll end up with magic number mismatch errors
There are some hacks to force loading on mismatch, but, in my previous experience, they failed on many devices
the drivers must be compiled along the zImage
Now, why don't we drop to celox-common kernel which seems to work fine on skyrocket and other phones?
Phil3759 said:
you'll end up with magic number mismatch errors
There are some hacks to force loading on mismatch, but, in my previous experience, they failed on many devices
the drivers must be compiled along the zImage
Now, why don't we drop to celox-common kernel which seems to work fine on skyrocket and other phones?
Click to expand...
Click to collapse
It is for the most part the same kernel with the few quirks of my device. More notably is my devices display drivers are mipi s6e8aa0_720hd and had to fork the kernel to apply some fixes to that driver as it's not maintained by cm.
Hmmm. I'll be the guinea pig. I will build with the new kernel and I'll test the recovery before you upload. I just think that the issue might be a memory leak in android causing the kernel to panic (overlay issue) and might not have an effect in recovery since its graphics are very basic.
I'll let you know when it's ready
Sent from my SGH-I757M using XDA Premium 4 mobile app
it seems that is working, tried it on 4.4.2, but no OAD support..
to enable it add the following line to android/system/device/motorola/omap4-common/common.mk
frameworks/native/data/etc/android.hardware.bluetooth_le.xml:system/etc/permissions/android.hardware.bluetooth_le.xml
next to
frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml \
and (device specific) system/device/motorola/maserati/bluetooth/bdroid_buildcfg.h
#define BTA_DM_COD {0x1A, 0x01, 0x14}
#define BTIF_HF_SERVICES (BTA_HSP_SERVICE_MASK)
#define BTIF_HF_SERVICE_NAMES { BTIF_HSAG_SERVICE_NAME }
#define PAN_NAP_DISABLED TRUE
#define BLE_INCLUDED TRUE
#define BTA_GATT_INCLUDED TRUE
#define SMP_INCLUDED TRUE
after
#define BTM_DEF_LOCAL_NAME "Motorola Droid 4"
tried with new bluetooth firmware from https://github.com/TI-ECS/bt-firmware, is working but is not stable.
the default firmware is working well with the sensor tags
lucize said:
it seems that is working, tried it on 4.4.2, but no OAD support..
Click to expand...
Click to collapse
Great
I've just pushed your changes to my repositories, so they will be included in tomorrows nightly.
Merry Christmas,
Michael
Merry Christmas to everyone !
All devices that have the TIInit_10.6.15.bts firmware should work so maybe this would be of help for someone else, maybe you can talk with Hashcode or David to enable it on every device. 4.3 should work too !
Regards
lucize said:
All devices that have the TIInit_10.6.15.bts firmware should work so maybe this would be of help for someone else, maybe you can talk with Hashcode or David to enable it on every device. 4.3 should work too !
Click to expand...
Click to collapse
Ok, short gerrit crash-course
Configure your local git to commit with the name and email-address you want to be visible in public repositories
Create an account on http://review.cyanogenmod.org/
Upload an ssh public key there
Clone the repository you want to change with something like:
Code:
git clone ssh://[email protected]:29418/CyanogenMod/android_device_motorola_omap4-common
(This is not necessary if you are working on a direct CM clone and have no other changes in your repository)
Make your changes, commit them
Push your changes to gerrit:
Code:
git push ssh://[email protected]:29418/CyanogenMod/android_device_motorola_omap4-common HEAD:refs/for/cm-11.0
This will tell you an URL where your change is visible.
Go to that URL and add reviewers to your change. For example: Hashcode, David Hacker and probably me (Michael Gernoth)
If your change is acceptable, it will get merged into the CM repository
That's all, no great magic
For more info, have a look at: http://review.cyanogenmod.org/Documentation/user-upload.html
Best regards & thanks for your work,
Michael
lucize said:
Merry Christmas to everyone !
All devices that have the TIInit_10.6.15.bts firmware should work so maybe this would be of help for someone else, maybe you can talk with Hashcode or David to enable it on every device. 4.3 should work too !
Regards
Click to expand...
Click to collapse
Is that firmware part of CM11 or something that I'd have to install manually onto my Droid 4? If so, how does one upgrade the Bluetooth firmware?
bofis said:
Is that firmware part of CM11 or something that I'd have to install manually onto my Droid 4? If so, how does one upgrade the Bluetooth firmware?
Click to expand...
Click to collapse
is part of cm11, you can find it in /etc/firmware/
you can find it here
https://github.com/TI-ECS/bt-firmware/commits/master this is the history page where you can find various versions, but the last version from December won't load and the rest will not work with the headset (no sound)
htc one x has the same bluetooth chip and has a newer version of firmware, but the sound on headset will not work either, everything else seems to work
you can see the version at the beginning of the file, motorola has TI_P6_15.56
to update, turn bluetooth off, simply overwrite the file and the turn it on again.
I noticed that this eventually made it to CM11 for all of Moto OMAP cousins, except for the Bionic (Targa). Any reason that the Targa was left out? A lack of hardware support, or was it just never tested?
guyincog said:
I noticed that this eventually made it to CM11 for all of Moto OMAP cousins, except for the Bionic (Targa). Any reason that the Targa was left out? A lack of hardware support, or was it just never tested?
Click to expand...
Click to collapse
I don't know if it has the proper chip but the firmware is correct so it should be possible. I don't have one to test.
Regards
lucize said:
I don't know if it has the proper chip but the firmware is correct so it should be possible. I don't have one to test.
Regards
Click to expand...
Click to collapse
Thanks for the reply. I've got one, maybe I'll see if I can talk one of the builders for the Bionic will make a test build with the necessary common.mk change.
I apprciate the work on this, and the kernel update you've got in progress. Any extra features we can add to these old devices is a huge bonus.
This might be the wrong place to ask this, but does CM11 or CM11 on our phone support the APTX codec via Bluetooth?
bofis said:
This might be the wrong place to ask this, but does CM11 or CM11 on our phone support the APTX codec via Bluetooth?
Click to expand...
Click to collapse
it has the hardware support
http://www.aptx.com/product/motorola-razr-maxx-smartphone
but don't know about the rest of the things
New build up at sx.ix5.org, use version 2018-10-30.
Changelog here: https://sx.ix5.org/changelog.html
Install guide: Flashing AOSP on Xperia XZ
XDA:DevDB Information
AOSP Pie based on Sony Open Devices Project, ROM for the Sony Xperia XZ
Contributors
local__hero, fastbooking, oshmoun
Source Code: https://git.ix5.org/felix/local-manifests-ix5/src/branch/ix5-customizations
ROM OS Version: 9.x Pie
ROM Kernel: Linux 4.x
ROM Firmware Required: .184 / .192
Based On: AOSP
Version Information
Status: Nightly
Created 2018-11-09
Last Updated 2019-05-17
Reporting bugs
Important: Read the bug list before posting. Anyone can add bugs to the list, just follow the rules.
If you have questions, ask them in this thread: Xperia XZ Pie ROMs Questions and Answers Thread
Don't make me ask you for logs every time!
I will repeat the rules again here:
Rules:
New bugs must include version where error popped up and which oem version you are using
Only reproducible errors
Should include adb logcat (linked in a pastebin service like https://del.dog)
Must include clear description what is wrong
If it is a visual/SystemUI bug, only report it here
If it is an internal bug(e.g. fingerprint crashes device), report it to the Sony bugtracker as well!
Always try to fix the bug yourself first! Then submit a pull request to Sony
Must search if error has already been reported (bug tracker, this document, dev buglist)
If you've reported the issue somewhere else already and just want to track it here as well, add a link
Before reporting a bug, always make sure to isolate it. That means, wipe everything, install only the ROM without GApps and Magisk and see if the problem still exists. Only then report the bug!
---
If you have questions, ask them in this thread: Xperia XZ Pie ROMs Questions and Answers Thread
---
In 9.11
1. Everything still works
2. Charging with plugged at screen off works
3. On gcam portrait mode and night photo gives purple glitched image
And phone seems to be faster.
Bug: 9.11 with oem v2- Clean install
- Hotspot not working
- Phone call issue - Mic and speaker not working, cannot hear anything or say anything << Listed in the bug
- Top speaker not working
Still testing.
An update
Yes, we know calling is kinda broken right now on both oem versions. Yes, we know you have problems with dualsim devices because you didn't flash the dualsim patcher. Yes, battery life isn't very good because we are testing out some increased CPU frequencies so video doesn't stutter. (you can go back to the 11-05 build which has the old CPU freqs and compare).
We're aware of a lot of these issues, and they are all tracked in the current buglist (see post #2).
Development happens mostly in the Sony open devices program, with a few heroic volunteers contributing. Right now, a lot of work is being done to get the current flagships(think XZ2, XZ3) to a semi-stable state, but work for our device is done as well.
You can check progress in the sonyxperiadev repos. E.g. recently, some changes to the telephony HAL integration have been made, see the common device repo.
Why is it taking so long to fix all this?
Sony buys many of their processors from Qualcomm. Lots of stuff in phones is proprietary and covered in patents, and you can only get the source code if you sign an NDA. So even if Sony wanted to, they could not release the source for a lot of things.
See all the files with the name "qti" in them? That's Qualcomm Technologies, Inc. See all the repos named something like "qcom-something-something"? That's Qualcomm.
When there's a problem, we have to report it to Sony, who report it to Qualcomm. This takes time already. And don't forget Qualcomm has suppliers as well, and so on and so on. The same is true for other parts, e.g. the Wi-Fi chips are from Broadcom.
Then, support for hardware stuff is on many levels. A lot of low-level drivers that are driving the hardware are on the /odm partition(the one that the oemv1/v2 blobs get flashed to). Then there is work to be done tweaking the actual hardware abstraction layer(HAL) interfaces that work with these driver blobs. Then there are kernel drivers that can go wrong and mess up. Then it can be a problem somewhere higher up in the Android frameworks. Lots of detective work.
If new blobs from Qualcomm come out, Sony itself needs to do some testing, and then releases a new oem version. It won't just magically work, we need to tweak the SODP vendor side as well. It could be as easy as changing a version to a newer one, but it could also be a lot harder. The sonyxperiadev crew knows what's needed to integrate these new blobs, but it still takes time and testing.
Qualcomm provide the a lot of the source code to work with their hardware and blobs from the higher-level Android side in their CodeAurora forum (CAF) repositories. The relevant changes then get merged into the sonyxperiadev repos and we can test if it works(or if something new is broken...).
For more info, read the Android documentation on hardware etc.
The chip in our phone, the MSM8996, is quite old already(even the SDM845 in the XZ2/3 is already quite old in processor standards). We can be luck that Qualcomm still provides support. But it's not a priority to them, they want to sell new
ones of course. That is also a reason updates can take longer.
Regarding full forced-reboot crashes:
Sadly, as of now, for some people the "/sys/fs/pstore" folder does not get populated after a crash. This is important to diagnose what happened.
You can apply this patch to force a kernel panic on every reboot, but I would recommend that you do
so only if you know what you are doing.
Regarding battery life:
Please install BetterBatteryStats
and find out what is draining the battery.
This could really help us out! But first, make sure you are not running any GApps, because the Google Mobile Services are a massive pile of battery drain.
If you absolutely have to use GApps, please run only the "pico" GApps version!
---
About the posts here:
Like 90% of posts here and in the old thread are full of people who just plain refuse to read, asking how to install or demanding someone help them out with something that has already been answered time and time again. This makes it extremely annoying for the us who have to scroll through pages of useless stuff to find the genuine bug reports. You do realize this site is literally named "xda-developers", right? If you're unclear on the concept, please read this: https://forum.xda-developers.com/showpost.php?p=16682226&postcount=2441
"This doesn't work!" - "This thing crashes!" - That gives us almost no clue what is happening. We need logs, or we can't do anything about it. I have only one phone, and I only use the stock ROM. There are a lot of nice testers who send others and me helpful bug reports, with detailed explanations in what circumstances it occured, with proper logs.
With that info, the Sony open devices team and us can actually look into issues.
So please, if something doesn't work AND we are not aware of it yet, post it to the bug list (not here!) and attach a link to a log that you uploaded, e.g. to a service like hastebin.com.
nhicko95 said:
how is battery life?
Click to expand...
Click to collapse
Test it out, please. And don't forget to report the diagnosed battery stats.
DarkPrinciple said:
I should be able to get to 12 lunch with my battery being more than 50%
Click to expand...
Click to collapse
I've tweaked for more performance right now, but you can use 11-05 to get old CPU freqs. Also, please help hunt down what is draining the battery, it's most likely too many held wakelocks, but it could be any number of things.
bihslk said:
So what is the latest and best working version of this rom?
Click to expand...
Click to collapse
It's literally in the first post.
bihslk said:
Rom is pretty OK but really annoying top speaker bug. Only lower one works.
Click to expand...
Click to collapse
That is already in the bug list. Please read the bug list before posting.
Update 2018-11-16
Some new developments are happening.
Oem binaries version 3 are out. This should give improved power management. The SODP team has also worked on getting audio handling during calls to work. A big thanks to oshmoun for his work on the audio manager. This change was introduced on the 11-15 build. The issue of no call audio when a bluetooth headset is connected is still present as of now.
Changed IRQ handling (PR by Angelo/"kholk"). This should give better battery life and maybe faster wakeup from deep sleep. But could also lead to instabilities and crashes. Send logs & pstore, see post #2. This change was introduced on the 11-15 build.
Testing kernel 4.9.137 i in progress (we are currently on .103). This means stability and security enhancements from upstream linux. Thanks to Nathan Chance who opened this pull request..
But some of those upstream changes might be incompatible with our Sony kernel, so we have to test that. Send logs & pstore, see post #2. This change was introduced in the 11-16 build. If the 11-15 and 11-16 builds are unstable, revert to an older one. But please be brave and run them for at least a day to get us logs of potential crashes.
---
optixperiaa said:
I am always confused about "flash latest stock ftf" part about roms as a newbie.. if we flash sony's ftf how can we flash rom ? isnt it overwrite ?
Click to expand...
Click to collapse
Your phone software is made up of many layers. The ROMs like omni or this AOSP-based one only modify your /system and /boot partitions.
But when you update your stock firmware via flashtool, you also update your phone modem firmware, your qnovo charging controller firmware, your lower-level bootloaders etc. That is why we instruct you to update to the latest stock firmware. You could theoretically skip flashing /system in flashtool(because it will get overwritten anyway, as you've already discovered) and directly flash a custom ROM afterwards.
When you're coming from omni, there is no need to flash stock firmware again in between, because your other partitions stay the same. Just a new /oem is needed.
viori said:
flash omni_kagura-2018-11-20_UNOFFICIAL_TESTBUILD-2
Click to expand...
Click to collapse
Again, please keep this thread about development for AOSP. The omni builds are not meant for you.
If you have trouble installing then simply don't use it.
DO NOT POST HERE FOR HELP OR YOU WILL BE REPORTED. Read everything before posting.
If you have questions, ask them in this thread: AOSP 9.0 Pie builds for F8331/F8332
The OP has requested that you do not post questions in this thread, please use the thread he states in the OP to do that.
If you have questions, ask them in this thread: AOSP 9.0 Pie builds for F8331/F8332
Click to expand...
Click to collapse
Thanks
Thread cleaned
General update
Newer builds will have selinux set to "enforcing". Most denials should have been fixed or are irrelevant. If you encounter any problems, selinux-related or anything else, please report them to the Sony bugtracker or - even better - submit a pull request to the selinux-policy repo.
Update 1: vendor blobs aren't binderized correctly atm, so no network. You can set selinux back to permissive to fix most issues atm.
The Wi-Fi hotspot has been fixed thanks to oshmoun. In newer builds, it should be using less battery.
Next thing we're going to tackle is deep sleep and battery drain. Big pain point and one of the last blockers, apart from the camera and bluetooth in-call audio.
You might have noticed that the omnirom device trees have been updated to 9.0. Nightly testing builds work fine, but they have the same issues as the AOSP-based ones.
Work is also under way to get a Pie-based TWRP recovery stable, with support for FDE encryption(this means that you will be able to back up your encrypted installations). Mounting /userdata works, but the builds are not ready for public release yet.
Update
New build up (2018-12-08)
Camera key works
Update to December security patch(12-05, r21)
Fingerprint should not crash device on enrollment any more
Allow setting lower minimum brightness
Double-tap-to-wake off by default(but can be enabled)
Plugging in charger with screen off should be fixed
Once again, I invite anyone who would like to help out or just learn a bit about building and tweaking to take a look at the sources posted here.
There will be a guide on how to build only the kernel and experiment with a custom boot.img shortly.
The build guide on sx.ix5.org for reproducing these AOSP builds should bring you up to speed, and if you need help building or just want to chat, the telegram group in post #1 is open to you.
local__hero said:
New build up (2018-12-08)
Camera key works
Update to December security patch(12-05, r21)
Fingerprint should not crash device on enrollment any more
Allow setting lower minimum brightness
Double-tap-to-wake off by default(but can be enabled)
Plugging in charger with screen off should be fixed
Once again, I invite anyone who would like to help out or just learn a bit about building and tweaking to take a look at the sources posted here.
There will be a guide on how to build only the kernel and experiment with a custom boot.img shortly.
The build guide on sx.ix5.org for reproducing these AOSP builds should bring you up to speed, and if you need help building or just want to chat, the telegram group in post #1 is open to you.
Click to expand...
Click to collapse
Great job.
I already built a custom Pie kernel about a week ago to gain better performance but the charging bug was driving me insane :crying:
I guess now's the time to go back to the mighty Pie and try building a nice and hopefully stable Marrow Kernel.
Cheers
Finally a new build is out!
I can't pass safety net on latest build.
Any ideas what should I use ?
Since modules for spoofing fingerprint simply don't work.
I tried universal safety net fix but with no avail.
V 12.15
Charging working fine. But i have problem with camera, photos are very dark.
Sometimes touch screen not working and i need to switch the screen and on again.
ov2rey said:
Sometimes touch screen not working and i need to switch the screen and on again.
Click to expand...
Click to collapse
Disable Dt2w
oem v4 is out
DahakePL said:
Disable Dt2w
Click to expand...
Click to collapse
Thank you It's work!
Layns said:
oem v4 is out
Click to expand...
Click to collapse
i am testing v4 on latest build aosp_f8331_2018-12-21-NIGHTLY-permissive.
Screen unable to display after update to oem v4
https://developer.sony.com/file/download/software-binaries-for-aosp-pie-android-9-0-kernel-4-9-tone/
ov2rey said:
Thank you It's work!
i am testing v4 on latest build aosp_f8331_2018-12-21-NIGHTLY-permissive.
Screen unable to display after update to oem v4
https://developer.sony.com/file/download/software-binaries-for-aosp-pie-android-9-0-kernel-4-9-tone/
Click to expand...
Click to collapse
I tried it works fine but the camera sucks and the sound is bad, the screen opening with double tap is running slow, the charge is a little quick