-
Notifications
You must be signed in to change notification settings - Fork 393
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cannot get Reader mode to work #81
Comments
Update: Emulation works fine. It was a problem with my reader |
My reader had the same problem before.but now it return the uid of my card .so ,i think you can try more cards,it seem that it can only work with nxp products. |
@feifeilanniao how did you fix it? I am pretty sure I am using nxp cards. Some of them are encrypted, but the reader should see the uid anyway. |
Do you have the oscilloscope? You can use the oscilloscope to find the problem. |
@feifeilanniao Yes, I do have an oscilloscope. What should I measure? |
@Peterthegreat |
I got a timeout response. I did a reflash (the self tests passed again ) and tried the windows GUI and the results are the same. Looks like a hardware problem to me. |
Here is the output on X3 when reading UID. I will test the 'demod reader' now. |
it seem that your borad can out put 13.5MHZ wave after you send a command GETUID,maybe be it is just a problem of your card. |
Both measurements here .. It's ok that they are both the same frequency? |
I will post the output from 2 different readers when they try to get the UID. I have multiple cards. |
Ok,and you can try to set the messure time at ms level,then you can see how the card modulate the signal. |
Hi @Peterthegreat Also note that for the reader also the DEMOD signal is used, not the DEMOD-READER (we know, it is a bit confusing ;) ). |
Sorry for the late response, here are the tags I am trying to read (photos from my phone's NFC reader). thank you again for helping me out |
From the photos of "DEMOD" signal,i think that there is no problem with your board hardware.The problem may be come from the firmware or your cards. |
@feifeilanniao Well, as you can see from the uploaded photos, I had the flash memory rewritten 2 times (successfully), and the self-tests results was ok each time. The cards are Mifare 1K, ISO 14443 A and Mifare Ultralight. Reading UIDs from other reader I can try a full chip erase and rewrite the boot-loader and flash if you think is worth a shot. |
Well, actually, your DEMOD signal does not look very good. The big pulses are the readers REQA. The small ones are the cards answer. Since the reader does not recognize the answer, it directly starts the transmission of the next REQA. It looks like the pictures are taken with cards, which antennas have a shape that does not good couple with the Chameleons antenna. On the software-side you could play with the threshold=... command to maybe recognize the cards answers. |
I had some of the same problems, first issue was I had not turned the card on, look for a switch on the left side it is "off" by default. The second issue was the default timeout if 1000ms and it was not reading the id fast enough to before the timeout. I reset it to 5000ms and it was able to get the "101:OK WITH TEXT" and my UID. |
@Peterthegreat Could you solve your problem? |
@geo-rg You were right, the threshold solves a part of my issue. I will post some results this weekend, but there are still some major problems. |
First, let me share how I got the reader mode to work (partially, as I am unable to read Mifare Ultralight yet) -This doesn't require an oscilloscope- . Open a serial com and set the following:
Now put 2 Mifare 1K cards below the ChameleonMini ( or make a sandwich with some NFC cards e.g. card 2 comes on top of the ChameleonMini ), as shown in this picture (the cards must not have any space between them). I suppose this will reflect some of the electromagnetic field. Then, approach a 3rd card on the top of the ChameleonMini, again, very close to it. If the threshold level is close to the correct one, the red LED should blink. Regardless if the led blinks or not, you should now change the threshold level (490 was the one that worked for me) and try GETUID again.
Note that different card shapes / card manufacturers require different threshold levels. Because the the threshold level is brought back to default value after a power off, one solution is to hard-code the threshold level by recompiling the source code. A nicer approach would be to have the threshold level stored somewhere in EEPROM. Now, regarding my other problems with the chameleon...
Note that the threshold level setting is related to reader only. |
Excellent description of the problem. Well done for the perfect demo. |
Hi @Peterthegreat, But as I can see from your photos, you also tried reading one single card with an appropriate distance. Just to tell you how it works for the Chameleons I have here: I can put an arbitrary card directly on it and obtain its UID without adjusting the threshold. Even different card shapes are ok. There are very few cards that don't work good (In fact I only know of one). If you use the most recent firmwares and since most people seem to not have this problem, I would also take into account a hardware malfunction. Regarding the Chameleon stopping after a random period of time: This also seems - supposing you are using a recent firmware - strongly like a hardware malfunction. If it were a software malfunction, the power LED would be still lighting. There is only a slight chance that a software error would turn off the power LED. Regarding the emulation problems: Did I understand correctly, that even when it works, it has a 30 % error rate? Which reader are you using? We are aware that emulation does not work perfectly in every distance and relative position, which was a hardware design tradeoff. But we seldom had an error rate of 30%. |
Regarding the emulation problem... I thought that "MFClassic_patch" was already built, so I was trying the same .hex file as in the master branch. Emulation works fine now (using the patch) Will post more info soon |
Update README.md
I can't use my ChameleonMini to read any type of cards, but emulation and other functions works.
For the emulation, I have to hold the reader at a specific distance, and even then, from the reader's perspective the emulated card is detected for a few milliseconds but it disconnects, so a full read is not finished. Most of the time it reads only a few blocks, but sometimes it manages to do a full read.
The board was soldered by me, but it passed all the tests (except the test-version one)
# ChameleonMini-master/Software/test_commands.py
..................................................F
FAIL: testVersion
(__main__.TestCommands)
More info:
http://i.imgur.com/rFg0QdG.png
The text was updated successfully, but these errors were encountered: