web-dev-qa-db-ja.com

USBインターフェイスを要求できません(デバイスまたはリソースがビジーです)

Ubuntu 14 smartyでACR122U非接触式スマートカードリーダーを使用したい。そこで、必要なパッケージとドライバーをインストールしました。

最後に、リーダーを使用したいときに、次のエラーを受け取ります。

rc@rc-System-Product-Name:~/Desktop/itsme$ Sudo nfc-list
[Sudo] password for rc: 
nfc-list uses libnfc 1.7.0
error   libnfc.driver.acr122_usb    Unable to claim USB interface (Device or resource busy)
nfc-list: ERROR: Unable to open NFC device: acr122_usb:001:020
rc@rc-System-Product-Name:~/Desktop/itsme$ 
rc@rc-System-Product-Name:~/Desktop/itsme$ Sudo mfoc -O output.txt
error   libnfc.driver.acr122_usb    Unable to claim USB interface (Device or resource busy)
No NFC device found.
rc@rc-System-Product-Name:~/Desktop/itsme$ 

私のリーダーはカーネルツールを使用しているようです。たくさん検索しました。すでに同じ問題を抱えている人はたくさんいますが、その中で自分の答えを見つけることができませんでした。

誰かがこの問題を解決する方法を知っていますか? (たとえば、デバイスを再利用することにより)

14
hamid s

カーネルバージョン> 3.5の場合、nfs-listドライバの自動ロードが原因で、pn533およびpcscdがこのエラーを報告します。

pcscd dameon出力を読み取るには、次のコマンドを使用して実行できます:pcscd -f -d

  1. インストールされているカーネルのバージョンを確認します:uname -a
  2. ブラックリストpn533およびnfcドライバー(参照: Arch Linux wiki Touchatag RFID Readernfc-tools forum ):

    $ Sudo nano /etc/modprobe.d/blacklist-libnfc.conf
    

    次の行を追加します。

    blacklist pn533
    blacklist nfc
    
  3. カーネルモジュールを無効にします。

    $ modprobe -r pn533 nfc
    
  4. pcscdデーモンを再起動します:Sudo service pcscd restart

ここでは、ACR122Uリーダーをテストするための小さなプログラムと、より詳細なガイドを用意できます

8
Sudo modprobe -r pn533_usb

Sudo modprobe -r pn533

私のために働く。

--------@--------:~$ Sudo nfc-list
nfc-list uses libnfc 1.7.1
NFC device: ACS / ACR122U PICC Interface opened
1 ISO14443A passive target(s) found:
ISO/IEC 14443A (106 kbps) target:
ATQA (SENS_RES): 00  04  
UID (NFCID1): ab  c9  67  00  
SAK (SEL_RES): 08  
3

迅速かつ汚いソリューション:

Sudo rmmod pn533 ## unload the driver right now
Sudo nfc-list ## now it works...
2
nobar