Currently when using hf felica raw command with flag -s it fails because of the CRC check during command reception.
But if then we take a look into hf felica list, we can see that in fact it receives correct data:
The reason of that, is that when -s flag is used firmware side calls felica_select_card which selects a card and copies all the data to felica_card_select_t which then is transmitted to client.
And then when client tries to check CRC it fails, because it expects raw frame for that check.
Solution:
This fix changes the logic so felica_select_card on the firmware side returns a raw frame to client, which then is able to check CRC correctly. Also it required to change 'read_felica_uid' on the client side, now it copies required data from raw bytes to felica_card_select_t.
Problem:
Currently when using
But if then we take a look into
The reason of that, is that when
hf felica raw
command with flag-s
it fails because of the CRC check during command reception.hf felica list
, we can see that in fact it receives correct data:-s
flag is used firmware side callsfelica_select_card
which selects a card and copies all the data tofelica_card_select_t
which then is transmitted to client. And then when client tries to check CRC it fails, because it expects raw frame for that check.Solution:
This fix changes the logic so
felica_select_card
on the firmware side returns a raw frame to client, which then is able to check CRC correctly. Also it required to change 'read_felica_uid' on the client side, now it copies required data from raw bytes tofelica_card_select_t
.