atlas0fd00m / rfcat

RfCat - swiss-army knife of ISM band radio
Other
560 stars 116 forks source link

What is the latest rfcat firmware revision (or version) for YS1? #160

Open raulsiles opened 1 month ago

raulsiles commented 1 month ago

Hi @atlas0fd00m:

Looking in detail in the rfcat releases webpage (https://github.com/atlas0fd00m/rfcat/releases) I see that the pre-compiled firmware (".hex" files) offered with rfcat v2.0.1 (dated Aug 29, 2023) for YS1 are still the ones from v1.9.4, originally dated on Dec 31, 2020 (hence 201231 in the filename, I guess). I've checked the hashes (MD5) are the same between the files in the v1.9.4 release and in the v2.0.1:

If I upgrade the firmware manually using these files, e.g. RfCatYS1CCBootloader-201231.hex, the "Firmware rev:" version I get is: 0606.

However, if I follow the rfcat firmware update procedure for YS1 (from the README, https://github.com/atlas0fd00m/rfcat) and compile and install the firmware from the "./firmware" dir in the v2.0.1 ZIP file, using SDCC 3.5.0, I get a different hash (expected, as there are multiples potential variations part of the compilation process), and the "Firmware rev:" version I get is: 5535. IIRC, this is the same revision I got in previous firmware versions (e.g. v1.9.5) when compiling and installing the firmware myself.

A few questions regarding the latest v2.0.1 version:

1) What should be the latest rfcat "Firmware rev:" version for YS1 when running "print(d.reprRadioConfig())"? 2) What should be the latest rfcat firmware files (".hex" files) for YS1? 3) In the v1.9.6 and v1.9.7 releases (only) you added two extra ".hex" firmware files, "RfCatYS1CCBootloader_3.5.0.hex" and "RfCatYS1CCBootloader_3.8.0.hex", I guess compiled with SDCC 3.5.0 and 3.8.0 respectively, plus an extra "RfCatYS1CCBootloader.hex" file. What is the purpose of these files, and what is its relationship with the other "RfCatYS1-201231.hex" and "RfCatYS1CCBootloader-201231.hex" files, also available in these two releases?

Thanks.

atlas0fd00m commented 1 month ago

hey raul, great questions. there are times when the release number changes, but the firmware itself hasn't changed. many of the releases have to do with the Python, and we don't recompile the firmware in those cases.

i can look into the details of your questions, hopefully tomorrow, but it's 2am and i'm at the bottom of a nice bottle of baia de troita-castelao (red wine) and it's better that i wait. although, the firmware haven't been updated (recompiled) since 31/12/2020.

the key difference between any firmware and one ending in "CCBootloader-#######.hex" is that one is for raw-flashing (using CC debugger or a GoodFET) and the other is for use with the CCBootloader (having it installed on the dongle already, which is the default shipping method). we/GSG ship the dongles with the bootloader so that anyone can flash firmware and update theirs, without having a hardware programmer. we tag these firmwares with the CCBootloader in the name to delineate them, because raw firmware writes over where they CCBootloader goes, and there are address/offset differences between the builds.

i hope this helps! @

On Wed, Sep 25, 2024 at 5:59 AM Raul Siles @.***> wrote:

Hi @atlas0fd00m https://github.com/atlas0fd00m:

Looking in detail in the rfcat releases webpage ( https://github.com/atlas0fd00m/rfcat/releases) I see that the pre-compiled firmware (".hex" files) offered with rfcat v2.0.1 (dated Aug 29, 2023) for YS1 are still the ones from v1.9.4, originally dated on Dec 31, 2020 (hence 201231 in the filename, I guess). I've checked the hashes (MD5) are the same between the files in the v1.9.4 release and in the v2.0.1:

  • RfCatYS1-201231.hex: 8df154661c0bdb266b7aa668eb9132a3
  • RfCatYS1CCBootloader-201231.hex: a95b648562a22cf00200cab39bd958c7

If I upgrade the firmware manually using these files, e.g. RfCatYS1CCBootloader-201231.hex, the "Firmware rev:" version I get is: 0606.

However, if I follow the rfcat firmware update procedure for YS1 (from the README, https://github.com/atlas0fd00m/rfcat) and compile and install the firmware from the "./firmware" dir in the v2.0.1 ZIP file, using SDCC 3.5.0, I get a different hash (expected, as there are multiples potential variations part of the compilation process), and the "Firmware rev:" version I get is: 5535. IIRC, this is the same revision I got in previous firmware versions (e.g. v1.9.5) when compiling and installing the firmware myself.

A few questions regarding the latest v2.0.1 version:

  1. What should be the latest rfcat "Firmware rev:" version for YS1 when running "print(d.reprRadioConfig())"?
  2. What should be the latest rfcat firmware files (".hex" files) for YS1?
  3. In the v1.9.6 and v1.9.7 releases (only) you added two extra ".hex" firmware files, "RfCatYS1CCBootloader_3.5.0.hex" and "RfCatYS1CCBootloader_3.8.0.hex", I guess compiled with SDCC 3.5.0 and 3.8.0 respectively. What is the purpose of these files, and what is its relationship with the other "RfCatYS1-201231.hex" and "RfCatYS1CCBootloader-201231.hex" files, also available in these two releases?

Thanks.

— Reply to this email directly, view it on GitHub https://github.com/atlas0fd00m/rfcat/issues/160, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACLBRBZ5RRM3ZPVSUTGGULTZYKCPRAVCNFSM6AAAAABO2E2U6WVHI2DSMVQWIX3LMV43ASLTON2WKOZSGU2DONJTGMZTSNQ . You are receiving this because you were mentioned.Message ID: @.***>

raulsiles commented 1 month ago

Hi atlas:

Thanks for your response. I understand then that the latest rfcat pre-compiled firmware version for the YS1 is "RfCatYS1CCBootloader-201231.hex", from Dec 31, 2020. Therefore, the latest rfcat "Firmware rev:" version for YS1 when running "print(d.reprRadioConfig()) should display 0606. Is this right? (this will answer questions 1 and 2)

I'm looking forward to receiving the specific details to my original questions (specially, the confirmation for the previous paragraph and question 3).

Thanks!

PS: I hope you enjoyed that red wine :-) Next time, you have to try one of the famous Spanish red wines, such as Rioja, Ribera del Duero, Valdepeñas or Toro ;-)