[Q]How to add Touchscreen drivers to the kernel source code? - General Questions and Answers

I thought I have successfully ported kernel source for my lyf wind 3 from yu yuniqe but when the rom booted I noticed Touchscreen was not working.
I thought to add goodix-TS drivers in /driver/input/Touchscreen then I realised that my phone uses gt915l driver(from defconfig extracted from stock kernel). So found drivers added from redmi 5a (got lots of errors while compiling but fixed them all. Again booted the rom still not Touchscreen working. Again opened defconfig and found my phone uses another ty_gt9xx drivers.Copied them from blustudio5qcom and put them in the same folder. Included them in kconfig and makefile.
But got lots of errors this time.the errors didn't stopped. Fixed one got one. After so much tries I fixed it also.
Another time booted rom found still the Touchscreen not working. Gone through the defconfig there was no other drivers than these. ?
Please if any experienced person is reading this just comment down a solution. May it work and you may owe my thanks. By the way,if I can fix this I can have many ROMs for my device.
Thanks in advance!

Solution Found !!!
If someday I will fix it would share in this comment.
If not i will write nevert port a kernel source for a device which do not have.
First extract the defconfig from stock kernel
Seach for "Touchscreen"
Notice the drivers and search for it on GitHub.
Merge into your kernel/drivers/input/Touchscreen/
Paste the drivers folder there and add them in kconfig and Makefile
DONE ?
BOOTED Roms from lollipop to Android 10 using the kernel source. ?
XD

Amit Kumar R said:
I thought I have successfully ported kernel source for my lyf wind 3 from yu yuniqe but when the rom booted I noticed Touchscreen was not working.
I thought to add goodix-TS drivers in /driver/input/Touchscreen then I realised that my phone uses gt915l driver(from defconfig extracted from stock kernel). So found drivers added from redmi 5a (got lots of errors while compiling but fixed them all. Again booted the rom still not Touchscreen working. Again opened defconfig and found my phone uses another ty_gt9xx drivers.Copied them from blustudio5qcom and put them in the same folder. Included them in kconfig and makefile.
But got lots of errors this time.the errors didn't stopped. Fixed one got one. After so much tries I fixed it also.
Another time booted rom found still the Touchscreen not working. Gone through the defconfig there was no other drivers than these. [emoji3064]
Please if any experienced person is reading this just comment down a solution. May it work and you may owe my thanks. By the way,if I can fix this I can have many ROMs for my device.
Thanks in advance!
Click to expand...
Click to collapse
I don't think that can be done by porting the kernel, you'll probably have to compile a new kernel from source with the additions added to the lyf wind 3 kernel source code before you compile the kernel.
I'm not a kernel developer, but, I do know that editing an existing kernel file, in general, doesn't allow you to get to what really needs to be changed. Typically, it requires building a new kernel from the ground up with the necessary changes added during the build/compiling process.
Sent from my SM-S767VL using Tapatalk

Solution Found !!!
See the second post

Related

[ASK][MSM8625] Compiled kernel from CAF doesn't boot

Ok, I'm trying to do something fun with my phone... (Hisense EG909 MSM8625)
Since hisense is keeping the source code, so I'm trying to build the source from codeaurora.org ics branch M8625SSNSKMLYA1015 (to keep the same version with my current stock ROM)
I've successfully compiled the kernel with the ndk but I'm stuck on getting it to boot.
It just show the carrier logo (bootloader). I can't get the bootanimation to load.
I'm not expecting things like wifi / bluetooth or even the radio works... but I'm just trying to at least get it to boot the launcher
I have experience in c/c++ but I know nothing about android and just started to learn it...
Can anyone point me on how to debug or see what's wrong with the kernel?
Is there any way to show something on the screen? I mean turning on the frame buffer
I've search and tried many method like altering the command line "console=tty0", adding "CONFIG_MSM_FRAMEBUFFER", etc..
but seems like nothing works, it just stuck there...
the way I build is:
1. downloading code from caf
2. pulled config.gz from my working phone... but it require some hisense stuff. so I'm using the configs that come with the code
3. tried both msm7627a_defconfig and msm7627a-perf_defconfig,
4. extract current working boot.img
5. substitute the kernel with my compiled zImage, and repack the boot.img
Am I missing something here?
million thanks for your help...
Looks like you are missing some hardware drivers. Why not find the lines in defconfig mentioning "hisense stuff" and search at Google or "searchcode.org" to see if drivers are available. And then patch your source as necessary.
sharonsym said:
Ok, I'm trying to do something fun with my phone... (Hisense EG909 MSM8625)
Since hisense is keeping the source code, so I'm trying to build the source from codeaurora.org ics branch M8625SSNSKMLYA1015 (to keep the same version with my current stock ROM)
I've successfully compiled the kernel with the ndk but I'm stuck on getting it to boot.
It just show the carrier logo (bootloader). I can't get the bootanimation to load.
I'm not expecting things like wifi / bluetooth or even the radio works... but I'm just trying to at least get it to boot the launcher
I have experience in c/c++ but I know nothing about android and just started to learn it...
Can anyone point me on how to debug or see what's wrong with the kernel?
Is there any way to show something on the screen? I mean turning on the frame buffer
I've search and tried many method like altering the command line "console=tty0", adding "CONFIG_MSM_FRAMEBUFFER", etc..
but seems like nothing works, it just stuck there...
the way I build is:
1. downloading code from caf
2. pulled config.gz from my working phone... but it require some hisense stuff. so I'm using the configs that come with the code
3. tried both msm7627a_defconfig and msm7627a-perf_defconfig,
4. extract current working boot.img
5. substitute the kernel with my compiled zImage, and repack the boot.img
Am I missing something here?
million thanks for your help...
Click to expand...
Click to collapse
if you can't extract original defconfig (config.gz) from device, it would be hard to have bootable kernel.
Sent from my Oppo N1 using Tapatalk

[Q] Help needed porting CM11

Since development for the Sidekick 4G has stopped I decided to try and port the CM11 M10 snapshot from the Galaxy S 4G using this guide. I used the Galaxy S 4G as port ROM since most of the specs are the same as the SK4G. The base ROM I used is ayoteddy"s KJ2 Deodexed & rooted ROM. I followed the guide and flashed the ROM I made but the phone didn't boot. It stays stuck at the tmobile startup screen and then bootloops. I took a logcat and see a lot of errors but idk how to correct them. I tried uploading the ROMs I used and the one I created but it only let me upload the logcat.
Hey,
Its awesome to see some more effort in this phone but when porting a ROM one of the main prerequisites is the base being the same android version.
So to port cm11 over you would need a kitkat kernel and ROM for the sk4g already.
What would be real helpful is to get the gingerbread kernel fully functional then any GB ROM could be ported fairly easily.
Or start with a kitkat kernel but both require a bit of work. If you want to take it on a can link a bunch of guides that may help
Thanks for that info. I don't have experience coding but I would like to be able to learn how to cook and port roms so I would really appreciate some guides. As I understand it, since there is no KitKat ROM available for the sk4g I would first need to make my own KitKat kernel and ROM before I would be able to port cm11? And how long do you think it would take to learn everything needed to be able to port and cook roms?
Hey,
On mobile right now so can't post a bunch of links but xda is filled with them
The best place to start would be http://www.xda-university.com
And be sure to check out the forum links as well!
For a quick set of links see the seventh post in this thread
http://forum.xda-developers.com/showthread.php?t=2348266
For a different device but those are all great places to start learning to develop for android
Keep me posted on your progress!
Took me a while to find some useful guides since I was searching with the term "port" and not "build/compile from source" since that is essentially what I'm doing. I used wiki.cyanogenmod.org/w/Doc:_porting_intro and wiki.cyanogenmod.org/w/Build_for_galaxysmtd (can't post links yet). I forked the galaxys4g repo and modified the files to be suited for the sidekick4g. Now I'm onto the building step, a couple of things already broke and I managed to fix them, but I ran into this error and haven't been able to fix it.
brunch sidekick4"ebtables is disabled on this build"
find: `src': No such file or directory
build/core/base_rules.mk:134: *** system/extras/ext4_utils: MODULE.TARGET.EXECUTABLES.setup_fs already defined by device/samsung/sidekick4g. Stop.
I researched the MODULE.TARGET.EXECUTABLES.setup_fs already defined by device/samsung/sidekick4g issue and suggestions were to delete the setup_fs file within device/samsung/sidekick4g folder. However the setup_fs file wasn't in there, I did find a setup_fs.c file and deleted that one. Then I proceeded to try the build again and ran into the same error. Another suggestion was to use grep -R setup_fs *. This command pointed to these files,
Android.mk:LOCAL_SRC_FILES := setup_fs.c
Android.mk:LOCAL_MODULE := setup_fs
Android.mk~:LOCAL_SRC_FILES := setup_fs.c
Android.mk~:LOCAL_MODULE := setup_fs
initramfs/init.herring.rc:service setup_fs /system/bin/setup_fs /dev/block/platform/s3c-sdhci.0/by-name/userdata
sidekick4g.mk: setup_fs
But I don't know what exactly I'm supposed to delete. The device repo is located at github.com/SK4G/android_device_samsung_sidekick4g.git It is a pre-build attempt version before I made suggested changes to the local repo. I tried "git push origin master", the command went through and said everything is up to date but the remote repo still wasn't changed so I haven't been able to update it.
What are you using for the device tree? The relay is a completely different device and none of the drivers would work, did you at least pull blobs and proprietary files from a sk4g?
There is a ton of setup to be done in order to build from source, you can use the cm11 source but need to make a specific device tree for the sidekick to get a working build, not to mention a ton of kernel work will be needed
For the device tree I forked the galaxys4g repo (not the galaxy s relay 4g) and then modified the files to build the sidekick4g specific device tree. When pulling the blobs and proprietary files the guide said " Your device should already be running a build of CyanogenMod for the branch you wish to build for the extract-files.sh script to function properly". Not sure if that's relevant to the errors but I was still able to pull the blobs towards the correct ~/android/system/vendor/samsung directory. As far as the kernel I downloaded the stock kernel from the samsung source website and then put it in the kernel/samsung/sidekick4g directory. The guide said that the kernel and kernel modules would be built automatically as long as I made appropritate changes to the BoardConfig.mk and I did so. I have done every step in the guide and now I'm into building but I can't get past the previously mentioned error. Should I delete the whole part of the files mentioned by the grep -R setup_fs * command or just the red part or is there another solution?
Well the blobs that were pulled and the kernel that was used was for froyo, that won't work for kitkat without a weeks worth of modification
Also the s4 is even more different than the relay and would be much harder to use anything from there
What you need at this point is to create your own device tree on github and add this to your local manifest, then the hard part is to adapt the sk4g kernel into something that will work with kitkat, once this steps are complete you can build and then fix the errors that come up, fixing any errors at this point won't help much as the files used are incompatible from the start
I should have been more specific, I used the T-Mobile Galaxy S 4G which is one the first galaxy phones. It has the same hummingbird chipset, architecture, ram/rom size, resolution, and both originally ran froyo. The guide states that the cm buildbots build a compatible kernel for me. I didn't just fork the galaxys4g repo and leave it as is. I went through the files and substituted anything that was galaxys4g device specific to fit the sidekick4g.
No problem, should have read more clearly, yes the galaxy s is very similar minus the keyboard but you can look at the work that was done to get a GB ROM booting here
http://forum.xda-developers.com/showthread.php?t=2323617
This was done on the exhibit, another very similar phone,
Even after the kernel was adapted the keyboard never worked, you check the link to his github to see what was put into it to work
The kernel built by the bot won't adapt it to work between different versions of android so you need to build this manually first then you can use it, but even then there will be a lot to do in order to get the keyboard working
Now I'm beginning to understand what you have been trying to tell me. It was hard to grasp at fist because I never really looked into building a kernel since I usually just use the stock kernel or the cm built in kernel on my devices. Now I shall redirect my efforts into building a kernel
Hi I just wanted to know if you're still building port for the sidekick 4G I still have mine and I would like to use if you have kitkat to work. I miss my sidekick 4G
Sent from my Nexus 6 using XDA Free mobile app

[Completed] [Q] Trouble With Nexus 5 Kernel zImage

Haii guys!
So, i'm young "kernel developer".. I am actually not a coder, i just try to learn by making kernels and if they are stable enough i test them. So, till now i was working with Mako source - i had phone lg optimus g which i really close to mako and i based everything on Mako source.
Now i bought a new phone, Nexus 5. I am really satisfied by this phone on stock, but even more on custom ROM & Kernel.. But hey, it's me, i'm curious and i have to try to make stuff myself, so i choose to make my own kernel for Nexus 5.. More to learn than anything.
So, i started.. I forked this to my github and do some basic changes for me.. Just to start. I added graphite support and option to build with Linaro 4.9.4.. And i started to build. And it had some errors, so i also fixed them - fs/namespace.c error with 4.9 toolchains, so, i fixed it and it built with no trouble.
So, i was coming from world of Mako and took zImage, made a flashable zip with AnyKernel and flashed it.. And i was stuck at google logo with unlock icon. I restored twrp backup of previous kernel and started over and it booted normally...
Then i did some research and found out that i should use zImage-dtb because Nexus 5 uses something named device tree blob.. So, i did everything from scratch.
I forked same source as before, and did my changes over it.. Renamed kernel, added kernel build script, made my slightly modified defconfig, this time i used toolchain LinaroMod 4.9 from here and some other stuff.. I built with no trouble, used zImage-dtb as zImage in flashable zip as i saw in other kernels and flashed.. I was sure it will boot this time, none of those modifications was supposed to break anything.. But again, I am stuck at Google logo.
Have any of you guys any idea where i missed? Maybe wrong source? Wrong toolchain?
Here are some maybe useful links:
My source: https://github.com/Matthew-333/BlueMoon
My Changes: https://github.com/Matthew-333/BlueMoon/commits/master
Toolchain: https://github.com/hyper-toolchains/LinaroMod-arm-eabi-4.9
AnyKernel Template: https://github.com/koush/AnyKernel
I am using xUbuntu 15.04 64 bit..
Thank you if anybody manage to help me with this...
Matthew_333 said:
Haii guys!
So, i'm young "kernel developer".. I am actually not a coder, i just try to learn by making kernels and if they are stable enough i test them. So, till now i was working with Mako source - i had phone lg optimus g which i really close to mako and i based everything on Mako source.
Now i bought a new phone, Nexus 5. I am really satisfied by this phone on stock, but even more on custom ROM & Kernel.. But hey, it's me, i'm curious and i have to try to make stuff myself, so i choose to make my own kernel for Nexus 5.. More to learn than anything.
So, i started.. I forked this to my github and do some basic changes for me.. Just to start. I added graphite support and option to build with Linaro 4.9.4.. And i started to build. And it had some errors, so i also fixed them - fs/namespace.c error with 4.9 toolchains, so, i fixed it and it built with no trouble.
So, i was coming from world of Mako and took zImage, made a flashable zip with AnyKernel and flashed it.. And i was stuck at google logo with unlock icon. I restored twrp backup of previous kernel and started over and it booted normally...
Then i did some research and found out that i should use zImage-dtb because Nexus 5 uses something named device tree blob.. So, i did everything from scratch.
I forked same source as before, and did my changes over it.. Renamed kernel, added kernel build script, made my slightly modified defconfig, this time i used toolchain LinaroMod 4.9 from here and some other stuff.. I built with no trouble, used zImage-dtb as zImage in flashable zip as i saw in other kernels and flashed.. I was sure it will boot this time, none of those modifications was supposed to break anything.. But again, I am stuck at Google logo.
Have any of you guys any idea where i missed? Maybe wrong source? Wrong toolchain?
Here are some maybe useful links:
My source: https://github.com/Matthew-333/BlueMoon
My Changes: https://github.com/Matthew-333/BlueMoon/commits/master
Toolchain: https://github.com/hyper-toolchains/LinaroMod-arm-eabi-4.9
AnyKernel Template: https://github.com/koush/AnyKernel
I am using xUbuntu 15.04 64 bit..
Thank you if anybody manage to help me with this...
Click to expand...
Click to collapse
Hi, thanks for using XDA assist!
Please have a look here for some useful information:
http://forum.xda-developers.com/android/software/ultimate-guide-compile-android-kernel-t2871276
Good luck!

[Q] Trouble With Nexus 5 Kernel zImage

Haii guys!
So, i'm young "kernel developer".. I am actually not a coder, i just try to learn by making kernels and if they are stable enough i test them. So, till now i was working with Mako source - i had phone lg optimus g which i really close to mako and i based everything on Mako source.
Now i bought a new phone, Nexus 5. I am really satisfied by this phone on stock, but even more on custom ROM & Kernel.. But hey, it's me, i'm curious and i have to try to make stuff myself, so i choose to make my own kernel for Nexus 5.. More to learn than anything.
So, i started.. I forked this to my github and do some basic changes for me.. Just to start. I added graphite support and option to build with Linaro 4.9.4.. And i started to build. And it had some errors, so i also fixed them - fs/namespace.c error with 4.9 toolchains, so, i fixed it and it built with no trouble.
So, i was coming from world of Mako and took zImage, made a flashable zip with AnyKernel and flashed it.. And i was stuck at google logo with unlock icon. I restored twrp backup of previous kernel and started over and it booted normally...
Then i did some research and found out that i should use zImage-dtb because Nexus 5 uses something named device tree blob.. So, i did everything from scratch.
I forked same source as before, and did my changes over it.. Renamed kernel, added kernel build script, made my slightly modified defconfig, this time i used toolchain LinaroMod 4.9 from here and some other stuff.. I built with no trouble, used zImage-dtb as zImage in flashable zip as i saw in other kernels and flashed.. I was sure it will boot this time, none of those modifications was supposed to break anything.. But again, I am stuck at Google logo.
Have any of you guys any idea where i missed? Maybe wrong source? Wrong toolchain?
Here are some maybe useful links:
My source: https://github.com/Matthew-333/BlueMoon
My Changes: https://github.com/Matthew-333/BlueMoon/commits/master
Toolchain: https://github.com/hyper-toolchains/LinaroMod-arm-eabi-4.9
AnyKernel Template: https://github.com/koush/AnyKernel
I am using xUbuntu 15.04 64 bit..
Thank you if anybody manage to help me with this...

[HELP][KERNEL]WiFi / Bluetooth Not working After Compiling kernel

Hello xda,
I am new into kernel development.Recently I downloaded the kernel sources for my phone Zenfone 2 Laser -ZE550KL
After that I compiled the stock kernel, since It is based on arm64 I got a file named Image instead of zImage.
After searching I found a way to convert that to a boot.img (using the ramdisk from stock kernel).I could get the kernel to boot on the device using
Code:
fastboot boot boot.img
The device booted successfully with the kernel, I could see change in the name of Kernel in About Phone.
But the problem is Wifi/Bluetooth and Soft keys do not work.Wifi turns on But cannot see any AP.
BT works(A BT enabled watch vibrated )but no device can be seen in bletooth settings.
Please help me with this kernel.
here is the link to my source=>
https://github.com/abhishekr700/ZE550KL_KERNEL
I am using ze550kl_defconfig present in /kernel/arch/arm64/configs to make .config file for building kernel.
Thanks.
Hello
Assuming the sources are for your device and are OK...
Do a factory reset, or full wipes first. ( sometimes this fixs issues with modules )
Also I'm assuming your kernel haves in-built modules, and not external modules...
Otherwise it could be a faulty config / old or incompleted source
Cheers
superdragonpt said:
Hello
Assuming the sources are for your device and are OK...
Do a factory reset, or full wipes first. ( sometimes this fixs issues with modules )
Also I'm assuming your kernel haves in-built modules, and not external modules...
Otherwise it could be a faulty config / old or incompleted source
Cheers
Click to expand...
Click to collapse
I'm 100% sure the sources are correct,
Because they are from official asus website.
Now first I tried without putting any modules in ramdisk.
I got error in logcat that failed to load wlan driver.
Then I searched all .ko files in the kernel folder. There were many files. I checked them with the /system/lib/modules and found that most files are there except wlan.ko which is a symlink from another file named pronto_wlan.ko in the modules folder in phone.
Any reason why pronto_wlan.ko is not being made in my working folder?
Sent from my C2305 using Tapatalk
abhishekr700 said:
I'm 100% sure the sources are correct,
Because they are from official asus website.
Now first I tried without putting any modules in ramdisk.
I got error in logcat that failed to load wlan driver.
Then I searched all .ko files in the kernel folder. There were many files. I checked them with the /system/lib/modules and found that most files are there except wlan.ko which is a symlink from another file named pronto_wlan.ko in the modules folder in phone.
Any reason why pronto_wlan.ko is not being made in my working folder?
Sent from my C2305 using Tapatalk
Click to expand...
Click to collapse
Being an official source from their website means absolutely nothing
Asus is one of the OEMs that sometimes release incomplete sources ..
The memo pad 7 sources they published doesn't even belong to have the device ...
In your case, it may be just a symlink issue, I though that nowadays OEMs where already compiling kernel modules inbuilt, makes few to no sense to have external kernel modules on kitkat and newer OS.
Is the wlan module folder present on kernel? They could've ditched it, in case its proprietary...
Also check if there's any wlan config on device build configuration..
Cheers
superdragonpt said:
Being an official source from their website means absolutely nothing
Asus is one of the OEMs that sometimes release incomplete sources ..
The memo pad 7 sources they published doesn't even belong to have the device ...
In your case, it may be just a symlink issue, I though that nowadays OEMs where already compiling kernel modules inbuilt, makes few to no sense to have external kernel modules on kitkat and newer OS.
Is the wlan module folder present on kernel? They could've ditched it, in case its proprietary...
Also check if there's any wlan config on device build configuration..
Cheers
Click to expand...
Click to collapse
In system/lib/modules there is a folder named pronto inside which pronto_wlan.ko exists.this file is symlink in modules folder as wlan.ko.
I could not find config wlan in the defconfig file I use to build kernel .config.
Although it is there in .config file.
I have given link to kernel source.
Also please tell me if you could talk on whatsspp telegram or fb.
I won't bother you I promise but this conversation can happen faster
Thanks.
Sent from my C2305 using Tapatalk
You have a thread for this topic already in the correct section (Q&A):
http://forum.xda-developers.com/android/help/help-wifi-bluetooth-compiling-kernel-t3368463
Please only create one thread per topic, thread closed.

Categories

Resources