mirror of
https://github.com/GOSTSec/sgminer
synced 2025-02-08 21:14:14 +00:00
USB device list - convert some common error numbers to messages
This commit is contained in:
parent
e5a5be005a
commit
a6f17cbf95
31
usbutils.c
31
usbutils.c
@ -277,6 +277,29 @@ static const char *BULK = "Bulk";
|
|||||||
static const char *INTERRUPT = "Interrupt";
|
static const char *INTERRUPT = "Interrupt";
|
||||||
static const char *UNKNOWN = "Unknown";
|
static const char *UNKNOWN = "Unknown";
|
||||||
|
|
||||||
|
static const char *err_io_str = " IO Error";
|
||||||
|
static const char *err_access_str = " Access Denied-a";
|
||||||
|
static const char *err_timeout_str = " Reply Timeout";
|
||||||
|
static const char *err_pipe_str = " Access denied-p";
|
||||||
|
static const char *err_other_str = " Access denied-o";
|
||||||
|
|
||||||
|
static const char *usberrstr(int err)
|
||||||
|
{
|
||||||
|
switch (err) {
|
||||||
|
case LIBUSB_ERROR_IO:
|
||||||
|
return err_io_str;
|
||||||
|
case LIBUSB_ERROR_ACCESS:
|
||||||
|
return err_access_str;
|
||||||
|
case LIBUSB_ERROR_TIMEOUT:
|
||||||
|
return err_timeout_str;
|
||||||
|
case LIBUSB_ERROR_PIPE:
|
||||||
|
return err_pipe_str;
|
||||||
|
case LIBUSB_ERROR_OTHER:
|
||||||
|
return err_other_str;
|
||||||
|
}
|
||||||
|
return BLANK;
|
||||||
|
}
|
||||||
|
|
||||||
static const char *destype(uint8_t bDescriptorType)
|
static const char *destype(uint8_t bDescriptorType)
|
||||||
{
|
{
|
||||||
switch (bDescriptorType) {
|
switch (bDescriptorType) {
|
||||||
@ -481,11 +504,11 @@ static void usb_full(ssize_t *count, libusb_device *dev, char **buf, size_t *off
|
|||||||
|
|
||||||
err = libusb_get_string_descriptor_ascii(handle, desc.iManufacturer, man, STRBUFLEN);
|
err = libusb_get_string_descriptor_ascii(handle, desc.iManufacturer, man, STRBUFLEN);
|
||||||
if (err < 0)
|
if (err < 0)
|
||||||
sprintf((char *)man, "** err(%d)", err);
|
sprintf((char *)man, "** err(%d)%s", err, usberrstr(err));
|
||||||
|
|
||||||
err = libusb_get_string_descriptor_ascii(handle, desc.iProduct, prod, STRBUFLEN);
|
err = libusb_get_string_descriptor_ascii(handle, desc.iProduct, prod, STRBUFLEN);
|
||||||
if (err < 0)
|
if (err < 0)
|
||||||
sprintf((char *)prod, "** err(%d)", err);
|
sprintf((char *)prod, "** err(%d)%s", err, usberrstr(err));
|
||||||
|
|
||||||
if (level == 0) {
|
if (level == 0) {
|
||||||
libusb_close(handle);
|
libusb_close(handle);
|
||||||
@ -561,7 +584,7 @@ static void usb_full(ssize_t *count, libusb_device *dev, char **buf, size_t *off
|
|||||||
|
|
||||||
err = libusb_get_string_descriptor_ascii(handle, desc.iSerialNumber, ser, STRBUFLEN);
|
err = libusb_get_string_descriptor_ascii(handle, desc.iSerialNumber, ser, STRBUFLEN);
|
||||||
if (err < 0)
|
if (err < 0)
|
||||||
sprintf((char *)ser, "** err(%d)", err);
|
sprintf((char *)ser, "** err(%d)%s", err, usberrstr(err));
|
||||||
|
|
||||||
sprintf(tmp, EOL " dev %d: More Info:" EOL "\tManufacturer: '%s'" EOL
|
sprintf(tmp, EOL " dev %d: More Info:" EOL "\tManufacturer: '%s'" EOL
|
||||||
"\tProduct: '%s'" EOL "\tSerial '%s'",
|
"\tProduct: '%s'" EOL "\tSerial '%s'",
|
||||||
@ -581,7 +604,7 @@ void usb_all(int level)
|
|||||||
|
|
||||||
count = libusb_get_device_list(NULL, &list);
|
count = libusb_get_device_list(NULL, &list);
|
||||||
if (count < 0) {
|
if (count < 0) {
|
||||||
applog(LOG_ERR, "USB all: failed, err %d", (int)count);
|
applog(LOG_ERR, "USB all: failed, err %d%s", (int)count, usberrstr((int)count));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user