[KERNEL DEVELOPMENT] T800: touchscreen- and keyboarddriver - Galaxy Tab S Q&A, Help & Troubleshooting

I'm not sure, if this is the right forum - but 'cause I really, really need some help on this it can't be the wrong forum.
I'm trying to build cm11 (and soon cm12) for t800. For two issues I need extended features in kernel drivers:
1. xbmc and some games do not accept touch input. I tracked this down to the following problem: some time ago some touch handling has been moved from rom to driver level (not sure if in aosp itself or in cm). So we need something similar to this patch in drivers/input/touchscreen/synaptics_dsx/*.
2. I order to allow disabling capacitive buttons properly, we need a additional sysfs interface file in drivers/input/keyboard/tc300k.c. As an exsample you can lool at this patch.
I would be really more than happy if a gifted kernel developer could put some love here.
If someone is reading this and knows about someone who could do this but is not reading here, please point him or her to this posting.
I'm quite desperated about knowing the reason, but being not smart enough to fix it my self (this was euphemistic for "pissed off". )
Thank you in advance.

nvertigo67 said:
I'm not sure, if this is the right forum - but 'cause I really, really need some help on this it can't be the wrong forum.
I'm trying to build cm11 (and soon cm12) for t800 (t700 has the same issues). For two issues I need extended features in kernel drivers:
1. xbmc and some games do not accept touch input. I tracked this down to the following problem: some time ago some touch handling has been moved from rom to driver level (not sure if in aosp itself or in cm). So we need something similar to this patch in drivers/input/touchscreen/synaptics_dsx/*.
2. I order to allow disabling capacitive buttons properly, we need a additional sysfs interface file in drivers/input/keyboard/tc300k.c. As an exsample you can lool at this patch.
I would be really more than happy if a gifted kernel developer could put some love here.
If someone is reading this and knows about someone who could do this but is not reading here, please point him or her to this posting.
I'm quite desperated about knowing the reason, but being not smart enough to fix it my self (this was euphemistic for "pissed off". )
Thank you in advance.
Click to expand...
Click to collapse
I can handle number 2. Looks straight forward enough. Number one looks a bit more intrusive and I would want to think about it before I did that change.

eousphoros said:
I can handle number 2. Looks straight forward enough. Number one looks a bit more intrusive and I would want to think about it before I did that change.
Click to expand...
Click to collapse
Hey, thats great news!

Number 2 was pretty easy @nvertigo67 (just for visibility)
[email protected]:/sys/devices/virtual/sec/sec_touchkey # cat touchkey_enabled
1
[email protected]:/sys/devices/virtual/sec/sec_touchkey # echo 0 > touchkey_enabled <
[email protected]:/sys/devices/virtual/sec/sec_touchkey # cat touchkey_enabled
0
No more capacitive buttons!
Here is the diff
Code:
diff --git a/drivers/input/keyboard/cypress/cypress-touchkey.c b/drivers/input/keyboard/cypress/cypress-touchkey.c
index d019d0d3..b2c71dd 100644
--- a/drivers/input/keyboard/cypress/cypress-touchkey.c
+++ b/drivers/input/keyboard/cypress/cypress-touchkey.c
@@ -1881,6 +1881,34 @@ static ssize_t set_touchkey_firm_status_show(struct device *dev,
return count;
}
+
+static ssize_t show_touchkey_enabled(struct device *dev,
+ struct device_attribute *attr,
+ char *buf)
+{
+ struct touchkey_i2c *tkey_i2c = dev_get_drvdata(dev);
+
+ dev_dbg(&tkey_i2c->client->dev, "%s\n", __func__);
+ return snprintf(buf, PAGE_SIZE, "%u\n", tkey_i2c->enabled);
+}
+
+static ssize_t touchkey_enabled_store(struct device *dev,
+ struct device_attribute *attr,
+ const char *buf, size_t size)
+{
+ struct touchkey_i2c *tkey_i2c = dev_get_drvdata(dev);
+ unsigned int input;
+
+ if (sscanf(buf, "%u", &input) != 1)
+ return -EINVAL;
+
+ if (input == 0)
+ touchkey_stop(tkey_i2c);
+
+ dev_dbg(&tkey_i2c->client->dev, "%s\n", __func__);
+ return size;
+}
+
#ifdef TOUCHKEY_BOOSTER
static ssize_t touchkey_boost_level(struct device *dev,
struct device_attribute *attr, const char *buf,
@@ -1930,6 +1958,8 @@ static DEVICE_ATTR(touchkey_firm_version_phone, S_IRUGO | S_IWUSR | S_IWGRP,
set_touchkey_firm_version_show, NULL);
static DEVICE_ATTR(touchkey_firm_version_panel, S_IRUGO | S_IWUSR | S_IWGRP,
set_touchkey_firm_version_read_show, NULL);
+static DEVICE_ATTR(touchkey_enabled, S_IRUGO | S_IWUSR | S_IWGRP,
+ show_touchkey_enabled, touchkey_enabled_store);
#ifdef LED_LDO_WITH_REGULATOR
static DEVICE_ATTR(touchkey_brightness, S_IRUGO | S_IWUSR | S_IWGRP,
NULL, brightness_control);
@@ -1963,6 +1993,7 @@ static DEVICE_ATTR(boost_level, S_IWUSR | S_IWGRP, NULL, touchkey_boost_level);
#endif
static struct attribute *touchkey_attributes[] = {
+ &dev_attr_touchkey_enabled.attr,
&dev_attr_brightness.attr,
#ifdef TK_USE_RECENT
&dev_attr_touchkey_recent.attr,
---
Though the one "issue" is to re-enable them you would need to reboot. But thats just because I was being lazy.

eousphoros said:
Number 2 was pretty easy @nvertigo67 (just for visibility)
[email protected]:/sys/devices/virtual/sec/sec_touchkey # cat touchkey_enabled
1
[email protected]:/sys/devices/virtual/sec/sec_touchkey # echo 0 > touchkey_enabled <
[email protected]:/sys/devices/virtual/sec/sec_touchkey # cat touchkey_enabled
0
No more capacitive buttons!
Here is the diff
Code:
diff --git a/drivers/input/keyboard/cypress/cypress-touchkey.c b/drivers/input/keyboard/cypress/cypress-touchkey.c
index d019d0d3..b2c71dd 100644
--- a/drivers/input/keyboard/cypress/cypress-touchkey.c
+++ b/drivers/input/keyboard/cypress/cypress-touchkey.c
@@ -1881,6 +1881,34 @@ static ssize_t set_touchkey_firm_status_show(struct device *dev,
return count;
}
+
+static ssize_t show_touchkey_enabled(struct device *dev,
+ struct device_attribute *attr,
+ char *buf)
+{
+ struct touchkey_i2c *tkey_i2c = dev_get_drvdata(dev);
+
+ dev_dbg(&tkey_i2c->client->dev, "%s\n", __func__);
+ return snprintf(buf, PAGE_SIZE, "%u\n", tkey_i2c->enabled);
+}
+
+static ssize_t touchkey_enabled_store(struct device *dev,
+ struct device_attribute *attr,
+ const char *buf, size_t size)
+{
+ struct touchkey_i2c *tkey_i2c = dev_get_drvdata(dev);
+ unsigned int input;
+
+ if (sscanf(buf, "%u", &input) != 1)
+ return -EINVAL;
+
+ if (input == 0)
+ touchkey_stop(tkey_i2c);
+
+ dev_dbg(&tkey_i2c->client->dev, "%s\n", __func__);
+ return size;
+}
+
#ifdef TOUCHKEY_BOOSTER
static ssize_t touchkey_boost_level(struct device *dev,
struct device_attribute *attr, const char *buf,
@@ -1930,6 +1958,8 @@ static DEVICE_ATTR(touchkey_firm_version_phone, S_IRUGO | S_IWUSR | S_IWGRP,
set_touchkey_firm_version_show, NULL);
static DEVICE_ATTR(touchkey_firm_version_panel, S_IRUGO | S_IWUSR | S_IWGRP,
set_touchkey_firm_version_read_show, NULL);
+static DEVICE_ATTR(touchkey_enabled, S_IRUGO | S_IWUSR | S_IWGRP,
+ show_touchkey_enabled, touchkey_enabled_store);
#ifdef LED_LDO_WITH_REGULATOR
static DEVICE_ATTR(touchkey_brightness, S_IRUGO | S_IWUSR | S_IWGRP,
NULL, brightness_control);
@@ -1963,6 +1993,7 @@ static DEVICE_ATTR(boost_level, S_IWUSR | S_IWGRP, NULL, touchkey_boost_level);
#endif
static struct attribute *touchkey_attributes[] = {
+ &dev_attr_touchkey_enabled.attr,
&dev_attr_brightness.attr,
#ifdef TK_USE_RECENT
&dev_attr_touchkey_recent.attr,
---
Though the one "issue" is to re-enable them you would need to reboot. But thats just because I was being lazy.
Click to expand...
Click to collapse
Cool! That's a nice one.
For the learning part (not so important, but I'm curious): Some time ago I've have tries to disable the cypress driver, 'cause we have tc300k keys and no cypress. But after disabling cypress tc300k refused to build: some prototypes were missing, 'cause of some ifdefs include the appropriate headers only if cypress is enabled. So I changed the ifdefs... tc300k compiled again, but the capacitive keys were not working with the resulting kernel: do you understand the dependency of tc300k and cypress?
And now for the real jedi-question (I expect an answer here of course! ): Why doesn't sammy reflect this dependency in Kconfig?
Again: thank you very much!
(BTW: I use "/sys/class/input/input8/enabled" in powerHAL and will use "/sys/devices/virtual/sec/sec_touchkey/touchkey_enabled" in keydisabler.java. Does this persist a reboot? Or is keydisabler.java disable this on each reboot? [I'm just thinking out loud... ] Do you plan to extend your patch for enabling capacitive buttons online again?)
I have started writing this just after wakeup, 'cause I 'm so exited about this fix (issue is itching my ego for months). After a cup of coffee I realize it's a quite caotic posting - hope you get the points though...

As I goto bed I write this so excuse the brevity. I will answer all the questions tomorrow. This is just a quick first draft.
This does not persist between reboots
I could extend this to reenable the buttons if there is interest. Just need to chase the rabbit a little further down the hole.
Not sure about tc300k. Do Klimt and Chagall use the same bits for the capacitive buttons?

eousphoros said:
As I goto bed I write this so excuse the brevity. I will answer all the questions tomorrow. This is just a quick first draft.
This does not persist between reboots
I could extend this to reenable the buttons if there is interest. Just need to chase the rabbit a little further down the hole.
Not sure about tc300k. Do Klimt and Chagall use the same bits for the capacitive buttons?
Click to expand...
Click to collapse
Good night. Take your time. For your question: we will know when you wake up - i will try a build...
Thanx again and sleep well.

klimt and chagall have different touchkey drivers.
Code:
/ # ls -la /sys/bus/i2c/drivers/
drwxr-xr-x 25 root root 0 Jan 16 12:27 .
drwxr-xr-x 4 root root 0 Jan 16 12:27 ..
drwxr-xr-x 2 root root 0 Jan 16 12:27 AK09911C
drwxr-xr-x 2 root root 0 Jan 16 12:27 BMA255
drwxr-xr-x 2 root root 0 Jan 16 12:27 BMG160
drwxr-xr-x 2 root root 0 Jan 16 12:27 CM3323
drwxr-xr-x 2 root root 0 Jan 16 12:27 S5K6B2
drwxr-xr-x 2 root root 0 Jan 16 12:27 cameraeeprom
drwxr-xr-x 2 root root 0 Jan 16 12:27 dummy
drwxr-xr-x 2 root root 0 Jan 16 12:27 exynos_edid
drwxr-xr-x 2 root root 0 Jan 16 12:27 exynos_hdcp
drwxr-xr-x 2 root root 0 Jan 16 12:27 ice4
drwxr-xr-x 2 root root 0 Jan 16 12:27 ir-kbd-i2c
drwxr-xr-x 2 root root 0 Jan 16 12:27 max77803
drwxr-xr-x 2 root root 0 Jan 16 12:27 s2abb01
drwxr-xr-x 2 root root 0 Jan 16 12:27 sec-fuelgauge
drwxr-xr-x 2 root root 0 Jan 16 12:27 sec-pmic
drwxr-xr-x 2 root root 0 Jan 16 12:27 sec_touchkey
drwxr-xr-x 2 root root 0 Jan 16 12:27 sii8240_cbus
drwxr-xr-x 2 root root 0 Jan 16 12:27 sii8240_disc
drwxr-xr-x 2 root root 0 Jan 16 12:27 sii8240_hdmi
drwxr-xr-x 2 root root 0 Jan 16 12:27 sii8240_tmds
drwxr-xr-x 2 root root 0 Jan 16 12:27 sii8240_tpi
drwxr-xr-x 2 root root 0 Jan 16 12:27 synaptics_rmi4_i2c
drwxr-xr-x 2 root root 0 Jan 16 12:27 tc300k
No cypress driver - but tc300k.
So, not surprising:
Code:
/ #ls -la /sys/devices/virtual/sec/sec_touchkey/touchkey_enable
ls: /sys/devices/virtual/sec/sec_touchkey/touchkey_enable: No such file or directory
But anyway: thank you for tying to help - and we learned something new about the difference between chagall and klimt (in real life you can tell their pictures more easily... )

nvertigo67 said:
I'm not sure, if this is the right forum - but 'cause I really, really need some help on this it can't be the wrong forum.
I'm trying to build cm11 (and soon cm12) for t800. For two issues I need extended features in kernel drivers:
1. xbmc and some games do not accept touch input. I tracked this down to the following problem: some time ago some touch handling has been moved from rom to driver level (not sure if in aosp itself or in cm). So we need something similar to this patch in drivers/input/touchscreen/synaptics_dsx/*.
2. I order to allow disabling capacitive buttons properly, we need a additional sysfs interface file in drivers/input/keyboard/tc300k.c. As an exsample you can lool at this patch.
I would be really more than happy if a gifted kernel developer could put some love here.
If someone is reading this and knows about someone who could do this but is not reading here, please point him or her to this posting.
I'm quite desperated about knowing the reason, but being not smart enough to fix it my self (this was euphemistic for "pissed off". )
Thank you in advance.
Click to expand...
Click to collapse
Number 1 is solved (other then I supposed, it's a very small change):
https://github.com/nvertigo/android...mmit/324cd2be686a0d5ee6796dc4f56f24aef3a11a62

Related

Auto-Debloat S4 Flashable Zip! [16 Jun 2013]

Now you can auto-debloat your Galaxy S4 beauty using my new Auto-Debloat S4 flashable zip!
Link: http://www.mediafire.com/download/awabu8cg5a19lj4/Debloat-SGS4.zip
This is tested working on my rooted, unlocked (bootloader) SGH-I337 (AT&T) running Stock AT&T JB 4.2.2 I337UCUAMDL and TWRP Recovery 2.5.0.2.
But it should work on just about any S4 ROM though the primary target is JB 4.2.2.
Now of course there are many ways to debloat your rooted S4. But you may find this one very useful.
By default, my flashable zip frees up 600MB of precious space in your 2.7GB /system partition by removing approximately 90 bloatware apks and their corresponding odex files! Run time is just over 30 seconds.
And the customizable database file (bloatware-apk-sorted.txt) is sorted by file size to help you focus on big bloats like Samsung’s Health app “SHealth2.apk” (88 MB).
Thus you can debloat even more by extracting the database “bloatware-apk-sorted.txt” from zip, changing filename suffixes from “.KEEP” to “.apk”, reinserting database and reflashing. Run time is shorter on the second and subsequent passes.
Want to "rebloat"? No problem: All bloatware is safely moved to a special directory: /sdcard/Download/Bloatware for quick recovery.
As usual, “I will let YOU DECIDE whether to wipe data!”
Here’s a clip of my original database “bloatware-apk-sorted.txt” showing some of the worst offenders --- at least in terms of file size:
-rw-r--r-- 1 root root 88540395 Apr 27 2013 SecSettings.KEEP
-rw-r--r-- 1 root root 87854416 Apr 27 2013 SHealth2.apk
-rw-r--r-- 1 root root 39695494 Apr 27 2013 Episodes.apk
-rw-r--r-- 1 root root 39428223 Apr 27 2013 SecGallery2013.KEEP
-rw-r--r-- 1 root root 36196565 Apr 27 2013 GroupPlay_20.apk
-rw-r--r-- 1 root root 33781912 Apr 27 2013 InteractiveTutorial.apk
-rw-r--r-- 1 root root 28792764 Apr 27 2013 SecContacts.KEEP
-rw-r--r-- 1 root root 27349911 Apr 27 2013 S-Voice_Android_phone_J.apk
-rw-r--r-- 1 root root 26746285 Apr 27 2013 Match3VS.apk
-rw-r--r-- 1 root root 25549401 Apr 27 2013 SMemo2.apk
-rw-r--r-- 1 root root 25440434 Apr 27 2013 Peel.apk
-rw-r--r-- 1 root root 23676201 Apr 27 2013 SamsungBooks.apk
-rw-r--r-- 1 root root 23168685 Apr 27 2013 AllSharePlay15.apk
-rw-r--r-- 1 root root 22967881 Apr 27 2013 ChatONV_J.apk
-rw-r--r-- 1 root root 22829640 Apr 27 2013 ClockPackage.KEEP
-rw-r--r-- 1 root root 22407406 Apr 27 2013 PolarisOffice5.KEEP
Click to expand...
Click to collapse
And here’s the script engine: auto-debloat.sh
#!/sbin/sh
echo " "
echo "Auto-Debloat for Samsung S4!"
echo "Initial Release (16 Jun 2013)"
echo "sendust7 @ xda developers"
bloatdir="/sdcard/Download/Bloatware"
bloatfile="/tmp/bloatware-apk-sorted.txt"
echo " "
echo "All bloatware files are suffixed by .apk in $bloatfile"
echo "System apps to be retained are suffixed by .KEEP in $bloatfile"
echo "All bloatware (apk and odex) will be moved to $bloatdir"
if [ -d $bloatdir ]; then
echo " "
else
echo " "
mkdir $bloatdir
fi
while read line; do
apkname=$(echo $line | cut -d" " -f9)
apkprefix=$(echo $apkname | cut -d"." -f1)
apkodex=$apkprefix.odex
if [ -f /system/app/$apkname ]; then
echo "Moving /system/app/$apkname to $bloatdir ..."
mv /system/app/$apkname $bloatdir
if [ -f /system/app/$apkodex ]; then
echo "Moving /system/app/$apkodex to $bloatdir ..."
mv /system/app/$apkodex $bloatdir
fi
fi
done < $bloatfile
Click to expand...
Click to collapse
Blessings Enjoy
Boom.
Can i use your application to debloat my Samsung Galaxy S4 Active SGH-i537. Running android 4.2.2. Its branded by AT&T and want to get rid of these crapy apps of AT&T. Kindly let me know.
Regards,

[Q] I want to build CM12 for my D859(ChinaTelecom)

D859 has 2sims, I can't use other g3 template, right
I already read a loi of information from cm wiki about hout to build a cm,
but I still have any clue yet,
I got D859 official rom scr code yesterday from opensource.lge.com,
I don't know how can I start for building cm,
I need some help, thank you!:laugh:
Here is the list of the files
LGD859_Lollipop_LGD859_V20a_Android_opensource/android/external: $ ls -al
drwxr-xr-x 17 578 brctl
drwxr-xr-x 21 714 dnsmasq
drwxr-xr-x 44 1496 e2fsprogs
drwxr-xr-x 7 238 ebtables
drwxr-xr-x 12 408 gcc-demangle
drwxr-xr-x 25 850 iproute2
drwxr-xr-x 21 714 iptables
drwxr-xr-x 31 1054 iputils
drwxr-xr-x 15 510 junit
drwxr-xr-x 41 1394 libexif
drwxr-xr-x 20 680 libnetfilter_conntrack
drwxr-xr-x 16 544 libnfnetlink
drwxr-xr-x 18 612 libnl
LGD859_Lollipop_LGD859_V20a_Android_opensource/android/vendor/lge: $ ls -la
drwxr-xr-x 3 102 apps
drwxr-xr-x 3 102 build
drwxr-xr-x 5 170 external
drwxr-xr-x 3 102 factory
drwxr-xr-x 4 136 frameworks
drwxr-xr-x 3 102 prebuilt
drwxr-xr-x 4 136 system
LGD859_Lollipop_LGD859_V20a_Android_opensource/kernel: $ ls -al
-rw-r--r-- 1 5935 AndroidKernel.mk
-rw-r--r-- 1 18693 COPYING
-rw-r--r-- 1 94984 CREDITS
drwxr-xr-x 237 8058 Documentation
-rw-r--r-- 1 2536 Kbuild
-rw-r--r-- 1 252 Kconfig
-rw-r--r-- 1 210475 MAINTAINERS
-rw-r--r-- 1 53855 Makefile
-rw-r--r-- 1 364155 Module.symvers
-rw-r--r-- 1 17459 README
-rw-r--r-- 1 3371 REPORTING-BUGS
drwxr-xr-x 31 1054 arch
drwxr-xr-x 38 1292 block
drwxr-xr-x 89 3026 crypto
drwxr-xr-x 112 3808 drivers
drwxr-xr-x 55 1870 firmware
drwxr-xr-x 149 5066 fs
drwxr-xr-x 26 884 include
drwxr-xr-x 14 476 init
drwxr-xr-x 17 578 ipc
drwxr-xr-x 133 4522 kernel
drwxr-xr-x 150 5100 lib
drwxr-xr-x 79 2686 mm
drwxr-xr-x 62 2108 net
drwxr-xr-x 14 476 samples
drwxr-xr-x 91 3094 scripts
drwxr-xr-x 18 612 security
drwxr-xr-x 28 952 sound
drwxr-xr-x 14 476 tools
-rw-r--r-- 1 37204 tuxera_update.sh
drwxr-xr-x 9 306 usr
drwxr-xr-x 3 102 virt
and its readme file said
1. Android build
- Download original android source code ( L 5.0 ) from source.android.com
- Untar opensource packages of LGD859_L_V20a_Android.tar.gz into downloaded android source directory
a) cat LGD859_L_V20a_Android.tar.gza* | tar zxvpf -
- And, merge the source into the android source code
- Run following scripts to build android
a) source build/envsetup.sh
b) lunch 1
c) make -j4
- When you compile the android source code, you have to add google original prebuilt source(toolchain) into the android directory.
- After build, you can find output at out/target/product/generic
2. Kernel Build
- Uncompress using following command at the android directory
tar xvzf LGD859_L_V20a_Kernel.tar.gz
- When you compile the kernel source code, you have to add google original prebuilt source(toolchain) into the android directory.
- Run following scripts to build kernel
a) cd kernel
1) D859
b) make ARCH=arm CROSS_COMPILE=../prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin/arm-eabi- g3-ctc_cn-perf_defconfig zImage -j4
* "-j4" : The number, 4, is the number of multiple jobs to be invoked simultaneously.
- After build, you can find the build image(zImage) at arch/arm/boot
3. how to build chromium34_lge (vendor\lge\external\chromium34_lge\src),
please refer to README.txt at the folder mentioned above.

Where is stored the raw file for the User Dictionary of HTC Sense Input keyboard ?

Hello.
Where is stored the raw file for the User Dictionary of HTC Sense Input keyboard ? It's obviously not the classic /data/data/com.android.providers.userdictionary/databases/user_dict.db ... because I wiped the file, rebooted, and HTC SI still kept memories of some words. After using backup restaure tools like UDM, HTCSI also can't see new words.
Thanks.
State of art:
For every one: the classic user dictionary is in /data/data/com.android.providers.userdictionary/databases/user_dict.db as SQLite3 . It's very easy to extract:
echo "SELECT word FROM words;" | sqlite3 /data/local/tmp/user_dict.db | sort | uniq | sed ':a;N;$!ba;s/\n/\|/g' > /data/local/tmp/PersonalDictionary.htcudb
providing you have SQLite3 somewhere in your PATH.
The base HTC IME dictionary is here: /data/data/com.htc.sense.ime/app_db/dlm_export
The SD backup is not on emulated (I have asked for emulated SD from internal memory), but on real physical external SD:
/storage/ext_sd/.data/HTC_IME/PersonalDictionary
The method to find the two last files were:
- touch /data/local/tmp/plop
- make a change in the dic, or a backup
- find /storage/ext_sd/ -newer /data/local/tmp/plop
or
- find /data/data -newer /data/local/tmp/plop
You have to re-touch the plop each time.
Once /data/data/com.android.providers.userdictionary/databases/user_dict.db is exported into /data/local/tmp/PersonalDictionary.htcudb, two things are possible:
- copy the file into /storage/ext_sd/.data/HTC_IME/PersonalDictionary, and make a manual import from HTC Sense Input dictionary manager
- attach the file to an email, and open the attachement from HTC-Mail, what will restaure the attached backup.
I have found the following command to ask for restauring the backup:
Code:
am start -a android.intent.action.VIEW -d "content:" -t "application/ime-config" -n com.htc.sense.ime/.ui.RestoreUDB -f "0x00080001"
But I do not get the confirmation toast. Because I don't find where the cache file is stored by HTC-Mail, for IME. Since I run stuff from scripts, that command does not work as is; in my case, I have to run it in this context:
Code:
setprop service.adb.tcp.port 5555
stop adbd
start adbd
adb connect 127.0.0.1
adb shell id
adb shell su -c id
adb shell su -c am start [...]
otherwise I get a nasty error about permission issues:
Starting: Intent { act=android.intent.action.VIEW dat=content: typ=application/ime-config flg=0x80001 cmp=com.htc.sense.ime/.ui.RestoreUDB }
java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.VIEW dat=content: typ=application/ime-config flg=0x10080001 cmp=com.htc.sense.ime/.ui.RestoreUDB } from null (pid=29007, uid=2000) requires com.htc.permission.APP_DEFAULT
Click to expand...
Click to collapse
Work for an other day:
- try to construct the am start call for backup restauration from SD (previous line was for email attachement) => give up
- find how to export and rebuild (via script) /data/data/com.htc.sense.ime/app_db/dlm_export
- find if this dictionary is gaining, or loosing any word => stats now on way: cron is recording daily the size of files
- remove dups from /data/data/com.android.providers.userdictionary/databases/user_dict.db (clean PROVIDER file)
- during export, I want to inject Contact details (first name, name, town name)
*** *** ***
The base problem I have is that HTC Sens keyboard is very good, for daily use, but randomly looses settings, and parts of the dics (some times words added the last days; some times 98% of it, only keeping 10 or 15 words).
I want to monitor the IME dic, and produce a system alert when this dic is found to have lost words, and after user confirmation, restaure the IME dic (with an older version of the file, or by rebuilding it).
Some other files may be interesting, in the same folder: mdb_contact_name seem to be a raw text version of com.android.providers.userdictionary/databases/user_dict.db . stm_dump is also very large. IME dictionary has a concept of alias (and auto-replace); but I don't know where this is stored. I also wonder where the word usage statistics are stored (for suggestions).
The big minus I found in this keyboard is that suggestions are always limited to 3 words on the first line (the one always available) (in portrait); Gingerbread and Hackers offer up to 12 words: as much as they can print on screen. Also, suggestions only include literal words: words with letters only; it never suggests words with numbers (unless I already typed one in currect word) or punctuation (statistics show that some words are very often followed by question mark, comma, or full stop).
Now that I am used to the height of HTC Sens keyboard, I make many typos with smaller boards; but smaller boards leave much more screen space for chat. Sens is very good for writing emails; but instant messaging like Skype and Yahoo use too much screen space, and smaller kbd would leave more chat history visible. But Sens has a better word prediction for intuitive chat ...
***
Recoding daily stats of files:
Code:
find /data/data/com.htc.sense.ime/app_db/dlm_export.history -mtime 0 | grep "e" || {
for i in dlm_export mdb_contact_name stm_dump
do
{ echo -n "$(date +%Y-%m-%d_%H-%M-%S) : " ; ls -l /data/data/com.htc.sense.ime/app_db/$i | awk '{print $4}' ; } >> /data/data/com.htc.sense.ime/app_db/${i}.history
done
This code will work even with non existing history. Then wait history is 1D old .... I have found that one history per file is easier to re-read than one for all. Injecting date this way date +%Y-%m-%d_%H-%M-%S ; echo -n " : " used to introduce an undesired NL..
Proof that stupid dictionary bugs:
Code:
-rw------- 1 root root 0 2016-01-24 23:40 dlm_export
-rw------- 1 root root 1274 2015-09-02 10:15 kdb_0c09.cfg
-rw------- 1 root root 1274 2016-01-24 02:29 kdb_0c0c.cfg
-rw------- 1 root root 1281 2014-10-08 14:56 kdb_0d03.cfg
-rw------- 1 root root 1250 2015-12-20 18:18 kdb_0d09.cfg
-rw------- 1 root root 1250 2016-01-24 23:48 kdb_0d0c.cfg
-rw------- 1 root root 28902 2016-01-25 17:01 mdb_contact_name
-rw------- 1 root root 20 2016-01-25 17:01 sc_mdb_contact_name
-rw------- 1 root root 0 2016-01-24 23:40 stm_dump
-rw------- 1 root root 0 2016-01-25 17:01 tc_mdb_contact_name
-rw------- 1 root root 83251 2016-01-29 20:01 dlm_export
-rw------- 1 root root 1274 2015-09-02 10:15 kdb_0c09.cfg
-rw------- 1 root root 1274 2016-01-29 07:30 kdb_0c0c.cfg
-rw------- 1 root root 1281 2014-10-08 14:56 kdb_0d03.cfg
-rw------- 1 root root 1250 2015-12-20 18:18 kdb_0d09.cfg
-rw------- 1 root root 1250 2016-01-29 19:48 kdb_0d0c.cfg
-rw------- 1 root root 28954 2016-01-29 20:57 mdb_contact_name
-rw------- 1 root root 20 2016-01-29 20:57 sc_mdb_contact_name
-rw------- 1 root root 225751 2016-01-29 09:57 stm_dump
-rw------- 1 root root 0 2016-01-29 20:57 tc_mdb_contact_name
-rw------- u0_a39 u0_a39 145060 2016-02-04 23:44 dlm_export
-rw------- root root 29 2016-02-05 01:01 dlm_export.history
-rw------- u0_a39 u0_a39 1274 2015-09-02 10:15 kdb_0c09.cfg
-rw------- u0_a39 u0_a39 1274 2016-02-04 21:20 kdb_0c0c.cfg
-rw------- u0_a39 u0_a39 1281 2014-10-08 14:56 kdb_0d03.cfg
-rw------- u0_a39 u0_a39 1250 2015-12-20 18:18 kdb_0d09.cfg
-rw------- u0_a39 u0_a39 1250 2016-02-05 00:32 kdb_0d0c.cfg
-rw------- u0_a39 u0_a39 29036 2016-02-05 00:32 mdb_contact_name
-rw------- root root 57 2016-02-05 01:01 mdb_contact_name.history
-rw------- u0_a39 u0_a39 20 2016-02-05 00:32 sc_mdb_contact_name
-rw------- u0_a39 u0_a39 225751 2016-02-04 16:07 stm_dump
-rw------- root root 59 2016-02-05 01:01 stm_dump.history
-rw------- u0_a39 u0_a39 0 2016-02-05 00:32 tc_mdb_contact_name
Clearly: dlm_export and stm_dump were empty 2 weeks ago. Due to the nature of cheap backup, I was wondering if by huge hasard, those files were empty due to rsync glitches (if wifi is lost during file transfert, and glitch occurs while working on THIS file ... one chance in a trillion): such a glitch may produce an empty file; one, and ONE ONLY. Not two: rsync can't have corrupted dlm_export AND stm_dump at the same time. Thus, they are both empty due to a HTC Sens bug. The one that often makes the IME forget about second lang, and no vibrator.
Nobody knows if the loss of content of dlm_export could be related to HTC Sense keyboard issues ?

Anyway to configure CEC remote commands from TV?

Hi
I love my firestick, it does so much more than what my previous raspberry pi (running kodi) could do. However one thing the pi could do was offer perfect CEC control via my TV's remote and one goal I have is to use a single (harmony) remote to control my entire AV setup.
The firestick does offer some level of CEC support but seems to vary hugely between different TVs, in my case on my Panasonic plasma tx-p42g30 I can only get the play/pause button to work (edit: the rewind, fast forward and stop buttons also work). So something is working but maybe not mapped properly?
Surely there must be somekind of file which can be edited to help map the CEC controls correctly? can anyone shed any light?
I had problems with a Panasonic TX-L37GN13 too.
CEC is called Viera-Cast on Panasonic TV's.
Perhaps we should create an topic in the developer board from amazon.
Where are you from? The US support should be much better then EU support.
Greetings by Idijt
I_did_it_just_tmrrow said:
I had problems with a Panasonic TX-L37GN13 too.
CEC is called Viera-Cast on Panasonic TV's.
Perhaps we should create an topic in the developer board from amazon.
Where are you from? The US support should be much better then EU support.
Greetings by Idijt
Click to expand...
Click to collapse
Whatever you think might get the ball rolling, it's one of those things before rooting was more accessible I'd assumed it'd be locked out feature to mod, but presumably with root it's a possibility now? I recall on the raspberry Pi i copied over a certain config file to enable additional buttons on my TV remote so hoping the same can be done.
I'm from the UK
My Panasonic XXX is currently not here.
Can you try to:
1. enable adb
2. open adb on a pc and type in
Code:
adb shell
or
Code:
adb shell
3. enable Panasonic's CEC and make sure you can use the less commands wich are usable
4a. type in shell
Code:
su
if you had root
4b. type in the shell
Code:
cat /proc/bus/input/devices
and tell us the output
5. There should be a line wich a named input, like input8 or input3.
6. type in the shell
Code:
cat THE_WHOLE_PATH_TO_THAT_INPUT_FILE
and tell us if he react if press on valid (working) buttons and non working buttons.
If there are some hieroglyphics with the non working buttons, we should be able to mention theese buttons in the right keyfiles.
Greetings by Idijt
I_did_it_just_tmrrow said:
I had problems with a Panasonic TX-L37GN13 too.
CEC is called Viera-Cast on Panasonic TV's.
Perhaps we should create an topic in the developer board from amazon.
Where are you from? The US support should be much better then EU support.
Greetings by Idijt
Click to expand...
Click to collapse
I_did_it_just_tmrrow said:
My Panasonic XXX is currently not here.
Can you try to:
1. enable adb
2. open adb on a pc and type in
Code:
adb shell
or
Code:
adb shell
3. enable Panasonic's CEC and make sure you can use the less commands wich are usable
4a. type in shell
Code:
su
if you had root
4b. type in the shell
Code:
cat /proc/bus/input/devices
and tell us the output
5. There should be a line wich a named input, like input8 or input3.
6. type in the shell
Code:
cat THE_WHOLE_PATH_TO_THAT_INPUT_FILE
and tell us if he react if press on valid (working) buttons and non working buttons.
If there are some hieroglyphics with the non working buttons, we should be able to mention theese buttons in the right keyfiles.
Greetings by Idijt
Click to expand...
Click to collapse
I've tried the commands via ADBfire and opening the adb shell - on 'su' I get a not found error (I don't have root)
On the 'cat /proc/bus/input/devices' command I get the following:
{
"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"
}
godsakes said:
I've tried the commands via ADBfire and opening the adb shell - on 'su' I get a not found error (I don't have root)
On the 'cat /proc/bus/input/devices' command I get the following:
Click to expand...
Click to collapse
Why did you stop at Step 5?
Like I told you, do step 6,
Code:
cat /devices/virtual/input/input1
and tell us if he react if you press on valid (working) buttons and/or non working buttons.
If there are some hieroglyphics with the non working buttons, we should be able to mention theese buttons in the right keyfiles.
I can not check this before weekend.
Perhaps you dont have the right to "cat" the input1 without su/without root, but I think you should.
Greetings by Idijt
I_did_it_just_tmrrow said:
Why did you stop at Step 5?
Like I told you, do step 6,
Code:
cat /devices/virtual/input/input1
and tell us if he react if you press on valid (working) buttons and/or non working buttons.
If there are some hieroglyphics with the non working buttons, we should be able to mention theese buttons in the right keyfiles.
I can not check this before weekend.
Perhaps you dont have the right to "cat" the input1 without su/without root, but I think you should.
Greetings by Idijt
Click to expand...
Click to collapse
I'm afraid I get "no such file or directory" with that command...
Point me to the safest rooting guide and I'll give it a another try once rooted
godsakes said:
I'm afraid I get "no such file or directory" with that command...
Click to expand...
Click to collapse
Perhaps you need to mount the system partition to rw (read, write) and it is currently ro (read only).
To change this mount you need root but you should be able to read thethe read the input.
Please make again the first cat step and be sure, that you cat in the next step the right input + path from the amazon-cec device.
Perhaps the inputs are connected to devices on device startup.
godsakes said:
Point me to the safest rooting guide and I'll give it a another try once rooted
Click to expand...
Click to collapse
Point youself to the, perhaps availible, right rooting method or guide. Sorry but this is your device, you know your current stock FW and this is not the thread topic.
I own a stick with root, but hardware rooted with emmc adapter. If you life in germany or a neighbour country I can help you.
I hope we can leave this topic by its own topic
It really could be possible to add some keys from the tv remote.
Greetings by Idijt
Ok, I've since used king root to root the stick
Now when i type 'SU' the command line does indicate the user (if that's the right word?) is root
But I still get the same error... could you just double check I've done the right commands
Your commands seems to be right. I am not the 100% Linux pro but I am 80% sure that I do that on this way with a Xiaomi Bluetooth Controller.
Can list the area's?
Code:
su
ls /devices/
ls /devices/virtual/
ls /devices/virtual/input/
Each line after the other.
If that not work, tell us. You can check this too with another Input and device. Did you got always that error?
ByTheWay: you can just Copy the Text out of the shell/adb and put them here into a Code Block. This also very nice for people who are searching for some words.
Any other here who can help us?
Greetings by Idijt
I_did_it_just_tmrrow said:
Your commands seems to be right. I am not the 100% Linux pro but I am 80% sure that I do that on this way with a Xiaomi Bluetooth Controller.
Can list the area's?
Code:
su
ls /devices/
ls /devices/virtual/
ls /devices/virtual/input/
Each line after the other.
If that not work, tell us. You can check this too with another Input and device. Did you got always that error?
ByTheWay: you can just Copy the Text out of the shell/adb and put them here into a Code Block. This also very nice for people who are searching for some words.
Any other here who can help us?
Greetings by Idijt
Click to expand...
Click to collapse
same error with all 3 of those commands, I've tried a couple of variations of the previous step but again same error
Code:
[email protected]:/ $ su
su
[email protected]:/ # ls /devices/
ls /devices/
/devices/: No such file or directory
1|[email protected]:/ # ls /devices/virtual/
ls /devices/virtual/
/devices/virtual/: No such file or directory
1|[email protected]:/ # ls /devices/virtual/input/
ls /devices/virtual/input/
/devices/virtual/input/: No such file or directory
1|[email protected]:/ # cat /proc/bus/input/devices
cat /proc/bus/input/devices
I: Bus=0005 Vendor=0000 Product=0000 Version=0008
N: Name="amazon_touch"
P: Phys=
S: Sysfs=/devices/virtual/input/input0
U: Uniq=
H: Handlers=event0
B: PROP=0
B: EV=b
B: KEY=400 0 0 0 0 0 0 0 0 0 0
B: ABS=2650000 1000000
I: Bus=0003 Vendor=0000 Product=0000 Version=0001
N: Name="amazon-cec"
P: Phys=
S: Sysfs=/devices/virtual/input/input1
U: Uniq=
H: Handlers=kbd event1
B: PROP=0
B: EV=3
B: KEY=3ff 0 0 400000 2fc000 c3060 0 0 0 10004 210000 192 40000c01 9e3781 0 8010
0000 10000002
I: Bus=0005 Vendor=0000 Product=0000 Version=0008
N: Name="kcmouse"
P: Phys=
S: Sysfs=/devices/virtual/input/input2
U: Uniq=
H: Handlers=mouse0 event2
B: PROP=0
B: EV=7
B: KEY=70000 0 0 0 0 0 0 0 0
B: REL=103
[email protected]:/ # cat /devices/virtual/input/input2
cat /devices/virtual/input/input2
tmp-mksh: cat: /devices/virtual/input/input2: No such file or directory
1|[email protected]:/ # cat devices/virtual/input/input1
cat devices/virtual/input/input1
tmp-mksh: cat: devices/virtual/input/input1: No such file or directory
1|[email protected]:/ # cat //devices/virtual/input/input1
cat //devices/virtual/input/input1
tmp-mksh: cat: //devices/virtual/input/input1: No such file or directory
1|[email protected]:/ #
All u have here is
[email protected]:/ # ls -la /sys/devices/virtual/input/input1/
drwxr-xr-x root root 2016-06-23 22:39 capabilities
drwxr-xr-x root root 2016-06-23 22:39 event1
drwxr-xr-x root root 2016-06-23 22:39 id
-r--r--r-- root root 4096 2016-06-23 22:39 modalias
-r--r--r-- root root 4096 2016-06-23 22:39 name
-r--r--r-- root root 4096 2016-06-23 22:39 phys
drwxr-xr-x root root 2016-06-23 22:39 power
-r--r--r-- root root 4096 2016-06-23 22:39 properties
lrwxrwxrwx root root 2016-06-23 22:39 subsystem -> ../../../../class/input
-rw-r--r-- root root 4096 2016-06-23 22:39 uevent
-r--r--r-- root root 4096 2016-06-23 22:39 uniq
BTW.
I've also got hard times with CEC with my sammy 40c650 . Only FF and REW are recogized by AFTS .
There is clear visibility on triggered events but no visibility on direct input (lack of tool)
[email protected]:/ # getevent -li /dev/input/event1
Can't enable monotonic clock reporting: Invalid argument
add device 1: /dev/input/event1
bus: 0003
vendor 0000
product 0000
version 0001
name: "amazon-cec"
location: ""
id: ""
version: 1.0.1
events:
KEY (0001): KEY_ESC KEY_ENTER KEY_DOT KEY_F5
KEY_KPENTER KEY_UP KEY_PAGEUP KEY_LEFT
KEY_RIGHT KEY_DOWN KEY_PAGEDOWN KEY_MUTE
KEY_VOLUMEDOWN KEY_VOLUMEUP KEY_POWER KEY_PAUSE
KEY_STOP KEY_HELP KEY_MENU KEY_BACK
KEY_EJECTCD KEY_PLAYPAUSE KEY_RECORD KEY_REWIND
KEY_FASTFORWARD KEY_SOUND KEY_MEDIA KEY_UNKNOWN
KEY_OPTION* KEY_INFO KEY_FAVORITES KEY_EPG
KEY_SUBTITLE KEY_ANGLE KEY_RED KEY_GREEN
KEY_YELLOW KEY_BLUE KEY_CHANNELUP KEY_CHANNELDOWN
KEY_LAST KEY_CONTEXT_MENU KEY_NUMERIC_0 KEY_NUMERIC_1
KEY_NUMERIC_2 KEY_NUMERIC_3 KEY_NUMERIC_4 KEY_NUMERIC_5
KEY_NUMERIC_6 KEY_NUMERIC_7 KEY_NUMERIC_8 KEY_NUMERIC_9
input props:
<none>
Output on button pressing (only FF and REW give out anything)
[email protected]:/ # getevent -l /dev/input/event1
Can't enable monotonic clock reporting: Invalid argument
EV_KEY KEY_REWIND DOWN
EV_SYN SYN_REPORT 00000000
EV_KEY KEY_REWIND UP
EV_SYN SYN_REPORT 00000000
EV_KEY KEY_FASTFORWARD DOWN
EV_SYN SYN_REPORT 00000000
EV_KEY KEY_FASTFORWARD UP
EV_SYN SYN_REPORT 00000000
The correct input device for cec on your FireStick is: /dev/input/event1.
If you want to change the behavior of your remote keys you can create a file named amazon-cec.kl under: /system/usr/keylayout.
However, don't know how this is on the FireTV and FireTV2. On the FireTV2 i don't get any responses using getevent and evtest and i dont own a FireTv Gen 1.
Edit:
Haven't seen the last post. Try using evtest on /dev/input/event1. It shows you the keycodes so you can assign them in the layout file.
for my old tv it would look like this:
Code:
# Copyright (C) 2010 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Custom Keylayout for Sony Bravia KDL-*EX72* cec function on FireStick
# NOTE
# This mainly mapps menu to the options button and home to the home button,
# additionaly we assign keys to the special buttons (red, blue, info etc.).
# To make our life easier we just assign F1-F7 to those keys.
# Comments contain original values as per evtest /dev/input/event1
# NOTE: F1-F7 seem to not get passed to Kodi!? As Workaround we use A-F
key 96 DPAD_CENTER #KPEnter (Real Enter)
key 103 DPAD_UP #Up
key 105 DPAD_LEFT #Left
key 106 DPAD_RIGHT #Right
key 108 DPAD_DOWN #Down
key 128 MEDIA_STOP #Stop
key 139 HOME WAKE_DROPPED #Menu
key 158 BACK WAKE_DROPPED #Back
key 164 MEDIA_PLAY_PAUSE #PlayPause
key 168 MEDIA_REWIND #Rewind
key 208 MEDIA_FAST_FORWARD #Fast Forward
key 357 MENU #Option
key 358 F #Info - KEY_INFO
key 365 E #EPG - KEY_EPG
#key 370 SUBTITLE #Subtitle - KEY_SUBTITLE
key 398 A #Red Button - KEY_RED
key 399 B #Green Button - KEY_GREEN
key 400 C #Yellow Button - KEY_YELLOW
key 401 D #Blue Button - KEY_BLUE
key 402 PAGE_UP #Channel Up
key 403 PAGE_DOWN #Channel Down
key 512 0 #Numeric 0
key 513 1 #Numeric 1
key 514 2 #Numeric 2
key 515 3 #Numeric 3
key 516 4 #Numeric 4
key 517 5 #Numeric 5
key 518 6 #Numeric 6
key 519 7 #Numeric 7
key 520 8 #Numeric 8
key 521 9 #Numeric 9
Reading the above 2 posts and using the command 'getevent -1 /dev/input/event1'
I can get some reporting - but only for the buttons already recognised (play, rewind, fastforward, stop), I also have a play/pause button on my remote but it's recognised as the same command as the play button
Code:
[email protected]:/ $ su
su
[email protected]:/ # getevent -l /dev/input/event1
getevent -l /dev/input/event1
Can't enable monotonic clock reporting: Invalid argument
EV_KEY KEY_PLAYPAUSE DOWN
EV_SYN SYN_REPORT 00000000
EV_KEY KEY_PLAYPAUSE UP
EV_SYN SYN_REPORT 00000000
EV_KEY KEY_REWIND DOWN
EV_SYN SYN_REPORT 00000000
EV_KEY KEY_REWIND UP
EV_SYN SYN_REPORT 00000000
EV_KEY KEY_STOP DOWN
EV_SYN SYN_REPORT 00000000
EV_KEY KEY_STOP UP
EV_SYN SYN_REPORT 00000000
EV_KEY KEY_FASTFORWARD DOWN
EV_SYN SYN_REPORT 00000000
EV_KEY KEY_FASTFORWARD UP
EV_SYN SYN_REPORT 00000000
Try using evtest and look if the keycodes are indentical or not and remap them how you like.
I dont recommend using getevent for other use than getting the correct input device. If you press some button it only shows some kind of default value for the keyevent reported from your input device.
If you use evtest on /dev/input/event1 you can see what i mean by looking at the top of the output.
@WheelchairArtist done & done
[email protected]:/ # evtest /dev/input/event1
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x0 product 0x0 version 0x1
Input device name: "amazon-cec"
Supported events:
Event type 0 (Sync)
Event type 1 (Key)
Event code 1 (Esc)
Event code 28 (Enter)
Event code 52 (Dot)
Event code 63 (F5)
Event code 96 (KPEnter)
Event code 103 (Up)
Event code 104 (PageUp)
Event code 105 (Left)
Event code 106 (Right)
Event code 108 (Down)
Event code 109 (PageDown)
Event code 113 (Mute)
Event code 114 (VolumeDown)
Event code 115 (VolumeUp)
Event code 116 (Power)
Event code 119 (Pause)
Event code 128 (Stop)
Event code 138 (Help)
Event code 139 (Menu)
Event code 158 (Back)
Event code 161 (EjectCD)
Event code 164 (PlayPause)
Event code 167 (Record)
Event code 168 (Rewind)
Event code 208 (Fast Forward)
Event code 213 (Sound)
Event code 226 (Media)
Event code 240 (Unknown)
Event code 357 (Option)
Event code 358 (Info)
Event code 364 (Favorites)
Event code 365 (EPG)
Event code 370 (Subtitle)
Event code 371 (Angle)
Event code 398 (Red)
Event code 399 (Green)
Event code 400 (Yellow)
Event code 401 (Blue)
Event code 402 (ChannelUp)
Event code 403 (ChannelDown)
Event code 405 (Last)
Event code 438 (?)
Event code 512 (?)
Event code 513 (?)
Event code 514 (?)
Event code 515 (?)
Event code 516 (?)
Event code 517 (?)
Event code 518 (?)
Event code 519 (?)
Event code 520 (?)
Event code 521 (?)
Testing ... (interrupt to exit)
Event: time 452.538264, type 1 (Key), code 139 (Menu), value 0
Event: time 452.538274, -------------- Report Sync ------------
Event: time 462.140498, type 1 (Key), code 139 (Menu), value 1
Event: time 462.140507, -------------- Report Sync ------------
Event: time 478.609635, type 1 (Key), code 357 (Option), value 0
Event: time 478.609643, -------------- Report Sync ------------
Event: time 490.073024, type 1 (Key), code 357 (Option), value 1
Event: time 490.073032, -------------- Report Sync ------------
Event: time 503.634929, type 1 (Key), code 357 (Option), value 0
Event: time 503.634937, -------------- Report Sync ------------
Event: time 513.041136, type 1 (Key), code 168 (Rewind), value 1
Event: time 513.041146, -------------- Report Sync ------------
Event: time 513.260947, type 1 (Key), code 168 (Rewind), value 0
Event: time 513.260955, -------------- Report Sync ------------
Event: time 514.352655, type 1 (Key), code 208 (Fast Forward), value 1
Event: time 514.352663, -------------- Report Sync ------------
Event: time 514.576434, type 1 (Key), code 208 (Fast Forward), value 0
Event: time 514.576442, -------------- Report Sync ------------
there is no amazon-cec.kl under /system/usr/keylayout/ (also tested all in https://source.android.com/devices/input/key-layout-files.html) . I've downloaded Sony Bravia amazon-cec ,rebooted and nothing changed . Also creating Vendor_0000_Product_0000_Version_0001.kl keylayout (same as detected device ) give nothing ... no new button recognized ever .
Did u gave the amazon-cec file the right permissions and set the right owner? Also make sure to not forget the .kl at the end.
Also in my file the buttons u pressed (as seen in your post) are mapped the exact same way.
You could try to switch keycodes 139 and 208 to see if the layout file works.
Just for the record, today i updated my amazon-cec.kl file because it didn't work with my new stick on android 5, maybe that was your problem with my file?
If you still need/want to remap the buttons here is the new file (removed depracted WAKE_DROPPED flag and remapped Subtitle to G):
Code:
# Copyright (C) 2010 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Custom Keylayout for Sony Bravia KDL-*EX72* cec function on FireStick
# NOTE
# This mainly mapps menu to the options button and home to the home button,
# additionaly we assign keys to the special buttons (red, blue, info etc.).
# To make our life easier we just assign F1-F8 to those keys.
# Comments contain original values as per evtest /dev/input/event1
# NOTE: F1-F8 seem to not get passed to Kodi!? As Workaround we use A-G
key 96 DPAD_CENTER #KPEnter (Real Enter)
key 103 DPAD_UP #Up
key 105 DPAD_LEFT #Left
key 106 DPAD_RIGHT #Right
key 108 DPAD_DOWN #Down
key 128 MEDIA_STOP #Stop
key 139 HOME #Menu
key 158 BACK #Back
key 164 MEDIA_PLAY_PAUSE #PlayPause
key 208 MEDIA_REWIND #Rewind
key 168 MEDIA_FAST_FORWARD #Fast Forward
key 357 MENU #Option
key 358 F #Info - KEY_INFO
key 365 E #EPG - KEY_EPG
key 370 G #Subtitle - KEY_SUBTITLE
key 398 A #Red Button - KEY_RED
key 399 B #Green Button - KEY_GREEN
key 400 C #Yellow Button - KEY_YELLOW
key 401 D #Blue Button - KEY_BLUE
key 402 PAGE_UP #Channel Up
key 403 PAGE_DOWN #Channel Down
key 512 0 #Numeric 0
key 513 1 #Numeric 1
key 514 2 #Numeric 2
key 515 3 #Numeric 3
key 516 4 #Numeric 4
key 517 5 #Numeric 5
key 518 6 #Numeric 6
key 519 7 #Numeric 7
key 520 8 #Numeric 8
key 521 9 #Numeric 9
I switched the Rewind and FastForward buttons so you can check if it gets accepted.
You could also check logcat for any hints:
Code:
logcat | grep amazon-cec

where to begin to port to a newer Lineage Release?

Hey Guys,
i wanted to check what to do, for trying to port a newer Lineage release to this device.
Any hints where to begin?
I luckily compiled the 14.1 branch yesterday.
But what to do next?
Regards for the hints
I've been investigating this recently as well. I started looking at LineageOS 16.0 branch and the Exynos5420 kernal/rom code on github ("https://github.com/exynos5420"), as I am running a build on the tablet from here:-
"https://download.exynos5420.com/LineageOS-14.1-Vanilla/chagalllte/"
BTW, I'm a late/newcomer to android rom development, and I may be off track/incorrect anyways.
I've attempted building branch lineage16.0 with Exynos5420 and currently throws this error :-
bionic/libc/include/bits/fortify/fcntl.h:63:26: error: use of undeclared identifier 'O_TMPFILE'
__clang_error_if(__open_modes_useful(flags), "'open' " __open_too_few_args_error)
The bionic libc wants a definition for O_TMPFILE , I think is to be resolved from the
kernel headers under the kernel device tree at:- kernel/samsung/exynos5420/include/asm-generic/fcntl.h
Of course there is no definition of 'O_TMPFILE' in this header file.
Looks like a later linux kernel version (or patches) to the Exynos5420 kernel code/device is required with headers defining O_TMPFILE.
All I can suggest for porting a newer lineageOs is, get started experimenting/building.
Find/pick up a later device kernel source code tree
For me there is alot to learn and few up-to-date guides
Good luck
bluess57 said:
I've been investigating this recently as well. I started looking at LineageOS 16.0 branch and the Exynos5420 kernal/rom code on github ("https://github.com/exynos5420"), as I am running a build on the tablet from here:-
"https://download.exynos5420.com/LineageOS-14.1-Vanilla/chagalllte/"
BTW, I'm a late/newcomer to android rom development, and I may be off track/incorrect anyways.
I've attempted building branch lineage16.0 with Exynos5420 and currently throws this error :-
bionic/libc/include/bits/fortify/fcntl.h:63:26: error: use of undeclared identifier 'O_TMPFILE'
__clang_error_if(__open_modes_useful(flags), "'open' " __open_too_few_args_error)
The bionic libc wants a definition for O_TMPFILE , I think is to be resolved from the
kernel headers under the kernel device tree at:- kernel/samsung/exynos5420/include/asm-generic/fcntl.h
Of course there is no definition of 'O_TMPFILE' in this header file.
Looks like a later linux kernel version (or patches) to the Exynos5420 kernel code/device is required with headers defining O_TMPFILE.
All I can suggest for porting a newer lineageOs is, get started experimenting/building.
Find/pick up a later device kernel source code tree
For me there is alot to learn and few up-to-date guides
Good luck
Click to expand...
Click to collapse
Add the following lines in the header file kernel/samsung/exynos5420/include/asm-generic/fcntl.h https://github.com/alexenferman/and...mmit/e97a38cefdb63305f85139c4409a597759388081 and you are good to go.
I tried compiling 16.0 for chagallwifi (T800) over the fall and ran into a number of compiler problems, but when I finally got it to compile, the resulting image wouldn't boot. A lot of those problems have now been fixed in gerrit.
I also tried 15.1 last week, but ran into a number of compile problems. Then I noticed a lot of activity on https://github.com/exynos5420 and https://review.exynos5420.com/ wrt to 16.0 so I tried again yesterday and today and I had to make 2 modifications for it to compile, but the result is an image that won't boot. The recovery image won't boot meaning somethings wrong with the boot/kernel stage.
Hopefully the team will make more modifications over the holidays and I will have a bootable 16.0 image?
retiredtab said:
I tried compiling 16.0 for chagallwifi (T800) over the fall and ran into a number of compiler problems, but when I finally got it to compile, the resulting image wouldn't boot. A lot of those problems have now been fixed in gerrit.
I also tried 15.1 last week, but ran into a number of compile problems. Then I noticed a lot of activity on https://github.com/exynos5420 and https://review.exynos5420.com/ wrt to 16.0 so I tried again yesterday and today and I had to make 2 modifications for it to compile, but the result is an image that won't boot. The recovery image won't boot meaning somethings wrong with the boot/kernel stage.
Hopefully the team will make more modifications over the holidays and I will have a bootable 16.0 image?
Click to expand...
Click to collapse
Unpack the recovery and show me the files inside. You might be missing the init files on the recovery, like I did with the Snapdragon Galaxy S3
alexenferman said:
Unpack the recovery and show me the files inside.
Click to expand...
Click to collapse
Code:
$ abootimg -x recovery.img
writing boot image config in bootimg.cfg
extracting kernel in zImage
extracting ramdisk in initrd.img
$ ls -al
total 16000
drwxrwxr-x 2 l l 4096 Dec 22 21:11 .
drwxrwxr-x 14 l l 4096 Dec 22 21:11 ..
-rw-rw-r-- 1 l l 167 Dec 22 21:11 bootimg.cfg
-rw-rw-r-- 1 l l 3336396 Dec 22 21:11 initrd.img
-rw-rw-r-- 1 l l 8183825 Dec 22 21:11 recovery.img
-rw-rw-r-- 1 l l 4842048 Dec 22 21:11 zImage
$ cat bootimg.cfg
bootsize = 0x7ce011
pagesize = 0x800
kerneladdr = 0x10008000
ramdiskaddr = 0x11000000
secondaddr = 0x10f00000
tagsaddr = 0x10000100
name =
cmdline = buildvariant=eng
retiredtab said:
Code:
$ abootimg -x recovery.img
writing boot image config in bootimg.cfg
extracting kernel in zImage
extracting ramdisk in initrd.img
$ ls -al
total 16000
drwxrwxr-x 2 l l 4096 Dec 22 21:11 .
drwxrwxr-x 14 l l 4096 Dec 22 21:11 ..
-rw-rw-r-- 1 l l 167 Dec 22 21:11 bootimg.cfg
-rw-rw-r-- 1 l l 3336396 Dec 22 21:11 initrd.img
-rw-rw-r-- 1 l l 8183825 Dec 22 21:11 recovery.img
-rw-rw-r-- 1 l l 4842048 Dec 22 21:11 zImage
$ cat bootimg.cfg
bootsize = 0x7ce011
pagesize = 0x800
kerneladdr = 0x10008000
ramdiskaddr = 0x11000000
secondaddr = 0x10f00000
tagsaddr = 0x10000100
name =
cmdline = buildvariant=eng
Click to expand...
Click to collapse
Sorry I meant Ramdisk of the recovery
$ ls -al 16/out/target/product/chagallwifi/ram*
-rw-rw-r-- 1 l l 1766995 Dec 22 17:49 ramdisk.img
-rw-rw-r-- 1 l l 9298176 Dec 22 17:49 ramdisk-recovery.cpio
-rw-rw-r-- 1 l l 3336396 Dec 22 17:49 ramdisk-recovery.img
/media/l/16/16/out/target/product/chagallwifi$
Code:
$ ./unpack_ramdisk ramdisk.img
6493 blocks
$ cd ramdisk/
$ ls -al
total 2248
drwxrwxr-x 16 l l 4096 Dec 22 22:01 .
drwxrwxr-x 3 l l 4096 Dec 22 22:01 ..
drwxr-xr-x 2 l l 4096 Dec 22 22:01 acct
lrwxrwxrwx 1 l l 11 Dec 22 22:01 bin -> /system/bin
lrwxrwxrwx 1 l l 50 Dec 22 22:01 bugreports -> /data/user_de/0/com.android.shell/files/bugreports
drwxrwx--- 2 l l 4096 Dec 22 22:01 cache
lrwxrwxrwx 1 l l 13 Dec 22 22:01 charger -> /sbin/charger
dr-xr-xr-x 2 l l 4096 Dec 22 22:01 config
lrwxrwxrwx 1 l l 17 Dec 22 22:01 d -> /sys/kernel/debug
drwxrwx--x 2 l l 4096 Dec 22 22:01 data
-rw------- 1 l l 1334 Dec 22 22:01 default.prop
drwxr-xr-x 2 l l 4096 Dec 22 22:01 dev
lrwxrwxrwx 1 l l 11 Dec 22 22:01 etc -> /system/etc
-rw-r----- 1 l l 2313 Dec 22 22:01 fstab.universal5420
-rwxr-x--- 1 l l 1637644 Dec 22 22:01 init
-rwxr-x--- 1 l l 1154 Dec 22 22:01 init.environ.rc
-rwxr-x--- 1 l l 29431 Dec 22 22:01 init.rc
-rwxr-x--- 1 l l 1524 Dec 22 22:01 init.samsung.rc
-rwxr-x--- 1 l l 2458 Dec 22 22:01 init.target.rc
-rwxr-x--- 1 l l 26408 Dec 22 22:01 init.universal5420.rc
-rwxr-x--- 1 l l 8107 Dec 22 22:01 init.universal5420.usb.rc
-rwxr-x--- 1 l l 2399 Dec 22 22:01 init.universal5420.wifi.rc
-rwxr-x--- 1 l l 7690 Dec 22 22:01 init.usb.configfs.rc
-rwxr-x--- 1 l l 5646 Dec 22 22:01 init.usb.rc
-rwxr-x--- 1 l l 511 Dec 22 22:01 init.zygote32.rc
drwxr-xr-x 2 l l 4096 Dec 22 22:01 mnt
drwxr-xr-x 2 l l 4096 Dec 22 22:01 odm
drwxr-xr-x 2 l l 4096 Dec 22 22:01 oem
-rw-r--r-- 1 l l 25053 Dec 22 22:01 plat_file_contexts
-rw-r--r-- 1 l l 7212 Dec 22 22:01 plat_hwservice_contexts
-rw-r--r-- 1 l l 7102 Dec 22 22:01 plat_property_contexts
-rw-r--r-- 1 l l 1551 Dec 22 22:01 plat_seapp_contexts
-rw-r--r-- 1 l l 14700 Dec 22 22:01 plat_service_contexts
drwxr-xr-x 2 l l 4096 Dec 22 22:01 proc
lrwxrwxrwx 1 l l 15 Dec 22 22:01 product -> /system/product
drwxr-xr-x 3 l l 4096 Dec 22 22:01 res
drwxr-x--- 2 l l 4096 Dec 22 22:01 sbin
lrwxrwxrwx 1 l l 21 Dec 22 22:01 sdcard -> /storage/self/primary
-rw-r--r-- 1 l l 384688 Dec 22 22:01 sepolicy
drwxr-x--x 2 l l 4096 Dec 22 22:01 storage
drwxr-xr-x 2 l l 4096 Dec 22 22:01 sys
drwxr-xr-x 2 l l 4096 Dec 22 22:01 system
-rw-r--r-- 1 l l 5359 Dec 22 22:01 ueventd.rc
-rw-r--r-- 1 l l 3373 Dec 22 22:01 ueventd.universal5420.rc
lrwxrwxrwx 1 l l 14 Dec 22 22:01 vendor -> /system/vendor
-rw-r--r-- 1 l l 7011 Dec 22 22:01 vendor_file_contexts
-rw-r--r-- 1 l l 1989 Dec 22 22:01 vendor_hwservice_contexts
-rw-r--r-- 1 l l 218 Dec 22 22:01 vendor_property_contexts
-rw-r--r-- 1 l l 0 Dec 22 22:01 vendor_seapp_contexts
-rw-r--r-- 1 l l 0 Dec 22 22:01 vendor_service_contexts
-rw-r--r-- 1 l l 65 Dec 22 22:01 vndservice_contexts
alexenferman said:
Sorry I meant Ramdisk of the recovery
Click to expand...
Click to collapse
Or do you mean the initrd.img inside the recovery.img file?
Here is the initrd.img inside recovery.img
Code:
$ xz -dc < initrd.img | cpio -idmv
acct
bin
bugreports
cache
config
d
data
default.prop
dev
etc
etc/mke2fs.conf
etc/mkshrc
etc/recovery.fstab
fstab.universal5420
init
init.rc
mnt
odm
odm/app
odm/bin
odm/firmware
odm/framework
odm/lib
odm/lib64
odm/overlay
odm/priv-app
oem
plat_file_contexts
plat_hwservice_contexts
plat_property_contexts
plat_seapp_contexts
plat_service_contexts
proc
product
prop.default
res
res/images
res/images/erasing_text.png
res/images/error_text.png
res/images/font.png
res/images/font_menu.png
res/images/ic_back.png
res/images/ic_back_sel.png
res/images/ic_factory_reset.png
res/images/ic_factory_reset_sel.png
res/images/ic_options_advanced.png
res/images/ic_options_advanced_sel.png
res/images/ic_reboot.png
res/images/ic_reboot_sel.png
res/images/ic_system_update.png
res/images/ic_system_update_sel.png
res/images/icon_error.png
res/images/installing_security_text.png
res/images/installing_text.png
res/images/logo_image.png
res/images/loop00000.png
res/images/loop00001.png
res/images/loop00002.png
res/images/loop00003.png
res/images/loop00004.png
res/images/loop00005.png
res/images/loop00006.png
res/images/loop00007.png
res/images/loop00008.png
res/images/loop00009.png
res/images/loop00010.png
res/images/loop00011.png
res/images/loop00012.png
res/images/loop00013.png
res/images/loop00014.png
res/images/loop00015.png
res/images/loop00016.png
res/images/loop00017.png
res/images/loop00018.png
res/images/loop00019.png
res/images/loop00020.png
res/images/loop00021.png
res/images/loop00022.png
res/images/loop00023.png
res/images/loop00024.png
res/images/loop00025.png
res/images/loop00026.png
res/images/loop00027.png
res/images/loop00028.png
res/images/loop00029.png
res/images/no_command_text.png
res/images/progress_empty.png
res/images/progress_fill.png
res/images/stage_empty.png
res/images/stage_fill.png
res/keys
sbin
sbin/acpi
sbin/adbd
sbin/awk
sbin/base64
sbin/basename
sbin/blockdev
sbin/bu
sbin/cal
sbin/cat
sbin/chcon
sbin/chgrp
sbin/chmod
sbin/chown
sbin/chroot
sbin/chrt
sbin/cksum
sbin/clear
sbin/cmp
sbin/comm
sbin/cp
sbin/cpio
sbin/cut
sbin/date
sbin/dd
sbin/df
sbin/diff
sbin/dirname
sbin/dmesg
sbin/dos2unix
sbin/du
sbin/e2fsck
sbin/e2fsdroid
sbin/e2fsdroid_static
sbin/echo
sbin/env
sbin/expand
sbin/expr
sbin/fallocate
sbin/false
sbin/file
sbin/find
sbin/flock
sbin/fmt
sbin/free
sbin/fsck.exfat
sbin/fsck.ext4
sbin/fsck.f2fs
sbin/fsck.ntfs
sbin/fsck_msdos
sbin/getenforce
sbin/getprop
sbin/grep
sbin/groups
sbin/gunzip
sbin/gzip
sbin/head
sbin/hostname
sbin/hwclock
sbin/id
sbin/ifconfig
sbin/inotifyd
sbin/insmod
sbin/install
sbin/ionice
sbin/iorenice
sbin/kill
sbin/killall
sbin/ln
sbin/load_policy
sbin/log
sbin/logname
sbin/losetup
sbin/ls
sbin/lsmod
sbin/lsof
sbin/lspci
sbin/lsusb
sbin/md5sum
sbin/microcom
sbin/mkdir
sbin/mke2fs
sbin/mke2fs_static
sbin/mkfifo
sbin/mkfs.exfat
sbin/mkfs.ext4
sbin/mkfs.f2fs
sbin/mkfs.ntfs
sbin/mknod
sbin/mkswap
sbin/mktemp
sbin/modinfo
sbin/modprobe
sbin/more
sbin/mount
sbin/mount.ntfs
sbin/mountpoint
sbin/mv
sbin/netstat
sbin/nice
sbin/nl
sbin/nohup
sbin/od
sbin/paste
sbin/patch
sbin/pgrep
sbin/pidof
sbin/pkill
sbin/pmap
sbin/printenv
sbin/printf
sbin/ps
sbin/pwd
sbin/readlink
sbin/realpath
sbin/reboot
sbin/recovery
sbin/renice
sbin/resize2fs
sbin/restorecon
sbin/rm
sbin/rmdir
sbin/rmmod
sbin/runcon
sbin/sed
sbin/sendevent
sbin/seq
sbin/setenforce
sbin/setprop
sbin/setsid
sbin/sgdisk
sbin/sh
sbin/sha1sum
sbin/sha224sum
sbin/sha256sum
sbin/sha384sum
sbin/sha512sum
sbin/sleep
sbin/sload.f2fs
sbin/sort
sbin/split
sbin/sswap
sbin/start
sbin/stat
sbin/stop
sbin/strings
sbin/stty
sbin/swapoff
sbin/swapon
sbin/sync
sbin/sysctl
sbin/tac
sbin/tail
sbin/tar
sbin/taskset
sbin/tee
sbin/time
sbin/timeout
sbin/top
sbin/touch
sbin/toybox_static
sbin/tr
sbin/true
sbin/truncate
sbin/tty
sbin/tune2fs
sbin/ueventd
sbin/ulimit
sbin/umount
sbin/uname
sbin/uniq
sbin/unix2dos
sbin/unzip
sbin/uptime
sbin/usleep
sbin/uudecode
sbin/uuencode
sbin/vmstat
sbin/watchdogd
sbin/wc
sbin/which
sbin/whoami
sbin/xargs
sbin/xxd
sbin/yes
sbin/zcat
sbin/zip
sdcard
sepolicy
storage
sys
system
tmp
ueventd.rc
ueventd.universal5420.rc
vendor_file_contexts
vendor_hwservice_contexts
vendor_property_contexts
vendor_seapp_contexts
vendor_service_contexts
vndservice_contexts
18161 blocks
I have a 16.0 SM-T800 build booting now. Now I have to go through and see what works and doesn't work. This will take a couple of days.
I will also document what patches I needed to make this work not only for myself, but for other future builders.
Please join the exynos5420 team to contribute to getting LineageOS 16 fully functional.
retiredtab said:
I have a 16.0 SM-T800 build booting now. Now I have to go through and see what works and doesn't work. This will take a couple of days.
I will also document what patches I needed to make this work not only for myself, but for other future builders.
Click to expand...
Click to collapse
What did you have to fix? I am building Los 16 for a Los 14 device too, kernel appears to be working, but it does not boot.
bluess57 said:
Please join the exynos5420 team to contribute to getting LineageOS 16 fully functional.
Click to expand...
Click to collapse
I will submit gerrit patches once the 16.0 code all settles down. There are camera + sensor + hal changes still to be merged. So far all bugs that I have found seem to be due to the pending or merge changes.
Some of the changes made to chagalllte weren't made to chagallwifi so it was relatively easy to copy them.
alexenferman said:
What did you have to fix? I am building Los 16 for a Los 14 device too, kernel appears to be working, but it does not boot.
Click to expand...
Click to collapse
What device are you building for? Are you building for a tab S platform?
If a device doesn't boot, I find adb logcat very helpful.
I also use this utility.
Install logcat-colorize on Ubuntu using the Snap Store | Snapcraft
Get the latest version of logcat-colorize for on Ubuntu - logcat-colorize
snapcraft.io
retiredtab said:
I will submit gerrit patches once the 16.0 code all settles down. There are camera + sensor + hal changes still to be merged. So far all bugs that I have found seem to be due to the pending or merge changes.
Some of the changes made to chagalllte weren't made to chagallwifi so it was relatively easy to copy them.
Click to expand...
Click to collapse
yeah I only have a chagalllte so some of the other devices get overlooked.
As to what's currently not functioning:-
camera video recording
sensors /sensor hal may not be fully functional
RIL
+ whatever else I can't recall atm
alexenferman said:
What did you have to fix? I am building Los 16 for a Los 14 device too, kernel appears to be working, but it does not boot.
Click to expand...
Click to collapse
by does not boot, do you mean it is stuck at the lineageos 3 rings startup animation?
bluess57 said:
As to what's currently not functioning:-
camera video recording
sensors /sensor hal may not be fully functional
RIL
+ whatever else I can't recall atm
Click to expand...
Click to collapse
What I found so far.
Doesn't work
1. home button doesn't wake up tablet. I think I know what is wrong and I'm compiling another new build, but it will take about 1 hour to complete.
2. screen rotation - which I think is due to pending merge hal/sensor changes
3. MTP, this could be due to my eng build for debugging purposes
4. camera - changes not merged. When I try a repopick -t Camera-Bringup, I get cherry-pick errors so I'm going to wait until it's all merged before I test camera.
Works
1. wifi (5 and 2.4)
2. bluetooth
3. brightness
4. external audio
5. audio through headphones
6. GPS - needs this yet to merged patch
https://review.exynos5420.com/c/exynos5420/android_device_samsung_chagalllte/+/7362
I'm not a git expert. Everytime I use it, I struggle with the commands to upload patches. But most of the problems with chagallwifi are because chagalllte commits aren't applied to it which is understandable if the developers have the LTE version.
it will be very good to switch to Los 16 SM-T800 please guys continue
bluess57 said:
yeah I only have a chagalllte so some of the other devices get overlooked.
Click to expand...
Click to collapse
I also have a SM-T700 klimtwifi which I can build and test for. However, I have more than one SM-T800 so I will build for T800 first and get all the bugs worked out and then build T700 later.

Categories

Resources