USB access via win32file.deviceIOcontrol
Verfasst: Dienstag 11. Dezember 2007, 21:30
Hallo zusammen,
ich versuche bisher vergeblich mit win32file.deviceIOcontrol auf ein USB device zuzugreifen. Ich möchte low-level SCSI Kommandos wie TEST_UNIT_READY und REQUEST_SENSE senden. Später auch auf das device Daten schreiben und wieder lesen.
Eine Implementierung unter C++ hab ich schon gesehen. Sie benutzt einen DeviceIOControl Aufruf der ungefähr so aussieht:
DeviceIOControl(file_handle, IOCTL_SCSI_PASS_THROUGH_DIRECT_WITH_BUFFERS,
&sptwdb,
sizeof(IOCTL_SCSI_PASS_THROUGH_DIRECT_WITH_BUFFERS),
&sptwdb,
...)
Wobei sptwdb ein Struktur ist, die als SCSI_PASS_THROUGH_DIRECT_WITH_BUFFERS definiert ist.
Diesen Code habe ich leider bisher noch nicht auf Python übertragen können. Bekomme immer Windows-Errors wie "Falscher Parameter"
Hat jemand schon Erfahrungen damit?
Mein Wunsch wäre eine reine Python Lösung. Hoffe ihr könnt mir helfen.
Vielen Dank für Eure Hilfe.
ich versuche bisher vergeblich mit win32file.deviceIOcontrol auf ein USB device zuzugreifen. Ich möchte low-level SCSI Kommandos wie TEST_UNIT_READY und REQUEST_SENSE senden. Später auch auf das device Daten schreiben und wieder lesen.
Eine Implementierung unter C++ hab ich schon gesehen. Sie benutzt einen DeviceIOControl Aufruf der ungefähr so aussieht:
DeviceIOControl(file_handle, IOCTL_SCSI_PASS_THROUGH_DIRECT_WITH_BUFFERS,
&sptwdb,
sizeof(IOCTL_SCSI_PASS_THROUGH_DIRECT_WITH_BUFFERS),
&sptwdb,
...)
Wobei sptwdb ein Struktur ist, die als SCSI_PASS_THROUGH_DIRECT_WITH_BUFFERS definiert ist.
Diesen Code habe ich leider bisher noch nicht auf Python übertragen können. Bekomme immer Windows-Errors wie "Falscher Parameter"
Hat jemand schon Erfahrungen damit?
Mein Wunsch wäre eine reine Python Lösung. Hoffe ihr könnt mir helfen.
Vielen Dank für Eure Hilfe.