Hello,
I'm looking to access Broadcom 4329 sources and make some minimal modifications.
I could successfully compile Kernel and bcm4329.ko and upload to the phone. Both Kernel a module are working fine. Except that I can't find the true sources and modify them.
There are many guides, some outdateted, and confuses me a bit.
I found bcm4329 sources at ~/android/system/hardware/broadcom/wlan/bcm4329/src but those files are never being used at all while compiling.
On Nexus One this folder seams to be completelly unused.
When I compile the Kernel it also makes a working bcm4329.ko module with files from ~/android/kernel/cm-kernel/drivers/net/wireless/bcm4329.
I need help to known how can I modify sources a compile them.
Which files are the 'true' sources for this drivers to be modifed?
I add a printk in wl_cfg80211.c located at both folders, but do nothing.
Regards,
for the record: we found the solution, the module gets compiled with the sources from
Code:
cm-kernel/drivers/net/wireless/bcm4329/
Hello to all.
I am trying to learn building CM and modifying CM source code in order to running 3G and WiFi connections simultaneously on my Sony Xperia TX(LT29i).
I have been unlocked my TX and run CyanogenMod 12.1 Homebuildperfectly.
For building CM,i flash back to Xperia Firmware using FTF file
Code:
The following picture link is now my TX build:
i.imgur.com/APktTle.png
I follow wiki step by step:
Code:
wiki.cyanogenmod.org/w/Build_for_hayabusa
Ubuntu version :
Code:
lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.2 LTS
Release: 14.04
Codename: trusty
I get stuck running breakfast command:
Code:
$ breakfast hayabusa
including vendor/cm/vendorsetup.sh
build/core/product_config.mk:239: *** _nic.PRODUCTS.[[device/sony/hayabusa/cm.mk]]: "vendor/sony/qcom-common/qcom-common-vendor.mk" does not exist. Stop.
Device hayabusa not found. Attempting to retrieve device repository from CyanogenMod Github (github.com/CyanogenMod).
Found repository: android_device_sony_hayabusa
Default revision: cm-10.1
Checking branch info
CyanogenMod/android_device_sony_hayabusa already exists
Syncing repository to retrieve project.
Fetching project CyanogenMod/android_device_sony_hayabusa
Repository synced!
Looking for dependencies
Done
build/core/product_config.mk:239: *** _nic.PRODUCTS.[[device/sony/hayabusa/cm.mk]]: "vendor/sony/qcom-common/qcom-common-vendor.mk" does not exist. Stop.
** Don't have a product spec for: 'cm_hayabusa'
** Do you have the right repo manifest?
Then I follow Helpful Tip– Errors during breakfast,jumping down to the next section Extract proprietary blobs.
Unfortunately,it shows that "modem.b05" doesn't exist.
Code:
-emote object '/system/etc/fireware/modem.b05' does not exist
terminal screenshot's link : i.imgur.com/dX1rh0t.png
--
How can I solve problems?
Any piece of information ,I will be so thankful for your help.
You're missing the android_device_sony_qcom-common repo. Go to github.com/cyanogenmod/android_device_sony_qcom-common and download it manually. Make sure to select the right branch for building CM10.1
Then extract to yourcmsourcedirectory/device/sony/qcom-common and try to build again.
WhiteNeo said:
You're missing the android_device_sony_qcom-common repo. Go to github.com/cyanogenmod/android_device_sony_qcom-common and download it manually. Make sure to select the right branch for building CM10.1
Then extract to yourcmsourcedirectory/device/sony/qcom-common and try to build again.
Click to expand...
Click to collapse
The folder device/sony/qcom-common is already existed and downloaded.
Then I try download the zip file form github.com/cyanogenmod/android_device_sony_qcom-common and test to replace the original one.
Still get stuck running breakfast command, same message occur.
I notice the error message "vendor/sony/qcom-common/qcom-common-vendor.mk does not exist "
Code:
From github.com/cyanogenmod/android_device_sony_qcom-common/tree/cm-10.1 repo
doesn't contain qcom-common-vendor.mk
It is weird.
HandsomeRichard said:
The folder device/sony/qcom-common is already existed and downloaded.
Then I try download the zip file form github.com/cyanogenmod/android_device_sony_qcom-common and test to replace the original one.
Still get stuck running breakfast command, same message occur.
I notice the error message "vendor/sony/qcom-common/qcom-common-vendor.mk does not exist "
Code:
From github.com/cyanogenmod/android_device_sony_qcom-common/tree/cm-10.1 repo
doesn't contain qcom-common-vendor.mk
It is weird.
Click to expand...
Click to collapse
CM team introduced some heavy changes to qcom-common a few months ago, and my bet is that these are responsible for your error. Probably building latest CM12 would work better. Use the git repos by @updateing and you're good to go.
WhiteNeo said:
CM team introduced some heavy changes to qcom-common a few months ago, and my bet is that these are responsible for your error. Probably building latest CM12 would work better. Use the git repos by @updateing and you're good to go.
Click to expand...
Click to collapse
OK,I will try to build CM12 on my device.
Thanks for your friendly help.
I want to compile a kernel for lollipop, but I always get somekind of error... Can this be cause of toolchain that I use or cause sources from GitHub arent good? Do u have any recomendation on stable, working source, and toolchain that goes along with it? I compiled cm11 rom, but couldn't compile just a kernel... Do u have any nice tutorials on that, ones that i found arent working for me...
i tried with this toolchain gcc/linux-x86/arm/arm-eabi-4.6 from tutorial source.android.com/source/building-kernels.html
download the kernel source. in this tutorial we will use the cm-12.1 cyanogen kernel.
Code:
git clone -b cm-12.1 https://github.com/CyanogenMod/lge-kernel-p880
there now is a folder in your home 'lge-kernel-p880'
download a toolchain. for now i prefer the google aosp toolchain because i am not knowing the code of the cyanogen kernel. compiling with other toolchains and recenter releases (for example 4.9 5.0 5.1 5.1 and 6.0 needs a few changes and fixes in the coding else it will not complete compiling)
Code:
git clone -b aosp-4.8-arm-eabi https://github.com/ArchiDroid/Toolchain toolchain
now that u have both u are ready to compile.
in terminal cd to the downloaded source.
Code:
cd lge-kernel-p880
set some things up and start compiling
Code:
export ARCH=arm
export CROSS_COMPILE=/home/[B]yourubuntu-username[/B]/toolchain/bin/arm-eabi-
make cyanogenmod_x3_defconfig
start compiling
Code:
make -j4
Now sit back, relax, and watch the code! Or you could read a book, watch ****, count your fingers, play with your toes...
If you have an error during the waterfall of code, find the part where it actually says *error* (you'll probably have to scroll upwards) and search it on Google or post it here.
If you manage to get something that says "the kernel zImage is ready" or something like that, that means you've made it!
You have officially compiled your own kernel from source! Now you need to put it in a flashable zip with the .ko files.
As i dont know what .ko files cyanogenmod compiles u should find this out yourself.
it is probably listed in the end of the terminal when the compiling is finished
hope this will bring u further then you are now.
mistercheese said:
download the kernel source. in this tutorial we will use the cm-12.1 cyanogen kernel.
Code:
git clone -b cm-12.1 https://github.com/CyanogenMod/lge-kernel-p880
there now is a folder in your home 'lge-kernel-p880'
download a toolchain. for now i prefer the google aosp toolchain because i am not knowing the code of the cyanogen kernel. compiling with other toolchains and recenter releases (for example 4.9 5.0 5.1 5.1 and 6.0 needs a few changes and fixes in the coding else it will not complete compiling)
Code:
git clone -b aosp-4.8-arm-eabi https://github.com/ArchiDroid/Toolchain toolchain
now that u have both u are ready to compile.
in terminal cd to the downloaded source.
Code:
cd lge-kernel-p880
set some things up and start compiling
Code:
export ARCH=arm
export CROSS_COMPILE=/home/[B]yourubuntu-username[/B]/toolchain/bin/arm-eabi-
make cyanogenmod_x3_defconfig
start compiling
Code:
make -j4
Now sit back, relax, and watch the code! Or you could read a book, watch ****, count your fingers, play with your toes...
If you have an error during the waterfall of code, find the part where it actually says *error* (you'll probably have to scroll upwards) and search it on Google or post it here.
If you manage to get something that says "the kernel zImage is ready" or something like that, that means you've made it!
You have officially compiled your own kernel from source! Now you need to put it in a flashable zip with the .ko files.
As i dont know what .ko files cyanogenmod compiles u should find this out yourself.
it is probably listed in the end of the terminal when the compiling is finished
hope this will bring u further then you are now.
Click to expand...
Click to collapse
Ty for help, i tried it, it worked, i guess it was the toolchain the first time...
After that i compiled euphoria kernel, but with uber 5.2 which didnt work for cm kernel...
I had to change some < > to " ", why are sources set with wrong ones, or am i making some mistake?
I replaced only zImage with euphoria zImage in anykernel .zip, can something go wrong when i do it like that?
/wiki/Motorola_Moto_G5s(motorola-montana)
The kernel used is from motorola's repository, since working usb networking is a must have, I'm not so sure if I can rely on lineageos kernel(I'm not sure if it is a matter of a kernel or of the vendor/device tree I decided to play it safe) , so I decided to start from scratch.
Right now on the roadmap:
1. Clean up the messy commits and start from a new branch.
2. Get merged into postmarketos official repository. (I can do so right now, but I rather go back and re-do the commits, remove the unnecessary changes).
3. Fix DPI settings, default ones are optimized for Desktop.
4. Find out the right pixelformat to use with osk-sdl those will translate into charging/battery-sdl and Filesystem Encryption.
5. Get wifi, gps ,accelerometer, bluetooth audio working. (Wifi and accelerometer doesn't work for 100%, )
test gps/get it working, get accelerometer working ,fix DPI.
6. Lastly mainlining kernel, which is required to get the WIP postmarketos modem driver and 3D Acceleration working.
Optional:
1. Porting MultiROM and patching a kernel to support kexec-hardboot patch on our device.
Once I will get my internet back I will work on @up things and provide:
1. Instructions on getting this linux distribution compiled.
2. Fastboot bootable kernel and sdcard image. I would prefer for you to boot a kernel and using sdcard over a flashable zip image for now, disappointment guaranteed.
WIFI networking most likely doesn't work since I haven't created device/firmware-montorola-montana package with wifi firmware.
If you want to contribute hit me up, I have a very slow connection and possibly have it for couple of days, so I might not be able to do any work for some time.
I don't have enough posts to make a DEVDB nor a development thread, so take it as [Q&A] thread that will hopefully get me to the minimal number of posts I require.
I also can't post outside links apparently the repositories I here present are relative to postmarketos wiki, github, gitlab or codeaurora git.
Repositories:
Kernel:
/kubast2/kernel-msm
Wlan kernel module and firmware:
/MotorolaMobilityLLC/vendor-qcom-opensource-wlan-prima
/quic/la/platform/vendor/qcom-opensource/wlan/prima/tree/
For configs I use a twrp image of stock oreo, I will need to use some config files from that backup image in place of the wlan driver provided configs.
Device and proprietary repositories by the montana development team will be useful for reference of existing blobs and configuration files, while other device ports from postmarketos repository will be useful for reference on when they need to be placed within the rootfs of postmarketos:
/montanadevelopment
/postmarketOS/pmaports
Stock kernel is 32-bit, which is why USB tethering works on LOS14.1, which is 32-bit. Take a look at their trees:
github.com/kayesk
USB tethering fixed in ARM64.
JarlPenguin said:
USB tethering fixed in ARM64.
Click to expand...
Click to collapse
Alright thanks, I don't have notifications for xda-developers, I will build on the basis of your kernel and push the change.
I see your kernel is already on a mainlining effort front.
kubast2-farelka said:
Alright thanks, I don't have notifications for xda-developers, I will build on the basis of your kernel and push the change.
I see your kernel is already on a mainlining effort front.
Click to expand...
Click to collapse
Actually it was fixed in init scripts. Are you still working on this project?
Code:
#include <std_disclaimer.h>
/*
*
* We are not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this kernel
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at us for messing up your device, we will laugh at you.
*
*/
Warnings: this kernel has been tested on the TB-X605F (SDA450) only. It will not work for the:
TB-X605F (M10) released with the SDA429 chipset
TB-X605L (M10 LTE). This kernel is currently for the wifi variant only.
TB-X505F/L (M10 HD) or any of the other M10 variants that use the SDA429 chipset.
TB-X605FC (M10 FHD). See the opensource released by Lenovo. Note that the X605FC kernel is 4.9.112.
Introduction
On 4 June 2020, Lenovo released the kernel source for the TB-X605F/L.
Prior to that, this kernel was developed by porting the kernel source for the the P10 (TB-X705F) released by Lenovo in January 2019.
Current version is: 3.18.120 merged with CAFCAF LA.UM.5.5.r1-05300-8x96.0.
The update zip will load some modules. So backup the "System Image", "Vendor Image" and boot partitions with TWRP before loading this kernel.
For kernel developers
Lenovo have released the opensource for the TB-X705F (Smart Tab 10 wifi) dated 31 January 2019 at s000018_20180913_row. This kernel is based on that kernel source (3.18.71). The default config (YM_X605F_defconfig) is almost identical to the kernel config of the M10. Some of the main differences with the P10 source are:
removed the MM8013 chipset config. The P10 uses the MM8013 for battery stats etc. There is no MM8013 on the M10.
upgraded drivers for the primary autofocus camera.
set CONFIG_MODULE_SIG_FORCE to "n" - so kernel will load stock modules from any version. Thanks to @yener90 for the suggestion.
While Lenovo releases the (compiled) stock M10 kernel at 3.18.120, the P10 kernel opensource is 3.18.71. Great job Lenovo!
The source will build signed system modules, if you want them. If you want the wifi driver it's pronto_wlan.ko, compile with CONFIG_PRONTO_WLAN=m.
Features
This kernel compiles and runs. It seems to be stable.
Working:
- wifi
- bluetooth
- power charging (USB and dock)
- camera
- FM radio
- touchscreen (including DT2W)
- audio
- OTG
Known bugs
you tell me
Installation
I assume you have unlocked bootloader, TWRP and Magisk. If not, follow these instructions.
The update zip is packaged using AnyKernel3 by @osm0sis .
if you are still on stock ROM & kernel, backup "System Image", "Vendor Image" and boot partitions in TWRP. You only have to do this once, not everytime you load a new version of this kernel.
download update_X605F_kernel.zip and copy it to your sdcard/OTG
boot to TWRP and use "update" to update the zip file
check that the update was successful, then reboot
confirm the kernel is loaded. It should start with "3.18.120-X605F-YM":
Code:
X605F:/ $ uname -r
3.18.120-X605F-YM-xxx
To return to stock kernel, just restore the stock boot, system and vendor backups you made in TWRP. If that doesn't work, then you'll have to reload system ROM using LMSA.
Changelog
Code:
11/03/2020 - 3.18.120-X605F-YM-g02f9b3e-00023-gcef72f9
- fixed camera - it's now recognised and autofocus works
- cleared out some dead code that's not needed for M10 (hangover from P10 source)
05/03/2020 - 3.18.120-X605F-YM-g02f9b3e-00018-g818259c3
- rebased kernel to 3.18.120
- merge CAF LA.UM.5.5.r1-05300-8x96.0
- added DT2W
- fixed "adb reboot". The rebase fixed it.
- added a defconfig for LineageOS
- included signed modules in zip file (including wlan)
20/01/2020 - 3.18.71-X605F-kernel-g0a9bdb1
- disabled signed module enforcement
- removed system and vendor modules from update zip
17/01/2020 - initial commit
Download
current release: update_X605F_kernel.zip
XDA:DevDB Information
M10 kernel, Kernel for the Lenovo Thinkpad Tablet
Contributors
Yahoo Mike
Source Code: https://github.com/Yahoo-Mike/android_kernel_lenovo_X605F
branch: msm-3.18.120 is source for this release (default branch)
branch: official-3.18.120 is official source released by Lenovo on 4 June 2020.
branch: msm-3.18.71 is the initial port from P10 kernel source
Kernel Special Features:
Version Information
Status: Testing
Created 2020-01-16
Last Updated 2020-06-05
Yahoo Mike said:
Lenovo releases the stock M10 kernel at 3.18.120. However, the P10 kernel source is 3.18.71. This means that system modules and the wifi driver need to be re-compiled, signed and distributed with this kernel. This means that the /system and /vendor partitions need to be touched, not just the boot image.
Click to expand...
Click to collapse
Just disable the modules, the kernel wont build it anymore. It's also not urgently required.
yener90 said:
Just disable the modules, the kernel wont build it anymore. It's also not urgently required.
Click to expand...
Click to collapse
Thanks for the neat suggestion.
I disabled signed module enforcement (CONFIG_MODULE_SIG_FORCE) so we can use stock modules. That means no need to update system or vendor partitions.
I left in *_SIG_ALL in the defconfig, so you can compile and sign modules if you really want to. But I haven't included any modules in the new update zip. If you've used the old version of the update zip, then restore stock boot, system and vendor images before using this new update zip.
I've released a new version. Main changes are:
rebased kernel to 3.18.120
merge CAF LA.UM.5.5.r1-05300-8x96.0
added DT2W
fixed "adb reboot". The rebase fixed it.
added a defconfig for LineageOS
included signed modules in zip file (including wlan)
I've updated the OP.
I've added a new (default) branch called msm-3.18.120 in the github repo: Yahoo-Mike/android_kernel_lenovo_x605f.
The camera auto-focus is still not working. I haven't looked at it. Lenovo have not released the source code. It looks like the P10 uses different cameras. The main camera is a hynix hi556 variant called: hi556_m10. I'll have a look at this soon. One of the ASUS Zenfone Max Pro (M1) variants uses the hi556. That might have a usable driver. There's also a new video driver for the hi556 (CONFIG_VIDEO_HI556) released by intel for the linux kernel.
If anyone wants me to rebase to 3.18.140, just ask.
Latest version fixes camera issues. Camera (Hynix hi556) is now recognised and autofocus works.
I copied the Hynix (eeprom OTP) code from the Lenovo Tab4 kernel source. The code in the P10 kernel source never worked - probably because the P10 was never released with Hynix hi556. The P10 uses OmniVision ov8856 (8MP) and GalaxyCore gc5025 (5MP). Whereas the M10 uses Hynix hi556 (5MP) and Superpix sp2519 (2MP).
This kernel is stable. I can't find anything wrong with it. I've tested it using stock ROM with no issues. So I guess it's safe to load up with the stock ROM (Android Pie)...at your own risk. Just be sure to backup the system & vendor images, plus the boot image in TWRP. You'll need these when an OTA comes along, anyway. The updater-script in the OTA will refuse to apply, because it won't recognise this kernel.
So until someone finds some issues with this kernel, I guess it's time to polish up some LineageOS code...
Two exciting announcements:
prima drivers added to staging
I've added prima drivers to the kernel github repository. It's used by the lineageos_X605F_defconfig to build the wlan.ko module (CONFIG_WLAN_PRONTO).
Lenovo released official kernel source yesterday
The official kernel source for the X605F and X605L has just appeared on Lenovo's support site.
I'll have a closer look over the next few weeks, but here's some preliminary observations:
it is released at msm 3.18.120. This is the stock kernel version. (Lenovo released 3.18.71 for the P10.)
there is only one download for both X605F and X605L. This might be good news.
the autofocus camera drivers for the Hynix appear to be included. I'll take a closer look.
kernel compiles without any changes. I haven't loaded it yet to test it.
edit: I've added the official source to the Yahoo-Mike/android_kernel_lenovo_X605F repo in the official-3.18.120 branch.
The opensource drop for the X605F from last week includes code for the kernel at msm-3.18.120. Surprisingly, it includes a defconfig for the P10. This confirms that the M10 (X605F/L) and P10 (X705F/L) are very similar.
I'm going to test Lenovo's kernel source on my TB-X605F this weekend. Is there anybody with a TB-X705F/L and the skills to build and test this code on their P10 ? PM me and we can coordinate.
The only differences I can see are:
Code:
m10_msmcortex_defconfig | p10_msmcortex_defconfig | Kconfig definition
----------------------- | ----------------------- | ------------------
| CONFIG_BATTERY_BQ27x00=y | drivers/power
CONFIG_CAMERA_TAB5_M10=y | | drivers/media/platform/msm/camera_v2
| CONFIG_CAMERA_TAB5_P10=y | drivers/media/platform/msm/camera_v2
| CONFIG_FOUR_PA=y | sound/soc/codecs & sound/soc/msm
| CONFIG_SENSORS_HALL=y | drivers/input
CONFIG_TP_MP_DIFF=y | | arch/arm64
The TP_MP_DIFF setting is used to load different firmware for the touchscreen drivers: one set for the M10s; another for the P10s.
Deleted
happyponcho42 said:
Great find! I've successfully built the kernel and was also pleasantly surprised I could use the browsable menuconfig (like the setup for my Linux Desktop) after using the P10 defconfig i.e.
Code:
make -j24 ARCH=arm64 CROSS_COMPILE=aarch64-linux-android- O=out p10_msmcortex_defconfig && make -j24 ARCH=arm64 CROSS_COMPILE=aarch64-linux-android- O=out menuconfig
I've disabled requiring signing of loadable kernel modules, as well as generated some modules for USB-to-Serial chipsets I use (pl2303.ko, ftdi, etc.) for projects.
Now to test the Image.gz-dtb: I have not had much luck unpacking boot-TB-X705F_S210120_191029_ROW.img and repacking with my tools. I just end up on a blank screen on the P10.
Do you have a recommended set of tools that have worked with your M10?
Click to expand...
Click to collapse
Glad to hear it compiled for P10.
I use AnyKernel3 to inject the kernel for me. It can also load kernel modules, if you build any.
I use these properties in the AK3 mod script. Modify it to suit your purposes:
Code:
# begin properties
properties() { '
kernel.string=X605F kernel built by Yahoo Mike @ xda-developers
do.devicecheck=1
do.modules=1
do.cleanup=1
do.cleanuponabort=0
device.name1=X605F
supported.versions=9
supported.patchlevels=- 2020-06
'; } # end properties
Then in my script I copy the kernel to AK3 root directory and modules to ./modules/system/lib/modules directory (or vendor equivalent) & zip it all up.
Code:
# zip it all up, ready for installing in TWRP
# this zip will replace kernel, plus any modules you included (if any)
# don't forget to TWRP-backup boot, system and vendor images
# also good idea to copy /system/lib/modules/* and /vendor/lib/modules/pronto/*
cd ~/tools/AK3
zip -r9 update_X605F_kernel.zip * -x .git README.md *placeholder
adb push update_X605F_kernel.zip /external_sd/
Optionally, you can also create a "version" file with something like this (before zipping):
Code:
MY_KERNEL_IMG="$(pwd)/out/arch/arm64/boot/Image.gz-dtb"
MY_KERNEL_VERSION="$(make kernelversion)"
cd ~/tools/AK3
# create a "version" file
MY_ZIP_DATE=$(date +'%Y-%m-%d %H:%M:%S')
MY_BUILD_DATE=$(stat ${MY_KERNEL_IMG} --format=%y | cut -c1-19)
echo "**************************************************" > $MY_ANYKERNEL_DIR/version
echo "unofficial kernel for Lenovo Smart Tab M10 (TB-X605F)" >> $MY_ANYKERNEL_DIR/version
echo " version: $MY_KERNEL_VERSION" >> $MY_ANYKERNEL_DIR/version
echo "compiled: $MY_BUILD_DATE" >> $MY_ANYKERNEL_DIR/version
echo " zipped: $MY_ZIP_DATE" >> $MY_ANYKERNEL_DIR/version
echo "**************************************************" >> $MY_ANYKERNEL_DIR/version
The Lenovo opensource seems to be working on the TB-X605F. The modules are also building and installing ok.
There is something odd about the device tree, so make sure you use Image, not Image-dtb.gz. When I used the dtb kernel, I kept getting the dreaded "Qualcomm HS-USB Diagnostics 900E" mode.
I'll add a "lineage-17.1" branch to the github repo. It includes an M10_lineageos_defconfig for building the kernel and modules, and wlan.ko source from CAF for Android 10:
Code:
June 01, 2020 LA.UM.8.6.2.r1-07600-89xx.0 msm8953_64 LA.UM.8.6.2.r1-07600-89xx.0.xml 10.00.00
Yahoo Mike said:
There is something odd about the device tree, so make sure you use Image, not Image-dtb.gz. When I used the dtb kernel, I kept getting the dreaded "Qualcomm HS-USB Diagnostics 900E" mode.
Click to expand...
Click to collapse
I can get the dtb kernel to work by replacing the arch/arm/boot/dts/qcom/ directory from Lenovo's opensource with the same directory from the "msm-3.18.120" branch of the repo. It boots fine with the stock ROM and LOS.
The "msm-3.18.120" branch is based on the original P10 opensource from January 2019.
So yes, there is definitely something screwy about the dt blobs from the June 2020 codedrop.
Not sure if this would be a valid kernel or not - On the back it says model is TB-X605F. I
In settings it says hardware is TB-X606F and so is the software.
It's the m10 gen 2 tablet. I believe Mediatek chipset.
dustofdeath said:
Not sure if this would be a valid kernel or not - On the back it says model is TB-X605F. I
In settings it says hardware is TB-X606F and so is the software.
It's the m10 gen 2 tablet..
Click to expand...
Click to collapse
If you have the gen 2, then this is the wrong kernel.
Lenovo has published the TBX606F/X kernel.
dustofdeath said:
I believe Mediatek chipset.
Click to expand...
Click to collapse
The CPU-Z app from the playstore will tell you which SOC you have.
I added pstore/ramoops support on branch msm-3.18.120. I have no idea why Lenovo never configured pstore/ramoops in the first place.
The ramoops device will dump console-ramoops, dmesg-ramoops-0, pmsg-ramoops-0 into /sys/fs/pstore/.
I'll add pstore support to TWRP for the TB-X605F in the next update. I'll use this branch (msm-3.18.120) to build the kernel.
I'm hoping pstore will tell me why GSI images fail to boot when installed over stock Pie.
Hello and thanks to all of you to invest so much time and effort. I'm not the best in this android world so forgive me if I ask something stupid Recently I got a Lenove Tab M10 TB-X605L and well I rooted it (with magisk) to use Linux on it. As I said I don't use android so much and I just got this product as present so when I saw this post I thought If I can put a new Kernel why not compile it with NetHunter Kernel and give it a try. After some effort (I'm not sure if it will work) I made the kernel. My problem is:
1st I rooted my Tablet with Magisk (as the same way you mentioned in another post) after the rooting I download twrp from google play. Till here all is good. Now:
TWRP is working when I boot it. But asks for a Password. I tried some swipe data, cache etc. but still I see that PASSWORD field. I can't pass it. (And when I pass it without Password I can't see the kernel neither yours nor mine)
I don't care what happens to my Tablet as I said I'm not a android user. I would even would try a crazy Idea even if its end with a dead tablet but I would really wanna check if the compiled NetHunter kernel works.
saizzou38 said:
...TWRP is working when I boot it. But asks for a Password. I tried some swipe data, cache etc. but still I see that PASSWORD field. I can't pass it...
Click to expand...
Click to collapse
TWRP will ask for a password if you have a password, PIN or pattern set on your tablet, and/or your data partition is encrypted.
If you have a password or PIN set on your tablet, try entering that. If you had a pattern, try this.
You can unencrypt the data partition by reformatting it and then installing Disable_Dm-Verity_ForceEncrypt.zip (created by Zackptg5). Just be aware that this wipes all your data and breaks OTA updates. (Magisk also needs to be uninstalled before OTAs work.)
saizzou38 said:
...And when I pass it without Password I can't see the kernel neither yours nor mine...
Click to expand...
Click to collapse
Remember: android recovery (twrp) uses the kernel in the recovery partition, not the boot partition.
So, where are you injecting your kernel?
If you are injecting your kernel into TWRP's recovery image, which kernel do you see when you issue this command?
Code:
adb shell uname -r
If you are injecting your kernel into the system ROM's boot.img, then you won't see your kernel in TWRP. You'll see the kernel with which twrp was compiled.
BTW...interesting project. Good luck. Let us know if you get it working.
Hi there,
I just compiled your kernel source you've uploaded on the Github (official branch) with m10_msmcortex_defconfig. Then, I flashed it to my device with anykernel 3, also included all modules, but the wifi does not work(It cannot be turned on). Before I flash it, my device was running well at the stock firmware, so I wonder what's wrong with my compilation.
After that, I also tried to compile the lineage branch, with lineageos_tbx605_defconfig. I flashed it to my device running well on AOSP 10(project treble), but the problem was same as the official source.
Could you please tell me that what's wrong with my compilation or how to compile it to work well? Thanks a lot .
Jun ASAKA
2021/02/03 (CST)
浅香ジュン said:
Hi there,
I just compiled your kernel source you've uploaded on the Github (official branch) with m10_msmcortex_defconfig. Then, I flashed it to my device with anykernel 3, also included all modules, but the wifi does not work(It cannot be turned on). Before I flash it, my device was running well at the stock firmware, so I wonder what's wrong with my compilation.
After that, I also tried to compile the lineage branch, with lineageos_tbx605_defconfig. I flashed it to my device running well on AOSP 10(project treble), but the problem was same as the official source.
Could you please tell me that what's wrong with my compilation or how to compile it to work well? Thanks a lot .
Jun ASAKA
2021/02/03 (CST)
Click to expand...
Click to collapse
It sounds like the wlan_pronto.ko module is not loading. That's why wifi is not working.
It might be easier to build the msm-3.18.120 branch with YM_x605f_deconfig. That should work.
It does not force module signature checks (CONFIG_MODULE_SIG_FORCE=n). So the stock wlan module (/vendor/lib/modules/pronto/wlan_pronto.ko) should load ok.
If that fails, check the kernel log (dmesg) for errors loading the wlan module. Let me know what the errors are.
official source
The stock wifi module won't work with the kernel from the official branch because CONFIG_MODULE_SIG_FORCE=y. You'll have to download the wlan source from CAF and build it with the same signature. That's a lot of work.
I also had some DT and dm-verity issues with the official source.
lineage-17.1
The lineage-17.1 branch includes the CAF wlan module (in drivers/staging/prima) for Android 10.0. I'm not sure why it's not working for you. Check the kernel log for wlan load errors.
The included CAF wlan module (and your GSI system) are Android 10. Your vendor is Android 9.0 or 8.1. Maybe there's a compatibility issue ? I'm guessing. I haven't tried that kernel with a GSI ROM.
Yahoo Mike said:
It sounds like the wlan_pronto.ko module is not loading. That's why wifi is not working.
It might be easier to build the msm-3.18.120 branch with YM_x605f_deconfig. That should work.
It does not force module signature checks (CONFIG_MODULE_SIG_FORCE=n). So the stock wlan module (/vendor/lib/modules/pronto/wlan_pronto.ko) should load ok.
If that fails, check the kernel log (dmesg) for errors loading the wlan module. Let me know what the errors are.
official source
The stock wifi module won't work with the kernel from the official branch because CONFIG_MODULE_SIG_FORCE=y. You'll have to download the wlan source from CAF and build it with the same signature. That's a lot of work.
I also had some DT and dm-verity issues with the official source.
lineage-17.1
The lineage-17.1 branch includes the CAF wlan module (in drivers/staging/prima) for Android 10.0. I'm not sure why it's not working for you. Check the kernel log for wlan load errors.
The included CAF wlan module (and your GSI system) are Android 10. Your vendor is Android 9.0 or 8.1. Maybe there's a compatibility issue ? I'm guessing. I haven't tried that kernel with a GSI ROM.
Click to expand...
Click to collapse
It's working! thanks a lot!