nano  /mnt/sda1/usbreset3.c
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <errno.h>
#include <sys/ioctl.h>
#include <linux/usbdevice_fs.h>
int main(int argc, char **argv)
{
	const char *filename;
	int fd;
	int rc;
	if (argc != 2) {
		fprintf(stderr, "Usage: usbreset device-filename\n");
		return 1;
	}
	filename = argv[1];
	fd = open(filename, O_WRONLY);
	if (fd < 0) {
		perror("Error opening output file");
		return 1;
	}
	printf("Resetting USB device %s\n", filename);
	rc = ioctl(fd, USBDEVFS_RESET, 0);
	if (rc < 0) {
		perror("Error in ioctl");
		return 1;
	}
	printf("Reset successful\n");
	close(fd);
	return 0;
}
gcc -o usbreset3  /mnt/sda1/usbreset3.c
chmod 755 usbreset3
root@Arduino:~# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 058f:6254 Alcor Micro Corp. USB Hub
Bus 001 Device 003: ID 0424:2507 Standard Microsystems Corp. hub
Bus 001 Device 004: ID 058f:6366 Alcor Micro Corp. Multi Flash Reader
Bus 001 Device 005: ID 046d:0829 Logitech, Inc.

Reset logitech camera:

root@Arduino:~# /mnt/sda1/usbreset3 /dev/bus/usb/001/005
Resetting USB device /dev/bus/usb/001/005
Reset successful

If reset root hub will crash machine!

Download pre-compile usbreset3:

wget -O usbreset3 https://www.dropbox.com/s/xlnkut2jpcy7evj/usbreset3?dl=0 --no-check-certificate

Comments powered by CComment