[Q] Nexus one and serial port - Nexus One Q&A, Help & Troubleshooting

Hi,
First, I am new as a poster on this forum, but I read it often for info (specially on CM 6 & 7) !
(And second "first" thing, sorry for my bad English, French is not a good situation for that !)
As an engineer student, I am very interested by two things : Android and µC !
So why not combine them !
So I would like to communicate via the USB/Serial port of my N1 (CM7, Build 33) with µControler (in this case Cortex M3 on mbed plateform or arduino like).
So after some research, I found a few informations and condition for that :
- rooted (no problem for that)
- Serial enable Kernel (no info for the CM7 Kernel...if someone know !)
- Chmod the Serial port (possibly the ttyMSM0 ?)
- Something to control the port !
I decided to use this combo :
SL4A + Python (module for SL4A)
And wrote this piece of code to test :
Code:
import android
import os
import serial
import time
droid = android.Android()
try:
arduino = serial.Serial('/dev/ttyMSM0', 9600)
except:
print "Failed to connect on /dev/ttyttyMSM0"
a = 0
while (a < 10):
arduino.write('e')
os.system("echo 'a' > /dev/ttyMSM0")
a = a + 1
print "ok"
time.sleep(2)
But it doesn't work !
The "arduino" object did not exist, because he cant access the port (and I don't know why !)
The line
Code:
os.system("echo 'a' > /dev/ttyMSM0")
was just something like that, without real hope !
All ideas are welcome ! everything !
Thanks,
Pacemk

Related

Android OS 2.0.1 for X1 [ Platinum Edition Update 21 February 2010 ]

Hello guys,
i'm back and bring you Platinum Edition (faster, stabile and reliability).
WORKING :
1. touchscreen
2. keyboard
3. button pad
4. radio (GSM)
5. GPRS / 3G
6. microphone
7. charging
8. market
9. wifi
10. idle sleep mode
11. Turn Off LCD
12. Keyboar Slider
13. Phone Shutdown
14. Horizontal view
15. Bluetooth -> as known hardware.
16. GPS -> added pair using gps utility.
17. New Installation Wizard
18. UPSIDE DOWN LCD (at last -> thanks to vdelf your're the man dude) and (scholbert & jerpelea) for the patch (not NATIVE).
19. swapfile ( the most important for running fast )
Not Working :
1. bluetooth
2. camera
3. GPS
4. brightness LCD
[ change log ]
Build 21 February 2010
1. increase memory up to 102 mb
2. adding swapfile 128 mb
3. terminal emulator ready
Download build 21 february 2010
LINK :
http://neosites.org/X1/Android/fatsal/xperoid/fatsal-xperoid-20100221.tar.gz
use previous haret.exe & download STARTUP.TXT <--- a must
MIRROR :
http://www.mediafire.com/?ytywmt20gir
thanks to : X1iser
http://rapidshare.com/files/354113124/fatsal-xperoid-20100221.tar.gz
thanks to : Liebhild
OR COPY PASTE STARTUP.TXT BELOW
Code:
set ramsize 0x8000000
set ramaddr 0x10000000
set mtype 2006
set FBDURINGBOOT 0
# msmts_calib=0xc5.0x399.0x367.0x4d
set KERNEL zImage
set initrd initrd.gz
set cmdline "init=/ console=tty0 mem=102M msmsdcc_id=3 imgdevname=/dev/mmcblk0p1 imgdevnum=1 imgdir=/ msmts_calib=0x0366.0x04b.0x0c8.0x038e fbcon=rotate:2 wifi.mac=00:23:45:37:17:2c lcd.density=240 msmvkeyb_toggle=off pmem.extra=1 no_console_suspend clock-7x00.mddi=0xa51"
boot
Donation
i'm sorry about this, but i have to say...this is my promise to my self, if the screen goes normal i will added my donation here.
support me :
https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=UAFFXQKKFG4CL
FAQ
1. is it a rom ?
- Nope
2. is it can destroy my WinMo ?
- Nope
3. How to run this things ?
- Just hit haret & pray
4. does it support PIN ?
- Nope. Just disabled it.
5. i can't running run this things, waiting over 30 minutes ?
- Just soft reset it. android loads max 10 minutes
6. so what's wrong ?
- check your SDCARD space, it's take 512 mb, or check the file name or fragment on your SDCARD
7. i can't using my phone ?
- come on, it's previous build.
8. how to turn off the phone ?
- press and hold the end call button.
9. i can't starting wifi ?
- check your SDCARD in the root directory must have filename "calibration"
10. is it ok to use other build system.sqsh ?
- yep, but do not expect running smooth like real build.
11. i've got an error "cannot find system.sqsh or system.img" ?
- are you using different kernel ?
12. i cannot hear any sound when i receive a calling ?
- come on man just give me a break...i'm still working on it.
13. is it camera working ?
- oh no...again ?
14. how big this things ?
- just free up your SD CARD min 512 mb
TRICKS :
i've been make a riset, and found a solution for going faster Xperoid :
1. try decrease application install in folder androidapps
2. using wifi when you we're needed. if not try to turn off.
if you're running this build for the first time, Android looks heavy and slow running, just be patient let android finish all process. and then push the red button on the panel to shutdown (after that softreset of course).
next android will go fast.
---------------------------------------------------------------------------------------------------------------------------------
OLD Version
---------------------------------------------------------------------------------------------------------------------------------
Changes Log
Build 19 February 2010
--------------------------------------------------------
1. Breaking the rules about upside down, not native on the kernel but patch on android driver.
2. clean build eclair which good for tweaking (thanks to : jerpelea)
This build is dedicated for Kovsky, if your using other build i'm not sure will working with this build esspecially wifi.
please do not expect too much from this build, all i working on it is the best i can do.
How to update kernel
download latest kernel from Download Kernel Build part and rename to zImage. and then copy zImage into sdcard if already exists kernel replace it. (backup your old kernel, is good. in case something happen you don't want it ).
example :
zImage-build20100126 -> zImage
How to running this thing :
1. hit "haret", and then your screen will show a millions text after that you will see an boot animation.
2. just wait 5 - 10 minutes. (to long for waiting)
3. after you will see setup wizard appear.
4. if got some error message pop up just hit "wait"
Download Link :
Build 19 February 2010
1. http://www.xperoid.com/downloads/xperoid-builds/14-xperoid-2-0
2. http://neosites.org/X1/Android/fatsal/xperoid/fatsal-XPEroid-20100219.tar.gz
if doesn't work, right click "save as..."
thanks to seth for the space
3. http://files2.loginworks.com/fatsal-XPEroid-20100219.tar.gz // --> down for temporary
thanks to dheerajjuneja for the mirror
4. http://rapidshare.com/files/352784582/fatsal-XPEroid-20100219.tar.gz
thanks to Liebhild
OLD Version Download
http://neosites.org/X1/Android/fatsal/XPEroid-2.0.1_build-20100123.7z
thanks to Muo for the hosting files...
http://rapidshare.com/files/333818061/X1_eclair.7z
http://www.mediafire.com/file/nrbwmhizn3d/X1_eclair.7z
thanks to locomarco for the mirror...
http://rapidshare.com/files/340293817/XPEroid-2.0.1_build-20100123.7z.html - thanks to Reversedhex
http://www.megaupload.com/?d=9AOJYXZ9 - thanks to patt2k
Download Kernel Build :
http://neosites.org/X1/Android/fatsal/zImage-build20100126
All Version Download
http://neosites.org/X1/Android/
thanks to Muo for the mirror files...
Wallpaper from locomarco :
http://forum.xda-developers.com/showpost.php?p=5264026&postcount=41
The ART OF UBUNTU 8.04
http://forum.xda-developers.com/showpost.php?p=5548627&postcount=399
Thanks to :
1. dcordes
2. AIV
3. vdelf
4. scholbert
5. sp3dev
6. stachi01
7. locomarco
8. all of you guys...
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Android 1.6 :
http://forum.xda-developers.com/showpost.php?p=5183104&postcount=203
Download the files :
http://www.pinandita.com/downloads/X1_andoidOS.tar.gz
how to build a working kernel for kovsky :
step 1 :
prepared compiling environment :
1. ubuntu karmic (good step) or *nix OS
2. for ubuntu user :
2.a. apt-get install git-core build-essential libncurses-dev
3. mkdir /home/<username>/kovsky-dev
4. Download the source :
4.a. cd /home/<username>/kovsky-dev
4.b. git clone git://git.linuxtogo.org/home/groups/mobile-linux/kernel.git <--- old version
4.b. git clone git://gitorious.org/~fatsal/linux-on-qualcomm-s-msm/linux-msm-kovsky.git <--- new onces
4.c. cd kernel
4.d. git checkout -b htc-msm-2.6.27 origin/htc-msm-2.6.27
5. Download and decompress the arm toolchain (64mb)
5.a. cd /home/<username>/kovsky-dev
5.b. wget http://www.codesourcery.com/gnu_too...-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 -O arm-2008q1-126-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
5.c. tar xjf arm-2008q1-126-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
6. Generate the default .config for the kernel(ARCH is case sensitive)
6.a. cd /home/<username>/kovsky-dev/kernel
6.b. make htckovsky_defconfig ARCH=arm
6.c. pico .config
7. Let's tweak kernel
7.a. pico .config
-----------------------------------------------------------------------
A MUST CHANGES IN KERNEL CONFIG
-----------------------------------------------------------------------
UNCOMMENT CONFIG BELOW :
# CONFIG_FB_MSM_REFRESH is not set -> CONFIG_FB_MSM_REFRESH=y
# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set -> CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y (use for fbcon:2 in our startup.txt)
IMPORTANT FOR WIFI :
# CONFIG_CFG80211 is not set --> CONFIG_CFG80211=m (this is for our wifi module)
# CONFIG_WIRELESS_EXT is not set --> CONFIG_WIRELESS_EXT=y
# CONFIG_WIRELESS_EXT_SYSFS is not set --> CONFIG_WIRELESS_EXT_SYSFS=y
# CONFIG_MAC80211 is not set --> CONFIG_MAC80211=m
# CONFIG_IEEE80211 is not set --> CONFIG_IEEE80211=y
# CONFIG_IEEE80211_DEBUG is not set --> CONFIG_IEEE80211_DEBUG=y
# CONFIG_IEEE80211_CRYPT_WEP is not set --> CONFIG_IEEE80211_CRYPT_WEP=y
# CONFIG_IEEE80211_CRYPT_CCMP is not set --> CONFIG_IEEE80211_CRYPT_CCMP=y
# CONFIG_IEEE80211_CRYPT_TKIP is not set --> CONFIG_IEEE80211_CRYPT_TKIP=y
FOR QUICK BOOTING :
# CONFIG_HTC_FB_CONSOLE is not set --> CONFIG_HTC_FB_CONSOLE=y
# CONFIG_HTC_FB_CONSOLE_BOOT is not set --> CONFIG_HTC_FB_CONSOLE=y
FILE SYSTEM SUPPORT FOR OUR KERNEL :
# CONFIG_CRAMFS is not set --> CONFIG_CRAMFS=y
# CONFIG_SQUASHFS is not set --> CONFIG_SQUASHFS=y this is for supporting system.sqsh (squash, for android 2.0.1 ONLY support squash FS)
ADD THIS IN OUR CONFIG
CONFIG_SQUASHFS_EMBEDDED=y
CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
ADD THIS ON YOUR CONFIG :
CONFIG_RTC_DRV_MSM7X01A=y --> This is for getting update date in our kernel. thanks to vdelf for the patch it's cool man.
notes :
if the compiler ask some this just answer with Y or follow the compiler default answer.
8. Compile
8.a. cd /home/<username>/kovsky-dev/kernel
8.b. export PATH=/home/<username>/kovsky-dev/arm-2008q1/bin:$PATH
8.c. make zImage ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-
9. Play and have fun!!! Now you can copy the compressed kernel image to your blackstone
cp /home/<username>/kovsky-dev/kernel/arch/arm/boot/zImage /wherever your boot files are stored
references :
http://wiki.xda-developers.com/index.php?pagename=Kovsky Linux
LET'S MAKE WIFI WL1251 WORKING :
1. LET SETUP ENVIRONMENT :
1.a. mkdir /home/<username>/kovsky-wifi
1.b. cd /home/<username/kovsky-wifi
1.c. git clone git://gitorious.org/linux-on-qualcomm-s-msm/compat-wireless-msm.git
1.d. cd compat-wireless-msm
2. LET SETUP BUILDER :
2.a. sudo chmod -R 755 builder.sh
2.b. pico builder.sh
2.c. changes KERNEL_PATH=/home/<username>/kovsky-dev/kernel
2.d. ./builder.sh
2.e. cd mods/
2.f. you must see our wifi modules (horeee....we've got working wifi for our xperia).
reserved
CALLING KOVSKY DEVELOPER
Hi Guys,
lets unite for build android working perfect on kovsky.
i already create repo on gitorious :
Clone kernel :
git clone git://gitorious.org/~fatsal/linux-on-qualcomm-s-msm/linux-msm-kovsky.git
if anyone want to join with me, PM me your ssh-rsa of your PC. and i will added into my repo.
thanks,
Fatsal
reserved for me...for next info
How To Use XPEROID
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Details :
Button 1 : Menu
Button 2 : Accept Calls
Button 3 : Menu
Button 4 : Back
Button 5 : [press] End Calls
[hold] Shutdown The Phone
Revolutionary..!
So all android apps works you say?
Login says Pin Incorrect ? its my right Pin (card pin)
try disabling PIN in Settings first and then start Linux again, thats known problem
can enter pin
Hi, I'm om T-Mobile NL and after android is booted and I try to enter my pin it does not recognise it. Did not try to enter PUK from android, did that from WinMo.
Any ideas on whats going on here?
Edit: I had the page open too long I guess, answer above was given before I saw it... Thanks for the tip.
good to see a single post's been opened in this section. now keep working up man, you did a great job.
BTW: there is a file named startup.txt in root folder, it contains some expresstion and parameters. has it got some thing to do for individual devices?
y is everything upside down...
circleofomega said:
y is everything upside down...
Click to expand...
Click to collapse
YUP for now...soon will be...
Wow, that is very nice! How's the performance? Too bad we don't have capacitive touch.
I've not messed with Android much, but it'll be nice to have a direct means of syncing Outlook stuff without using 3rd party software or pushing stuff to Google, and then back to the phone.
fatsal said:
YUP for now...soon will be...
Click to expand...
Click to collapse
Are you near a breaktrough or somethin?
Wow! That sir is amazing!!! Please keep up the good work, I for one would surely use it once the remaining bugs have been ironed out
all xperia screen is installed upside down thats why its upside down its hardware.
Yes I know that, but I was wondering if fatsal has found some kind of software fix to rotate the screen.
Can't wait for the day that I can ditch wm and move on to android! Good work =D
Nice progress, especially the new 2.0.1 version. Making receiving a call is not a problem using the slide to answer/reject as well as hardware send and end buttons. GPRS/HSPA data works nice on Rogers network in Canada too. WiFi works as well (tested on WPA2 network).
However the thing feels like lacking memory BIG time. Looks like it constantly swaps to mem card. If you get more than one app running, things get really slow. Slow to a point you can't do anything anymore. X1 has a not bad amount of RAM, wondering if OS can run from RAM somehow..
Fantastic work fatsal. Thanks for the info on building a kernel!
being waiting for such a long time for this! thanks chef! really a hard work! happy new year!

Theme Chooser themes, Windows, aapt, and uppercase letters in XML filenames

EDIT: A solution has been found, courtesy of XDA member titanic_fanatic, who compiled a Windows version of aapt that accepts uppercase letters in XML filenames! (Read his original message here.) I've attached it to this post. One of the biggest hurdles to effective theme creation in Windows is finally solved!
----------------------------------------------------------------------------------------​
Forgive me if this has already been asked, but I know that it's something that's annoyed theme developers under Windows for a while now. I seem to recall seeing hints about fixing this, but I've done search after search, and can't find it to save my life.
Theme Chooser theme developers under Windows are hobbled by the fact that XML filenames can't contain uppercase letters, which prevents us from theming certain applications (example: com_keramidas_TitaniumBackup.xml would be needed for Titanium Backup). I know that this is a problem related to aapt.exe. Has anyone come up with a workable solution for this issue? If not, I'd like to take a crack at it. I might not get anywhere, but I have nothing to lose.
Obviously, in order to do this, I'll need the source for it. I can do the heavy lifting regarding getting the source and working out how to compile it for Windows, but I need to know where the source is, what to get, and other requirements. If anyone can help and point me in the right direction(s), I'd really appreciate it!
MJPollard said:
Forgive me if this has already been asked, but I know that it's something that's annoyed theme developers under Windows for a while now. I seem to recall seeing hints about fixing this, but I've done search after search, and can't find it to save my life.
T-Mobile/CM7 theme developers under Windows are hobbled by the fact that XML filenames can't contain uppercase letters, which prevents us from theming certain applications (example: com_keramidas_TitaniumBackup.xml would be needed for Titanium Backup). I know that this is a problem related to aapt.exe. Has anyone come up with a workable solution for this issue? If not, I'd like to take a crack at it. I might not get anywhere, but I have nothing to lose.
Obviously, in order to do this, I'll need the source for it. I can do the heavy lifting regarding getting the source and working out how to compile it for Windows, but I need to know where the source is, what to get, and other requirements. If anyone can help and point me in the right direction(s), I'd really appreciate it!
Click to expand...
Click to collapse
Hmm .. + 1 with you .. but the only way is ... ask brut.all ....
Sent from my Galaxy Nexus using XDA App
qazsxdcfv said:
Hmm .. + 1 with you .. but the only way is ... ask brut.all ....
Click to expand...
Click to collapse
Thanks, I guess I'll have to after all (not that I mind doing it). Over 250 views and only one person to respond isn't giving me much hope that someone has an answer.
Have you found a solution for windows ?
Any solution?
Randomly came across this thread looking for info on compiling the aapt binary for Windows. I'm still looking for the answer for that but I do know the change that needs to be made and how to do that part, as I have already done this mod for aapt on Linux. You have to have a full build environment set up, and by that I mean set up to build a full ROM, like CM10 for example. The change to make is in the frameworks source code at frameworks/base/tools/aapt/Resource.cpp.
See this commit for the details:
http://review.cyanogenmod.org/#/c/24204/
Add the parts I highlighted in blue to the two lines below:
Code:
String16 baseName(it.getBaseName());
const char16_t* str = baseName.string();
const char16_t* const end = str + baseName.size();
while (str < end) {
if (!((*str >= 'a' && *str <= 'z')
[COLOR="RoyalBlue"][B]|| (*str >= 'A' && *str <= 'Z')[/B][/COLOR]
|| (*str >= '0' && *str <= '9')
|| *str == '_' || *str == '.')) {
fprintf(stderr, "%s: Invalid file name: must contain only [a-z[COLOR="RoyalBlue"][B]A-Z[/B][/COLOR]0-9_.]\n",
it.getPath().string());
hasErrors = true;
}
str++;
}
m4570d0n said:
Randomly came across this thread looking for info on compiling the aapt binary for Windows. I'm still looking for the answer for that but I do know the change that needs to be made and how to do that part, as I have already done this mod for aapt on Linux. You have to have a full build environment set up, and by that I mean set up to build a full ROM, like CM10 for example. The change to make is in the frameworks source code at frameworks/base/tools/aapt/Resource.cpp.
See this commit for the details:
http://review.cyanogenmod.org/#/c/24204/
Add the parts I highlighted in blue to the two lines below:
Code:
String16 baseName(it.getBaseName());
const char16_t* str = baseName.string();
const char16_t* const end = str + baseName.size();
while (str < end) {
if (!((*str >= 'a' && *str <= 'z')
[COLOR="RoyalBlue"][B]|| (*str >= 'A' && *str <= 'Z')[/B][/COLOR]
|| (*str >= '0' && *str <= '9')
|| *str == '_' || *str == '.')) {
fprintf(stderr, "%s: Invalid file name: must contain only [a-z[COLOR="RoyalBlue"][B]A-Z[/B][/COLOR]0-9_.]\n",
it.getPath().string());
hasErrors = true;
}
str++;
}
Click to expand...
Click to collapse
Thank you for your help but could you tell me where can I find frameworks/base/tools/aapt/Resource.cpp?
I don't understand where to find it?
Sorry to resurrect an old thread, but I've finally come across a Windows version of aapt.exe that accepts uppercase letters in XML filenames, courtesy of XDA user titanic_fanatic. I've modified the first post in the thread with the details. Happy theming!
MJPollard said:
Sorry to resurrect an old thread, but I've finally come across a Windows version of aapt.exe that accepts uppercase letters in XML filenames, courtesy of XDA user titanic_fanatic. I've modified the first post in the thread with the details. Happy theming!
Click to expand...
Click to collapse
That link does seem to work anymore (and the webpage gives malware warning in Norton).
Does anyone else have this file?

Erro SlimRom

Good morning guys, I would like if someone could help me with this error below, I already compile ROMs like CyanogenMod and AOKP, but this Slim is giving me the biggest job now stopped this error and i could not get out, someone has any idea?
Code:
GEN / media/ruberval/DADOS2/slimroms/out/target/product/galaxysmtd/obj/KERNEL_OBJ/Makefile
scripts / KConfig / conf - silentoldconfig Kconfig
Note: Some input files use or override a deprecated API.
Note: Recompile with-Xlint: deprecation for details.
GEN / media/ruberval/DADOS2/slimroms/out/target/product/galaxysmtd/obj/KERNEL_OBJ/Makefile
CHK include / linux / version.h
CHK include / generated / utsrelease.h
Using / media/ruberval/DADOS2/slimroms/kernel/samsung/samsung-kernel-aries the source for kernel
make [3]: `include / generated / mach-types.h 'is up to date.
target Java: AriesParts (out / target / common / obj / APPS / AriesParts_intermediates / classes)
CALL / media/ruberval/DADOS2/slimroms/kernel/samsung/samsung-kernel-aries/scripts/checksyscalls.sh
CHK include / generated / compile.h
/ media/ruberval/DADOS2/slimroms/kernel/samsung/samsung-kernel-aries/scripts/gen_initramfs_list.sh: Can not open '.. / ramdisk-ics / jb_combo /'
make [3]: ** [usr / initramfs_data.cpio.lzma] Error 1
make [2]: ** [usr] Error 2
make [1]: ** [sub-make] Error 2
make [1]: Leaving directory `/ media/ruberval/DADOS2/slimroms/kernel/samsung/samsung-kernel-aries'
make: ** [TARGET_KERNEL_BINARIES] Error 2
make: ** Waiting for other processes to finish.
Note: device / samsung / aries-common / AriesParts / src / com / CyanogenMod / settings / device / DeviceSettings.java uses or overrides a deprecated API.
Note: Recompile with-Xlint: deprecation for details.
Note: device / samsung / aries-common / AriesParts / src / android / hardware / TvOut.java uses unchecked or unsafe operations.
Note: Recompile with-Xlint: unchecked for details.
Ruberval Fenix ​​@ :/ $ media/ruberval/DADOS2/slimroms
why don't you try to contact the dev of slims
I contacted but nobody answered me until today, I'll lock the topic because I decided it alone.
Alias ​​could not see where I can close the post, a moderator could do it?

[KERNEL] [UNIFIED] Anykernel

ANYKERNEL
espressowifi / espresso3g
Please respect the following 2 points
No feature requests!
Overclocked Kernel can be found here
NOTE:
This product is provided "as is" without any warranty. Use on your own risk.
I am not responsible for burned CPU or GPU.
Any kind of OC is really dangerous on Galaxy Tab2. While OMAP 4460 has a built-in temperature sensor, OMAP 4430 doesn't have one. Nothing stops it from overheating...
If you don't read and respect the OP, you accept to make a donation of 50$ to a charity of your choice!
​ [#WARRANTY]
It is difficult to update all Roms frequently, and it does not always makes sense to compile, download and flash a whole rom, if only some kernel changes are applied.
This kernel will include changes before i add them official to our kernel source (most of the time security bugfixes)!
Android 5.1 and Android 6.0
This Kernel works on all Android 5.1 and Android 6.0 Roms for espressowifi and espresso3g.
Android 4.4
On Android 4.4 we need a different kernel, 4.4 Kernel includes "KitKat" tag on zip name.
What else to say
Kernel compiled using GCC 4.8
Anykernel based on Anykernel2 by @osm0sis ( https://github.com/osm0sis/AnyKernel2 ) - it will dump your boot.img and replace the zImage and add proper kernel modules.
Roms with default libion
LineageOS (unofficial)
espresso3g
lineage-11-20180131-2053-UNOFFICIAL-espresso3g.zip and newer
lineage-13.0_espresso3g-6.0.1-20180130-2211.zip and newer
lineage-14.1_espresso3g-7.1.2-20180131-1859.zip and newer
espressowifi
lineage-11-20180131-2033-UNOFFICIAL-espressowifi.zip and newer
lineage-13.0_espressowifi-6.0.1-20180130-2146.zip and newer
lineage-14.1_espressowifi-7.1.2-20180131-1818.zip and newer
OmniRom (unofficial)
espresso3g
omni_espresso3g-4.4.4-20180127-2337.zip and newer
omni_espresso3g-6.0.1-20180128-0312.zip and newer
omni_espresso3g-7.1.2-20180128-1319.zip and newer
espressowifi
omni_espressowifi-4.4.4-20180127-2310.zip and newer
omni_espressowifi-6.0.1-20180128-0251.zip and newer
omni_espressowifi-7.1.2-20180128-1254.zip and newer
SlimRoms (unofficial)
espresso3g
Slim-espresso3g-4.4.4.build.9.15-UNOFFICIAL-20180128-0125.zip and newer
Slim_espresso3g-6.0.1-20180128-2332.zip and newer
Slim_espresso3g-7.1.2-20180131-1617.zip and newer
espressowifi
Slim-espressowifi-4.4.4.build.9.15-UNOFFICIAL-20180128-0028.zip and newer
Slim_espressowifi-6.0.1-20180128-2308.zip and newer
Slim_espressowifi-7.1.2-20180131-1555.zip and newer
Unlegacy-Android:
All official Unlegacy-Android builds starting on 15th feburary use the default libion
Roms with new DDK
Slim6 , Slim7, OmniROM4, OmniROM 6, OmniROM 7 and LineageOS 11, LineageOS 13 and LineageOS 14.1 compiled after 01.03.2019
[#DONATETOME]
XDA:DevDB Information
(unified) Anykernel, Kernel for the Samsung Galaxy Tab 2
Contributors
Android-Andi, Ziyan
Source Code: https://github.com/Unlegacy-Android/android_kernel_ti_omap4/commits/3.0/common
Kernel Special Features: Testing before applying on our source official, CVE fixes
Version Information
Status: Testing
Created 2016-10-21
Last Updated 2020-05-02
Reserved
As requested, here's my setup to compile espresso kernel.
01.05.2020
Follow https://github.com/andi34/android_build-bot/blob/manifest/README.md and https://github.com/andi34/android_build-bot/blob/kernelcompile/README.md
What do you need
Kernel Source (you can get our latest kernel source on SlimRoms, OmniRoms or CyanogenMods github, "espresso10 kernel")
GCC ( https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8 )
pvr source, added to omap4-common device repo and hardware_ti_omap4 repo (can be found on SlimRoms, OmniRoms or CyanogenMods github)
you can use my scripts put below (update some paths, marked red )
AnyKernel2 Source from osm0sis (see 1. post, update for your tab2 needed)
build-gcc4.8.env:
Code:
[COLOR="Red"]export CROSS_COMPILE='/android/kernelcompile/arm-eabi-4.8/bin/arm-eabi-'[/COLOR]
export LDFLAGS=''
export CFLAGS=''
export SUBARCH=arm
export ARCH=arm
[COLOR="Red"]export STRIP=/android/kernelcompile/arm-eabi-4.8/bin/arm-eabi-strip[/COLOR]
alias 'stm'='$STRIP --strip-unneeded *.ko'
compile-espresso.sh
Code:
#!/bin/bash
readonly red=$(tput setaf 1) # red
readonly grn=$(tput setaf 2) # green
readonly ylw=$(tput setaf 3) # yellow
readonly blu=$(tput setaf 4) # blue
readonly cya=$(tput setaf 6) # cyan
readonly txtbld=$(tput bold) # Bold
readonly bldred=$txtbld$red # red
readonly bldgrn=$txtbld$grn # green
readonly bldylw=$txtbld$ylw # yellow
readonly bldblu=$txtbld$blu # blue
readonly bldcya=$txtbld$cya # cyan
readonly txtrst=$(tput sgr0) # Reset
err() {
echo "$txtrst${red}$*$txtrst" >&2
}
warn() {
echo "$txtrst${ylw}$*$txtrst" >&2
}
info() {
echo "$txtrst${grn}$*$txtrst"
}
setbuildjobs() {
# Set build jobs
JOBS=$(expr 0 + $(grep -c ^processor /proc/cpuinfo))
info "Set build jobs to $JOBS"
}
info "Kernel source path: $KERNELSOURCE"
info "PVR Source path: $PVRSAUCE"
info "Working directory: $WORKINGDIR"
info "resulting zImage and modules stored at: $WORKINGOUTDIR"
setbuildjobs
info "Moving to kernel source"
cd $KERNELSOURCE
info "Import toolchain environment setup"
info "Toolchain: $TOOLCHAIN"
source $SAUCE/build-$TOOLCHAIN.env
info "Create a buid directory, known as KERNEL_OUT directory"
# then always use "O=$SAUCE/espresso" in kernel compilation
info "create working directory"
mkdir -p $WORKINGDIR
warn "Make sure the kernel source clean on first compilation"
make O=$WORKINGDIR mrproper
warn "Rebuild the kernel after a change, maybe we want to reset the compilation counter"
echo 0 > $WORKINGDIR/.version
if [ "$VARIANTDEFCONFIG" = "*p*" ]; then
info "Import kernel config file: $DEFCONFIGNAME"
info "Import variant config file: $VARIANTDEFCONFIGNAME"
make O=$WORKINGDIR VARIANT_DEFCONFIG=$VARIANTDEFCONFIG $DEFCONFIGNAME
info "Change kernel configuration if needed using:"
info " make O=$WORKINGDIR menuconfig "
VARIANTDEFCONFIG=
else
info "Import kernel config file: $DEFCONFIGNAME"
make O=$WORKINGDIR $DEFCONFIGNAME
info "Change kernel configuration if needed using:"
info " make O=$WORKINGDIR menuconfig "
fi
info "lets build the kernel"
make -j$JOBS O=$WORKINGDIR
if [ -f $WORKINGDIR/arch/arm/boot/zImage ]; then
info "Copying the resulting zImage and modules to: $WORKINGOUTDIR"
info "Creating directory..."
mkdir -p $WORKINGOUTDIR
mkdir -p $WORKINGOUTDIR/modules/system/lib/modules
cp $WORKINGDIR/arch/arm/boot/zImage $WORKINGOUTDIR/
find $WORKINGDIR/ -type f -name *.ko -exec cp {} $WORKINGOUTDIR/modules/system/lib/modules/ \;
info "Files moved!"
info "Pointing KERNELDIR to KERNEL_OUT directory"
export KERNELDIR=$WORKINGDIR
warn "Make sure the PVR source clean."
warn "Running 'make clean'..."
make clean -C $PVRSAUCE/build/linux2/omap4430_android
info "Building the PVR module..."
# we now use the default libion, our kernel was updated
make -j8 -C $PVRSAUCE/build/linux2/omap4430_android TARGET_PRODUCT="blaze_tablet" BOARD_USE_TI_LIBION=false BUILD=release TARGET_SGX=540 PLATFORM_VERSION=4.1
info "Copying the resulting PVR module to: $WORKINGOUTDIR"
cp -fr $PVRSAUCE/binary2_omap4430_android_release/target/pvrsrvkm.ko $WORKINGOUTDIR/modules/system/lib/modules/pvrsrvkm_sgx540_120.ko
mv $PVRSAUCE/binary2_omap4430_android_release/target/pvrsrvkm.ko $WORKINGOUTDIR/modules/system/lib/modules/
warn "Don't leave any module objects in PVR source!"
warn "Running 'make clean'..."
make clean -C $PVRSAUCE/build/linux2/omap4430_android
info "Properly stripping the kernel modules for smaller size (implified as stm command inside build.env)..."
cd $WORKINGOUTDIR/modules/system/lib/modules
stm
info "####################"
info "# Done! #"
info "####################"
else
warn "####################"
warn "# FAILED! #"
warn "####################"
fi
cd $SAUCE
espresso-m.sh
Code:
#!/bin/bash
[COLOR="Red"]SAUCE=~/android2/kernelcompile
PVRSAUCE=~/android2/official/omap4/stable/pvr-source/eurasiacon
KERNELSOURCE=~/android2/official/kernel/android_kernel_ti_omap4[/COLOR]
TOOLCHAIN="gcc4.8"
DEFCONFIGNAME=espresso_defconfig
WORKINGDIR=$SAUCE/out/$DEFCONFIGNAME
WORKINGOUTDIR=$SAUCE/$DEFCONFIGNAME-bin
. `dirname $0`/compile-espresso.sh
espresso-k.sh
Code:
#!/bin/bash
[COLOR="Red"]SAUCE=~/android2/kernelcompile
PVRSAUCE=~/android2/official/omap4/stable/pvr-source/eurasiacon
KERNELSOURCE=~/android2/official/kernel/android_kernel_ti_omap4[/COLOR]
TOOLCHAIN="gcc4.8"
DEFCONFIGNAME=espresso_kitkat_defconfig
WORKINGDIR=$SAUCE/espresso-kitkat
WORKINGOUTDIR=$WORKINGDIR-bin
. `dirname $0`/compile-espresso.sh
Reserved
DEVICE SPECIFIC ANYKERNEL
Edit 02.05.2020
Latest device specific AnyKernel-Zip can be found here:
https://forum.xda-developers.com/showpost.php?p=79259009&postcount=204
Please note: our kernel detects your Tab2 variant at boot and chooses the right driver and config for your device! In some cases (e.g. if the mainboard or the screen got replaced) your device variant isn't detected right and it will use wrong driver!
I am not sure how many user are affected, but in such case we can skip the intelligent board detection and hardcode the variant.
Attached device specific kernel should work on all unified espresso/espressowifi & espresso3g roms from Android 5 up to Android 7, for Android 4 Roms please use the "kitkat" version.
Feel free to buy me a coconut water if it helped you to keep your Tab still, after many years, almost up to date.
UPDATE AnyKernel-2016-10-21
- Update the ext-csd.rev check for eMMC5.1 (fixes emmc detection for some tab2)
- CVE-2016-5195
- CVE-2016-6828
- CVE-2016-7042
thanks andi.
working nice on my own builded aosp-6.0 10/16
Some more CVE fixes applied on top of previous kernel:
CVE-2014-8173
CVE-2014-7970
CVE-2014-5206
CVE-2016-0819
CVE-2015-8830
CVE-2014-9715
I added a CVE overview on 2nd post.
Edit:
Added a KitKat version
Hi Android-Andi.
Has this kernel the OPTION (or plan to enable) to overclock ?
Thanks.
galoneta said:
Hi Android-Andi.
Has this kernel the OPTION (or plan to enable) to overclock ?
Thanks.
Click to expand...
Click to collapse
No as mentioned in first post! Move out of this thread if you are not able to read first post.
~ All my work, news etc. on http://andi34.github.io ~
Guys, if you don't read the OP the thread will be closed and you can take care about a security patched kernel yourself.
Source is available on github, add everything you miss by your own and stop spamming this thread!
Edit: everyone not accepting the forum rules will be reported!
Edit2: Thanks @ Moderator for the post remove / thread clean
~ All my work, news etc. on http://andi34.github.io ~
SORRY!
I know its off topic but you should read this
http://www.xda-developers.com/9-yea...-dirty-cow-can-root-every-version-of-android/
Emo Darkemotion said:
SORRY!
I know its off topic but you should read this
http://www.xda-developers.com/9-yea...-dirty-cow-can-root-every-version-of-android/
Click to expand...
Click to collapse
OP states that its already patched
Android-Andi said:
"CVE-2016-5195" https://github.com/Unlegacy-Android/...b19311a9089b77
Click to expand...
Click to collapse
Emo Darkemotion said:
SORRY!
I know its off topic but you should read this
http://www.xda-developers.com/9-yea...-dirty-cow-can-root-every-version-of-android/
Click to expand...
Click to collapse
It is quite funny making noise about a bug which existed 9 years now.
1. It is fixed on my kernel as mentioned on 2nd post (wonder why i spend time doing it)
2. I don't see an issue on custom roms (can be fixed within 2 minutes), i would worry about android by your Manufacturer (on all devices).
On android we change the wheel: no central updates like on linux or windows - it is up to your manufacturer to update your device and there's a lot of security issues fixed by google on android every month (and sure, some kernel side too). How many stock updates you get? 1, maybe 2 within 1 year and support drops after that.
To be true: i am not sure if my next device is an android device:
On my g4 i am on stock rom and LG cares 0 about it (Security patch level 2016-07-01... I waited 6 or 7 month to get that update and it was already 1 month behind).
If manufacturer don't care about theire flagships, what else can we do? Flashing custom roms? Right works, but on my daylie driver i don't like to be a flashahollic... I am more thinking about using a different OS.
You should think about my words and don't care about a already fixed security issue
~ All my work, news etc. on http://andi34.github.io ~
Hi Andy,
First of all, many thanks for all your work! I´m using your ROMs and kernels since Slimkat and all are great!
I also do my best colaborating with the translating team of CyanogenMod and SlimRoms (Brazilian Portuguese).
But now I would like to compile a kernel bymyself, to patch the CVEs, changes I like, etc.
If you have time, can you post here the steps you do to compile the Anykernel?
Don´t need to waste time explaining the things, just post the step-by-step commands (git clone, makes, ADBs, etc) and I will do my research, ok?
Thanks in advance and greetings from Brazil!
AranhaEscarlate said:
Hi Andy,
First of all, many thanks for all your work! I´m using your ROMs and kernels since Slimkat and all are great!
I also do my best colaborating with the translating team of CyanogenMod and SlimRoms (Brazilian Portuguese).
But now I would like to compile a kernel bymyself, to patch the CVEs, changes I like, etc.
If you have time, can you post here the steps you do to compile the Anykernel?
Don´t need to waste time explaining the things, just post the step-by-step commands (git clone, makes, ADBs, etc) and I will do my research, ok?
Thanks in advance and greetings from Brazil!
Click to expand...
Click to collapse
Sure, i have nothing to hide i can upload my script next days. Busy on other stuff atm maybe send a small reminder if the script isn't added on 3rd post of this thread end of next week.
~ All my work, news etc. on http://andi34.github.io ~
Android-Andi said:
Sure, i have nothing to hide i can upload my script next days. Busy on other stuff atm maybe send a small reminder if the script isn't added on 3rd post of this thread end of next week.
~ All my work, news etc. on http://andi34.github.io ~
Click to expand...
Click to collapse
Oh and @Android-Andi just a small request , change the color of the text for ""CVE-XXXXXYYYY" DOES NOT AFFECT" because This colour is hard to read on the screen .
AranhaEscarlate said:
(...)
If you have time, can you post here the steps you do to compile the Anykernel?
Don´t need to waste time explaining the things, just post the step-by-step commands (git clone, makes, ADBs, etc) and I will do my research, ok?
(...)
Click to expand...
Click to collapse
http://forum.xda-developers.com/showpost.php?p=69241933&postcount=3
Must be enough, everything else you need to read / find out yourself
iamashwin said:
Oh and @Android-Andi just a small request , change the color of the text for ""CVE-XXXXXYYYY" DOES NOT AFFECT" because This colour is hard to read on the screen .
Click to expand...
Click to collapse
Done, should be better now.
Android-Andi said:
http://forum.xda-developers.com/showpost.php?p=69241933&postcount=3
Must be enough, everything else you need to read / find out yourself
Click to expand...
Click to collapse
Thank you very much, Andy!!!
It´s more than enough!
Everything else, I will read documentation at the Internet, but this is a great starting point for me.
What kind ANY KERNEL is important when you can not clocked CPU and graphics
Kutuzov666 said:
What kind ANY KERNEL is important when you can not clocked CPU and graphics
Click to expand...
Click to collapse
Dont use it if you dont want it!
It is for the kind of people who want a secure kernel ... more secure than the one given by samsung (I dont remember the last time they sent us a patched kernel update ...or did they !)
Nearly all the device I own are waaaay too insecure (be it my router (its also a linux system) , phone Landline TV ...) except for my 4 year old tab all thanks to Andi ! Respect it
Besides OP is doing all this as a hobby and not for your or my benefit.
Stop spaming this thread ! Please READ
Please respect the following 2 points
No feature requests!
Overclocking will never be added here!
If you don't read and respect the OP, you accept to make a donation of 50$ to a charity of your choice!
Click to expand...
Click to collapse
PSS If you are satisfied with the answer please delete the message and so will I .Lets keep this thread clean.

[WIP!][KERNEL] Razer Phone 2 Kernel (+exfat module, TWRP device tree, and more!)

Hi all!
What is this?
This is my mostly-working Razer Phone 2 Kernel and TWRP device tree!
I've been reading threads where people are having issues compiling the Razer-provided source for the RP2 and figured I should post what I have so others can use it to help achieve a fully working source-built kernel.
I'm also including a set of scripts to repack a Magisk-patched boot.img so you can iterate on building a new kernel rapidly, and am including a prebuilt magisk-patched boot.img with the custom kernel so we can QA other features while focusing on the known-broken things.
Also also, I'm including an exfat kernel module (not built into kernel for now) so that can be tested too!
Click to expand...
Click to collapse
Why is this mostly-working?
I've tested many features on this kernel and so far the only feature *not* working is the microphone. (Audio recording, haven't tested in-call audio)
This kernel is a mashup of Razer's source and a few other OSS repos from CAF - specifically the TFA98XX driver, and the audio-kernel repositories, so there's a bit of integration left to do to get all the audio features working.
I also had to edit the defconfig to get the DTB to build, and have to build with some special flags to use the prebuilt DTB compiler (dtc) since the one included in the source isn't capable of compiling the FIH DTBs inside the Razer-provided source (correct me if I'm doing something wrong here, but this was how I ended up getting it to work).
The kernel parameter skip_initramfs has also been renamed to skip__initramfs to break the silly bootloader skipping the ramdisk (and thereby breaking Magisk). This means you don't need to run Magisk's binary patch to rename that kernel argument to make Magisk or TWRP work.
Keep in mind, though, that this means if you use this kernel with a 100% stock ramdisk, you'll only ever get recovery since new Android ramdisks only contain recovery! (Thanks Dees_Troy for the refresher course!)
If you're familiar with the new audio-kernel CAF stuff, please let me know! I could use your assistance getting the microphone working.
It seems like the microphone isn't working because of some mismatches between the in-kernel msm audio drivers and the Razer customized drivers in the vendor partition.
I get errors like
Code:
[31269.485217] send_afe_cal_type cal_block not found!!
in dmesg when attempting to record audio. This seems isolated to the q6afe drivers in the kernel (specifically here: https://github.com/thecubed/android_kernel_razer_sdm845/blob/master/techpack/audio/dsp/q6afe.c#L1593 ) not playing nice with the prebuilt snd_soc_sdm845 kernel module.
Click to expand...
Click to collapse
Where do I get this?
See here for the TWRP device tree (and detailed instructions on how to set up your build tree): https://github.com/thecubed/android_device_razer_cheryl2
See here for just the kernel source: https://github.com/thecubed/android_kernel_razer_sdm845
See here for a kernel-less boot.img skeleton that you can drop your newly minted kernel into and repack with mkbootimg: http://downloads.codefi.re/thecubed/aura2/kernel/magisk_custom_kernel_skel.tar.gz
See here for a prebuilt boot.img with this custom kernel which includes Magisk: http://downloads.codefi.re/thecubed/aura2/kernel/boot_magisk_custom_9.img
See here for an exfat module you can insmod from a booted phone with custom kernel to try mounting exfat SD cards: http://downloads.codefi.re/thecubed/aura2/kernel/exfat_module.tar.gz
See here for a stock Magisk-patched boot.img for when you're done playing with this: http://downloads.codefi.re/thecubed/aura2/kernel/boot_magisk.img
Click to expand...
Click to collapse
How do I use this?
First off, this isn't for the average user. This kernel is *under development* and is not fully working yet. This means don't try this kernel on your mom's phone, your neighbor's phone, or any device that you aren't comfortable developing for.
Secondly, to test this, you'll need to be oem unlocked. There's plenty of guides to do this, but be aware that it erases all data on your phone when doing so. You could try using adb backup first, but I didn't have much success with that.
I'd suggest looking at the first link in the Where do I get this section and reading the README for the device tree as it'll have the most detailed instructions.
The gist is you'll need to download a minimal OmniROM manifest, add some lines to a file in .repo/local_manifests/cheryl2.xml, and run mka kernel to get a kernel image.
After that, you'll want to use mkbootimg to build a bootable magisk-patched boot.img, which you'll flash to your device with fastboot flash boot_X path/to/boot.img (where X is the active boot partition).
Once you've got the Image.gz-dtb file from your $OUT/obj/KERNEL_OBJ/arch/arm64/boot/Image.gz-dtb you'll want to repack it into a magisk-patched boot.img
Repacking the boot.img can be done with this command:
Code:
mkbootimg \
--kernel Image.gz-dtb \
--ramdisk boot_magisk.img-ramdisk.gz \
--cmdline 'console=ttyMSM0,115200n8 earlycon=msm_geni_serial,0xA84000 androidboot.hardware=qcom androidboot.console=ttyMSM0 video=vfb:640x400,bpp=32,memsize=3072000 msm_rtb.filter=0x237 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 service_locator.enable=1 swiotlb=2048 androidboot.configfs=true androidboot.usbcontroller=a600000.dwc3 buildvariant=user' \
--base 0x00000000 \
--pagesize 4096 \
--kernel_offset 0x00008000 \
--ramdisk_offset 0x01000000 \
--second_offset 0x00f00000 \
--tags_offset 0x00000100 \
--os_version 8.1.0 \
--os_patch_level 2018-10 \
-o ../boot_magisk_custom.img
Click to expand...
Click to collapse
FAQ
Does this have TWRP?
No. This does not have TWRP. The device tree is for TWRP eventually, and to make compiling the kernel easier (since Android kernels don't like compiling outside of Android's makefile system anymore)​
Does this have Magisk?
Yes! It's "pre-patched" too, as long as you're using my prebuilt one above.​
Do I need the custom kernel to use the exfat module?
Yes. This is because the Razer stock kernel has module signing forced. I don't have Razer's kernel module signing key so I can't compile kernel modules for the stock kernel. My kernel has module signing set to allow mismatched signatures, so both the Razer modules in /vendor/lib/modules (required for sound) and my exfat module can coexist.​
Why is exfat not compiled into the kernel?
Laziness, primarily. Actually, in this case I just didn't want to add extra variables to testing the kernel. If adding exfat into the kernel directly causes other issues it could potentially derail my quest to get this kernel up to par with the stock kernel.​
Why did other kernels not boot?
Most likely due to incompatible audio-kernel revisions, or dtb issues. I'm not sure, but getting this kernel to compile required a bit more hacking than it should have.​
Are you working on TWRP for Razer Phone 2?
Yep. Look for another post once the kernel is good to go. I aim to get encryption support working too, unless Dees_Troy beats me to it ​
Is audio still not working?
I'll update the post to remove the WIP tag and the section about audio as soon as it's working.​
Is anything else not working?
Feel free to download and test to let me know what else isn't working and I'll add it to the OP.​
Click to expand...
Click to collapse
Acknowledgements
Special thanks to Rashed97 and Dees_Troy for all their help.
Click to expand...
Click to collapse
y u quote OP?
Thanks for your work! Looking forward for a stable version. Wanna help but RP2 is currently my only working phone..
u sir,deserve a beer,thanks for working rp2 and not to forget other devs who help u along the way,we will wait patiently,cheers!!!!
Thank you.
Interesting discovery just now, seems that the stock kernel gives the same 'error' in dmesg when recording audio (but obviously audio recording still works).
Code:
[ 1365.950315] send_afe_cal_type cal_block not found!!
This could mean that Razer doesn't have a calibration profile for the microphone anyway (interesting, wonder if there's an opportunity to improve recording quality here?) and that I'm barking up the wrong tree re: calibration mismatches.
I've also confirmed that I get the same 'ASoC: no backend DAIs enabled for [backend name here]' messages in the stock kernel when brute force trying all PCM inputs with:
Code:
for f in `seq 1 80`; do tinycap /sdcard/wavs/device-$f.wav -D 0 -d $f -r 48000; done
It's also (very) possible that I don't understand how tinycap works.
I dumped the list of PCM inputs/outputs with:
Code:
for f in `ls -d /proc/asound/sdm845tavilsndc/** | grep pcm`; do echo "$f : `grep 'id' $f/info`"; done
and
Code:
cat /proc/asound/pcm
on both kernels (stock and custom) and they seem to match.
I'm thinking I should figure out how to record sound outside of android (from adb only) from stock kernel, and use that same test to try in the custom kernel. If I can find a test like that, I should be able to determine if I need to rename one of my DAI links to match whatever's baked into the XML files in /vendor/etc .
Any ideas?
Are you using the audio.a2dp.default.so driver?
Warrior1988: A2DP isn't in play here, and I'm using the stock /system and /vendor partitions, so any razer-customized tweaks are still present.
Currently, I've been working on figuring out the codec mappings to make sure that when audio is being recorded in the custom kernel that all the appropriate routing is set to enable audio from the tfa98xx chip (NXP amplifier, apparently supports digital microphones too?) or the wcd934x codec.
I'm not sure where the microphones are physically connected internally, so I'm working backwards from what gets enabled/disabled when recording audio in the stock kernel.
So far I have observed a few things (pardon my potentially incorrect terminology, the whole linux ASOC sound layer is new to me):
1. Audio in the stock and custom kernels is being captured by the mixer device called "SDM845 Media1", and it is capturing from SLIMBUS_0_TX input.
Code:
[Recording]
aura:/sys/module # cat /sys/kernel/debug/asoc/sdm845-tavil-snd-card/SDM845\ Media1/state
[SDM845 Media1 - Playback]
State: new
Backends:
No active DSP links
[SDM845 Media1 - Capture]
State: start
Hardware Params: Format = S16_LE, Channels = 1, Rate = 16000
Backends:
- SLIMBUS_0_TX
State: start
Hardware Params: Format = S16_LE, Channels = 1, Rate = 48000
2. You can also see when recording and not recording that in both kernels the SLIMBUS_0_TX input is wired correctly to the right mixer:
Code:
[Not recording]
aura:/sys # cat ./kernel/debug/asoc/sdm845-tavil-snd-card/platform:soc:qcom,msm-pcm-routing/dapm/SLIMBUS_0_TX
SLIMBUS_0_TX: Off in 2 out 0 - R0(0x0) mask 0x1
stream Slimbus Capture inactive
out "static" "SLIM0_UL_HL"
in "static" "Slimbus Capture"
in "static" "BE_IN"
[Recording]
aura:/sys # cat ./kernel/debug/asoc/sdm845-tavil-snd-card/platform:soc:qcom,msm-pcm-routing/dapm/SLIMBUS_0_TX
SLIMBUS_0_TX: On in 2 out 1 - R0(0x0) mask 0x1
stream Slimbus Capture inactive
out "static" "SLIM0_UL_HL"
out "SLIM_0_TX" "MultiMedia1 Mixer"
in "static" "Slimbus Capture"
in "static" "BE_IN"
Now that I've observed those things, I need to do a bit more research on how audio can get enabled/disabled on each of the chips that touch it.
For instance, in the custom kernel, I noticed that during recording sounds the DMIC* lines on the second tfa98xx aren't enabled. I haven't checked in the stock kernel yet - but if the tfa98xx chip is providing mic bias, it's possible that everything is wired right for input but since the mic bias isn't on, the mic isn't powered and thus we get no sound.
(Updated side note, why is Razer Phone 2 is using two TFA9888 chips? The tfa98xx.cnt firmware references TFA9892 which is mono only, too. I need to see a disassembly to figure out what chips it's actually using...)
Code:
aura:/sys # cat ./kernel/debug/asoc/sdm845-tavil-snd-card/codec:tfa98xx.4-0034/dapm/DMIC*
DMIC1: Off in 1 out 0
out "static" "AIF OUT"
DMIC2: Off in 1 out 0
out "static" "AIF OUT"
DMIC3: Off in 1 out 0
out "static" "AIF OUT"
DMIC4: Off in 1 out 0
out "static" "AIF OUT"
aura:/sys # cat ./kernel/debug/asoc/sdm845-tavil-snd-card/codec:tfa98xx.4-0035/dapm/DMIC*
DMIC1: Off in 1 out 0
out "static" "AIF OUT"
in "static" "MIC BIAS1"
DMIC2: Off in 1 out 0
out "static" "AIF OUT"
DMIC3: Off in 1 out 0
out "static" "AIF OUT"
in "static" "MIC BIAS3"
DMIC4: Off in 1 out 0
out "static" "AIF OUT"
Update: just noticed that this path doesn't exist on stock kernel. So the TFA driver I have doesn't match the one Razer is using. Interesting!
Also, I'm not sure why SLIMBUS_2 playback/capture aren't shown as 'dynamic DAI' linked (the '(*)' means it's a dynamic DAI)... Probably not important though.
Code:
aura:/proc/asound # cat pcm
00-00: MultiMedia1 (*) : : playback 1 : capture 1
00-01: MultiMedia2 (*) : : playback 1 : capture 1
00-02: VoiceMMode1 (*) : : playback 1 : capture 1
00-03: VoIP (*) : : playback 1 : capture 1
00-04: MultiMedia3 (*) : : playback 1
00-05: SLIMBUS_0 Hostless (*) : : playback 1 : capture 1
00-06: AFE-PROXY RX msm-stub-rx-6 : : playback 1
00-07: AFE-PROXY TX msm-stub-tx-7 : : capture 1
00-09: AUXPCM Hostless (*) : : playback 1 : capture 1
00-10: SLIMBUS_1 Hostless (*) : : playback 1 : capture 1
00-11: SLIMBUS_3 Hostless (*) : : playback 1 : capture 1
00-12: SLIMBUS_4 Hostless (*) : : playback 1 : capture 1
00-13: MultiMedia5 (*) : : playback 1 : capture 1
00-14: Listen 1 Audio Service (*) : : capture 1
00-16: MultiMedia10 (*) : : playback 1 : capture 1
00-17: MM_NOIRQ (*) : : playback 1 : capture 1
00-18: HDMI_RX_HOSTLESS (*) : : playback 1
00-19: VoiceMMode2 (*) : : playback 1 : capture 1
00-20: Listen 2 Audio Service (*) : : capture 1
00-21: Listen 3 Audio Service (*) : : capture 1
00-22: Listen 4 Audio Service (*) : : capture 1
00-23: Listen 5 Audio Service (*) : : capture 1
00-24: Listen 6 Audio Service (*) : : capture 1
00-25: Listen 7 Audio Service (*) : : capture 1
00-26: Listen 8 Audio Service (*) : : capture 1
00-27: MultiMedia9 (*) : : playback 1 : capture 1
00-33: MM_NOIRQ_2 (*) : : playback 1 : capture 1
00-34: SLIMBUS8_HOSTLESS Capture (*) : : capture 1
00-35: Slimbus4 Capture tavil_vifeedback-35 : : capture 1
00-36: SLIMBUS_2 Hostless Playback tavil_rx2-36 : : playback 1
00-37: SLIMBUS_2 Hostless Capture tavil_tx2-37 : : capture 1
00-38: MultiMedia6 (*) : : playback 1 : capture 1
00-39: USB Audio Hostless (*) : : playback 1 : capture 1
00-80: QUAT_MI2S_RX Hostless (*) : : playback 1
Meanwhile, we've reached out to Razer to see if they'll bless us with the full and complete kernel source this time
I doubt it. They won't even answer simple questions as to an estimate of when we're getting Pie
blackknightavalon said:
I doubt it. They won't even answer simple questions as to an estimate of when we're getting Pie
Click to expand...
Click to collapse
>simple question
>eta
pick one
Any progress on this kernel? I'm really curious now that we have pie.
No progress as of yet, I've been busy with work recently and Razer hasn't dropped source for the new kernel version (still 4.9 but a different patch level).
I'm hopeful that Razer will drop the complete source for Pie's kernel and I can backport that to the Oreo kernel for those who want to keep the old OS.
I haven't updated my RP2 to Pie yet so I can test out any changes once the source for the new kernel is out. I'll be sure to post here when I have any updates
Audio-kernel source is out! https://s3.amazonaws.com/cheryl-factory-images/audio-kernel-aura-2009.tar.gz
I'll be rebuilding my kernel very soon and testing.
https://s3.amazonaws.com/cheryl-factory-images/
Warrior1988 said:
https://s3.amazonaws.com/cheryl-factory-images/
Click to expand...
Click to collapse
Yup, I'm building it right now!
Yup, it works! I have fully working audio and microphone now. Seems like there's a bunch of DAI changes and some offset changes to calibration stuff that FIH added (ugh).
Please hold while I get the commit up on my Github, and I'll get a build with exfat going here in just a minute after.
Plan is:
- Github updates (readme changes, etc) UPDATE: done
- Upload this current build I just tested for anyone that wants it
- Add exfat module to kernel and rebuild / test UPDATE: exfat support works, BUT I need to recompile vold to support exfat. I can mount the SD card just fine, but Android doesn't understand that it's mounted because vold isn't tracking it
Also, <3 u razer, thanks
I'm bummed to hear about the layoffs, and I really appreciate whomever uploaded the source even after that. Hopefully Razer's phone team will grow again and get to make us a Razer Phone 3 at some point in the future.
For anyone that's still running 8.1 and wants to try my custom kernel (no, no exfat support yet until I get vold fixed), here's a link: http://downloads.codefi.re/thecubed/aura2/kernel/boot_magisk_custom_10.img
Github has been updated as well.
I'll be sure to update the OP tomorrow when it's not 2AM.
EDIT: Fixed link, 2AM is not kind to my typing skills
Awesome work! Very excited to try it out tomorrow.
Also sad to see your post about their layoffs. Pretty fun phone with much potential for future.
I think some of the reviews are pretty harsh given the penchant of Pixel / Samsung / Apple worship out there.
Anyway, thanks so much for this.
thecubed said:
For anyone that's still running 8.1 and wants to try my custom kernel (no, no exfat support yet until I get vold fixed), here's a link: http://downloads.codefi.re/thecubed/aura2/boot_magisk_custom_10.img
Github has been updated as well.
I'll be sure to update the OP tomorrow when it's not 2AM.
Click to expand...
Click to collapse
Thank you for this!
It's showing up "Not found" on the download link though.
jal3223 said:
Thank you for this!
It's showing up "Not found" on the download link though.
Click to expand...
Click to collapse
Fixed the link in my previous post - sorry about that!
I'll be updating the OP tonight too when I get home from work.
Looking good! Is the sound as good as stock (or maybe better, considering the low volume crackling we get)?
Hoping to give this a shot soon, as soon as I figure out rooting on 9.0. I saw a thread about it, but nobody answered my question there, and light digging through threads didn't turn up an answer, so trying this kernel will have to wait a bit. Makes me miss the HTC root days, when finding out about root was a simple yes or no situation... lol.

Categories

Resources