Skip to content

Frequent issues and questions

Adrien JUND edited this page Aug 10, 2017 · 1 revision

How to activate some traces?

Copy "liblogicalaccess.config" from the root source repository to your running application directory(on Windows, it must be side by side to liblogicalaccess.dll).
Edit the file and set config.log.enabled, config.log.seewaitinsertion, config.log.seewaitremoval, config.log.seecommunication and config.log.seeplugin to //true//.
On windows, liblogicalaccess.log should be created next to.
On Unix, in /var/log/liblogicalaccess.log

I get crash when I try to use PC/SC readers

An exception is thrown if the PC/SC context cannot be allocated at ReaderProvider initialization.

On Linux, be sure pcsc-lite is correctly installed.
On Windows, be sure SmartCard service is running properly. Sometimes you just have to plug once a PC/SC reader on the machine, install the reader's driver and restart your computer.

I get crash when I try to use RFIDeas readers

RFIDeas readers are only working on Windows.
Be sure the pcProxAPI dll is side by side to liblogicalaccess dll.

I do not always get my card identifier when I use Keyboard readers

Only working on Windows, the Keyboard reader provider is a bit tricky. It was done to support transparently a wide rang of RFID readers emulating a keyboard on card insertion, with the card identifier. Because LibLogicalAccess can be used on Windows Services, and because of session 0 isolation since Windows Vista, the library start impersonated hook process on active user console.

  • Be sure your application is running with enough privileges for impersonation and hook
  • Be sure an antivirus is not blocking this behavior
  • An active console is required to work. That means this reader provider could not be use before session authentication (Windows Credential Provider for example)

I can only read chip identifier and not its memory (Storage card service is empty), why?

Not all cards have memory or chip functionality, and not all readers support access to it.

You should check on the hardware list if your chip technology has a Storage card service on LibLogicalAccess, and if your reader provides it.

I rebuilt LibLogicalAccess successfully from the Git repository, but don't have HID iClass chip functionality whereas this chip is present on the supported hardware list, why?

That's because HID iClass code is under a license agreement from the manufacturer incompatible with open source licenses. You will not be able to rebuild it by yourself but you can download headers and binaries to use it dynamically through the plug-in architecture, or to link with your project. Take a look at liblogicalaccess-private for more information about not open source plug-ins.

This library is Windows/Linux/Mac compliant on x86/x64 platforms, any other knows compatibility?

Windows since Windows XP to Windows 8 are supported. Windows 2000 and before are not officially supported anymore because of Microsoft Visual C++ 2013 Runtime dependency. To run on this old systems, use cmake to create sln for a previous Visual Studio version (VS2010 or VS2008) and just build LibLogicalAccess on this version.

No known restrictions on Linux OS.

Does this library also support contact smartcards?

Using PC/SC readers you could address a contact smartcard with APDU commands.
But it is not the purpose of this library today. SmartCard compatibiliy is just a good side effect of PC/SC and ISO7816, not a goal.

Maven ?! But it's for Java projects !

Well, Maven is developed and mainly used on Java projects, but it could theoretically be used for any language. We use Maven to manage the dependencies version hell on Windows, and because we know nothing similar in C++ for Windows. If you know something else, we would be glad to hear that.

Linux OS like Debian doesn't have this problems as standard solutions exist (aptitude, ...). It's also why our Maven scripts only work on Windows.

Clone this wiki locally