On Fri, 16 Mar 2018 15:16:19 +0100
Matthias Apitz 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"