On Fri, 16 Mar 2018 15:16:19 +0100
Matthias Apitz <g...@unixarea.de> wrote:

> 
> Hello,
> 
> Is there any RFID reader/writer solution which is OpenSource and runs on
> FreeBSD using libusb? The background of the question is: We own some
> Java written application, written for Windows, which works fine as well
> on FreeBSD and Linux. Is the following exception:
> 
> It uses from the Java code through a C++ call interface, written by us,
> some proprietary Windows DLL to access the RFID pad.
> 
> Running the Java app on FreeBSD, the  JVM looks for the interface shared
> lib as 'libRFIDInterface.so' (on Windows as 'RFIDInterface.dll'), which
> ofcourse is not there. On Windows our 'RFIDInterface.dll' in turn
> uses the proprietary 'BiblioChip.dll' from a 3rd party to handle the
> requests to/from the RFID pad. As the 'libRFIDInterface.so' is not there the 
> JVM gives
> 
> java.lang.UnsatisfiedLinkError: 
> com.sisis.rfid.RFIDNativeInterface.BibOpenReader()
> ...
> 
> If there would be any OpenSource RFID reader software, I could write the
> required interface in C or C++ on top of its API.
> 
> Any ideas or comments on this?
> 
> Thanks
> 
>       matthias
> 
> -- 
> Matthias Apitz, ✉ g...@unixarea.de, ⌂ http://www.unixarea.de/  📱 
> +49-176-38902045

I wrote some drivers for Impinj chipset, which are supposedly standard but I 
haven't tried with other chipsets.

Works great on Windows and I have a FreeBSD driver working. It should also work 
on Linux but I have some issue with the data coming in chunks, that I haven't 
spent time troubleshooting.

For USB I was using a serial-to-usb cable. If the device already has a USB 
connection it is probably using the same hardware as a serial-to-usb cable, I 
think there are only one or two mfgs that make the chipset for that. On FreeBSD 
and Windows machines I have used the drivers with a small RFID reader/writer as 
well as larger devices.

My drivers are based on 'stream reading' without using the buffer on the 
device, but it's easy to switch to buffered mode if you want. These devices do 
round-robin on the antennas if you have multiple antennas, it's not 
simultaneous. With buffered reading you do not get duplicates but you also do 
lose precision in the time that you are able to record the chip. stream-reading 
you will get a *bunch* of dups but much more granularity in reading.

I never published the software but I don't mind sharing, just have to dig it 
up. 

There are written in C++. I don't do java but as I recall I believe one issue 
is java does not support unsigned chars without some 'finangling' or a 
third-party driver, i think google has one.  And these devices totally operate 
with unsigned chars.


-- 
Waitman Gobble 
+1 650 621 0423
_______________________________________________
freebsd-usb@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"

Reply via email to