RC S380, Device probably used by another process

Asked by Jean-Philippe Eisenbarth

Hello,

I bought the Sony RC S380 (previously I worked with a ACR122 but it has problem with tags writing) but I can't make it work.

I have this error :

$ ./tagtool.py -d nfc.dev
[main] enable debug output for module 'nfc.dev'
[nfc.clf] searching for reader with path 'usb'
[nfc.dev.transport] using pyusb version 0.x
[nfc.dev.transport] path matches '^(usb|)$'
[nfc.dev] trying usb:054c:06c1
[nfc.dev] import nfc.dev.rcs380
[nfc.dev.transport] device probably used by another process
[nfc.clf] no reader found at 'usb'
[main] no contactless reader found

while the ACR122 works :
 $ ./tagtool.py -d nfc.dev
[main] enable debug output for module 'nfc.dev'
[nfc.clf] searching for reader with path 'usb'
[nfc.dev.transport] using pyusb version 0.x
[nfc.dev.transport] path matches '^(usb|)$'
[nfc.dev] trying usb:072f:2200
[nfc.dev] import nfc.dev.acr122
[nfc.dev.transport] >>> 6f050000000000000000ff00480000
[nfc.dev.transport] <<< 800a000000000002810041435231323255323134
[nfc.dev.acr122] initialize ACR122U214
[nfc.dev.acr122] CCID ICC-POWER-ON
[nfc.dev.transport] >>> 62000000000000000000
.......

(The PN533 is blacklisted and the PCSC daemon is disabled)

Thank you in advance for your answer.

Question information

Language:
English Edit question
Status:
Solved
For:
nfcpy Edit question
Assignee:
No assignee Edit question
Solved by:
Stephen Tiedemann
Solved:
Last query:
Last reply:
Revision history for this message
Jean-Philippe Eisenbarth (j-philippe-eisenbarth) said :
#1

Apparently the RC S380 works only on Windows (I see this on multiple sites) but in the doc it is written that "All readers are tested to work with Ubuntu Linux".

Maybe I forgot to do something (installing drivers but I can't found one)

I use Debian Stretch (testing)

Revision history for this message
Stephen Tiedemann (stephen-tiedemann) said :
#2

I'm pretty sure it works, I use it all the time.

If you could do me a favour then please grab a copy of the dev-tags branch ("sudo apt-get install bzr", "cd somewhere", "bzr branch lp:~stephen-tiedemann/nfcpy/dev-tags" and run the tagtool.py from that branch (note that "-d nfc.dev" has changed to "-d nfc.clf"). You should get some error log with suggestions how to correct the problem. Please let me then know if they were understandable and helpful.

Revision history for this message
Jean-Philippe Eisenbarth (j-philippe-eisenbarth) said :
#3

Sadly it doesn't help me to figured out what the problem is.

I have this :

$ ./examples/tagtool.py -d nfc.clf
[main] enable debug output for 'nfc.clf'
[nfc.clf] searching for reader on path usb
[nfc.clf.transport] using pyusb version 0.x
[nfc.clf.transport] path matches '^(usb|)$'
[nfc.clf.device] loading rcs380 driver for usb:054c:06c1
[nfc.clf.device] [Errno 16] Device or resource busy
[nfc.clf] no reader available on path usb
[main] no contactless reader found on usb
[main] no contactless reader available

But I have no idea why the device is "busy"

Revision history for this message
Best Stephen Tiedemann (stephen-tiedemann) said :
#4

Hmm, guess I have to re-check the logic.

To no longer hold you back from enjoying the RC-S380, add "blacklist port100". The RC-S380 is not handled by the kernels pn533 driver module.

Revision history for this message
Stephen Tiedemann (stephen-tiedemann) said :
#5

Found it. The full device path must be given to let nfcpy inspect deeper. For the RC-S380 it'd be:

examples/tagtool.py --device usb:054c:06c1

The general (and future documented) mechanism is 1) "lsusb" and 2) "examples/tagtool.py --device usb:<vid>:<pid>" with the numbers learned from lsusb.

Revision history for this message
Jean-Philippe Eisenbarth (j-philippe-eisenbarth) said :
#6

Yes if the full device path is given it is very helpful :

$ ./examples/tagtool.py --device usb:054c:06c1 -d nfc.clf
[main] enable debug output for 'nfc.clf'
[nfc.clf] searching for reader on path usb:054c:06c1
[nfc.clf.transport] using pyusb version 0.x
[nfc.clf.transport] path matches '^usb(:[0-9a-fA-F]{4})(:[0-9a-fA-F]{4})?$'
[nfc.clf.device] loading rcs380 driver for usb:054c:06c1
[nfc.clf.device] [Errno 16] Device or resource busy
[main] the reader on usb:054c:06c1 is busy
[main] first match for path usb:054c:06c1 is usb:001:004
[main] device at usb:001:004 used by port100 kernel driver
[main] use 'sudo modprobe -r port100' to temporarily free the device
[main] you may want to blacklist the port100 kernel driver
[main] sudo sh -c 'echo blacklist port100 >> /etc/modprobe.d/blacklist-nfc.conf'
[main] no contactless reader available

Thank you for your answer, I don't need to code in Windows, what a relief ! ;)

Have a good day.

Revision history for this message
Jean-Philippe Eisenbarth (j-philippe-eisenbarth) said :
#7

Thanks Stephen Tiedemann, that solved my question.