How do i generate DTSi data files? - Android Q&A, Help & Troubleshooting

Hi there,
i was searching the forum and the inet without any luck about information on how to create or generate *.dtsi files which are placed (in my case) in:
Code:
android\system\kernel\oppo\msm8939\arch\arm\boot\dts\qcom\15018\
im bringing up a new device the "Oppo R7S" which is a sibling device of the "R7 Plus".
So far i was able to compile and boot CyanogenMod succefully. Everything worked except for the Videorecorder
Here are a few pictures: http://community.oppo.com/en/forum.php?mod=viewthread&tid=45106&extra=&page=2
I have noticed that the display driver that my rom has used in my bring-up was either the one for the 15018/R7Plus or for the 15011/R7.
I can't remember which one. I went back to stock before i wrote it down. However it is not the one which should be used which is 15023.
This is where i noticed i must have missed something. I checked my panel in the stock rom using DevCheck and under Graphics it lists the Panel:
Code:
oppo15023samsung s6e3fa3 1080p cmd mode dsi panel
so i checked my stock rom where it gets that info.
On the stock rom i have a file in "system/etc/" it is named
Code:
pp_calib_data_oppo15023samsung_s6e3fa3_1080p_cmd_mode_dsi_panel.xml
But this couldn't be it. So i assumed it must be the display driver in the kernel.
I looked into the CyanogenMod sources https://github.com/CyanogenMod/android_kernel_oppo_msm8939/tree/cm-13.0/arch/arm/boot/dts/qcom
and i was right. There was no 15023 display driver.
Long story short. How do I create and generate those dtsi files?
At the moment this is an Unofficial Rom but i plan to make it an Official Rom as soon as all problems have been fixed.
I hope anyone can help me on my porting "adventure"
This is my device tree: https://github.com/Celoxocis/android_device_oppo_r7sf

celoxocis said:
I have noticed that the display driver that my rom has used in my bring-up was either the one for the 15018/R7Plus or for the 15011/R7.
I can't remember which one. I went back to stock before i wrote it down. However it is not the one which should be used which is 15023.
This is where i noticed i must have missed something. I checked my panel in the stock rom using DevCheck and under Graphics it lists the Panel:
Code:
oppo15023samsung s6e3fa3 1080p cmd mode dsi panel
so i checked my stock rom where it gets that info.
It gets that info from the kernel device tree.
On the stock rom i have a file in "system/etc/" it is named
Code:
pp_calib_data_oppo15023samsung_s6e3fa3_1080p_cmd_mode_dsi_panel.xml
But this couldn't be it.
Click to expand...
Click to collapse
Yeah, that's just Qualcomm's color calibration stuff.
So i assumed it must be the display driver in the kernel.
I looked into the CyanogenMod sources https://github.com/CyanogenMod/android_kernel_oppo_msm8939/tree/cm-13.0/arch/arm/boot/dts/qcom
and i was right. There was no 15023 display driver.
Long story short. How do I create and generate those dtsi files?
Click to expand...
Click to collapse
dts(i) is essentially just code. It's not autogenerated. In the CM kernel we only include the device tree files for devices we actually support (at the moment that's 14005, 15011 and 15018). For getting those files for your devices, the best source is a stock ROM release. Look's like you're lucky: https://github.com/oppo-source/R7plus-5.1-kernel-source/tree/master/arch/arm/boot/dts/15022
Click to expand...
Click to collapse

maniac103 said:
dts(i) is essentially just code. It's not autogenerated. In the CM kernel we only include the device tree files for devices we actually support (at the moment that's 14005, 15011 and 15018). For getting those files for your devices, the best source is a stock ROM release. Look's like you're lucky: https://github.com/oppo-source/R7plus-5.1-kernel-source/tree/master/arch/arm/boot/dts/15022
Click to expand...
Click to collapse
OMG, i was looking the other day at oppo-source github but i let myself fool by the "R7plus-5.1-kernel-source" naming and didn't look for the dts folder.
Thanks so much!
Could i simply copy the entire 15022 folder into
Code:
"cm-13.0\android\system\kernel\oppo\msm8939\arch\arm\boot\dts\qcom"
and compile the CM-rom?
I have a working device-tree and a working cm-rom, except proper display drivers. My guess is, it would include the display driver files in the kernel at my next compile.
Or would i have to edit specific files to make it work?
So far all i did was to simply copy the
Code:
cp cyanogenmod_r7plus_defconfig cyanogenmod_r7sf_defconfig which is in
cm-13.0/android/system/kernel/oppo/msm8939/arch/arm64/configs
and edit Android.mk in
cm-13.0/android/system/device/oppo/msm8939-common#
to include "r7sf"
Code:
LOCAL_PATH := $(call my-dir)
ifneq ($(filter r7sf f1f r5 r7 r7plus, $(TARGET_DEVICE)),)
One last question. What is the best way to make the Oppo R7Sf Officially supported by CM?
My device tree is already on github. I will soon commit the latest changes to it. I would really love for it to be included in CM Officially.

celoxocis said:
OMG, i was looking the other day at oppo-source github but i let myself fool by the "R7plus-5.1-kernel-source" naming and didn't look for the dts folder.
Thanks so much!
Could i simply copy the entire 15022 folder into
Code:
"cm-13.0\android\system\kernel\oppo\msm8939\arch\arm\boot\dts\qcom"
and compile the CM-rom?
Click to expand...
Click to collapse
You'll also need to add a top level dts file and add it to the Makefile. You can use the r5 commit as reference: http://review.cyanogenmod.org/143086
You'll also need to make some small modifications to get a working accelerometer: http://review.cyanogenmod.org/144868
What DTS to you use currently? Normally you should get an error by the bootloader as no DTS for 15022 is currently included.
One last question. What is the best way to make the Oppo R7Sf Officially supported by CM?
My device tree is already on github. I will soon commit the latest changes to it. I would really love for it to be included in CM Officially.
Click to expand...
Click to collapse
Let's make it work first Once we have it working (by adding the missing kernel bits), we can have ciwrl fork the device tree to CM and include it in nightlies. Please make sure to put up all required changes outside of the device tree to Gerrit.
Gesendet von meinem R7plusf mit Tapatalk

maniac103 said:
You'll also need to add a top level dts file and add it to the Makefile. You can use the r5 commit as reference: http://review.cyanogenmod.org/143086
You'll also need to make some small modifications to get a working accelerometer: http://review.cyanogenmod.org/144868
Let's make it work first Once we have it working (by adding the missing kernel bits), we can have ciwrl fork the device tree to CM and include it in nightlies. Please make sure to put up all required changes outside of the device tree to Gerrit.
Gesendet von meinem R7plusf mit Tapatalk
Click to expand...
Click to collapse
Thank you! Well the good thing is i made no changes except those mentioned above outside of the device tree. I tracked changes in the R7 Plus device tree and forked the device tree for the R7S.
And of course removed the bits which were not needed such as fingerprint support. While tracking Uberlaggydarwins F1f device tree i knew what i had to remove.
Thank you! I have seen the R5 commit and already made a diff check last night between 15011 and 15018 to see which files are common files and which are different, this way i can "base" my 15022 DTS files off.
The common files are probably refreshed (newer) files from CM than those from Oppo's github.
As far as i have noted:
Code:
meaning:
"+" = Identical(common) between 15011 and 15022
"<----" = means 15022 differs here:
+msm8939-bus.dtsi
+msm8939-camera.dtsi
+msm8939-coresight.dtsi
+msm8939-cpu.dtsi
+msm8939-gpu.dtsi<----
+msm8939-iommu.dtsi
+msm8939-iommu-domains.dtsi
+msm8939-ion.dtsi
+msm8939-ipcrouter.dtsi+
+msm8939-mdss.dtsi<----
+msm8939-mdss-pll.dtsi+
+msm8939-pm.dtsi<----
+msm8939-regulator.dtsi<----
+msm8939-smem.dtsi
+msm8939-smp2p.dtsi
+msm-gdsc-8916.dtsi
+msm-iommu-v2.dtsi
+msm-pm8916.dtsi<----
+msm-pm8916-rpm-regulato.dtsi
+skeleton64.dtsi
Not identical / different naming (diff 15011 / 15018):
(not compared with 15022 yet)
msm8939-audio-internal_codec.dtsi
msm8939-camera-sensor-mtp.dtsi
msm8939-common.dtsi
msm8939-mtp.dtsi
msm8939-pinctrl.dtsi
msm8939-v3.0-gpu.dtsi
msm8939-v3.0-pm.dtsi
msm8939-v3.0.dtsi
I can do the DTS files changes and can also do the changes in:
Code:
arch/arm/boot/dts/qcom/Makefile
drivers/input/touchscreen/synaptics_oppo/synaptics_oppo_driver_3508.c
but to be honest the changes below scare me off. I'm not an developer/coder. Im an Windows/Linux/Unix Systems Integrator my skills for coding are limited to simple scripts :-/
Code:
drivers/usb/phy/phy-msm-usb.c
sound/soc/codecs/wcd9xxx-mbhc.c
sound/soc/msm/msm8939-slimbus.c
maniac103 said:
What DTS to you use currently? Normally you should get an error by the bootloader as no DTS for 15022 is currently included.
Click to expand...
Click to collapse
I have not enable insecure adb for adb logging during boot. But I think it is using the DTS file for 15018. Devcheck shows the panel (display driver) as 15018.
I finished compiling CM13.0-20160520
and in this version i don't know why both but Cameras stopped working. Previously they worked but Videocamera did not. I guess this will fix once i include and compile the 15022 DTS files.
Orientation / Rotate is actually inverted. When i rotate the phone 90° Left the Display will rotate 90° right and vice versa. So it is inverted. Same with 180° degree. It will be upside/down.
Not sure what happened here, it worked in an older version. Maybe the "timestamp" fix from a few weeks ago worked for the R7S?
Display driver is 15018 but I'm working on that
Everything else works perfectly fine!
Previously to fix the audio and microphone i used the audio_platform_info.xml and mixer_paths_mtp.xml from the R7Plus.
I did compare mixer_paths_mtp.xml of the R7Plus and R7S from ColorOS stock and they only differed in one single line. It worked.
Only thing left are the TFA9890 profiles for the R7S https://github.com/oppo-dev/proprietary_vendor_oppo/commit/c66367fa3970afe98e1398a532c8553fc61d2f53
So it is not much to fix before everything works as most of the work has been done for the R7Plus by you guys

celoxocis said:
Thank you! I have seen the R5 commit and already made a diff check last night between 15011 and 15018 to see which files are common files and which are different, this way i can "base" my 15022 DTS files off.
The common files are probably refreshed (newer) files from CM than those from Oppo's github.
Click to expand...
Click to collapse
I'd suggest going a different route: diff e.g. the 15018 DTS between Oppo's release at oppo-source and CM. Then take the 15022 DTS off Oppo's kernel and apply the 15018 diff generated before onto that. You'll see at least the changes for the accelerometer interrupt and for the tfa9890 (the latter had reset pin and regulator definitions in the sound card in Oppo's kernel and has an own instantiation in ours)
I can do the DTS files changes and can also do the changes in:
Code:
arch/arm/boot/dts/qcom/Makefile
drivers/input/touchscreen/synaptics_oppo/synaptics_oppo_driver_3508.c
Click to expand...
Click to collapse
The Makefile changes are required, the TS driver likely doesn't need any changes as the 15018 kernel already supports 15022. (BTW, the 15022 TS firmware is named differently from 15018. Make sure you're using the right one.)
but to be honest the changes below scare me off. I'm not an developer/coder. Im an Windows/Linux/Unix Systems Integrator my skills for coding are limited to simple scripts :-/
Code:
drivers/usb/phy/phy-msm-usb.c
sound/soc/codecs/wcd9xxx-mbhc.c
sound/soc/msm/msm8939-slimbus.c
Click to expand...
Click to collapse
You don't need those; those were required for the R5's USB/headset mux. When pointing to the R5 support commit I was mostly referring to the DTS changes, not the (C) code changes.
I have not enable insecure adb for adb logging during boot. But I think it is using the DTS file for 15018. Devcheck shows the panel (display driver) as 15018.
Click to expand...
Click to collapse
Why not? It's only a matter of building -eng instead of -userdebug. I somewhat doubt it's using the 15018 DTS. The DTS features the model number (https://github.com/CyanogenMod/andr.../boot/dts/qcom/msm8939-v3.0-mtp-15018.dts#L23) which the bootloader uses to figure out the DTS to use. If the bootloader fell back to use 15018, that would be kinda weird.
I finished compiling CM13.0-20160520
and in this version i don't know why both but Cameras stopped working. Previously they worked but Videocamera did not. I guess this will fix once i include and compile the 15022 DTS files.
Click to expand...
Click to collapse
Maybe. It's unclear without further debugging. You can look in dmesg whether the kernel drivers found the right camera sensor. What blobs are you using? r7plus' verbatim or did you copy others off the stock ROM?
Orientation / Rotate is actually inverted. When i rotate the phone 90° Left the Display will rotate 90° right and vice versa. So it is inverted. Same with 180° degree. It will be upside/down.
Not sure what happened here, it worked in an older version.
Click to expand...
Click to collapse
It's not just the panel being inverted? You can check whether orientation is correct in recovery. If it is, the accelerometer is off and needs further debugging/fixing.
Maybe the "timestamp" fix from a few weeks ago worked for the R7S?
Click to expand...
Click to collapse
With the old state of timestamps being off the issue was that orientation changes stopped working altogether after some time. It's unrelated to your issues which must be isolated to DTS, as sensor HAL + kernel driver is working just fine on r5, r7 and r7plus.
Only thing left are the TFA9890 profiles for the R7S https://github.com/oppo-dev/proprietary_vendor_oppo/commit/c66367fa3970afe98e1398a532c8553fc61d2f53
Click to expand...
Click to collapse
That's mostly trivial as most of those files are straight copies from the stock ROM, they're just renamed. Only the .eq files need conversion (text -> binary), you can use this tool for doing that.

maniac103 said:
I'd suggest going a different route: diff e.g. the 15018 DTS between Oppo's release at oppo-source and CM. Then take the 15022 DTS off Oppo's kernel and apply the 15018 diff generated before onto that. You'll see at least the changes for the accelerometer interrupt and for the tfa9890 (the latter had reset pin and regulator definitions in the sound card in Oppo's kernel and has an own instantiation in ours)
Click to expand...
Click to collapse
You are right. That is the better route. I will see the changes and be able to apply add/delete the changes onto the 15022 DTS files.
maniac103 said:
The Makefile changes are required, the TS driver likely doesn't need any changes as the 15018 kernel already supports 15022. (BTW, the 15022 TS firmware is named differently from 15018. Make sure you're using the right one.)
Click to expand...
Click to collapse
Yes I saw the TS file naming in the source and have included those in my blob list already.
Should i use
Code:
"ifeq ($(CONFIG_OPPO_COMMON_SOFT),y)
+dtb-$(CONFIG_ARCH_MSM8916) += msm8939-mtp-15022.dtb
or rather
Code:
+dtb-$(CONFIG_ARCH_MSM8916) += msm8939-v3.0-mtp-15022.dtb
as the R7S was later released than the R7 Plus. It should be based of the R7 Plus.
maniac103 said:
Why not? It's only a matter of building -eng instead of -userdebug. I somewhat doubt it's using the 15018 DTS. The DTS features the model number (https://github.com/CyanogenMod/andr.../boot/dts/qcom/msm8939-v3.0-mtp-15018.dts#L23) which the bootloader uses to figure out the DTS to use. If the bootloader fell back to use 15018, that would be kinda weird.
Click to expand...
Click to collapse
I got curious too. I'm compiling and -eng version, once done I will flash and check the bootlog.
maniac103 said:
Maybe. It's unclear without further debugging. You can look in dmesg whether the kernel drivers found the right camera sensor. What blobs are you using? r7plus' verbatim or did you copy others off the stock ROM?
Click to expand...
Click to collapse
I extracted the dmesg and pasted it into pastebin here: http://pastebin.com/306q3xZS
maniac103 said:
It's not just the panel being inverted? You can check whether orientation is correct in recovery. If it is, the accelerometer is off and needs further debugging/fixing.
Click to expand...
Click to collapse
Im using TWRP which has no rotation. I will flash CM recovery later and check if its correct in the recovery.
maniac103 said:
That's mostly trivial as most of those files are straight copies from the stock ROM, they're just renamed. Only the .eq files need conversion (text -> binary), you can use this tool for doing that.
Click to expand...
Click to collapse
Thanks! I was looking how i would convert those two files a few weeks ago but didn't find sources.
This is a simple C-file compile?
Code:
gcc calc-biquad.c -o calc-biquad
While working on the sources and checking the diff's i discovered this difference between 15018 and 15022 (both oppo source).
Which i think could be the cause of the inverted rotation issue
Letf is 15018 and Right is 15022
(see attachment)

celoxocis said:
Should i use
Code:
"ifeq ($(CONFIG_OPPO_COMMON_SOFT),y)
+dtb-$(CONFIG_ARCH_MSM8916) += msm8939-mtp-15022.dtb
or rather
Code:
+dtb-$(CONFIG_ARCH_MSM8916) += msm8939-v3.0-mtp-15022.dtb
as the R7S was later released than the R7 Plus. It should be based of the R7 Plus.
Click to expand...
Click to collapse
Release date isn't relevant there. Check /sys/devices/soc0/revision - if it says 3.0 adding 3.0 to the DTS name is the right thing to do.
I extracted the dmesg and pasted it into pastebin here: http://pastebin.com/306q3xZS
Click to expand...
Click to collapse
dmesg alone likely isn't sufficient here. From it it looks like the sensors don't come up, though. Not sure what exactly the problem is, but are you sure you have the right blobs? Initializing the camera is mostly done by the blobs. If you say it worked some time ago, please try whether the r5 introduction kernel commit broke anything for you.
Thanks! I was looking how i would convert those two files a few weeks ago but didn't find sources.
This is a simple C-file compile?
Code:
gcc calc-biquad.c -o calc-biquad
Click to expand...
Click to collapse
Yeah, except you'll need the math library (-lm).
While working on the sources and checking the diff's i discovered this difference between 15018 and 15022 (both oppo source).
Which i think could be the cause of the inverted rotation issue
Letf is 15018 and Right is 15022
(see attachment)
Click to expand...
Click to collapse
Yes, it could. It's almost as likely that the difference is normal, though, as those properties tell the driver how the sensor is mounted in the device, and the mounting orientation isn't necessarily the same between 15018 and 15022. Worth a try though.

maniac103 said:
Release date isn't relevant there. Check /sys/devices/soc0/revision - if it says 3.0 adding 3.0 to the DTS name is the right thing to do.
Click to expand...
Click to collapse
Thanks! Checked and its "3.0" i applied 3.0 files.
maniac103 said:
dmesg alone likely isn't sufficient here. From it it looks like the sensors don't come up, though. Not sure what exactly the problem is, but are you sure you have the right blobs? Initializing the camera is mostly done by the blobs. If you say it worked some time ago, please try whether the r5 introduction kernel commit broke anything for you.
Click to expand...
Click to collapse
I just finished adding 15022 files into the kernel and started the compile. I will look into the problem as soon as i finish flashing the new rom.
I found my eeprom file for the camera too. I used to extract all blobs because i did not know which was the correct one.
maniac103 said:
Yes, it could. It's almost as likely that the difference is normal, though, as those properties tell the driver how the sensor is mounted in the device, and the mounting orientation isn't necessarily the same between 15018 and 15022. Worth a try though.
Click to expand...
Click to collapse
Yes i agree. I read about it online when i discovered the difference. The sensor is probably mounted differently in the R7S. We will see as soon as the compile is finished and i flashed the rom
So far the compile runs through without any complains to my kernel additions. I went with the suggested route. Diff CM-15018<->Oppo-15022 applied those changes to the Oppo-15022 files and got CM-15022.
I did not create a different defconfig for the R7S. I sticked with the settings from R7Plus. Just renamed it for dependency mode.
I noticed something. While i fixed up the TFA9890 files.
where did you get the "left.tfa9890_n1b12.patch" file from? it's not in the R7S nor R7Plus ColorOS stock rom.
i see one patch "TFA9890_N1C3_1_7_1.patch" which is renamed to "left.tfa9890_n1c2.patch"
i can see a second "coldboot.patch" but that looks empty and has not the same content as "left.tfa9890_n1c2.patch"
is it a generic file which is required for TFA9890? if yes. i guess i can simply copy and paste it. as "left.tfa9890_n1c2.patch" is identical in both roms?
for the compile i just copied the R7plus file as i didn't know where it came from.

n1c2/3 and n1b12 are just different revisions of the tfa9890. r7plus stock firmware carried both files IIRC; it should be OK to omit n1b12 if the r7s doesn't have that revision.
Gesendet von meinem R7plusf mit Tapatalk

maniac103 said:
n1c2/3 and n1b12 are just different revisions of the tfa9890. r7plus stock firmware carried both files IIRC; it should be OK to omit n1b12 if the r7s doesn't have that revision.
Gesendet von meinem R7plusf mit Tapatalk
Click to expand...
Click to collapse
Ok i will just leave that file out of the blob list.
I had time today to flash my new build today and test it, which included the 15022 kernel inclusions and as i hoped all the issues i had, are gone!
Thanks alot for your help!
As far as tested:
Both cameras work!
Videocamera works!
All Sensors + GPS, Wifi work too!
Flashlight works.
Rotation issue fixed too! The guess about the sensor mounting was right!
Display driver is the correct one!
I have yet to grab a boot log. "adb logcat" before and while booting the device should be enough to catch everything. right?
The only thing left to do is to filter out the proper camera blobs.
Im using JackPotClavin's Android-Blob-Utility for that.
Can i leave out the blobs for Camera, Camera autofocus, Camera chromatix which are referenced in "lib64/" ?
I have seen that the R7Plus nor the R7f use these blobs in the proprietary-files.txt.
I will try to commit all changes to github on the next weekend. Once i finish updating the blobs list with the proper camera blobs.

celoxocis said:
The only thing left to do is to filter out the proper camera blobs.
Im using JackPotClavin's Android-Blob-Utility for that.
Click to expand...
Click to collapse
That's one option, another one would be strace'ing the camera daemon (in adb shell):
Code:
su
setprop ctl.stop qcamerasvr
strace -f -eopenat /system/bin/mm-qcamera-daemon
That'll tell you what blobs it tries to open.
Can i leave out the blobs for Camera, Camera autofocus, Camera chromatix which are referenced in "lib64/" ?
I have seen that the R7Plus nor the R7f use these blobs in the proprietary-files.txt.
Click to expand...
Click to collapse
Yeah, you can, the media stack is 32 bit only.

maniac103 said:
That's one option, another one would be strace'ing the camera daemon (in adb shell):
Code:
su
setprop ctl.stop qcamerasvr
strace -f -eopenat /system/bin/mm-qcamera-daemon
That'll tell you what blobs it tries to open.
Yeah, you can, the media stack is 32 bit only.
Click to expand...
Click to collapse
I finished the blob list but there is something i have been trying to fix for days and i can't really figure out whats the cause.
It is Wifi:
In Oppo Stock ColorOS everything is fine and stable. Wifi just works out of the box. It keeps switching between 2.4Ghz and 5Ghz depending where im in the house. (Signal strength)
I have a AVM Fritzbox 7490 with the latest firmware and all features. Dual band etc.
In CyanogenMod i keep having "drop outs". The Wifi is just dropping out. Like i have it turned off.
When i force it to use only 2.4Ghz band in wifi advanced options, it never happens. I believe it happens when it should automatically switch between 2.4Ghz and 5Ghz.
In my device tree im already using the "WCNSS_qcom_wlan_nv_15022.bin" as my "WCNSS_qcom_wlan_nv.bin"
I have already checked following files and made a diff for what the cause could be:
p2p_supplicant_overlay.conf = same as stock
WCNSS_qcom_cfg.ini = same as stock
wpa_supplicant.conf = wifi-direct settings disabled. we don't need that.
wpa_supplicant_overlay.conf = same as stock
It seems like i can fix the issue when enabling "Always allow Wi-Fi Roam Scans" and "Use legacy DHCP client" in Developer Options.
But here is the problem as soon as i reboot the device those settings are unchecked.
How can i make it permanent? Is there a way to make it permanent in the device tree? to compile the ROM using those settings as default?
I can even replicate the problem by turning off those two settings and walking around the house.
Any idea?
Update:
After hours of testing. With and without the above options.
Forced 5Ghz wifi is not stable at all. I tried all combinations getting 5Ghz to work, with no luck.
Forced 2.4Ghz works fine with and without above options. So my conclusion. It is definitly something wrong with how prima handles the 5Ghz.
In stock both work fine.

Related

[How To] Activate Wifi

After many hours of research and trial and error we finally have a working Wifi setup on CM7!
This is what we learned:
-There are specific wifi drivers that must be compiled alongside the kernel (twilan_drv.ko)
-The .ini file are developed when building the drivers that also must be used
-The stock firmware.bin file can be used
-The wifi drivers must be calibrated to work properly and efficiently. This can be done by referencing the WifiBackupConfiguration file found on the /Rom partition
-This device uses the Ti wl1273 wifi/Bluetooth card but is compiled using the wl1283 drivers (The Kindle Fire drivers worked perfectly! Boo you B&N for the no-show)
Here are some simple steps to get it working on your device:
1. Build a kernel (there are several other threads that talk to this like: http://www.nooktabletdev.org/index.php/Making_a_Boot_Image)
2. Get the Kindle Fire Source: http://kindle-src.s3.amazonaws.com/Kindle_src_6.2.2_user_3205220.tar.gz
3. Build the drivers:
Code:
cd <path to KF source>/Source/mydroid/hardware/ti/wlan/wl1283/platforms/os/linux/
make ARCH=arm CROSS_COMPILE=/opt/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi- KERNEL_DIR=<path to NT source>kernel/android-2.6.35 TNETW=1273
cd ../../../..
cd wl1283_softAP/platforms/os/linux/
make ARCH=arm CROSS_COMPILE=/opt/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi- KERNEL_DIR=<path to NT source>kernel/android-2.6.35 TNETW=1273
NOTE: You can use whatever Cross Compiler you want. I found the most success using CodeSourcery Lite (2009 or 2010) for Ubuntu 11.10. Another common path is
Code:
~/android/system/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-
If you are getting build errors it is probably because your kernel path is wrong or you need to try another set of CROSS-COMPILER files.
Note the line 'TNETW=1273' when building. That is the key to building the correct driver version.
4. Copy the drivers and ini files to your /system/etc/wifi folder:
Grab the twlan_drv.ko from the wl1283/platforms/os/linux folder. Also grab the tiwlan.ini file from wl1283/platforms/os/linux folder. Push both of these to your /system/etc/wifi folder.
Next grab the tiap_drv.ko and tiwlan_ap.ini from the wl1283_softAP/platforms/os/linux/ and wl1283_softAP/config folders. Push these to the /system/etc/wifi/softap folder.
5. Ensure your init.omap4430.rc has access to WifiBackupConfiguration
6. Build and install your boot.img using the kernel from step 1
Done! Enjoy the internet again
So, now all that needs to be fixed is SOD? Good news, thank you all for your hard work.
Mephikun said:
So, now all that needs to be fixed is SOD? Good news, thank you all for your hard work.
Click to expand...
Click to collapse
Fixing SoD should be usable enough for first Alpha. Then it is tweaking small things, having everyone find bugs, and fixing them!
Goncezilla said:
Fixing SoD should be usable enough for first Alpha. Then it is tweaking small things, having everyone find bugs, and fixing them!
Click to expand...
Click to collapse
Can't wait to start testing and finally help with the development
If bluetooth is on the same chip as wifi, will this also make bluetioth function?
travisn000 said:
If bluetooth is on the same chip as wifi, will this also make bluetioth function?
Click to expand...
Click to collapse
As of right now bluetooth does not function with these drivers (even though it is turned on in the kernel).
There are however some init.omap4430.rc services that look like they could be enabled to activate blutooth. We are going to try this out soon but are currently working some higher priority functionality issues.
I'll be sure to ammend this thread if we get blutooth working

[REAL DEVELOPMENT] ICS Building for Flyer

This is not a thread to say ‘thanks’ to developers. Only post here if you have some input in this development progress, by either fixing bugs, or coming up with ideas (and ideally, try your idea and report what happens).
Having that said, let’s move on to where we are at the moment. Currently, we have a build which is based upon Ice Cold Sandwich 6.2 Test Edition for the HTC Desire HD. This build boots up by flashing my custom kernel on it, based on Flyer HC Original Kernel Source, with some patches:
-Quota2 Support
-Genlock Support
-Updated KGSL driver by applying Lord Clockans patches from his kernel
The ZIP we are working on now, can be downloaded here:http://w728685.open.ge.tt/1/files/9iI3CbF/0/blob?download
This ZIP contains a build which is mainly Lord Clockans ICS, with essential changes in the ROM to get it booting (we used LeeDroid’s Flyer HC as the donor ROM). This ROM is made for a HoneyComb HBOOT!
After you have flashed that ZIP, this is the kernel you need: http://ge.tt/9iI3CbF/v/1
You MUST flash this kernel to get it up and running, or it’ll just loop in the logcat complaining about unsupported stuff.
This set should do the following:
-Boot up (bootanimation resets after some time, it’s ok, it will boot within 5 minutes).
-Touchscreen works after you did this: open ADB Shell (by entering ‘adb shell’ on your pc,), and send the command “echo ‘1’> /sys/android_touch/event_google”. Now touchscreen should be working. (For some reason the file 90flyerhacks in /system/etc/init.d doesn’t do its job. If anyone has a clue > say so!) Also, the ntrig.c file in /drivers/input/touchscreen/ is modified in the kernel, don’t know if it helped though.
-Full Hardware Accceleration
-Screen is bugged at certain moments (seems to happen especially during things concering wallpapers. Rendering a wallpaper, showing a heavy LWP, etc.). The build.prop file contains some lines such as:
ro.fb.mode=1
debug.composition.type=gpu/mdp
debug.fb.rgb565=0
Perhaps we have to change these lines to get it running without issues (strange thing is, logcat doesn’t seem to make an issue about this). We can also try a recompile of the kernel using the entire driver folder from Lord Clockans kernel (it’s in /drivers/gpu/msm/ in his kernel, and /drivers/video/msm/gpu/kgsl_adreno205_hc in ours, moving the folder to where it should be causes issues, so we keep it like this for the time being).
-Sound is working
-Backcamera seems to be working fine, haven’t tested frontcamera.
-Hardware buttons under the screen aren’t working, and this should be a low
priority for now. It isn’t ideal to use them in ICS anyway (different button functions in comparison with the softbuttons), and I think we shouldn’t focus on this for now.
-GPS switch can be enabled, haven’t tested whether it works.
-Bluetooth switch can be enabled, but turns off automatically after about ten seconds.
-WiFi switch can’t be changed, logcat tells us that it can’t connect with /dev/rfkill, applying this patch in the ramdisk could fix it:
https://github.com/OpenSensation/an...mmit/da09360d70888a7e126871ab2ae5b218514cad18
-Power button and Volume buttons work fine.
-Pen works after we send the event_google command mentioned before.
If the ROM immediately reboots within 10 seconds and it seems like it’s looping, and you can’t even logcat, hold down Power and Volume Down until you get to HBOOT, select FASTBOOT, and enter ‘fastboot erase cache’ in the CMD/Terminal, and reboot, and it should work.
And that’s about it for the current things we know I think. If you manage to fix something, please write down and report what you did to fix it, so we can keep a list. I will work on a vendor folder using the known information, so we can compile a ROM from source, made for our device.
And last, but not least: don’t post here asking for release dates. We will do our utmost best to bring ICS experience to the Flyer, but do not bug us. Thanks.
Now let’s get this up and running guys! I will keep a log of what is fixed and what is not, so we can keep the thread organized. Else we’ll have 50 ZIPs around, not knowing which one is the right one et cetera.
Source code of kernel: http://github.com/Chaosz-X
Ramdisk will be uploaded tomorrow.
Donations are much appreciated, as I'm developing and building atm on a 1.67GHz Dual core...
Donations can me made to [email protected] using Paypal.
i suggest creating two repos... one for ROM and one for kernel... that way single file changes can be tracked even on ROM front, not just kernel...
willing devs can fork those repo and send pull requests to main repo when they get stuff working
I'm not a developer, and I have nothing but love for all the great devs that worked so hard to bring ICS to the Flyer.
Might I suggest, however, that instead of pursuing CM9 builds, the next effort be centered around porting the Android Open Kang Project (AOKP) ROM? In terms of features and customizations, it's considerably ahead of CM9, with numerous supported devices to boot.
I think this ROM, versus CM9, would give users the most flexible and dynamic ICS experience for their Flyer.
Chaosz-X said:
-Touchscreen works after you did this: open ADB Shell (by entering ‘adb shell’ on your pc,), and send the command “echo ‘1’> /sys/android_touch/event_google”. Now touchscreen should be working. (For some reason the file 90flyerhacks in /system/etc/init.d doesn’t do its job. If anyone has a clue > say so!)
Click to expand...
Click to collapse
Does it work if you add
write /sys/android_touch/event_google 1
to the init.rc file?
Could you post the init.rc file where you trigger the init.d scripts?
nickiberli said:
Does it work if you add
write /sys/android_touch/event_google 1
to the init.rc file?
Could you post the init.rc file where you trigger the init.d scripts?
Click to expand...
Click to collapse
yes that should work correctly
No, I didn't add that. I'll try it tomorrow (or one of you, if you have a Linux machine ready. Laptop with Ubuntu is having some issues atm, can fix it tomorrow).
So, assuming that's working, let's get to the display. We know that it causes issues, but how?
-Logcat doesn't error (except for HtcEbdLog, saying something about rotation, which seems to happen when glitches occur. Perhaps we need to swap the files?)
-At the very beginning, it does tell that initOverlay failed. This overlay-thing is baked in the ROM, and can be disabled in the ROM itself by setting an option to 'false' in the vendor setup. We don't know if it fixes the issue, but since the attempts to add this functionality to the kernel failed, it could be a better idea to fix it in the ROM to get rid of the error.
Any other suggestions?
Edit: and before I forget, tomorrow I'll check the ZIP for what is changed in comparison with the ROM it is based upon, so we know what we have to add in to a new build too.
Chaosz-X said:
No, I didn't add that. I'll try it tomorrow (or one of you, if you have a Linux machine ready. Laptop with Ubuntu is having some issues atm, can fix it tomorrow).
So, assuming that's working, let's get to the display. We know that it causes issues, but how?
-Logcat doesn't error (except for HtcEbdLog, saying something about rotation, which seems to happen when glitches occur. Perhaps we need to swap the files?)
-At the very beginning, it does tell that initOverlay failed. This overlay-thing is baked in the ROM, and can be disabled in the ROM itself by setting an option to 'false' in the vendor setup. We don't know if it fixes the issue, but since the attempts to add this functionality to the kernel failed, it could be a better idea to fix it in the ROM to get rid of the error.
Any other suggestions?
Edit: and before I forget, tomorrow I'll check the ZIP for what is changed in comparison with the ROM it is based upon, so we know what we have to add in to a new build too.
Click to expand...
Click to collapse
u want me to add stuff to that ramdisk?
start a github repo for the ramdisk and ROM too... trust me... its VERY helpful...
I'll start installing Ubuntu within 30 minutes, and will add everything to a GitHub by tonight within about 3 hours I think.
Chaosz-X said:
I'll start installing Ubuntu within 30 minutes, and will add everything to a GitHub by tonight within about 3 hours I think.
Click to expand...
Click to collapse
thats great... it should make keeping track of changes much easier and other interested devs can contribute if they want...
Hello, all.
Attempting to help by working on the build.prop settings. I'm S-OFF with revolutionary and have my device fully configured with the Honeycomb HBOOT/radio/bootloader/etc.
After flashing the ROM and the kernel, the device would immediately reboot upon attempting to return to the main recovery menu. I had to fastboot oem rebootRUU and reflash Globatron's PG41IMG-WIFI-light-B10 zip to get recovery back.
The device never proceeded to the boot animation.
Thracks said:
Hello, all.
Attempting to help by working on the build.prop settings. I'm S-OFF with revolutionary and have my device fully configured with the Honeycomb HBOOT/radio/bootloader/etc.
After flashing the ROM and the kernel, the device would immediately reboot upon attempting to return to the main recovery menu. I had to fastboot oem rebootRUU and reflash Globatron's PG41IMG-WIFI-light-B10 zip to get recovery back.
The device never proceeded to the boot animation.
Click to expand...
Click to collapse
I can confirm this happened to me also. The only difference is that I was using the kernel for a port of mine, and it did the same thing.
Yes, it is known that for some reason, Go Back already reboots the device. It's no problem though, it works fine anyway. If it is really looping the bootanimation every ten seconds, keep Vol Down and Power pressed, until you get to HBOOT. Select FASTBOOT, and enter 'fastboot erase cache' in the terminal. Then reboot on the device, and it should boot up fine.
Also, kernel won't work on Honeycomb, haven't checked why it doesn't though (and I won't btw, our goal is not to make a new kernel for Honeycomb, but for ICS, where it does its job fine).
Kernel source is uploaded to my Github: http://github.com/Chaosz-X
Edit the CROSS_COMPILE for your toolchain, and it should compile fine (it does here).
Will add the link to the OP within 5 minutes, ramdisk will be uploaded tomorrow.
If chaos has a device tree set up for the Flyer/View, no build prop editing should be necessary, can just submit requests - but I don't notice it on the git.
Thanks for uploading, I'll have a look and see what has changed so far. It's a little difficult to keep track of the changes since there are no commits that document the patches applied over time, but I'll try to make do with what you've got.
Is this straight from flyer HC kernel source?
I may be doing this wrong, but the touch screen commands do not seem to be working for me
Cimer said:
I may be doing this wrong, but the touch screen commands do not seem to be working for me
Click to expand...
Click to collapse
You have to type it in manually. Copying and pasting does not work, at least it did not for me. I think the issue is with the '
lawguy said:
You have to type it in manually. Copying and pasting does not work, at least it did not for me. I think the issue is with the '
Click to expand...
Click to collapse
It may just be me, I tried manual too. I had to use http://forum.xda-developers.com/showthread.php?t=1379875 since I'm stuck on Windows 8..maybe something is up with that. I guess I will just need to sit and wait =/
Cimer said:
It may just be me, I tried manual too. I had to use http://forum.xda-developers.com/showthread.php?t=1379875 since I'm stuck on Windows 8..maybe something is up with that. I guess I will just need to sit and wait =/
Click to expand...
Click to collapse
Hang tight for now. Wifi Does not work and the screen freaks out. I'm sure that these things will be fixed soon.
Going to upload ramdisk source within an hour, and try to apply a fix for WiFi, and try to fix the touchscreen by using the command in init.rc mentioned here earlier.
The new modem arrived, I have Internet again, so we have remote access to our Linux machine and can start compiling etc again
Indeed, we're grabbing AOKP source code now. Within about 2 hours we think, we'll start compiling the ROM for the HTC Flyer. Don't know if it will work out, but we have to start somewhere

[flashable zip][system-apk]SnapdragonCamera

The flashable zip contains SnapdragonCamera.apk and needed libs. Both - the apk and the libs have to reside inside system, so the only way to install this system app is either flashing this zip, or to unpack the zip, remount /system rw (root required), copy the files by hand (root and writeble /system required), fix fs permissions (root and writeble /system required), remount /system ro (root required) and reboot.
I'm no photographer, so judging the pic quality and checking all that settings is up to you. Taking pictures, taking panorama shots, 4k video w/o and 1080p with stabilization is tested and working on oos4; since the codebase is M I'm pretty sure it's working on oos3 as well.
If you like to use a Magisk module instead of this flashable zip, you'll find it https://forum.xda-developers.com/oneplus-3t/themes/magisk-magisk-modules-oneplus-3t-t3548446 (many thanx to @Spasticdroid)
The version string I include in the filenames, refers to caf versions, not to android version, nor oos version: https://wiki.codeaurora.org/xwiki/bin/QAEP/release. At the moment I build inside oss source tree (see url at the end of the posting) - which is ahead with oos-3.5.4, guessing frommthe commits.
I consider you are on oos3 or oos4 and twrp is installed and working.
Installation:
boot to twrp
flash SnapdragonCamera[version].zip
reboot to system
go to Settings->Apps and find SnapdragonCamera
go to permissions and allow (at least) camera, storage and mic (I don't want to location tag my pics, so I leave location disabled; I'dont know why SnapdragonCamera wants to read my contacts, so I leave this disabled as well - for both YMMV)
Uninstall:
boot to twrp
flash uninstall-SnapdragonCamera[version].zip
reboot to system
IMPORTANT: the uninstall-SnapdragonCamera-[version].zip has to match EXACTLY! the version of the zip you have installed before, since different versions carry different files!
Source code and license:
https://source.codeaurora.org/quic/la/platform/packages/apps/SnapdragonCamera/
https://github.com/OnePlusOSS
Happy flashing!
Note: The old SnapdragonCamera-OSS.zip is exactly the same as SnapdragonCamera-LA.HB.1.3.2-27300-8x96.0.zip! I've decided to put the caf version string in the filename, to match the uninstall names, because different versions seems to need different libs.
Really nice job man! I will test this when my phone comes in! Thanks for the share and your work put into this!
It's working on 3.5.4, thanks! Only one problem I noticed: the continuous shot doesn't work, when I press the shutter button longer, the app quits. And it feels so bad seeing the 240hfr function, when the camera sensor doesn't support it
Doesn't work in 4.0.1. Thanks anyway.
Hammerhand.17 said:
Doesn't work in 4.0.1. Thanks anyway.
Click to expand...
Click to collapse
it is working. you have to give the right app permissions (camera, storage) then it will work. without the permissions it will fc.
Got really excited when I saw 240fps recording only to get "not supported for selected resolution" (even in 480p)... This phone is 100% capable of recording 240fps why won't oneplus add this in...
I'm no video or photo profi, so let me ask some noob question just to better understand this topic:
1080p is standrad 1920x1080 pixels at 50 fps non interlaced, isn't it? hfr240 (supported by our hardware/blobs or not doesnt matter for my question) means a high frame rate of 240fps, doesn't it? If the selected standard defines 50fps, but you request 240fps; isn't the error message "hfr is not supported on selected mode" absolutly true? The error is that hfr is selectable at all for *p standard modes, isn't it?
If this is very stupid, please be patient - I'm one of these guys using the mobile as camera really rarely, and when I use it,mI draw a circle, point at my object and tab... ...call me "fire and forget"-photographer...
So, it will only work on oos and not on cm, lineage etc?
ye would be interesting if it works on 7.1 lineageos?
@nvertigo67 would you mind sharing your build? I'm interested to check it out
Thanks
Notor1ouS- said:
ye would be interesting if it works on 7.1 lineageos?
Click to expand...
Click to collapse
Again: I don't now. I havn't started building lo-14.1, since I wait till oneplus has published oss4 keenelsources, to use N blobs. I hate shimmingm- but that's my personal problem.
But: just test it. if it doesn't work or you don't like it, just dirty flash the same lo version and you are done.
I have ask in @koenkk's lomthread to give it amtry, but havn't received (or not seen) any feedback. I guess it should work as good or as bad as on oos.
t-shock said:
@nvertigo67 would you mind sharing your build? I'm interested to check it out
Thanks
Click to expand...
Click to collapse
Sadly I have no oos build - what I have done is building oss. I used plain source. I only changed fstab to include f2fs for data, and increased dmesg size in the kernel sources. The build is boring - really. But if you really, really want it, I'll upload it (1Mbit uplink; 15€ for 3GB; build is 450MB). Don't want to offend you, with asking, just want to be sure.
nvertigo67 said:
Sadly I have no oos build - what I have done is building oss. I used plain source. I only changed fstab to include f2fs for data, and increased dmesg size in the kernel sources. The build is boring - really. But if you really, really want it, I'll upload it (1Mbit uplink; 15€ for 3GB; build is 450MB). Don't want to offend you, with asking, just want to be sure.
Click to expand...
Click to collapse
I meant OSS (typo).
So do you want a donation to upload it?
t-shock said:
I meant OSS (typo).
So do you want a donation to upload it?
Click to expand...
Click to collapse
No, I just want to be sure. I'll make a at rsync job for tonight - if the upload succeds, you find a pm tomorrow morning.
snapdragon camere cannot full screen. how to fix it ?
paratox said:
it is working. you have to give the right app permissions (camera, storage) then it will work. without the permissions it will fc.
Click to expand...
Click to collapse
plz mention the right permissions?
bitf03m030 said:
plz mention the right permissions?
Click to expand...
Click to collapse
Read op: at least camera, mic and storage.
nvertigo67 said:
Read op: at least camera, mic and storage.
Click to expand...
Click to collapse
i have given these permissions, but yet it is fc.
brmbjn said:
snapdragon camere cannot full screen. how to fix it ?
Click to expand...
Click to collapse
Since android runs all apps in fullscreen mode (if not rum in multi win mode), I'm guessing you are talkking about preview view: preview shows you the picture you will get, if taking the pic/video. If you go for 16MP, you have selected a mode with 4:3 aspect ratio. If you want to show 4:3 on a 16:9 screen, you have black borders - if you need a preview wirhout borders, select a mode, that has 16:9 aspect ratio.
bitf03m030 said:
i have given these permissions, but yet it is fc.
Click to expand...
Click to collapse
Logs please.

[H918]Anyone that wants the 10j kernel source (that actually compiles)... Here it is

So LG released build 10j, with accompanying kernel source for the 10j update.
However, their source includes a lot of "typos" and silly little mishaps and doesn't compile.
Things that had to be fixed (note, not every file type mentioned were fixed, just specific ones) :
Makefile(s)
Kconfig(s)
.c sources
.h headers
The package I am providing stems from @jcadduono initial release (found here). I then replaced all files from the 10j source from LG (found here).
I then compiled with one thread and went error by error. Yes, it took me much longer than it should have, but I've never done anything like this, and the longest part was actually learning on how to figure out what was causing issues. I suppose in the future, it will be much faster for me.
Anyway, it flashes fine, here it is.
No changes to the defconfig, nor was anything customized inside (just fixed). It is stock, and builds Image.lz4 as well as the accompanying modules. This is all thanks to @jcadduono 's beautiful build.sh script, as well as his menuconfig.sh.
To build :
set toolchain in menuconfig.sh as well as build.sh
cd /path_to_dir
./menuconfig (do your changes, exit, follow prompts to save changes)
./build.sh h918
You want /path_to_dir/build/lib/modules and /path_to_dir/build/arch/arm64/boot
Save those things before running menuconfig and/or build.sh again, as they are automatically cleaned per config or build.
Remember you still have to disable verity, and force-encrypt.
Also, here is a full stock, flashable 10j boot.img (with kernel built from source packed inside), with verity and force-encrypt disabled. Also, it flashes the newly-compiled modules, as well as SuperSU2.79-SR3. Stock RAMdisk used as well.
When you do end up customizing the kernel, will you be putting that out as a stand alone custom kernel?
Thanks for all the hard work. Take a week off.
Cheers!
Update
Hey @Tilde88 seems the dreaded no sound on call after switching from wifi calling to data call is active again
I also have another branch going here: https://github.com/jcadduono/android_kernel_lge_msm8996/commits/android-7.0_2
which is 10j with LG's stuff separated from other commits.
I can't seem to figure out why it doesn't want to boot though. For whatever odd reason, seems the bootloader isn't even reading the Image.lz4-dtb and going straight to blank screen -> power off. Makes it darn hard to investigate when you can't get a pstore.
Update: I just realized that lz4 binary changed so all I had to do was change -lz16 to -lz9
Update 2: Nope still doesn't boot, I'm outta ideas.
jcadduono said:
I also have another branch going here: https://github.com/jcadduono/android_kernel_lge_msm8996/commits/android-7.0_2
which is 10j with LG's stuff separated from other commits.
I can't seem to figure out why it doesn't want to boot though. For whatever odd reason, seems the bootloader isn't even reading the Image.lz4-dtb and going straight to blank screen -> power off. Makes it darn hard to investigate when you can't get a pstore.
Update: I just realized that lz4 binary changed so all I had to do was change -lz16 to -lz9
Update 2: Nope still doesn't boot, I'm outta ideas.
Click to expand...
Click to collapse
Is that for 10j? From the H918 source, the Kconfig and Makefile for the DTB image were broken. It would automatically remove the lines from defconfig anytime you did a menuconfig. I'm sure you already picked up on that though
Other than that, I have nothing to offer... I am no expert like yourself
kelvin216 said:
Hey @Tilde88 seems the dreaded no sound on call after switching from wifi calling to data call is active again
Click to expand...
Click to collapse
I'm still on 10d with my 5.5 rom+kernel. Going to make a v6 test rom+kernel and try it out live tomorrow.
I used 5.5 with VoLTE and WiFi calling in the last few days... But I have gotten no issues, even though I'm actually trying to get them to occur.
I was actually in a building for some time with 0.0% radio signal. So I hopped on wifi, and made my calls to the office that way.
When I left the building, WiFi disconnected due to range, 4G came up and I called my office, no issue at all.
When you say "again", do you mean it is occurring again as it once did, or as it recently has? (On what kernel are you having this issue - NSS 5.5 for H918 is fully stable). Other than a few people having high CPU usage (which I also can't replicate), there are no issues on the 5.5 kernel. I suspect the CPU usage thing to be due to me enabling C-States blindly in defconfig; but that has nothing to do with what we are on about.
Thanks for the info.
10j
Hey @Tilde88 it happen it on your new 10j kernal while i was testing didnt have any high Cpu or overheating issue with kernal, just on calls when switching from wifi calling to data, calls can be made and receive but no one can hear me unless i reboot phone and then everything is fine till the switch again from wifi calling and data and vice versa, glad i can help, will get a log when it happens again but the kernal is great for my needs on a 10j base rom
So no ones working on h918 kernel for 10j?
lightninbug said:
So no ones working on h918 kernel for 10j?
Click to expand...
Click to collapse
It's fine the way it is imo. Just get root and tare apart the bloats
Sent from my zeroltetmo using XDA Labs
twidledee said:
It's fine the way it is imo. Just get root and tare apart the bloats
Click to expand...
Click to collapse
That comes NO WHERE close to comparing to tweaks at a kernel level.
Tilde88 said:
Is that for 10j? From the H918 source, the Kconfig and Makefile for the DTB image were broken. It would automatically remove the lines from defconfig anytime you did a menuconfig. I'm sure you already picked up on that though
Other than that, I have nothing to offer... I am no expert like yourself
Click to expand...
Click to collapse
what tools do you guys recommend? Im was going to do some things with my own in regards to ovrclocking and anything else the tools i found on the app store.
I've already downloaded tje files and im going to work it. So if you wouldn't mind suggesting some tools I can go from there. I did some scripting and coding a ling time ago and couriered for several eu topsides in the well. I dual booted NT pro server and Red Hat early a 90s. I cam put together a Lan and maintain the integrity of the network locally or remotely. When ICQ was just a bunch of rooms where allot of hoxor groups tested each others skills. I was good enough track a dos attacker through telnet and a few other scripts that I and And another put together just for such occasion- through 6 proxies...
then i became a truck driver. Got married and had kids.
Kids all grown now... I want to play with some old toys.
twidledee said:
what tools do you guys recommend? Im was going to do some things with my own in regards to ovrclocking and anything else the tools i found on the app store.
I've already downloaded tje files and im going to work it. So if you wouldn't mind suggesting some tools I can go from there. I did some scripting and coding a ling time ago and couriered for several eu topsides in the well. I dual booted NT pro server and Red Hat early a 90s. I cam put together a Lan and maintain the integrity of the network locally or remotely. When ICQ was just a bunch of rooms where allot of hoxor groups tested each others skills. I was good enough track a dos attacker through telnet and a few other scripts that I and And another put together just for such occasion- through 6 proxies...
then i became a truck driver. Got married and had kids.
Kids all grown now... I want to play with some old toys.
Click to expand...
Click to collapse
The only tool you will need on top of this source, is a cross compiler.
There are a few to choose from, but mainly, you might want to use Linaro.
This is the version I use gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu.
Once you have that, set it's path within the 2 files build.sh and menuconfig.sh.
Next step is to do ./menuconfig , do your changes, then do ./build.sh h918
To add features, you have to add source files (.c and .h files, and reference them accordingly in their respective Makefile and Kconfig files.
Thanks to @jcadduono for the realest build scripts. build.sh and menuconfig.sh are epic.
Tilde88 said:
The only tool you will need on top of this source, is a cross compiler.
There are a few to choose from, but mainly, you might want to use Linaro.
This is the version I use gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu.
Once you have that, set it's path within the 2 files build.sh and menuconfig.sh.
Next step is to do ./menuconfig , do your changes, then do ./build.sh h918
To add features, you have to add source files (.c and .h files, and reference them accordingly in their respective Makefile and Kconfig files.
Thanks to @jcadduono for the realest build scripts. build.sh and menuconfig.sh are epic.
Click to expand...
Click to collapse
Hi.
The boot file you linked. I decompressed it and itt produced many double copies. I assume that I have originals + a copy (1) some are identical in size others not so.... What do I do?
twidledee said:
Hi.
The boot file you linked. I decompressed it and itt produced many double copies. I assume that I have originals + a copy (1) some are identical in size others not so.... What do I do?
Click to expand...
Click to collapse
None of the words you just said make sense.
What are you trying to do, and with what.
Be precise.
If what you did was get the boot.img file and decompressed it, you exposed the RAMdisk. This will not help you in any way. This is also not the way in which you create a kernel. boot.img contains the kernel (zImage).
?
Tilde88 said:
None of the words you just said make sense.
What are you trying to do, and with what.
Be precise.
If what you did was get the boot.img file and decompressed it, you exposed the RAMdisk. This will not help you in any way. This is also not the way in which you create a kernel. boot.img contains the kernel (zImage).
?
Click to expand...
Click to collapse
It's my first time. I wanted to see what the package consisted of outside of the tar.zip so I unpacked it. As it was unpacking it was periodically halting due to an existing file already there. So I wasn't sure what to do so I let it rename. I wanted to see what the duplicate file was.
I'm not at the desk at the moment but when i looked at replicas the few I read were Readme and Linux guides.
As far as I can tell they weren't crucial files. I was just curious what made that happen since I haven't seen that with other packages. Then again I haven't embarked on this sort of project before either.
I hope that makes some sense.
Sent from my zeroltetmo using XDA Labs
Bump
twidledee said:
Bump
Click to expand...
Click to collapse
You are doing it wrong.
twidledee said:
It's my first time. I wanted to see what the package consisted of outside of the tar.zip so I unpacked it. As it was unpacking it was periodically halting due to an existing file already there. So I wasn't sure what to do so I let it rename. I wanted to see what the duplicate file was.
I'm not at the desk at the moment but when i looked at replicas the few I read were Readme and Linux guides.
As far as I can tell they weren't crucial files. I was just curious what made that happen since I haven't seen that with other packages. Then again I haven't embarked on this sort of project before either.
I hope that makes some sense.
Sent from my zeroltetmo using XDA Labs
Click to expand...
Click to collapse
Did you ever figure it out?
Not sure which you are using, the source, or the compiled boot.img.
If you want to make a custom kernel, I am more than happy to help. When extracting the source, or anything really, you will not get those errors, unless you already have files/folders that match identically to the structure in which you are extracting to... That would mean that you can have the same folder twice within a compressed file, which, you can't.
So, take the tarball, extract it (I just did it myself right now, there are no duplicates --because impossible), modify menuconfig.sh and build.sh to point them to your cross compiler (i recommend Linaro 6.1.1 for aarch64).
Now, within the source, you WILL find multiple files that are named the same, but they are in different locations, and contain different lines of code (almost usually). But these are NOT to be de-duped. Extract and use as-is.
Once you have set your toolchain in the 2 .sh files that jcadduono has made (and are awesome as can be), open up a terminal (i really hope you are on a Linux environment by this point, because if not, none of the steps in this paragraph will work ). Do not use root, just plain old userspace. Once in the terminal, cd to your source directory.
Type ./menuconfig.sh and hit enter.
Make your edits, save the file, and confirm you want to save.
Now you are back in your terminal session.
Type ./build.sh h918
Wait or watch as it compiles.
When it finishes, you will need 2 things. The kernel (found in your /sourcefolder/build/arch/arm64/boot directory), and the modules (found in your /sourcefolder/build/lib/modules/yourkernelname/kernel. This directory will be wiped the next time you do menuconfig or build, so get your files now. There will be like 20ish or so modules, and they have the .ko extension. Search the folder, and copy all these modules to a new folder, along with your zImage (file called Image.lz4-dtb).
You can either flash the zImage , or pack it into a boot.img with an existing RAMdisk, and flash the boot.img.
Also, all the modules you just compiled, need to go in your ROM. So when you make the flashable zip, make it delete /system/lib/modules, and then extract the new /modules dir into /system/lib.
Congrats, you just compiled your first custom kernel.
Hello
I thank you and @jcadduono for doing this.
Though I myself am not a developer, I will be getting this phone soon and I appreciate the activity on XDA that could potentially make it more fun to own this LG device.
I do know some basic Linux stuff, and I have compiled a few kernels with success so maybe I'll look into it someday, but hopefully there will be many veteran Linux hackers doing it instead the results would be better I think.
Btw, I looked on lg opensource site and found this: "LGH918_Android_Nougat_v10n.zip" I have not seen it mentioned anywhere in the forums yet, it must be very new.
askermk2000 said:
Btw, I looked on lg opensource site and found this: "LGH918_Android_Nougat_v10n.zip" I have not seen it mentioned anywhere in the forums yet, it must be very new.
Click to expand...
Click to collapse
https://forum.xda-developers.com/v20/how-to/h918-10k-kernel-source-potential-10n-t3631920
Plus @Mentalmuso has released a kernel using the 10N source.

[Recovery][VS995][Unofficial] TWRP 3.2.1-0

Team Win Recovery Project 3.x, or twrp3 for short, is a custom recovery built with ease of use and customization in mind. Its a fully touch driven user interface no more volume rocker or power buttons to mash. The GUI is also fully XML driven and completely theme-able. You can change just about every aspect of the look and feel.
Note 1/19/18: I fixed OTG in 3.2.1-0. Since the LineageOS kernel for the VS995 is known to have broken OTG, I went back to my good old reliable 10b source. I stripped down the options as much as I could to reduce the file size. It seems to be working well. Unfortunatly the only way to tell them apart is the file size or md5.
Old: 24,637,440 bytes / MD5 - ca8bb67c07a81fe17f463eeaacd7c096
New: 24,653,824 bytes / MD5 - d2b25849241b9524b838a11bb0a39093
Here's the build info from the old builds for those looking for breadcrumbs, etc.
OK, this is the first time I've built TWRP so I'm sure there are some issues. Please use this at your own risk. I've done some very basic testing and it seems to work OK for my purposes. I do not plan to build for anything other than the VS995. For other devices I'll lay out my basic workflow in hopes that those still working on other devices can do the same.
Basically I followed the guide here: https://forum.xda-developers.com/showthread.php?t=1943625
Since I already have the LineageOS repositories (with proprietary files from here) installed on my machine, I started with the code from here: https://github.com/omnirom/android_bootable_recovery
I found out LineageOS doesn't have busybox so I added that to my LineageOS system/external folder from here: https://github.com/omnirom/android_external_busybox
Since it failed to build with encryption, I cherry-picked this commit: https://gerrit.omnirom.org/#/c/22096/
I added the recover.fstab from here to the device folder for the vs995: https://github.com/jcadduono/android_device_lge_vs995/tree/android-6.0/recovery/root
Here are the extra lines and flags I added to my default LineageOS BoardConfig.mk
Code:
RECOVERY_VARIANT := twrp
PRODUCT_COPY_FILES += device/lge/vs995/twrp.fstab:recovery/root/etc/twrp.fstab
TW_THEME := portrait_hdpi
RECOVERY_SDCARD_ON_DATA := true
TW_INCLUDE_CRYPTO := true
That's pretty much everything I've done.
Note to developers: This recovery is a true VS995 build. Please add vs995 to your zips asserts.
Know issues:
- ROMs, kernels, mods, etc. whose zips are built with 'elsa' and/or 'vs996' only asserts will not flash. This is not a bug. If your zip tells you it's for another device and not a vs995, please ask the developer to add this to their asserts.
Download: VS995 TWRP 3.2.1-0
Device tree/kernel source
Old Builds:
VS995 TWRP 3.2.0-0
TWRP 3.2.1-0 Changelog
Code:
What's new in 3.2.1-0:
* minui fixes (cryptomilk)
* Better android-8.0 compatibility in ROM trees (Dees_Troy)
* Fix missing library in android-8.0 (nkk71)
* Fix inconsistent SDCard naming (DevUt)
* Default to TWRP restore instead of adb backup restore to fix restore on fresh TWRP boot (jlask)
Thank you very much, even though I don't own a VS995 it's always good to see new development. Thanks again OP.
Link gives me "Access Denied"
wally86 said:
Link gives me "Access Denied"
Click to expand...
Click to collapse
I (think I) fixed it. Please try again.
BackCheck said:
I (think I) fixed it. Please try again.
Click to expand...
Click to collapse
Working now!
I just received my vs995. I'm gonna downgrade to 12A from 15A with uppercut, when use dirtysanta. Should I use twrp 3.0.2-1 like in the guide then then update to 3.2.0-0 or just use 3.2.0-0?
Thanks
wally86 said:
Working now!
I just received my vs995. I'm gonna downgrade to 12A from 15A with uppercut, when use dirtysanta. Should I use twrp 3.0.2-1 like in the guide then then update to 3.2.0-0 or just use 3.2.0-0?
Thanks
Click to expand...
Click to collapse
I would 100% use the 3.0.2-1 from the thread. It has been well tested. From there is you're looking to use a custom kernel or flash a custom rom, then you might test 3.2.0-0. Like I said in the OP, this is the first time I've ever messed with compiling TWRP.
BackCheck said:
I would 100% use the 3.0.2-1 from the thread. It has been well tested. From there is you're looking to use a custom kernel or flash a custom rom, then you might test 3.2.0-0. Like I said in the OP, this is the first time I've ever messed with compiling TWRP.
Click to expand...
Click to collapse
Alright sounds good. I'm gonna try resurrection remix & weta with this version and I'll report back in a few days with how it's working.
Awesome, thanks for keeping the development alive!
Awesome thanks so much. Downloading now. You're great!
Any idea if this is available on the H918 (T-mobile)?
jaysonic88 said:
Any idea if this is available on the H918 (T-mobile)?
Click to expand...
Click to collapse
To the best of my knowledge, there is no 3.2.0 TWRP for the H918, 3.1.1 is the most recent build for it.
This works perfectly with VS995. Thank you!
Any idea how to make this for H990DS ?
Zenns said:
Any idea how to make this for H990DS ?
Click to expand...
Click to collapse
Between the links I posted in the OP and this there are enough breadcrumbs for someone to start building it. That someone isn't me but I would gladly offer advice if needed.
BackCheck said:
Between the links I posted in the OP and this there are enough breadcrumbs for someone to start building it. That someone isn't me but I would gladly offer advice if needed.
Click to expand...
Click to collapse
So I followed your guide (thanks btw!) and successfully compiled twrp 3.2 for the h910 (att) variant. There are some issues for me though. First the terminal in twrp constantly says "child process exited" when I try to type anything in. Also when installing stuff there's a red warning saying "error mount -o bind data/media/0 error 2" or something similar. In the file manager I can access that partition and see files there. Backup and restore seems to work and I tested a couple of magisk zips and they all flashed successfully. Was wondering if you had seen anything like that.
toastyp said:
So I followed your guide (thanks btw!) and successfully compiled twrp 3.2 for the h910 (att) variant. There are some issues for me though. First the terminal in twrp constantly says "child process exited" when I try to type anything in. Also when installing stuff there's a red warning saying "error mount -o bind data/media/0 error 2" or something similar. In the file manager I can access that partition and see files there. Backup and restore seems to work and I tested a couple of magisk zips and they all flashed successfully. Was wondering if you had seen anything like that.
Click to expand...
Click to collapse
Good job. And no, my first build had completely different errors. If you want to PM me your fstab and board config I might be able to look over it sometime and see if I can see anything. Those 2 files look like good places to start.
So I've gone and gotten a sorta working us996 build. Definitely took a couple trys, and my first attempt wiped /data (thanks LG, but this is why I keep backups!) Since I didn't have TW_IGNORE_MISC_WIPE_DATA set. It doesn't have USB otg support like the old 3.0.2 build does (neither does Lineage, but the old build and stock does). I plan on looking at cleaning up my fstab or whatever so that the sdcard is labeled nicely (has internal storage and then storage0 - storage4 with the sdcard being one of those). Havnt tried backups/restoring yet, nor any sort of encryption, but flashing a new lineage build, gapps, and magisk worked. Slightly annoyed I can't build lineage and twrp at the same time (using brunch it pukes out an error about not being able to find some library twrp builds in it's applypatch directory, granted paraphrasing errors doesn't help much) but whatever I can toggle back and forth.
Phoenix591 said:
So I've gone and gotten a sorta working us996 build. Definitely took a couple trys, and my first attempt wiped /data (thanks LG, but this is why I keep backups!) Since I didn't have TW_IGNORE_MISC_WIPE_DATA set. It doesn't have USB otg support like the old 3.0.2 build does (neither does Lineage, but the old build and stock does). I plan on looking at cleaning up my fstab or whatever so that the sdcard is labeled nicely (has internal storage and then storage0 - storage4 with the sdcard being one of those). Havnt tried backups/restoring yet, nor any sort of encryption, but flashing a new lineage build, gapps, and magisk worked. Slightly annoyed I can't build lineage and twrp at the same time (using brunch it pukes out an error about not being able to find some library twrp builds in it's applypatch directory, granted paraphrasing errors doesn't help much) but whatever I can toggle back and forth.
Click to expand...
Click to collapse
I share your pain on the errors with brunch, I get that too. What are you using for fstab? If your using the fstab from jcadduono then OTG is in the file, then it's in there. I don't use OTG so I'm not sure it or encryption is working in mine either. I need testers.
BackCheck said:
I share your pain on the errors with brunch, I get that too. What are you using for fstab? If your using the fstab from jcadduono then OTG is in the file, then it's in there. I don't use OTG so I'm not sure it or encryption is working in mine either. I need testers.
Click to expand...
Click to collapse
No it isn't in jc's fstab, looks like USA-RedDragon has it in his, https://github.com/DesolationRom-Devices/device_lge_h910twrp?files=1 . Going to take a closer look in a day or so.
Well, I got USB otg working, just not the way I hoped. I grabbed the prebuilt kernel image from the repo in my last post and that did the trick when using his fstab as well. So it's probably a kernel problem, since it didn't work with his fstab alone. I tried enabling the more obviously named USB otg kernel config options without success.

Categories

Resources