opening USB device with libUSB on a virtual machine
I'm trying to implement the code from the following YouTube video by moellerIO:
https://www.youtube.com/results?search_query=libusb
#include <iostream>
#include <libusb-1.0/libusb.h>
using namespace std;
union int_thing {
unsigned char usb_data[4];
int32_t number;
};
void error(string s, int err) {
cout << s << " Error: " << libusb_error_name(err) << endl;
exit(err);
}
int main() {
int transfer_size;
int err;
libusb_device_handle* dev;
libusb_init(NULL);
dev = libusb_open_device_with_vid_pid(NULL, 0x0781 , 0x5575);
if (dev == NULL) {
cout << "DEVICE NOT FOUND, exiting." << endl;
return -1;
}
err = libusb_claim_interface(dev, 0);
if (err)
error("Cannot claim interface!", err);
err = libusb_set_interface_alt_setting(dev, 0, 0);
if (err)
error("Cannot set alternate settings!", err);
union int_thing number;
while (true) {
cout << "Send A number: ";
while (true) {
cin >> number.number;
if (cin.good())
break;
//cin.clear;
//cin.ignore( numeric_limits<streamsize>::max(), 'n');
cout << "Try a number that can be expressed in 32 bits: ";
}
err = libusb_bulk_transfer(dev, 0x02, number.usb_data, sizeof(union int_thing), &transfer_size, 1000);
if (err)
error("Bulk OUT transfer failed!", err);
}
}
I'm trying to make a successful connection to a usb device, claim its interface and send a number to it. later on i will follow the exact protocols for transferring information to a mass storage device, but wright now i will be happy with establishing a connection.
the issue is that I'm getting "DEVICE NOT FOUND" all the time.
I am sure that I'm using the right credentials witch i picked up with
lsusb -v -d 0781:5575
not sure what I am doing wrong but I have a feeling it has something to do with using a VM? can anyone give me a tip?
by the way, I'm using Ubuntu on vmware workstation.
c++ ubuntu virtual-machine vmware libusb
add a comment |
I'm trying to implement the code from the following YouTube video by moellerIO:
https://www.youtube.com/results?search_query=libusb
#include <iostream>
#include <libusb-1.0/libusb.h>
using namespace std;
union int_thing {
unsigned char usb_data[4];
int32_t number;
};
void error(string s, int err) {
cout << s << " Error: " << libusb_error_name(err) << endl;
exit(err);
}
int main() {
int transfer_size;
int err;
libusb_device_handle* dev;
libusb_init(NULL);
dev = libusb_open_device_with_vid_pid(NULL, 0x0781 , 0x5575);
if (dev == NULL) {
cout << "DEVICE NOT FOUND, exiting." << endl;
return -1;
}
err = libusb_claim_interface(dev, 0);
if (err)
error("Cannot claim interface!", err);
err = libusb_set_interface_alt_setting(dev, 0, 0);
if (err)
error("Cannot set alternate settings!", err);
union int_thing number;
while (true) {
cout << "Send A number: ";
while (true) {
cin >> number.number;
if (cin.good())
break;
//cin.clear;
//cin.ignore( numeric_limits<streamsize>::max(), 'n');
cout << "Try a number that can be expressed in 32 bits: ";
}
err = libusb_bulk_transfer(dev, 0x02, number.usb_data, sizeof(union int_thing), &transfer_size, 1000);
if (err)
error("Bulk OUT transfer failed!", err);
}
}
I'm trying to make a successful connection to a usb device, claim its interface and send a number to it. later on i will follow the exact protocols for transferring information to a mass storage device, but wright now i will be happy with establishing a connection.
the issue is that I'm getting "DEVICE NOT FOUND" all the time.
I am sure that I'm using the right credentials witch i picked up with
lsusb -v -d 0781:5575
not sure what I am doing wrong but I have a feeling it has something to do with using a VM? can anyone give me a tip?
by the way, I'm using Ubuntu on vmware workstation.
c++ ubuntu virtual-machine vmware libusb
add a comment |
I'm trying to implement the code from the following YouTube video by moellerIO:
https://www.youtube.com/results?search_query=libusb
#include <iostream>
#include <libusb-1.0/libusb.h>
using namespace std;
union int_thing {
unsigned char usb_data[4];
int32_t number;
};
void error(string s, int err) {
cout << s << " Error: " << libusb_error_name(err) << endl;
exit(err);
}
int main() {
int transfer_size;
int err;
libusb_device_handle* dev;
libusb_init(NULL);
dev = libusb_open_device_with_vid_pid(NULL, 0x0781 , 0x5575);
if (dev == NULL) {
cout << "DEVICE NOT FOUND, exiting." << endl;
return -1;
}
err = libusb_claim_interface(dev, 0);
if (err)
error("Cannot claim interface!", err);
err = libusb_set_interface_alt_setting(dev, 0, 0);
if (err)
error("Cannot set alternate settings!", err);
union int_thing number;
while (true) {
cout << "Send A number: ";
while (true) {
cin >> number.number;
if (cin.good())
break;
//cin.clear;
//cin.ignore( numeric_limits<streamsize>::max(), 'n');
cout << "Try a number that can be expressed in 32 bits: ";
}
err = libusb_bulk_transfer(dev, 0x02, number.usb_data, sizeof(union int_thing), &transfer_size, 1000);
if (err)
error("Bulk OUT transfer failed!", err);
}
}
I'm trying to make a successful connection to a usb device, claim its interface and send a number to it. later on i will follow the exact protocols for transferring information to a mass storage device, but wright now i will be happy with establishing a connection.
the issue is that I'm getting "DEVICE NOT FOUND" all the time.
I am sure that I'm using the right credentials witch i picked up with
lsusb -v -d 0781:5575
not sure what I am doing wrong but I have a feeling it has something to do with using a VM? can anyone give me a tip?
by the way, I'm using Ubuntu on vmware workstation.
c++ ubuntu virtual-machine vmware libusb
I'm trying to implement the code from the following YouTube video by moellerIO:
https://www.youtube.com/results?search_query=libusb
#include <iostream>
#include <libusb-1.0/libusb.h>
using namespace std;
union int_thing {
unsigned char usb_data[4];
int32_t number;
};
void error(string s, int err) {
cout << s << " Error: " << libusb_error_name(err) << endl;
exit(err);
}
int main() {
int transfer_size;
int err;
libusb_device_handle* dev;
libusb_init(NULL);
dev = libusb_open_device_with_vid_pid(NULL, 0x0781 , 0x5575);
if (dev == NULL) {
cout << "DEVICE NOT FOUND, exiting." << endl;
return -1;
}
err = libusb_claim_interface(dev, 0);
if (err)
error("Cannot claim interface!", err);
err = libusb_set_interface_alt_setting(dev, 0, 0);
if (err)
error("Cannot set alternate settings!", err);
union int_thing number;
while (true) {
cout << "Send A number: ";
while (true) {
cin >> number.number;
if (cin.good())
break;
//cin.clear;
//cin.ignore( numeric_limits<streamsize>::max(), 'n');
cout << "Try a number that can be expressed in 32 bits: ";
}
err = libusb_bulk_transfer(dev, 0x02, number.usb_data, sizeof(union int_thing), &transfer_size, 1000);
if (err)
error("Bulk OUT transfer failed!", err);
}
}
I'm trying to make a successful connection to a usb device, claim its interface and send a number to it. later on i will follow the exact protocols for transferring information to a mass storage device, but wright now i will be happy with establishing a connection.
the issue is that I'm getting "DEVICE NOT FOUND" all the time.
I am sure that I'm using the right credentials witch i picked up with
lsusb -v -d 0781:5575
not sure what I am doing wrong but I have a feeling it has something to do with using a VM? can anyone give me a tip?
by the way, I'm using Ubuntu on vmware workstation.
c++ ubuntu virtual-machine vmware libusb
c++ ubuntu virtual-machine vmware libusb
edited Jan 1 at 8:11
Johnny
asked Jan 1 at 7:50
JohnnyJohnny
33
33
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53993872%2fopening-usb-device-with-libusb-on-a-virtual-machine%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53993872%2fopening-usb-device-with-libusb-on-a-virtual-machine%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown