Closed globalcitizen closed 6 years ago
1 - Are you sure the device is working properly?
2 - Is it compatible with IDRWv3
Windows Tool?
2 - Is that a MIFARE compatible device? From the usb information you provided it looks like a MIFARE reader:
New USB device strings: Mfr=1, Product=2, SerialNumber=3
If that's the case, then the commands should be totally different.
3 - Have you tried to reverse it following the wiki document?
It's new so I guess so.
I never received their software. This is the device: https://item.taobao.com/item.htm?id=523056712683
It will read a whole bunch of stuff. "13.56Mhz IC卡: 支持S20/S50/S70卡,Ultralight/UltralightC, Ntag203系列,Mifare Plus , 支持Mifare Desfire ,FM1208系列等RFID". Most readers on the market seem to read a whole bunch of different standards. Many of them seem to use the ALPAR protocol. Apparently there are two major interfaces presented by low end USB readers on the market, serial via UART (often using Prolific chipsets) and HID. I came to your project because this is a HID based product.
Not yet.
I did however notice some comments online suggesting some of the HID based solutions don't actually follow the USB spec and hence don't work properly with standard Linux or OSX USB stacks, requiring kernel patches. This would explain the iProduct
and iManufacturer
returning as (error)
after a few seconds of being plugged in. I have sort of written off getting this to work now, based on reading that, and won't be putting any further time in to it.
PS. Although the manufacturer claimed Linux support on the sales page they retracted this claim when contacted and invited me to ship the product back for a refund.
FYI - got the software from them.
I have since dumped many successful reads for MifareS50 and will try to analyze these dumps over the next few days and compare with your code / data. Here is the basic flow and the final value being read.
That sounds great @globalcitizen. Feel free to open a new issue for your hardware where you can post your progress and maybe we can extend the library for several similar USB HID hardwares in the future. I was planning to add a new document with a couple of clarifications on how to calculate CRC in a better way, and how to discover available commands using brute force, but I haven't had the time yet; I'll try to do it this weekend.
No idea why I get busy errors.
Made this test to use the device.
I did notice that the thing gives errors after being plugged in awhile.