/source/hos/pkg1.c - What code do I need to add here to be able to use it under FW 17.0.0?

Muxi

Well-Known Member
OP
Member
Joined
Jun 1, 2016
Messages
606
Trophies
0
Age
52
XP
2,143
Country
Germany
I want to make a RCM payload fit to run under FW 17.0.0. Currently this code is included in the corresponding file (pkg1.c) and only functional up to FW 11.0.1. Can someone please tell me what needs to be added there to make the payload work under FW 17.0.0? Thanks a lot in advance for any answers.

Code:
static const pkg1_id_t _pkg1_ids[] = {
    { "20161121183008", 0 }, //1.0.0
    { "20170210155124", 0 }, //2.0.0 - 2.3.0
    { "20170519101410", 1 }, //3.0.0
    { "20170710161758", 2 }, //3.0.1 - 3.0.2
    { "20170921172629", 3 }, //4.0.0 - 4.1.0
    { "20180220163747", 4 }, //5.0.0 - 5.1.0
    { "20180802162753", 5 }, //6.0.0 - 6.1.0
    { "20181107105733", 6 }, //6.2.0
    { "20181218175730", 7 }, //7.0.0
    { "20190208150037", 7 }, //7.0.1
    { "20190314172056", 7 }, //8.0.0 - 8.0.1
    { "20190531152432", 8 }, //8.1.0
    { "20190809135709", 9 }, //9.0.0 - 9.0.1
    { "20191021113848", 10}, //9.1.0
    { "20200303104606", 10}, //10.0.0 - 10.2.0
    { "20201030110855", 10}, //11.0.0 - 11.0.1
    //From here on the code must be completed//
    { NULL } //End.
};
 

masagrator

The patches guy
Developer
Joined
Oct 14, 2018
Messages
6,307
Trophies
3
XP
12,101
Country
Poland
Just try to run 17.0.0 with some old Hekate, you will get number on the left as part of error screen.

Number on the right should be 16
 
  • Like
Reactions: Muxi

Muxi

Well-Known Member
OP
Member
Joined
Jun 1, 2016
Messages
606
Trophies
0
Age
52
XP
2,143
Country
Germany
I've been updating the CFW system for years and always right that I seem to have a hard time doing it wrong with older Hekate versions. Either I get the message "there must be dragons - update your bootloader folder" when booting or I get a blackscreen. However, I do not get the desired error message with the necessary ID. Can someone please describe me exactly how I have to proceed under FW 17.0.0 to install for example Hekate 6.0.6/NYX 1.5.5?
 

Muxi

Well-Known Member
OP
Member
Joined
Jun 1, 2016
Messages
606
Trophies
0
Age
52
XP
2,143
Country
Germany
It is a modified version of Incognito_RCM by me, which is only designed for the emuMMC, so nothing can be changed on the sysMMC.
 

Badablek

Well-Known Member
Member
Joined
Jan 23, 2006
Messages
527
Trophies
1
Age
43
XP
2,955
Country
France
@Muxi maybe this : https://github.com/Atmosphere-NX/Atmosphere/blob/master/fusee/program/source/fusee_setup_horizon.cpp

Code:
 case 0x10:
                    if (std::memcmp(package1 + 0x10, "20190314", 8) == 0) {
                        return ams::TargetFirmware_8_0_0;
                    } else if (std::memcmp(package1 + 0x10, "20190531", 8) == 0) {
                        return ams::TargetFirmware_8_1_0;
                    } else if (std::memcmp(package1 + 0x10, "20190809", 8) == 0) {
                        return ams::TargetFirmware_9_0_0;
                    } else if (std::memcmp(package1 + 0x10, "20191021", 8) == 0) {
                        return ams::TargetFirmware_9_1_0;
                    } else if (std::memcmp(package1 + 0x10, "20200303", 8) == 0) {
                        return ams::TargetFirmware_10_0_0;
                    } else if (std::memcmp(package1 + 0x10, "20201030", 8) == 0) {
                        return ams::TargetFirmware_11_0_0;
                    } else if (std::memcmp(package1 + 0x10, "20210129", 8) == 0) {
                        return ams::TargetFirmware_12_0_0;
                    } else if (std::memcmp(package1 + 0x10, "20210422", 8) == 0) {
                        return ams::TargetFirmware_12_0_2;
                    } else if (std::memcmp(package1 + 0x10, "20210607", 8) == 0) {
                        return ams::TargetFirmware_12_1_0;
                    } else if (std::memcmp(package1 + 0x10, "20210805", 8) == 0) {
                        return ams::TargetFirmware_13_0_0;
                    } else if (std::memcmp(package1 + 0x10, "20220105", 8) == 0) {
                        return ams::TargetFirmware_13_2_1;
                    } else if (std::memcmp(package1 + 0x10, "20220209", 8) == 0) {
                        return ams::TargetFirmware_14_0_0;
                    } else if (std::memcmp(package1 + 0x10, "20220801", 8) == 0) {
                        return ams::TargetFirmware_15_0_0;
                    } else if (std::memcmp(package1 + 0x10, "20230111", 8) == 0) {
                        return ams::TargetFirmware_16_0_0;
                    } else if (std::memcmp(package1 + 0x10, "20230906", 8) == 0) {
                        return ams::TargetFirmware_17_0_0;

there is no time code, only date code, so I don't know if it will be useful..
 
  • Like
Reactions: Muxi

masagrator

The patches guy
Developer
Joined
Oct 14, 2018
Messages
6,307
Trophies
3
XP
12,101
Country
Poland
Oh, the numeric code has 6 digits more than all the others. Does that make a difference?
Provided source code by you has exact count of digits as my number? Yes, it is a difference, because your payload relies on longer ones, while new payloads don't hardcode last 6 digits. So you cannot use those shorter ones with your payload without rewriting some portion of code.
 
  • Like
Reactions: Muxi

Muxi

Well-Known Member
OP
Member
Joined
Jun 1, 2016
Messages
606
Trophies
0
Age
52
XP
2,143
Country
Germany
Was the code from you for FW 17.0.0? Are the other codes not needed when you are on FW 17.0.0? So it will work from FW 1.0.0 - 11.0.1 and FW 17.0.0. FW 12.0.0 - 16.1.0 is therefore not supported.

I have now added so. Is that right?

Code:
static const pkg1_id_t _pkg1_ids[] = {
    { "20161121183008", 0 }, //1.0.0
    { "20170210155124", 0 }, //2.0.0 - 2.3.0
    { "20170519101410", 1 }, //3.0.0
    { "20170710161758", 2 }, //3.0.1 - 3.0.2
    { "20170921172629", 3 }, //4.0.0 - 4.1.0
    { "20180220163747", 4 }, //5.0.0 - 5.1.0
    { "20180802162753", 5 }, //6.0.0 - 6.1.0
    { "20181107105733", 6 }, //6.2.0
    { "20181218175730", 7 }, //7.0.0
    { "20190208150037", 7 }, //7.0.1
    { "20190314172056", 7 }, //8.0.0 - 8.0.1
    { "20190531152432", 8 }, //8.1.0
    { "20190809135709", 9 }, //9.0.0 - 9.0.1
    { "20191021113848", 10}, //9.1.0
    { "20200303104606", 10}, //10.0.0 - 10.2.0
    { "20201030110855", 10}, //11.0.0 - 11.0.1
    { "20230906134551", 16}, //17.0.0+
    { NULL } //End.
};
Post automatically merged:

while leaving bootloader folder from newer version
However, I took the bootloader folder of version 6.0.6 and overwrote all the data on the SD card. Apparently it is not because of that. I also deleted the update.bin, although I don't think that did much.

The code with the longer row of numbers is the original code of this payload. The code with the lower number row was from the Tegra Explorer predecessor version source code, which I took because higher FW versions than 11.0.1 were also supported there.
Post automatically merged:

Just try to run 17.0.0 with some old Hekate, you will get number on the left as part of error screen.
Only for the future:
Could you please post me a step by step guide on how to proceed to get future pkg1 IDs? Currently I have an emuMMC running FW 17.0.0 with Hekate 6.0.7/NYX 1.5.6 and AMS 1.6.2. This should serve as a starting point.
I'm really only concerned with knowing what to replace, and what to delete, in the existing installation.

btw:
I had already tried this with the Hekate predecessor version, but failed. The desired error message with the pkg1 ID was not output. Obviously I must have done something wrong. Therefore this request. Thanks in advance for your efforts.
 
Last edited by Muxi,

Muxi

Well-Known Member
OP
Member
Joined
Jun 1, 2016
Messages
606
Trophies
0
Age
52
XP
2,143
Country
Germany
I have now been able to collect all the PKG1 IDs that have been released so far from various sources and now have everything up to FW 17.0.0 in full. Since I have not received a reply to my last request, does anyone know of any tools that are currently still supported from whose source code I could take future PKG1 IDs?
Code:
static const pkg1_id_t _pkg1_ids[] = {
    { "20161121183008", 0 }, //  1.0.0
    { "20170210155124", 0 }, //  2.0.0 - 2.3.0
    { "20170519101410", 1 }, //  3.0.0
    { "20170710161758", 2 }, //  3.0.1 - 3.0.2
    { "20170921172629", 3 }, //  4.0.0 - 4.1.0
    { "20180220163747", 4 }, //  5.0.0 - 5.1.0
    { "20180802162753", 5 }, //  6.0.0 - 6.1.0
    { "20181107105733", 6 }, //  6.2.0
    { "20181218175730", 7 }, //  7.0.0
    { "20190208150037", 7 }, //  7.0.1
    { "20190314172056", 7 }, //  8.0.0 - 8.0.1
    { "20190531152432", 8 }, //  8.1.0
    { "20190809135709", 9 }, //  9.0.0 - 9.0.1
    { "20191021113848", 10}, //  9.1.0
    { "20200303104606", 10}, // 10.0.0 - 10.2.0
    { "20201030110855", 10}, // 11.0.0 - 11.0.1
    { "20210129111626", 10}, // 12.0.0 - 12.0.1
    { "20210422145837", 10}, // 12.0.2 - 12.0.3
    { "20210607122020", 11}, // 12.1.0.
    { "20210805123730", 12}, // 13.0.0 - 13.2.0
    { "20220105094454", 12}, // 13.2.1.
    { "20220209100018", 13}, // 14.0.0 - 14.1.2
    { "20220801142548", 14}, // 15.0.0 - 15.0.1
    { "20230111100014", 15}, // 16.0.0 - 16.1.0
    { "20230906134551", 16}, // 17.0.0
    { NULL } //End.
};
 
Last edited by Muxi,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • BakerMan
    I rather enjoy a life of taking it easy. I haven't reached that life yet though.
  • Veho @ Veho:
    Peen apple.
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    "pine unf apple" doesn't count! Lol
  • Psionic Roshambo @ Psionic Roshambo:
    Employee code of conduct videos are awesome!!! Did you know eating the other employees is bad? I didn't know... Lol
    +1
  • AncientBoi @ AncientBoi:
    Anymore males there? :blush:
  • Psionic Roshambo @ Psionic Roshambo:
    All of us lol
  • Psionic Roshambo @ Psionic Roshambo:
    I got free every channel so that's awesome lol
    +1
  • AncientBoi @ AncientBoi:
    Give me ALL the gay pron channels, since you won't be watching them :blush::D
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Lol they exist?
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Hmmm so Mario Does Luigi's plumbing is a bad movie? Lol
  • Psionic Roshambo @ Psionic Roshambo:
    These videos are soooo dry
  • Psionic Roshambo @ Psionic Roshambo:
    Please click all suspicious links sent your email
    +1
  • BigOnYa @ BigOnYa:
    What to do today? Cut grass for 3-4 hours, or just get drunk and play video games... Hmm
    +1
  • BigOnYa @ BigOnYa:
    I need a remote controlled mower, so I can sit on the couch and do both.
  • BigOnYa @ BigOnYa:
    Sounds good to me, video games and booze it is then.
    +1
  • denpafan @ denpafan:
    Good choice
    +1
  • BigOnYa @ BigOnYa:
    Now what to play, Starfield or Fallout4. And what to drink, beer or Whiskey and Coke. Such tough decisions.
  • BigOnYa @ BigOnYa:
    Looks like its whiskey & coke, only 4 beers left. And think ill start with Falllout. :grog:
  • rqkaiju2 @ rqkaiju2:
    THIS IMAGE IS SO SCARY WTF. THAT SURE AS HELL IS NOT A CAT THATS LIKE A FUCKING DEMON

    Untitled2.png
  • Psionic Roshambo @ Psionic Roshambo:
    Bonus points for running things over with the lawn mower?
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Monster truck Lawn Mower extreme
  • BakerMan @ BakerMan:
    she was an apple appstore girl
    he was an uptodown boy
    BakerMan @ BakerMan: she was an apple appstore girl he was an uptodown boy