diff options
author | zvecr <git@zvecr.com> | 2019-02-18 18:03:44 +0100 |
---|---|---|
committer | Drashna Jaelre <drashna@live.com> | 2019-02-18 18:03:44 +0100 |
commit | 1a6a2a7b75dec3b20311bc6d89923fde3222ba1c (patch) | |
tree | 25a7d256f9d78a281a58095822a24a9920c5b73b /keyboards/jj4x4 | |
parent | 545f95c8f49b8714a2fe2d0fa0f849f305cc7ca3 (diff) | |
download | qmk_firmware-1a6a2a7b75dec3b20311bc6d89923fde3222ba1c.tar.gz qmk_firmware-1a6a2a7b75dec3b20311bc6d89923fde3222ba1c.tar.xz |
Relocate usb_detach to utils (#5121)
* Relocate usb_detach to utils
* Relocate usb_detach to utils - fix up files after move
Diffstat (limited to 'keyboards/jj4x4')
-rw-r--r-- | keyboards/jj4x4/tools/README.md | 16 | ||||
-rw-r--r-- | keyboards/jj4x4/tools/usb_detach.c | 33 |
2 files changed, 0 insertions, 49 deletions
diff --git a/keyboards/jj4x4/tools/README.md b/keyboards/jj4x4/tools/README.md deleted file mode 100644 index 081984ed4..000000000 --- a/keyboards/jj4x4/tools/README.md +++ /dev/null @@ -1,16 +0,0 @@ -# JJ40 Tools - -## usb_detach.c - -When trying to flash on Linux, you may encounter a "Resource Unavailable" error. This means that Linux's HID driver has taken exclusive control of the keyboard, and the program script can't flash it. -This program can force Linux to give up a device, so that the programming script can reset it. - -### To compile: -``` -gcc usb_detach.c -o usb_detach -``` - -### To run: -1. Use `lsusb` to discover the Bus and Device numbers for your keyboard. -2. Run the program: `sudo ./usb_detach /dev/bus/usb/<BUS>/<DEVICE>`. -3. Build and program the firmware as normal. diff --git a/keyboards/jj4x4/tools/usb_detach.c b/keyboards/jj4x4/tools/usb_detach.c deleted file mode 100644 index c21e47a7a..000000000 --- a/keyboards/jj4x4/tools/usb_detach.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Found at https://www.linuxquestions.org/questions/linux-hardware-18/how-to-unclaim-usb-device-558138/#post3406986 */ -#include <stdio.h> -#include <sys/types.h> -#include <sys/stat.h> -#include <fcntl.h> -#include <linux/ioctl.h> -#include <linux/usbdevice_fs.h> - -int main(int argc, char**argv) -{ - struct usbdevfs_ioctl command; - int ret; - int fd; - int i; - if (argc>1) { - fd = open(argv[1],O_RDWR); - if (fd<1){ - perror("unable to open file"); - return 1; - } - for (i=0;i<255;i++){ // hack: should fetch how many interface there is. - command.ifno = i; - command.ioctl_code = USBDEVFS_DISCONNECT; - command.data = NULL; - ret = ioctl(fd, USBDEVFS_IOCTL, &command); - if(ret!=-1) - printf("un claimed interface %d %d\n",i,ret); - } - } else { - printf ("usage: %s /dev/bus/usb/BUS/DEVICE\n",argv[0]); - printf("Release all interfaces of this usb device for usage in virtualisation\n"); - } -}
\ No newline at end of file |