yashsingh1/xdaforums huggingface dataset:
[G1 Android Development] tehseano:
thats real easy to do. open up power manager, edit whicher setting you want the keyboard to stay on for (or change them all), goto stay awake > keyboard > enable. now anytime you have the keyboard out, the keys stay on.
[G1 Android Development] Ryanmo5:
Cool thanks never played around with power manager before, thanks for the tip! :)
[G1 Android Development] steffann:
New version

FYI: I just released Dark Keys 2.0, which includes most of the suggestions I received from users.
[G1 Android Development] johnnylicious:
isn't this in the wrong section?
[G1 Android Development] MontAlbert:
awesome app- i have a black G1 and always hated it how the keyboard light went off, esp. at night. Now with your app i can have it stay on whenever the KB is open.

One suggestion, and i am not sure it is possible, can you make it so it's a timer thing- say, it would turn off after 1min, 2min, or 3min. etc

***edit**** it seems to be turning it off automatically some times- it is obviously dark keys doing it as the notification keeps coming up......
[G1 Android Development] Bill Zimmerly:
Great application! Thanks!!! Like many others, I hate when the keyboard backlight goes blank on me, and this app keeps the keyboard lit so long as it is extended. This app truly has the "Zen of Android" - just like the old Palm Treo had the "Zen of Palm".
[G1 Android Development] l_____l:
GREAT APP! I just added a desktop icon and tap it once to make the keyboard lights stay ON. Or, I can tap it again to turn off the light, but it's ON that I need! Thanks a bunch :D
[G1 Android Development] MontAlbert:
oes it stay on these days? last time i tried it it kept turning off the keyboard while i was typing and at other strange times...
[G1 Android Development] l_____l:
Yep, your right. It worked fine until I plugged it in to charge. Next morning it was all BUGGY as it would "auto turn off kb light" when the phone "auto rotates". :mad:

I wish someone would write an app that has the option of "keyboard (and home keys for that matter) ALWAYS ON when kb open". Being always ON is so important to me! When the kb light goes off on my BLACK G1, the keyboard is "invisible" unless the screen is off!
[G1 Android Development] cigar3tte:
Do you have Power Manager installed? It also manages keyboard on/off so you might have conflicting apps.
[G1 Android Development] l_____l:
Wow, your right, I do. ...and I just have to edit the stay awake to enabled while keyboard open. I guess if I didn't have power manager, dark keys app would be mandatory to keep lights ON (or off if needed)

Thanks for your help! :)
[G1 Android Development] theslam08:
Old topic but about the very similar thing....something that popped into my head recently that I do not think anyone has asked about...I searched but couldnt find anything on it...

The led light on the top of the phone (speaker is) can change multiple colors, I definitely assume that the hkb has also LED lights underneath. Catch my drift?

So any good coders out there know if there is any api or functionality possible to alter the HARDWARE keyboard lights to any color like the missing call app??? That would be amazing!!

Thanks :)
[G1 Android Development] shaneaus:
@johnnylicious - yes, wrong section. Should be in the

@steffann - I installed your app (although I want the backlight ON feature I don't really need/want Power Manager) and received a continuous error/force close message. It was all I could do to get Gscript open between force closes... But, I used Gscript to write a logcat output text file (attached).

Please let me know if you can see what the issue was. I would like to use your app.
[G1 Android Development] kushion:
mmm i have some help

http://xdaforums.com/showthread.php?t=513772 go here to find dark keys ported to cupcake although you need root and we have been getting reports that its stopping the screen from timing out

I have to admit i just noticed that its doing it for me aswell
[G1 Android Development] shaneaus:
I believe that link is to an older version that won't have the new features.

I also checked the Google source code page and there were no downloads.

Maybe, he is working on it?
[G1 Android Development] Ge2tis:
Why I can not found this app any more?
[G1 Android Development] mejorguille:
You can't find it in the market because its not on there. Look up "backlight off" on the market and you should be able to find another app called backlight off. Once downloaded, just click it and it toggles the keyboard backlight on or off. You can even use settings-> Applications-> shortcuts to assing it to a key.

Next time, instead of bringing back old threads, use Q&A.
[G1 Android Development] maek_it_happen:
there is an app called lit keys that keeps it on
[G1 Android Development] kefer:
thans for sharing , i have been needing this soooo bad lol
[Xiaomi Poco X3 Pro] AhsanHabibShomu:
Hello I have Poco x3 pro global version. I rooted my device and installed Kernel manager and there I saw CPU core control and I made some core offline and online again just randomly to check the performance difference. But there is an issue I am facing is when my device getting a little bit of heat the core 1(Little) and core 5(Big) getting offline. I used to check the CPU cores. After using Kernel manager for 6-7 days I had never seen any of the cores going offline. But recently I am facing the problem. So I thought it might be a Kernel or the app problem. So by not taking any risk I flashed stock miui 12.0.6 firmware and rooted it checked it again and the cores are still going offline no other cores only core 1 and core 5. Then I installed miui 12.5.9 eu and checked it out it still going offline. I know that CPU cores are online by default and when It gets hot it gears down the frequency but making cores offline Is a new experience. Did i gave a path to CPU to act abnormal by making some cores offline and online. Ohh when the they are getting offline significant amount of lag is being seen. Apps opening speed is pretty slow frame dropping in animations when opening apps. When my phone was not rooted I did face lag when heated up but not this much. Is it normal? Am I overseeing the fact. Please let me know I am 😕
[Xiaomi Poco X3 Pro] eraofeidolon:
im also facing this problem, 1little and 1big core goes offline while gaming (ragnarok m)

using latest fkm on a crdroid 9.0,

i use this mainly to disable the sh*tty prime core....

any solution to this mate?
[Xiaomi Poco X3 Pro] Haldi4803:
That's Called throttling,

Make super your phone become cooler. Problem solved.
[Xiaomi Poco X3 Pro] Tomo123:
Do not tinker with things you don't understand, people. Curiosity killed the cat.
[FYT Android Head Units] casio58:
Hi i have a joying intel sofia unit and i installed a custom rom on it but cannot access recovery so have tried reloading joying firmware but have been stopped by the whole file system verification fails and signature verification failed errors so i have tried to resign the 5009_60 folder with test keys using the signapk app from this site it says it has completed but i am still getting the same error or a footer is missing error can anyone explain how i make a test keys flashable zip which will install so i can get my head unit working again or does anyone happen to have it as the links are currently dead any help would be much appriciated
[FYT Android Head Units] surfer63:
You will never be able to resign the firmware. That is the exact goal of sigining your software before release. So that someone else can't hack your software and distribute all kind of malware and viruses, etcetera.

Try to get the custom apk for the GTX rom and reflash the original recovery
[FYT Android Head Units] casio58:
I cant access android to be able to install it
[FYT Android Head Units] casio58:
View attachment 5614931
[FYT Android Head Units] casio58:
This rom seems to be the fix as everyone with same issue has used this to fix it but all the links are dead
[Introductions] Johnydmic:
Whats up guys, glad to be here. I am not an experienced programmer. I have been learning to write Java over the past month, and have always been interested in how phones work (ie) CDMA and # codes * codes. Now that we have such cool tech in our hands. I thought I would learn as much as I can about servicing, manipulating, and integrating said tech. I have no formal training, and at this point do not work in the field. I am here because I really enjoy doing this stuff.
[Xiaomi Mi Pad 5 Pro] JuanCld:
Is there any news on custom ROM's support of stylus and keyboard?

The keyboard and stylus is buggy on my MIUI, and I want to find a better solution.

Thanks.
[Introductions] sampizcat:
Hi all,

This is my first post in these forums. I've been a computer nerd for 30+ years, and in the last 10 years I've been playing with CyanogenMod/Lineageos on phones and tablets. It's been a while since I've been in a community like this, so I'm keen to be here.

Also, I wanted to thank everyone on these forums, especially those who put in the hard work making and maintaining custom ROMs - thank you!

Cheers all,

Adrian
[Introductions] orb3000:
Hey Adrian welcome aboard!
[Tilt, TyTN II, MDA Vario III General] iceman4357:
I am upgrading to the Fuze and I am selling my Tilt. I have the box, cables, manuals, ect. It is already flashed and upgraded to the latest Nov. 11th HyperDragon and is in perfect working order. I am only asking $200 plus shipping. Phone will come with a 512MB extra storage with IGO8 on it if you want. PM me, or email me at iceman4357@hotmail.com if interested.
[Tilt, TyTN II, MDA Vario III General] RxenDrav:
buying ur device...

im interested to buy ur device..plez check ur email..i already send it to u...:D
[Fire TV Original Android Development] Pro-me3us:
Entering the Cube's DFU mode

To boot into device firmware upgrade (DFU) mode we need to pass a 'boot@usb' command, to the Cube's Amlogic s922x SOC, through the I2C bus accessible via the HDMI port. This was first described in the FireFU exploit for the 1st gen Cube. Since then there are a few more options for devices to accomplish this:

DIY modified dummy HDMI dongle. Fully self-contained, and powered by the HDMI port. Simple to use, just plug-in and unplug, can be made for $5 or less and is what I recommend.

https://github.com/superna9999/linux/wiki/Amlogic-HDMI-Boot-Dongle

View attachment 5787863

I2C emulator for ATmega boards (Arduino Duemilanove, ATmega48/88/168/328). Requires less skill, potentially little to no soldering. A Tiny88 ($2-3) wired to an HDMI breakout board ($2-3) can be programmed over USB with one command.

https://github.com/tchebb/amlogic-hdmiboot-avr

View attachment 5790533

View attachment 5787867	View attachment 5787869

Arduino sketch to boot into DFU, compatible with ARM-based Arduino boards (Due, Teensy, Genuino). Costs more but a good alternative if you already have an Arduino board.

https://www.exploitee.rs/index.php/FireFU_Exploit#Preparing_HDMI_dongle

View attachment 5787875
[Fire TV Original Android Development] Pro-me3us:
Flashing OTA Firmware with TWRP

To upgrade the firmware past PS7273+ and keep the Cube unlocked and rooted, we need to avoid flashing any bootloader version newer than PS7242/3516. The new build of TWRP included with Raven boot v2.0+ and Raven root shrinker automatically blocks any bootloader flashing. Be sure that you are using Raven boot v2.0 or newer! Firmware bin flashing is working and tested up to PS7633/3445.

The shrinker script only works up to PS7624/3337, upgrading past this version will still maintain root, but will lose the shrinker backdoor backup.

Update Procedure:

1) Download the full firmware bin (XDA or Github), change extention .bin to .zip

2) In ADB type reboot recovery to enter TWRP. You can also open Magisk Manager and choose the reboot to recovery option in the top right corner of the main screen.

3) Copy the firmware file to your Cube via USB connected computer, flash it, and re-flash Magisk

adb push <firmware-filename.zip> /sdcard/Download/
adb shell
twrp install /sdcard/Download/<firmware-filename.zip>
twrp install /sdcard/Download/magisk.apk

If you used the shrinker method, then the magisk apk is in /data/local/tmp/ instead

twrp install /data/local/tmp/magisk.apk

If you prefer to use a USB mouse and regular TWRP interface, rather than computer, download the firmware bin directly to the Cube in FireOS. Firmware updates don't require wiping data/dalvik. If downgrading firmware, wiping data/dalvik is advisable.

NOTE: It's IMPORTANT to not forget to flash magisk.apk after each firmware upgrade. Magisk & TWRP work together to preserve root access. Magisk prevents TWRP from being deleted, and TWRP helps to prevent accidental Amazon OTA updates. Without Magisk, OTA updates will no longer be blocked by the OTA blocker Magisk module.

Protected Packages

Amazon added package protection in +PS7273. To remove this, boot into FireOS with Magisk or root support, edit /data/system/PackageManagerDenyList, delete the list of applications, and save.

To prevent the protected applications list from being regenerated on reboot, disable:

adb shell pm disable-user com.fireos.arcus.proxy

All applications can now be disabled/enabled without root, including custom launchers.
[Fire TV Original Android Development] Pro-me3us:
reserved
[Fire TV Original Android Development] Deleted member 11959327:
Thanks for this! So far I've only confirmed old enough firmware (PS7229/1856) and installed a uart header. Seems I will have to wait a while to get a working hdmi plug for dfu access.

While looking at the uart log, I noticed that u-boot is interruptible prior to boot, which is a little unusual. But every u-boot command is disabled, even "help"!

I noticed some text about a one time override code of some sort. Did you find any additional information about this code while working on the bootloader?

Would it not be possible to just flash a patched bootloader, much like is described at the site you've referenced? Is the stock bootloader encrypted? If so, were the relevant keys extracted?

What about ≥ 7.2.7.3 kills this exploit? Is dfu access lost? If not, what else prevents it from working? I wouldn't think that dfu could be lost, since it is in rom, unless an efuse can disable it?
[Fire TV Original Android Development] Pro-me3us:
On the stock bootloader Amazon has blacklisted all uboot commands. The bootloader code is available through Amazon's open source repository. The uboot console restrictions are in:

platform/bootable/bootloader/uboot-amlogic/s922x/bl33/common/amzn_lockdown.c

The unlock codes are generated by Amazon's servers in combination with the devices' serial number. This system is the same as other fire devices. There is a list of all the uboot commands in the documents folder of raven_boot.zip to give you an idea of what's available.

To work with the U-boot console, you can also send uboot console commands via Amlogic burn-mode for convenience.

./update bulkcmd "uboot command"

Unfortunately, i don't think there is a way to route the uboot console output over HDMI or USB, so TX is still necessary for visualization. Your soldering work and connector look a lot nicer than what I was working with, I'm jealous :)

The bootloader is signed, and verified by the bootrom. This is part of the 'chain of trust' that ensures the bootloader is not altered / tampered with. The reason the patched bootloader in the OP can be loaded is because we are using a tethered computer to run a bootrom exploit program (amlogic-usbdl) to inject our own next stage code (bl2.bin) that bypasses the bootrom verification process. The modified Bl2 code allows for the rest of the bootloader to load. Without a computer to run the exploit, our Bl2 code would fail verification, and the Cube would hang.

The bootloader is encrypted with several keys, and the keys change with major releases. I don't know what XDA's policy is on posting keys, so I don't want to chance a violation. A more detailed description of the whole process will be added to github relatively soon.

@roligov said he was not able to enter into DFU with USB after 7.2.7.3. There was an option added to the efuse file last year to disable DFU from USB, my guess is Amazon chose to burn the fuse(s) in 7.2.7.3.

EDIT: If you plan to be do a lot of probing, I'd recommend going with Superna9999's HDMI dongle design, it's a lot more convenient than the Arduino boards.
[Fire TV Original Android Development] roligov:
Exactly that. I had a unit that worked fine, tested DFU mode before applying update Fire OS 7.2.7.3 (PS7273/2625). After updating to that firmware version, DFU mode no longer worked. Exact same setup worked 5 minutes before and still works on other cubes. If no one on here confirms it no longer works on the latest firmware, I may sacrifice another cube and update to the latest. I thought it wasn't possible either since it's a bootrom exploit, but guessing an efuse has been burnt.

It may be possible to probe the board and achieve DFU mode by someone who knows what they doing like the method used for the Fire Sticks (I tried with 1 cube which ended up in a bootloop, luckily Amazon replaced it).
[Fire TV Original Android Development] Deleted member 11959327:
Whatever bootloader keys are used for the chain of trust in order to ensure an internally consistent hand-off from stage to stage are distinct from the most external bootrom key that is used to encrypt the entire bootloader partition image from start to finish, right? That most "external layer" bootrom key, that is used to encrypt the entire bootloader partition image, must remain the same for the life of all instances of the hardware, at least if all similar devices are to be able to run firmware updates, right?

By the "most external layer" of encryption, I mean this layer;

View attachment 5618351

If a device that is configured for secure boot, as distinguished from a device that is not configured for secure boot, like the khadas VIM3L (but still has a bootloader partition that is at least encrypted with the most external layer key), could it not run a different bootloader (that was internally consistent and unmodified), so long as that bootloader was encrypted with a matching most external layer key? Does secure boot prevent this?

For example, if an entire bootloader was taken intact from a generic 922 device, and that entire bootloader was not internally modified at all (but happened to have a functioning u-boot bl33 layer), and that entire bootloader (after itself being decrypted with its most external layer bootrom key, if necessary) was encrypted with the most external layer key matching the v2 cube, would that bootloader not boot all the way to bl33 and beyond on the v2 cube?

Perhaps an internally consistent alternative bootloader, even if if properly encrypted with the most external layer bootroom key, would still break the chain of trust because the portion of the bootloader that is in rom (bl1) is not just generic bootloader code common to many devices, but is customized specifically for that particular secure boot device (or references a root of trust elsewhere in the rom that is individualized), so the subsequent bootloader stages would fail trust because of that individualization that is in, or referenced by, bl1, even if they were entirely unmodified?

Perhaps this bootloader might boot but avb or vbmeta verification might fail in some other way, or whatever drm magic is in the bootloader might be absent, but would it not at least boot, or does secure boot prevent any internally consistent alternative bootloader from booting, even if it is encrypted with the correct most external layer key, matching the bootrom key?

I apologize if I'm missing something obvious because of my impoverished understanding of this process.
[Fire TV Original Android Development] Deleted member 11959327:
Do you have any guesses about how the efuse is burnt by the updated system? Might the new bootloader itself do it, or the running system, or is there anything obvious in updater-script (if amazon ota's use an updater-script)?
[Fire TV Original Android Development] Deleted member 11959327:
It seems that all of the quickly obtainable edid-spoofing hdmi plugs come with an eeprom in the sot23 package, lacking the a0, a1, and a2 pins needed for the addressing change. Does anyone know of a hdmi plug that uses an 8-lead eeprom that can be ordered for quick delivery?

Otherwise I'll modify the sot23 version that I have coming tomorrow, replacing the sot23 at24cs02 with an 8-lead version that I can pull from some waste board.
[Fire TV Original Android Development] Deleted member 11959327:
I did ^this^ because the 8-lead version that I ordered still hasn't arrived yet. See before/after images below. It was a success and I was able to get the exploit running.

While swapping out the eeprom, I noticed that the ddc (display data channel) pair of lines was terminated in the plug, even though this edid emulator device supports passthrough. The ddc pair carries at least two kinds of data, edid and hdcp.

Presumably ddc is terminated because otherwise there would be a serial wire device conflict on the i2c bus at address 0x50, since both the edid emulator device and the sink would each have a eeprom (or prom) at that address.

But since for dfu usage the address is changed to 0x52, I figured the ddc lines could be reconnected and the 0x52 serial device could just ride on a passthrough i2c bus. So, I wired the sda and scl lines as passthrough lines.

I hoped that this would mean that I could repeatedly use the exploit over time without swapping hdmi connections for every reboot. And it does do that. But it also takes a power cycle in order boot to dfu mode from an actively running OS. Booting any of the other images, such as fastboot, twrp, etc., do not require a power cycle and reboot straight to dfu mode with the passthrough device installed.

So, it is still more convenient to just cycle power rather than swap hdmi plugs.

As far as testing the exploit itself, I've only spent an hour so far. The included magisk patched boot image does work, although when I tried to boot a magisk patched boot image that I patched myself (using the original image on the device as a source), it did not boot. All of the provided boot images do work, and are all very useful.