2016-10-23 14 views
0

Magstripe Card Reader(PS/2 to USBコンバータを使用)を差し込んだrPi 2Bを使用しています。私は、lsusbを使ってベンダー/プロダクトIDを決め、次にlibusbを使ってリーダーに接続する次のコードを使っています。このコードは、この問題の主なエラーの原因と思われるis_kernel_driver_activeのチェックを行います。コードはgithubのkeyboard_alikeプロジェクトからのものです。 rootとして実行する場合LibUSB ErrNo 16リソース使用中 - マガジンリーダー

def initialize(self): 
    self._device = usb.core.find(idVendor=self.vendor_id, idProduct=self.product_id) 

    if self._device is None: 
     raise DeviceException('No device found, check vendor_id and product_id') 

    if self._device.is_kernel_driver_active(self.interface): 
     try: 
      self._device.detach_kernel_driver(self.interface) 
     except usb.core.USBError as e: 
      raise DeviceException('Could not detach kernel driver: %s' % str(e)) 

    try: 
     self._device.set_configuration() 
     if self.should_reset: 
      self._device.reset() 
    except usb.core.USBError as e: 
     raise DeviceException('Could not set configuration: %s' % str(e)) 

    self._endpoint = self._device[0][(0, 0)][0] 

、私はself._device.set_configuration()への呼び出しにResource busyを取得します。

私はすべてのアップデートを実行しましたが、次に何を試していいのか分かりません。

答えて

0

これは、postを使用して解決したと思います。Magstripe Readerが起動時にUSBHIDドライバによって主張されていたようです。この問題は、detach_kernel_driver()を使用して解決されていません。

/etc/udev/rules.dにルールを作成して、このデバイスの読み込みを禁止しました。私は今新しい問題に取り組んでいますが、これは最初の問題を修正したようです。

マイルールがこのように見えた: #の磁気ストライプリーダは サブシステムを無効にする必要があり== "USB"、ATTRS {idVendor} == "04b4"、ATTRS {idProduct} == "2324"、ATTR {許可} = "0"

関連する問題