I am new to Raspberry Pi and I want to use an HID Omnikey 5421 with a Raspberry Pi - it is a dual interface contact and contactless reader. After some research I was able to communicate with the contact reader using this post, but the contactless reader is not visible in Raspberry Pi. It seems like some driver problem. Can any one help me with this?
-
1I believe the driver problem here is that official drivers are closed-source and only exist for x86 platform. I may be wrong (and I hope I am), but it looks like you bought two incompatible pieces of hardware which you want to work together, completely ignoring the word incompatible.– Dmitry GrigoryevFeb 28, 2017 at 15:45
2 Answers
Buy A Compatible Card Reader
You're probably going to have to buy a card reader that is compatible with the Raspberry Pi.
Elaborating on Dmitry's Comment
Basically, drivers need to be compatible with both your OS and your CPU.
You're likely running Raspbian as your OS, which is a Linux distribution.
The Raspberry Pi v1 has an ARM6 CPU, while Raspberry Pi v2 and v3 have ARM7 CPUs.
So you'll need drivers for Linux ARM6 or Linux ARM7.
The only Linux drivers available on HID Global's Drivers & Downloads page are for devices with i686 or x86_64 CPUs, so those drivers aren't compatible with any of the Raspberry Pi's.
While it's sometimes possible to use an emulator program (like QEMU) to run i686 applications on ARM, emulating i686 drivers can be complicated.
The only drivers available for ARM6 or ARM7 are for the Windows CE OS:
OMNIKEY 5x2x PC/SC driver for Windows CE
...for Windows CE.NET 7.0 for ARM5, ARM6, ARM7...
While it's possible to run some Windows applications on Linux using the wine compatibility layer, support for Windows CE is very limited, and you shouldn't expect any success.
I have also been struggling with this same issue, and had a stroke of good fortune with timing!
HID have now released a driver for their Omnikey encoders that is compatible with the ARM processor, and is available here.