Treiber ist installiert, die Library ebenfalls, das Testprogramm iowkittest gibt die gleichen Antworten wie 'lsusb -v' (wenngleich am Dongle nur sehr wenige LEDs leuchten ;-) ). Ich hab mich an den Sourcen für iowkittest und für die Library orientiert, sowie an diesem Post viewtopic.php?f=2&t=1710&p=9565&hilit=p ... 9479#p9565 (der jedoch für Python unter Windows erstellt ist).
Die ersten Zeilen liefern anscheinend richtige Ergebnisse, aber die letzten beiden liefern nur 0, was nach iowkit.c das boolesche False ist, und auf einen falschen Handle weist. Obwohl der Handle in dem o.g. Post genauso gemacht wurde und funktionierte. Jedoch war der auf Windows.#!/usr/bin/python3
# -*- coding: UTF-8 -*-
import ctypes
iowl = ctypes.CDLL("libiowkit.so") # <CDLL 'libiowkit.so', handle ...>
iowHandle = iowl.IowKitOpenDevice() # <class 'int'> e.g. -1481109088
iowHandle1 = iowl.IowKitGetDeviceHandle(1) # same as iowHandle
numIows = iowl.IowKitGetNumDevs() # numIows=1 (correct)
ciowHandle = ctypes.c_ulong(iowHandle)
iowKitID = iowl.IowKitGetProductId(ciowHandle) # always zero (=bool False)
iowRev = iowl.IowKitGetRevision(ciowHandle) # always zero (=bool False)
Ist das auf Linux irgendwie anders zu machen? Was ist falsch an meinem ciowHandle?