2014-01-09 25 views
0

我想让MagTek读卡器在我的覆盆子pi上工作。我有一个MagTek读卡器模式工作得很好。这是他们的室内模型之一。我购买了户外型号(Sidewinder RS-232),这是给我的错误。usb.core.find回来没有

这是唯一一个正在运行的代码,因为它不会继续,直到有实际的设备。

def getData(): 
    VENDOR_ID = 0x0801 
    PRODUCT_ID = 0x0002 
    DATA_SIZE = 337 
    PACKET_SIZE = 0x0151 
    device = usb.core.find(idVendor=VENDOR_ID, idProduct=PRODUCT_ID) 
    if device is None: 
     sys.exit("Could not find MagTek USB HID Swipe Reader") 

让我再次重申,室内模型工作得很好,从我在网上看到(http://www.linux-usb.org/usb.ids)使用相同的PRODUCT_ID。所以我没有理由知道户外模型为什么不起作用。我在等待MagTek的技术服务回复,但我想你们会更快

回答

1

我发现问题,但它导致更多。

Brush Industries的Side Winder RS-232具有不同的供应商ID和产品ID。如果你用正确的变量替换这些变量(下面),那么你的Side Winder RS-232应该被你的python代码检测到。

供应商标识= 0x12b6

产品编号= 0×0092

+1

在未来,你应该使用'lsusb'检查有这样的麻烦,当接通电源的设备。 –

+0

这实际上是我找到解决方案的方式。如果设备插入并在'lsusb'中输入,则看到读出。然后拔下设备,重新运行'lsusb'并将其与第一个读数进行比较。 – MaylorTaylor