Commit graph

581 commits

Author SHA1 Message Date
CTCaer
91b08f10fd hekate/nyx: use size defines where applicable 2021-10-01 15:45:25 +03:00
CTCaer
e31d6446db nyx: correct reboot name for patched devices 2021-09-26 12:53:34 +03:00
CTCaer
609a76045a nyx: remove always true check 2021-09-26 12:16:04 +03:00
CTCaer
000ea3096a nyx: check if emuMMC path is null before producing the ID 2021-09-26 12:15:25 +03:00
CTCaer
983d661da5 nyx: add many SD manufacturers
This will now properly identify many more manufacturers.
As a reminder, it shows who made the sd card, even if the SD card has another vendor name.

In that case, it's normally because the manufacturing is outsourced and vendor only puts a label on it.
For example, now lexar, transcend and sony do not exist in the list as they don't manufacture sd card nands and microcontrollers
2021-09-17 23:45:48 +03:00
CTCaer
da08d00d21 nyx: replace Tsec Keys with Lockpick RCM
This checks if bootloader/payloads/Lockpick_RCM.bin exists and if found it allows to launch it directly from there.

Only works with Lockpick RCM copied there and is version 1.9.5 or newer.
2021-09-17 23:41:40 +03:00
CTCaer
6bd4c31965 nyx: add info for new touch panels
New 6.2" touch panel and a new firmware for 7.0"
2021-09-17 23:37:43 +03:00
CTCaer
af7bee2231 nyx: derive emuMMC ID from its main path
This allows every emuMMC to have a unique id because its path is unique.
2021-09-17 23:35:13 +03:00
CTCaer
d61be73bca nyx: add reminder that reload also checks for update.bin 2021-09-17 23:34:16 +03:00
CTCaer
0ff121284a hos: add full 13.0.0 support
- 13.0.0 master key support
- Derive proper keys per mkey revision instead of the latest for Erista devices
 This allows to identify issues with Pkg1/Pkg2 mismatch and also allows using old Exosphere/Atmosphere versions.
- Simplify pkg2 decryption because of proper keys
 7.0.0 is still done via 8.1.0 mkey because of an Exosphere bug.
- Add nogc patches
2021-09-17 23:32:13 +03:00
CTCaer
9363494c3f nyx: lower launch priority for ums boot
This fixes the backlight not being dimmed if UMS is launched from boot
2021-08-28 20:08:08 +03:00
CTCaer
4326dcdc6c remove sept from makefile 2021-08-28 18:10:20 +03:00
CTCaer
792a3511da nyx: clear nand patrol for resized emummc
On used eMMCs, the usage size might exceed the new resized size.
In such cases if the nand patrol points there, it will cause the sd card to timeout because of out of bounds access.

Clearing that allows resized emuMMC to always have the same speed as full sized emuMMC.
2021-08-28 18:09:34 +03:00
CTCaer
9ba867f19e nyx: fix missing labels in launch if a previous label was big 2021-08-28 18:07:32 +03:00
CTCaer
49943ee46f nyx: unconditionally dump pk1/2 encrypted states 2021-08-28 18:06:32 +03:00
CTCaer
2a8c58af31 nyx: improve info tools
- Add Aula report
- Add new dram ids/names
- Signify that a SD card is fake if MID is 0
2021-08-28 18:05:49 +03:00
CTCaer
66cf88b967 nyx: fix percentage when restoring size unmatched emmc backup 2021-08-28 18:04:24 +03:00
CTCaer
f61e284ac0 config: add clamping of bootwait 2021-08-28 17:57:36 +03:00
CTCaer
f5ec4a3a37 hekate/Nyx: remove Sept completely
- remove any reference to sept and parsing of it
- completely refactor and simplify keygen
- use new Atmo tsec keygen for 7.0.0 and up
- simplify all info/tools that depend on hos keygen and bis keys
2021-08-28 17:53:14 +03:00
CTCaer
d8995ee9c0 hekate: clean unused stuff
Remove anything that will never be in TUI in the future.
Especially these that need modernization.
2021-08-22 16:56:05 +03:00
CTCaer
a704679990 nyx: add sandisk device report for eMMC mods 2021-07-06 19:51:00 +03:00
CTCaer
5876e1765d nyx: hos: support BIS for 12.1.0 keygen devices 2021-07-06 19:49:15 +03:00
CTCaer
e94bd23d6f nyx: info: add missing old touch fw version 2021-07-06 10:10:17 +03:00
CTCaer
cd5b93feb1 nyx: tools: improve error messaging when restore folder is empty 2021-07-06 10:09:06 +03:00
CTCaer
561a96c62a hos: small refactoring 2021-07-06 10:05:37 +03:00
CTCaer
57e6623d74 hos: 12.1.0 support 2021-07-06 10:02:52 +03:00
CTCaer
8eda2d805f nyx: explicitly state if fuses are overburnt 2021-06-08 05:57:39 +03:00
CTCaer
432d4a4ffa Use bit_count for burnt fuses counting 2021-06-08 05:57:00 +03:00
CTCaer
8058d550ab nyx: reflect 5v regulator changes 2021-06-08 05:51:52 +03:00
CTCaer
3f22601022 Bump hekate to v5.5.6 and Nyx to v1.0.3 2021-05-12 12:55:03 +03:00
CTCaer
7c450f4a5f hos: 12.0.2 support 2021-05-12 11:47:39 +03:00
CTCaer
6316d3076d nyx: fix restore logic when backup does not match emmc
- If sd backup size exceeds eMMC size, bail out.
- If partial files backup is smaller allow restoring in case user has an eMMC upgrade.
 Following the same behavior that single file backup has when it's smaller.
2021-05-12 11:47:25 +03:00
CTCaer
21e6a0cf7e pkg1: reduce struct sizes 2021-05-11 10:08:43 +03:00
CTCaer
d0fefabad7 nyx: return unknown if SD vendor is not known
TODO: Investigate which OEM/ODM makes the new Lexar SD cards.
2021-05-11 10:07:08 +03:00
CTCaer
44db160ab1 nyx: add info about new InnoLux panel revision 2021-05-11 10:04:31 +03:00
CTCaer
66b7130641 nyx: align total sectors to guarantee alignment
Helps on some sd cards with weird total sectors number.
2021-05-11 09:57:29 +03:00
CTCaer
80d9718770 GCC 11 fixes
The array/stringop warning removals are undesirable.
Consider removing them when a new GCC version moves back to saner checks for pointers.
2021-05-11 09:51:08 +03:00
CTCaer
588a834ae4 nyx: allow backing up resized emummc 2021-05-11 09:34:19 +03:00
CTCaer
833dda7e7c nyx: bpmp: automatically find best clock for t210
There were 4 reports of Nyx hanging or UMS and backup verification failing because of low binned Erista SoC.

This change reduces clock for hekate main and Nyx will now automatically try and find a working one.
In case Nyx hangs it will reduce it on next inject.

If Nyx works and user still has issues with UMS/Verification, manually editing nyx.ini and setting `bpmpclock=2` will fix that.
2021-05-11 09:32:38 +03:00
CTCaer
978e8344cf nyx: check for errors in benchmark 2021-04-11 09:28:28 +03:00
CTCaer
160d6eacc0 nyx: add new touch panel id 2021-04-11 09:27:47 +03:00
CTCaer
075d8e6393 gfx: change line if max width is reached 2021-04-11 09:25:53 +03:00
CTCaer
edff6c551d hos: Add 12.0.0 support 2021-04-09 19:49:44 +03:00
CTCaer
f66ddca100 nyx: make hybrid mbr fixer smarter
Allow usage of FatFS simple gpt parsing for setting the fat partition in case its label is not hos_data.
Additionally allow hos_data partition to not be the first one.
2021-03-17 09:20:01 +02:00
CTCaer
6981c59de3 gpt: properly check that GPT is valid 2021-03-17 09:14:50 +02:00
CTCaer
f21f13b15d ums/nyx: reinit sd to update cal trimmers for max perf 2021-03-17 09:12:30 +02:00
CTCaer
ef5a01433d nyx: inform user that Fix RAW also fixes partition type 2021-03-17 09:09:59 +02:00
CTCaer
0e12d8545b Decrease stack usage on various functions 2021-03-17 09:08:34 +02:00
CTCaer
dbe431095a touch: report gpio info in case of unknown panel 2021-03-17 08:53:23 +02:00
CTCaer
fff750e609 bis: Fix BIS write for emuMMC
A last minute cleanup changed the function for writing the changed BIS sectors in emuMMC to a read.

Restore it to a sd card write.
2021-02-08 04:00:11 +02:00
CTCaer
38ce46a158 nyx: Add more info while formatting emuMMC USER 2021-02-08 03:52:23 +02:00
CTCaer
c6ec175045 Bump hekate to v5.5.4 and Nyx to v1.0.0 2021-02-06 17:32:07 +02:00
CTCaer
3b9ab66cf1 nyx: Add resized emuMMC creation 2021-02-06 17:19:37 +02:00
CTCaer
b6e458e97b sept: Correct bct buffer pointer and turn on backlight on error 2021-02-06 17:14:07 +02:00
CTCaer
c5152f6a9d nyx: Correct double emuMMC values in part manager 2021-02-06 17:12:09 +02:00
CTCaer
e5689cfe57 fatfs: Add raw emuMMC support for USER partition 2021-02-06 17:11:32 +02:00
CTCaer
f3f1d4d4f0 sdmmc: More functions use the global emmc storage 2021-02-06 17:10:13 +02:00
CTCaer
796b15a861 nyx: Correct text in Launch when missing boot entries 2021-02-06 04:47:23 +02:00
CTCaer
add351289a nyx: Show status for migration and update main window 2021-02-06 04:46:10 +02:00
CTCaer
6e314933d9 Various small changes 2021-02-06 04:17:31 +02:00
CTCaer
a31bedda97 ramdisk: Sypport variable size 2021-02-06 04:15:19 +02:00
CTCaer
a25c82a8ce nyx: Allow fix hybrid mbr tool to always run 2021-02-06 04:10:50 +02:00
CTCaer
8ccc47dfa5 nyx: Add resized raw emuMMC support in partition manager 2021-02-06 04:10:02 +02:00
CTCaer
9de5a4ba66 nyx: Swap tab for Partition Manager and Dump Pkg1/2 2021-02-06 04:07:28 +02:00
CTCaer
84e437ae5b nyx: Explicitly state status in Joycon BT dumping 2021-02-06 04:06:09 +02:00
CTCaer
9e34c5995d bis: Pull latest lockpick driver and refactor it
- Refactor various variables and functions
- Flush whole cache when full
- Allow cache to be disabled
- Add support for raw emuMMC in nyx contenxt
- Use partition names for keys (to avoid issues with different ordering)
- Add deinit function that flushes the whole cache
- Change bis lookup address
- Halve cache size to 256MB in order to support 512MB ramdisk also.

Co-Authored-By: shchmue <7903403+shchmue@users.noreply.github.com>
2021-02-06 04:05:31 +02:00
CTCaer
8683a0ff58 gfx: Accept any type in gfx_hexdump 2021-02-06 03:57:39 +02:00
CTCaer
eea5463a5c nyx: Refactor nyx extra cfg 2021-02-06 03:55:01 +02:00
CTCaer
af790aeaf8 nyx: Beef up eMMC/SD benchmark
- Added 4KB sequential and random tests that shows IOPS and rate
- The test is now faster as it does 1GB raw reads and 512GB for random reads
- Still does 3 iterations in order to cover both nands that most eMMCs and SDs have.
2021-02-06 03:51:26 +02:00
CTCaer
a8a45b215a nyx: Add emmc info about write cache and enhanced area 2021-02-06 03:44:27 +02:00
CTCaer
38f456a2ee sdmmc: Refactor again
- Refactor various variables and defines
- Removed Card/BGA and OEM ID info as they are static and useless
- Commented out bkops functions completely as not used
- Remove extra buf usage when there's already storage for storing that data
- Optimize various functions to save space
- Clean up useless or duplicate code
2021-02-06 03:41:35 +02:00
CTCaer
ea83566fc9 sept: Disallow sept if improper BCT to avoid black screen 2021-02-06 03:24:58 +02:00
CTCaer
0857d7ff0e hos: Do not clear SBK in Nyx for HOS 4.0.0 to 6.0.0 2021-02-06 03:21:14 +02:00
CTCaer
48e98ab8c9 eks: Update old version automatically 2021-02-06 03:20:43 +02:00
CTCaer
8cd438146d sdmmc: Use global emmc storage in various places 2021-02-06 03:19:42 +02:00
CTCaer
2428736bfa hos: Use structs for eks keyblobs and tsec keys 2021-02-06 03:00:48 +02:00
CTCaer
a7bf8bf118 se: Refactor with proper names
Additionally fix some bugs in rsa access control
2021-02-06 02:55:58 +02:00
CTCaer
15a7e49dde fatfs: Add simple GPT support
This allows for a simple GPT parsing and checking first partition to see if it's FAT based.

This allows hekate booting GPT with tiny size cost.
2021-02-05 23:27:52 +02:00
CTCaer
7aa1e77642 nyx: Do not over decrypt pkg1 on t210b01 2021-01-11 23:28:06 +02:00
CTCaer
abcf7f6f57 nyx: Allow reboot to OFW for patched units
- OFW: This bypasses fuses like always and does not cause a SYS Reset.
- Normal: Resets regulators and causes a SYS Reset.
2021-01-11 22:18:36 +02:00
CTCaer
d1f0ea3de7 Formalize language in various messages 2021-01-11 21:39:44 +02:00
CTCaer
dbc8f4a4c2 nyx: Fix an underflow on Android UDA partition 2021-01-11 21:32:35 +02:00
CTCaer
c6c396ce2a reg5V: Manage battery source based on charger status 2021-01-11 21:30:59 +02:00
CTCaer
74b91b0085 nyx: Cover edge case on backup/restore checks for partition manager
An edge was fixed where the checks for if it's possible to backup files for partition manager would overflow and end up with a value < 1GB and thus proceeding to the backup/restore process.
2021-01-10 02:09:03 +02:00
CTCaer
53c9ca8072 nyx: Fix nyx hanging when updating the partition buttons 2021-01-06 21:29:18 +02:00
CTCaer
147ccd3070 nyx: Add Main/CPU/GPU pmic info. 2021-01-05 17:12:03 +02:00
CTCaer
dc5c26e7c6 nyx: Change fuse dumping names for T210B01 again
Use offsets in names for making it easier to parse.
2021-01-05 15:52:34 +02:00
CTCaer
4914af1200 nyx: Allow selection of emuMMC migration type 2021-01-05 15:44:35 +02:00
CTCaer
b57d26e99a nyx: Add nyx options save reminder 2021-01-05 15:41:27 +02:00
CTCaer
f196b8bb0e eks: Add compatibility support for v1.1 2021-01-05 15:37:36 +02:00
CTCaer
9daa14abec ums: Dim backlight and change the maintenance order 2021-01-04 20:12:26 +02:00
CTCaer
46921aca22 Disable battery management on dev units 2021-01-04 02:58:07 +02:00
CTCaer
41f96d4305 hos: Utilize burnt fuse info instead of keyblob
Streamline identification of HOS version quirks
2021-01-04 02:57:07 +02:00
CTCaer
0959dc3a2d nyx: Add touch panel info
This can probably also show if the panel is paired to the firmware.
In case it's not, an error will show up.
2021-01-04 02:49:07 +02:00
CTCaer
31baf3d19a nyx: Rearrange hw info a bit 2021-01-04 02:47:08 +02:00
CTCaer
f4696da0ef sdram: Update names for Aula 2021-01-04 02:45:32 +02:00
CTCaer
1a9372b4ce nyx: Add MSC partition for L4T Android 2021-01-03 14:52:13 +02:00
CTCaer
87b91174ec nyx: Disable Flash Linux/Android buttons if partitions not found 2021-01-03 14:51:48 +02:00
CTCaer
26fff275ce nyx: Remove L4T joycon driver mitigation
Seems that this was fixed long ago
2021-01-03 14:46:42 +02:00
CTCaer
53b44a525d Refactor emmcsn_path_impl and return serial number if needed
The refactoring also makes consecutive requests instantaneous.
2021-01-03 14:45:06 +02:00
CTCaer
faaf801534 nyx: Add metadata copy in partitioning and extra warns 2020-12-28 05:34:01 +02:00
CTCaer
3fa775e3ad nyx: Add burnt fuses - HOS pair info
Additionally add raw value info for ODM fuses 4, 6 and 7.
2020-12-28 05:32:23 +02:00
CTCaer
6663330de3 nyx: Split T210B01 fuse dumping for better readability 2020-12-28 05:30:34 +02:00
CTCaer
ed916360eb display: Add new panel revision 2020-12-28 05:24:42 +02:00
CTCaer
60b629e57f Move display related objects to display parrent 2020-12-28 05:19:23 +02:00
CTCaer
cbbd427d3a Change coreboot error from T210B01 to Mariko
Change T210B01 name in order for users to understand that it's about Mariko.
2020-12-26 17:30:49 +02:00
CTCaer
a85891ae00 Refactor AutoRCM tools 2020-12-26 16:38:21 +02:00
CTCaer
2628044ba8 fuse: Move more parsing into its specific object 2020-12-26 16:34:12 +02:00
CTCaer
52c65661d8 Improve Power off by resetting all regulators 2020-12-15 19:37:52 +02:00
CTCaer
601c85c23e util: Refactor power management (reboot/power off) 2020-12-15 19:33:46 +02:00
CTCaer
f1386c60af hos: Fix sleep on modchiped Erista 2020-12-11 18:22:33 +02:00
CTCaer
b6ec217484 exo: Support uart logging
This can be enabled via compile time flags or exosphere.ini.
Compile time flags override exosphere.ini
2020-12-11 18:14:00 +02:00
CTCaer
ad560b650e nyx: di: Set display id we got from bootloader 2020-12-11 17:49:06 +02:00
CTCaer
14a048a496 nyx: Add SD init info from bootloader
This shows info about the sd initialization process that happened on hekate main
2020-12-11 17:46:44 +02:00
CTCaer
fce59fba43 nyx: Add SD card AU info 2020-12-11 17:41:09 +02:00
CTCaer
685663dcf6 nyx: Add bis key print in console 2020-12-11 17:39:30 +02:00
CTCaer
cb61e856ad hos: Fix bis keygen for keygen rev 11 (HOS 9.1.0+) 2020-12-11 17:39:05 +02:00
CTCaer
5b8fb9fb6b Various refactoring and addition of comments 2020-12-11 17:25:59 +02:00
CTCaer
b8eff953c6 nyx: Utilize full shutdown based reboot for patched Erista also 2020-12-02 22:27:22 +02:00
CTCaer
cf1f94662c sdram: Correct some dram names 2020-12-02 22:26:06 +02:00
CTCaer
d287d40208 hos: Add HOS 11.0.0 support 2020-12-02 02:41:32 +02:00
CTCaer
2aa1ce5390 nyx: Add eMMC and SD vendor id decoding into names 2020-12-02 02:11:22 +02:00
CTCaer
cf175fc00d nyx: Add alternate power saving modes
T210:
By default max power savings is enabled.
By changing `newpowersave=` to 0, it reverts to the old behavior of smaller power savings.

This was added to mitigate some strange DRAM chips, hanging from constant frequency change of a 800 MHz - 1600 MHz back and forth.

T210B01:
Defaults to a simple loop with no power savings. That's because of untrained ram.
2020-12-02 02:07:31 +02:00
CTCaer
0954eb2b09 nyx: Use full shutdown based reboot on T210B01
That's because of how the system is exploited.
2020-12-02 01:45:12 +02:00
CTCaer
a1188505e8 usb: Add XUSB support mainly for T210B01 2020-12-02 01:13:52 +02:00
CTCaer
2424ecc4f0 Disable coreboot.rom chainloading for T210B01
Unlike all RCM payloads that are based on hekate's hwinit, coreboot does full power management before sdram init is run.

Because of that and because it doesn't support T210B01, it does not hang as expected and configures all regulators and pins which can be dangerous!
2020-12-02 00:57:32 +02:00
CTCaer
495907b8a4 sept: Mark as ready for Mariko 2020-07-04 21:36:37 +03:00
CTCaer
f9a1935762 nyx: Fix Dump pkg1/pkg2 and cal0 for Mariko 2020-07-04 21:36:04 +03:00
CTCaer
8ef9f888f6 hos: Add PK21 decryption support for Mariko 2020-07-04 21:35:26 +03:00
CTCaer
9b3e9724b7 hos: Add Mariko PK11 decryption and unpacking 2020-07-04 21:32:36 +03:00
CTCaer
8880dfab24 eks: Disallow on Mariko 2020-07-04 21:21:48 +03:00
CTCaer
5ffbbf40a5 hos: Add Mariko keygen 2020-07-04 21:13:25 +03:00
CTCaer
7acad84932 nyx: Disable TSEC keys status for T210B01 2020-07-04 21:04:57 +03:00
CTCaer
8d2230dc51 fuse: Correct fuse array size for T210B01 2020-07-04 21:04:20 +03:00
CTCaer
e4c0756ded nyx: Add DRAM names info + Mariko new ram codes 2020-06-26 22:41:34 +03:00
CTCaer
1c9efa327c Correct RCM patched status for Mariko
This also disallows AutoRCM for Mariko.
2020-06-26 22:40:06 +03:00
CTCaer
cabaa6cfb8 Utilize BIT macro everywhere 2020-11-26 01:41:45 +02:00
CTCaer
a84f1e5ee5 usb: Split descriptors to object and header 2020-11-15 14:10:00 +02:00
CTCaer
e45ffab5d8 Remove stray hekate cfg set. It's handled by default. 2020-11-15 14:00:35 +02:00
CTCaer
55568b037f nyx: Properly calculate Ranks and Channels in hw info 2020-11-15 13:50:19 +02:00
CTCaer
b5df428e43 nyx: Create bootloader folder on screenshots if missing 2020-11-15 13:47:47 +02:00
CTCaer
67a03bbd85 eks: Use LOT0 for identification 2020-11-15 13:43:22 +02:00
CTCaer
32955380c7 nyx: Fix icons for backup/restore swap 2020-11-15 13:40:53 +02:00
CTCaer
485edb4883 emc: Rename Device to Rank 2020-11-15 13:23:37 +02:00
CTCaer
8f222fd0bd main: Fix update.bin creation on first boot 2020-10-27 21:27:51 +02:00
CTCaer
1f5b371608 Refactor some names
Additionally:
- Do not retry to init sd if all modes failed in Nyx.
- Do not try to read/write if sdmmc controller and card are not initialized.
2020-10-23 06:32:24 +03:00
CTCaer
ce156ab4e7 hos: Automate some eks and bis checks 2020-10-20 11:53:28 +03:00
CTCaer
94235dd005 bm92t30: Add proper info
The driver will now show more charger supported profiles and will also show selected profile.
2020-10-20 10:42:57 +03:00
CTCaer
27b1f0e843 Various small fixes 2020-10-20 10:32:32 +03:00
CTCaer
dae7be8ec4 nyx: Allow disabling of Joycon
Setting `jcdisable=1` in nyx.ini disables the usage of Joycon completely.

This also disables the BT pairing data dumping tool.
2020-10-20 10:21:48 +03:00