frux-c/uhf_rfid

The app is unstable

Opened this issue · 15 comments

Hello.

Used the app some time ago and it worked just fine except this - #9
It was versions:

  • uhf_rfid: commit 0b8e241 (2023-10-08)
  • unleashed-firmware built 2023-10-15 commit b87a8ca3

After update the App and Flipper's firmware it works unstable
The new versions are:

  • uhf_rfid commit a842673
  • unleashed-firmware built 2024-04-10 commit c1e8cbf3 OR momentum-firmware built 2024-04-26 commit a31cd149

The hardware module is the same.

Made some attempts:

1 - run - read - reboot, MPU fault, possibly stack overflow
2 - run - read - reboot, MPU fault, possibly stack overflow
3 - run - read - reboot, MPU fault, possibly stack overflow
4 - run - read - success - read - reboot, BusFault
5 - run - read - reboot, BusFault
6 - run - reboot, maloc(0)
7 - run - read - success - read - success - read - success - read - reboot, BusFault
8 - run - read - success - read - success - read - success - read - reboot, BusFault
9 - run - reboot, malloc(0)
10 - run - read - reboot, BusFault
11 - run - read - reboot, MPU fault, possibly stack overflow

Module info:
HW Version: M100 26dBm V1.0
SW Version: V2.3.5X
Manufacturer: MagicFf

Module info may be incomplete:
Sometimes there is no Manufacturer info or SW Version is empty.
Sometimes Manufacturer seems like "Manufacturer: Mag"

Rolled back to mentioned old versions of the app and firmware and it works again.

Update, 12th attempt:

12 - run - reboot, out of memory

Thats why is a WIP. and the tag you might be reading might be ones with a large memory. The recent version of the app attempts to reads the entire length and thats likely why. This is something i'll eventually fix, hopefully this summer. But for now increase the mem allocation size in the app manifest.

Thank You for your advice.

Tried "stack_size=16 * 1024" and "stack_size=20 * 1024"
Did not help much. Looks like about 30%-40% success rate.

And Flipper reboots with "furi_check failed" if i exit the app with back button.

P.S. I read cheap UHF RFID stickers from aliexpress and can provide the dumps if You need them.

P.S. I read cheap UHF RFID stickers from aliexpress and can provide the dumps if You need them.

you can just provide the first eight digits of the TID, should loook something like E28x xxxx
that alone can let us know exactly which tag you have and what its max memory is for memory block.

I'd advise going back to official firmware public realease when you give feedback on WIP faps, CFWs are known to cause problems sometimes, and dev branches even more so...

Saved TIDs:

E2 00 34 12 01 2F FD 00
E2 80
E2 80 11 70 20 00
E2 80 11 70 20 00 FF FF
E2 80 38 21 20 00 68 21
E2 80 68 94 20 00
E2 80 68 94 20 00 40 1A
E2 80 69 95 20 00 40 03
E2 80 69 95 20 00 40 14
E2 80 69 95 20 00 50 0B

alright, in order,
-Alien Higgs 3
-incomplete TID, likely locked
-Impinj Monza R6-P
-Impinj Monza R6-P
-Alien Higgs 9
-NXP Ucode 8
-NXP Ucode 8
-NXP Ucode 9
-NXP Ucode 9
-NXP Ucode 9

Thank You for your advice.

Tried "stack_size=16 * 1024" and "stack_size=20 * 1024" Did not help much. Looks like about 30%-40% success rate.

And Flipper reboots with "furi_check failed" if i exit the app with back button.

P.S. I read cheap UHF RFID stickers from aliexpress and can provide the dumps if You need them.

Could you write the scenarios that lead to furi_check_failed if you get the chance? @RekordNadoev

Made some tests.
The problem exists with Unleashed firmware.

  1. Run the app => see "No UHF Module found => select "Retry" => see "Module info" => push back button => reboot with "furi_check failed"
  2. Run the app => see "No UHF Module found => select "Retry" => see "Module info" => select "Continue" => see main menu => push back button => see "Module info" => push back button => reboot with "furi_check failed"

There is no problem with Momentum firmware. The app exits normally.

For the love of god. USE OFW WHEN WRITING BUG REPORTS AND TESTING.

@RekordNadoev could you build and try the tag-id-detail linked commit and let me know if that fixed some of the app exiting issues?

It looks more spable now.
Thank You.
Couple of times got "MPU fault, possibly stack overflow" afterl long reading attemts with about 60 cm distance.

But i got different data from one card. Read four times and get:

Attempt 1
Filetype: Flipper UHF RFID device
Version: 1
PC: 30 00
CRC: 9B B7
EPC_LENGTH: 12
EPC: E2 80 68 94 00 00 00 44 16 80 6D 91
TID_LENGTH: 0
TID:
USER_LENGTH: 18
USER: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Attempt 2
Filetype: Flipper UHF RFID device
Version: 1
PC: 30 00
CRC: 9B B7
EPC_LENGTH: 12
EPC: E2 80 68 94 00 00 00 44 16 80 6D 91
TID_LENGTH: 0
TID:
USER_LENGTH: 64
USER: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Attempt 3
Filetype: Flipper UHF RFID device
Version: 1
PC: 30 00
CRC: 9B B7
EPC_LENGTH: 12
EPC: E2 80 68 94 00 00 00 44 16 80 6D 91
TID_LENGTH: 14
TID: E2 00 34 12 01 24 FD 00 0B AE 40 14 0F 12
USER_LENGTH: 0
USER:

Attempt 4
Filetype: Flipper UHF RFID device
Version: 1
PC: 30 00
CRC: 9B B7
EPC_LENGTH: 12
EPC: E2 80 68 94 00 00 00 44 16 80 6D 91
TID_LENGTH: 22
TID: E2 00 34 12 01 24 FD 00 0B AE 40 14 0F 12 01 4D 70 0D 5F FB FF FF
USER_LENGTH: 0
USER:

P.S. Unleashed, dev branch, last commit.
Later will try with momentum firmare. I don't use ofw,

Same situation with momentum firmware, dev branch, last commit.

Filetype: Flipper UHF RFID device
Version: 1
PC: 30 00
CRC: 0C A4
EPC_LENGTH: 12
EPC: E2 80 68 94 00 00 40 1A 49 46 60 3C
TID_LENGTH: 2
TID: E2 80
USER_LENGTH: 0
USER:

Filetype: Flipper UHF RFID device
Version: 1
PC: 30 00
CRC: 0C A4
EPC_LENGTH: 12
EPC: E2 80 68 94 00 00 40 1A 49 46 60 3C
TID_LENGTH: 0
TID:
USER_LENGTH: 0
USER:

Filetype: Flipper UHF RFID device
Version: 1
PC: 30 00
CRC: 0C A4
EPC_LENGTH: 12
EPC: E2 80 68 94 00 00 40 1A 49 46 60 3C
TID_LENGTH: 6
TID: E2 80 69 95 20 00
USER_LENGTH: 0
USER:

Filetype: Flipper UHF RFID device
Version: 1
PC: 30 00
CRC: 0C A4
EPC_LENGTH: 12
EPC: E2 80 68 94 00 00 40 1A 49 46 60 3C
TID_LENGTH: 10
TID: E2 80 69 95 20 00 50 0B D7 75
USER_LENGTH: 0
USER:

hmm let me look into this @RekordNadoev . thanks for testing it

I'm having the same issues as the original post

I open the app, and it seems it's trying too quickly to detect the hardware, as it just says No UHF module found. Sometimes hitting retry works, sometimes it keeps showing not found. This happens consistently, it will say module not found every time I start it up.

Reading a tag will sometimes work (20-30% of the time) other times I get "MPU fault, possibly stack overflow"

It will sometimes freeze while reading, and refuse to let me exit, and then forcibly reboots and shows "null pointer dereference" Or "furi check failed"

This is reading a single tag, if I try with multiple tags nearby, it crashes every time.

TID of the tag I've been mainly using e2 80 11 00 Decodes as an Impinj chip

Unleashed FW Ver. unlshd-078e 11-09-2024 (this also happens on Momentum Mntm-007 just as frequently.
I don't run OFW.

HW Version M100 26DBM V1.0
SW Version 2.3.26 or 2.3.5x (it changes between the two when the app is restarted)
Manufacturer MagicRf

I am using the V2 Flippermeister board with the YRM100 module, following the directions on the Red Team Tools website for installation and repinning the cable.