Op 08/29/16 om 14:28 schreef Martijn Rijkeboer:
Hi,

I'm having trouble using the Stronglink SL500 RFID reader with OpenBSD.
The SL500 is a USB based RFID reader that attaches to ucom. When I
write data to it and try to read the response, I'm often getting
wrong results. Sometimes the program even lock and unplugging the
device is the only option. I'm using the test program attached below.
This program should produce the following output (as it always does on
Linux):

$ ./test
received: 0xaa 0xbb 0x06 0x00 0x11 0x12 0x07 0x01 0x00 0x05
received: 0xaa 0xbb 0x06 0x00 0x11 0x12 0x07 0x01 0x00 0x05


When I run the program on OpenBSD-current (AMD64) I get the following:

$ ./test
received: 0xaa 0xbb 0x06 0x00 0x11 0x12 0x07 0x01 0x00 0x05
received: 0xaa 0xbb 0x06 0x00 0x11 0x12 0x07 0x01 0x00 0x05
$ ./test
received: 0x0a 0xbb 0x06 0x00 0x00 0x00 0x07 0x01 0x02 0x04
received: 0xaa 0xbb 0x06 0x00 0x11 0x12 0x07 0x01 0x00 0x05
$ ./test
received: 0xaa 0xbb 0x06 0x00 0x11 0x12 0x07 0x01 0x00 0x05
received: 0x0a 0xaa 0xbb 0x06 0x00 0x11 0x12 0x07 0x01 0x00
$ ./test
received: 0xaa 0xbb 0x06 0x00 0x11 0x12 0x07 0x01 0x00 0x05
received: 0x0a 0xaa 0xbb 0x06 0x00 0x11 0x12 0x07 0x01 0x00


In the output above the first run is correct. In the second run the
first response is incorrect. In the third and fourth run the second
response is incorrect. Any suggestions what is wrong? To me it looks
like a bug in ucom or uslcom, but I could also be doing something
wrong...

I've included the test program, lsusb output and dmesg output below.


Kind regards,


Martijn Rijkeboer



Test program
============


O_NONBLOCK: not sure this is necessary.

Check return values, at least of read and write (EAGAIN, partial read/write ?),
they will probably tell you what's wrong.

Reply via email to