Treiber für den Wandler "Sunplus SPCP825" (VID:PID 04fc:0201, REV_7109)
gibt es offenbar nicht mehr für Windows:
Beitrag "Re: [S] Multimeter PC-Kabel: UNI-T UT-D04, V&A VA4000, V&A VA4001"
Martin Schewe hat die USB Transfers des Kabels für Linux abgehört und
mit Libusb unter Linux implementiert: http://multimeter.schewe.com/
Im Anhang gibt es einen MinGW "Port", leider gibt es folgenden Fehler:
1 | > optocoupler.exe
|
2 | starting...
|
3 | cli options done
|
4 | open device...
|
5 | scanning USB devices
|
6 | Device: Vendor: 0x04FC Product: 0x0201
|
7 | found device
|
8 | Endpoint address: 0x81
|
9 | Max packet size: 16
|
10 | Endpoint address: 0x02
|
11 | Max packet size: 8
|
12 | setup device...
|
13 | claim interface, send control messages
|
14 | Status: 0, Error: No error
|
15 | Status: 0, Error: No error
|
16 | Status: 0, Error: No error
|
17 | Status: 0, Error: No error
|
18 | device opened, discarding buffer...
|
19 | USB bulk write return value: -22
|
20 | Error: libusb0-dll:err [_usb_setup_async] invalid endpoint 0x81
|
Treiber in multimeter-0.1_win32\libusb-win32-bin-1.2.6.0\bin, ggf. durch
die Debug-Version aus libusb-win32-bin-debug-1.2.6.0.zip (sourceforge)
ersetzen.
Test der Installation:
1 | multimeter-0.1/libusb-win32-bin-1.2.6.0/bin/x86
|
2 | > testlibusb.exe
|
3 | |
4 | Dev #0: 0000 - 0000
|
5 | |
6 | Dev #1: 04FC - USB to RS232C Adapter
|
Im Anhang die modifizierten Quellen, aktuelle libusb-win32, sowie
dbgview, das mit der debugversion der Bibliothek folgendes ausgibt:
1 | libusb0-sys:[release_all_interfaces] releasing all interfaces bound to file object 0x423fc80
|
2 | libusb0-sys:[release_all_interfaces] releasing all interfaces bound to file object 0x423fc80
|
3 | libusb0-sys:[get_descriptor] buffer size: 18 type: 0001 recipient: 0000 index: 0000 language id: 0000 timeout: 5000
|
4 | libusb0-sys:[release_all_interfaces] releasing all interfaces bound to file object 0x423fc80
|
5 | libusb0-sys:[get_descriptor] buffer size: 9 type: 0002 recipient: 0000 index: 0000 language id: 0000 timeout: 1000
|
6 | libusb0-sys:[get_descriptor] buffer size: 32 type: 0002 recipient: 0000 index: 0000 language id: 0000 timeout: 1000
|
7 | libusb0-sys:[release_all_interfaces] releasing all interfaces bound to file object 0x423fc80
|
8 | libusb0-sys:[claim_interface] interface 0
|
9 | libusb0-sys:[vendor_class_request] type: vendor
|
10 | libusb0-sys:[vendor_class_request] recipient: device
|
11 | libusb0-sys:[vendor_class_request] request: 0x21
|
12 | libusb0-sys:[vendor_class_request] value: 0x0303
|
13 | libusb0-sys:[vendor_class_request] index: 0x0000
|
14 | libusb0-sys:[vendor_class_request] size: 0
|
15 | libusb0-sys:[vendor_class_request] direction: out
|
16 | libusb0-sys:[vendor_class_request] timeout: 1000
|
17 | libusb0-sys:dbg [call_usbd_ex] status = 00000000h
|
18 | libusb0-sys:[vendor_class_request] 0 bytes transmitted
|
19 | libusb0-sys:[vendor_class_request] type: vendor
|
20 | libusb0-sys:[vendor_class_request] recipient: device
|
21 | libusb0-sys:[vendor_class_request] request: 0x22
|
22 | libusb0-sys:[vendor_class_request] value: 0x0100
|
23 | libusb0-sys:[vendor_class_request] index: 0x0000
|
24 | libusb0-sys:[vendor_class_request] size: 0
|
25 | libusb0-sys:[vendor_class_request] direction: out
|
26 | libusb0-sys:[vendor_class_request] timeout: 1000
|
27 | libusb0-sys:dbg [call_usbd_ex] status = 00000000h
|
28 | libusb0-sys:[vendor_class_request] 0 bytes transmitted
|
29 | libusb0-sys:[vendor_class_request] type: vendor
|
30 | libusb0-sys:[vendor_class_request] recipient: device
|
31 | libusb0-sys:[vendor_class_request] request: 0x21
|
32 | libusb0-sys:[vendor_class_request] value: 0x0303
|
33 | libusb0-sys:[vendor_class_request] index: 0x0000
|
34 | libusb0-sys:[vendor_class_request] size: 0
|
35 | libusb0-sys:[vendor_class_request] direction: out
|
36 | libusb0-sys:[vendor_class_request] timeout: 1000
|
37 | libusb0-sys:dbg [call_usbd_ex] status = 00000000h
|
38 | libusb0-sys:[vendor_class_request] 0 bytes transmitted
|
39 | libusb0-sys:[release_interface] interface 0
|
40 | libusb0-sys:[release_all_interfaces] releasing all interfaces bound to file object 0x423fc80
|
Leider komme ich nicht weiter, da ich mich mit USB noch nie beschäftigt
habe. Liegt das Problem wahrscheinlicher in den Unterschieden der
libusb-Varianten oder an ggf. geänderter Hardware? Kann sich USB unter
Windows anders verhalten als unter Linux (abgesehen davon, das es
standardisiert ist)?
So einen Fehler findet man auch anderswo im Netz, aber ich werde aus den
Antworten nicht schlau.