Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <libusb.h>
- #define TIMEOUT 50000
- int main(int argc, char **argv)
- {
- if (libusb_init(0)){
- printf("INITIALIZATION ERROR \n");
- return 1;
- }
- libusb_device_handle *lettore;
- lettore = libusb_open_device_with_vid_pid(NULL,0x147e,0x2020);
- if (lettore == NULL){
- printf("ERROR OPEN DEVICE! \n");
- return 1;
- }
- libusb_set_debug(NULL,3);
- unsigned char setup_packet[8];
- struct libusb_transfer *controllo;
- controllo = libusb_alloc_transfer(0);
- libusb_fill_control_setup(setup_packet,0xc0,0x04,0x00,0x00,0x08);
- libusb_fill_control_transfer(controllo,lettore,setup_packet,NULL,NULL,TIMEOUT);//20, 10???
- if (libusb_submit_transfer(controllo)){
- printf("SETUP DEVICE ERROR! \n");
- return 1;
- }
- libusb_handle_events(NULL);
- controllo = libusb_alloc_transfer(0);
- libusb_fill_control_setup(setup_packet,0xc0,0x04,0x00,0x00,0x08);
- libusb_fill_control_transfer(controllo,lettore,setup_packet,NULL,NULL,TIMEOUT);
- if (libusb_submit_transfer(controllo)){
- printf("SETUP DEVICE ERROR! \n");
- return 1;
- }
- libusb_handle_events(NULL);
- controllo = libusb_alloc_transfer(0);
- libusb_fill_control_setup(setup_packet,0x40,0x0c,0x100,0x400,0x01);
- libusb_fill_control_transfer(controllo,lettore,setup_packet,NULL,NULL,TIMEOUT);
- if (libusb_submit_transfer(controllo)){
- printf("SETUP DEVICE ERROR! \n");
- return 1;
- }
- libusb_handle_events(NULL);
- /******************************* START TRANSFER DATA */
- struct libusb_transfer *pacchetto;
- unsigned char buffer2[64];
- pacchetto = libusb_alloc_transfer(0);
- libusb_fill_bulk_transfer(pacchetto,lettore,0x81,buffer2,64,NULL,NULL,TIMEOUT); //HERE LIBUSB FAIL!
- if (libusb_submit_transfer(pacchetto)){
- printf("RECEIVE DATA ERROR! \n");
- return 1;
- }
- libusb_handle_events(NULL);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement