Smartcard reader ACR122U has no unique serial number - usb

I am using the PCSC driver and the javax.smartcardio library as the wrapper to the driver. I have 3 ACR122U devices plugged into a Linux (debian) system. I have ran udevadm info on the devices and they all have a serial number of 0. I need to identify which reader is which in my class. I can check which topological usb port is used by parsing the /sys/devices folder but I still cant "select" a device in the Java api.
Does anyone know a way to modify the PCSC device stack order or something. So that I can specify which order the devices are in the terminal list from the terminal factory. I have emailed ACS asking them why the serial numbers are 0 and if they can help me to modify it but I have had no reply.
Please let me know if anyone thinks they have a solution.
Thanks,
Mitch

The reader does have a unique serial number but it is only an external sticker and not on the readers internal EEPROM. Perhaps you can write the serial number to the reader somehow.

Related

How to change Default Recording device using LabVIEW?

We have a LabVIEW application that is based on sound acquisition.
I connected a Custom USB Audio device (Microphone). It is set to be the default Recording device.
But while running the application, if there is another mic source connected, then sound is being recorded/acquired by the other mic and not the default one.
So in order to have the custom microphone do the acquisition, I tried to change the default Audio Recording device through LabVIEW. But all I can do is list the audio devices connected by running a PowerShell command through System Exec function.
Is there any possible way to change the default recording device using LabVIEW? Please do mention if any.
Back in the day, I had a similar requirement, I did the following!
Get All microphones connected on the PC.
Once I get all the Device IDs, I performed a search using "Device Name" to get the Device ID I needed!
Note: If the above VI returns only one microphone, then make sure you've installed DirectX on the PC.
I hope this helps :)
Hello am very late for this information, but I can provide you with a few things you need to do.
Tap setting
Choose my device
Difficult device
Select and activate
Or
Visit Cpanel select program and tap on device activety, now choose difficult setting.
To change difficult device follow each of the steps above:
1.Setting
2.Device
3. Select difficult program
May any changes you want then done.

Resolving fingerprint scanner registration in flexcodesdk

I am trying to develop an application on class attendance using fingerprint. Through rigorous research, I found out that I can use 'flexcodesdk' for my Vb.net program.
But the issue is that for every fingerprint scanner (Digitalpersona) there is needed to register it on flexcodesdk site to get series of API keys. What am I going to do about this issue because once I change the fingerprint scanner of similar product, it will complain of registration invalid.
Many developer develop applications an any body can use different scanner regardless of the serial number.
Help me out gurus in the house.
It appears that their FAQ states that each license is tied to a specific device.
How many devices that can be used in one FlexCode SDK license ?
Only the device that you submitted the registration number.
This means that each new device needs to be registered into their system in order to provide you with a new license for their SDK.
This seems quite a restricting model.
Perhaps you might want to consider the free and open source c# implementation at https://www.codeproject.com/Articles/97590/A-Framework-in-C-for-Fingerprint-Verification
I have successfully created multiple applications using this framework.

How to open a webpage from an arduino uno

I was wondering if it's possible to open an internet browser from code in your arduino IDE or any other sort of program connected to the arduino and in turn open a specific webpage.
My idea was to have a button on my arduino uno, once pressed, it would open a browser and a webpage in that browser on my connected computer.
I don't mind if the answer involves code outside of the arduino but it would be great if someone has an idea about how to do this sort of thing.
I've done a lot of research and I couldn't find anything relating to the topic which surprises me a lot as this seems like a simple task, anyway any responses would be greatly appreciated!
There are several ways to open a web page with the help of arduino.
But all of them have on thing in common and that is:
1.You receive the data in your PC
2.You tell your PC if the desired data is received open a webpage.
The best way I can think of telling you pc to open a web page is through a programming language. This could be C#,Java,Processing or any other language that has a library that support to monitor the serial port.
After that all you have to do is to say with the help of programming language if this received then open web page..
Here ara two useful links that might be of help:
http://forum.arduino.cc/index.php?topic=138974.0
http://whichlight.com/blog/arduino-serial-out-to-browser/comment-page-1/
The cheap and easy way would be to make your Arduino appear as a USB keyboard and simulate the keypresses required. Of course, this is prone to breakage if the user is typing, not very cross-platform, etc. but it is fairly simple and doesn't require a program on the machine. I received a small USB dongle attached to an ad once that did this. They found a key combination that worked on both Windows and Ubuntu.
With an ASP.Net application you can easily do that,here is a a tutorial on this issue.
And after getting a signal from arduino all you have to do is to write in ASP.NET to open the required link
Yes, its totally possible given that you know how to code in python.
You can have your own program running that will monitor request from arduino uno using serial port. When it receives a particular set of bytes (say "0xabcdef"), it will call the function to open a browser and a web page.
Here are some of the sites that will help you know how to interface arduino to python and opening web browser using python.
http://www.olgapanades.com/blog/controlling-arduino-with-python/
https://docs.python.org/2/library/webbrowser.html

Differentiate multiple USB devices having same Vendor and Product ID

I am writing an application which allows a Linux machine to connect to internet over usb modem. I have multiple usb modems having same vendor and product ID; I cannot differentiate them using lsusb which gives vendor and product ID. Also giving IDs according to their usb ports does not solve my problem either, because I want to be able to use usb modems in whichever port I want.
Is there a unique identifier which I can use to differentiate my usb devices?
Using serial numbers I differetiated my usb modems. Here in this site basic commands are shown.
http://wiki.openmoko.org/wiki/Hardware:AT_Commands#Section_5.2C_General_Commands
I used "ATE+CGSN" command which gives serial number of the device.

Smartcard reader naming: when removing any reader, the name of the rest changes

I am writting a smartcard application. This application connects card in reader and sometimes works with it. I need to watch when reader is no longer available (either card is ejected or reader is removed from USB).
Readers are watched using SCardStatusChange. This function requires reader name to watch.
I insert two readers with cards into USB slots. They are recognized as "USB Smart Card Reader 0" and "USB Smart Card Reader 1". I remove one reader. Windows says, "USB Smart Card Reader 1" is still connected. I insert it - again both available. Now I remove the second one. Windows still says "USB Smart Card Reader 1" is connected. And this is the problem because it should be "USB Smart Card Reader 0" which is still connected. Tracking routine can't watch reader because it's name is changed.
Is it a driver problem or XP smartcard subsystem problem? Driver used is USB CCID Compliant version 5.2.3790.1830 (VID 076B, PID A021), usbccid.sys.
We ran into this problem on a project and handled it by iterating through each available reader and checking to see if a card is inserted in that reader. You will encounter this naming problem with several brands of usb readers.
My company has a product that lets you integrate smart cards with websites; one of our demos lists the smart card readers currently available and it might help you with testing different reader scenarios: https://cardboss.cometway.com/content.agent?page_name=GetReaders+Demo