{"id":16195255,"url":"https://github.com/mrf345/usb-resetter","last_synced_at":"2025-09-01T19:34:09.109Z","repository":{"id":88520116,"uuid":"108401537","full_name":"mrf345/usb-resetter","owner":"mrf345","description":"Simple GUI USB resetting tool","archived":false,"fork":false,"pushed_at":"2018-02-05T07:18:44.000Z","size":203,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-13T18:37:18.942Z","etag":null,"topics":["gui","pyside","python","pyusb","reset","resetting","usb","usb-resetter"],"latest_commit_sha":null,"homepage":"https://sourceforge.net/projects/usb-resetter/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mrf345.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-10-26T11:19:27.000Z","updated_at":"2025-01-23T04:55:43.000Z","dependencies_parsed_at":null,"dependency_job_id":"d73d4f69-b479-4159-8afa-d62c23b2d307","html_url":"https://github.com/mrf345/usb-resetter","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrf345%2Fusb-resetter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrf345%2Fusb-resetter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrf345%2Fusb-resetter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrf345%2Fusb-resetter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mrf345","download_url":"https://codeload.github.com/mrf345/usb-resetter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247685594,"owners_count":20979084,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gui","pyside","python","pyusb","reset","resetting","usb","usb-resetter"],"created_at":"2024-10-10T08:26:49.350Z","updated_at":"2025-04-07T15:54:38.656Z","avatar_url":"https://github.com/mrf345.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align='center'\u003e\n\u003cimg width='35%' src='https://mrf345.github.io/images/logo_usb.png' /\u003e\n\u003c/p\u003e\n\u003ch3 align='center'\u003e\nUSB resetting is the closest equivalent to physically unplugging and re-plugging a USB device. you might ask , How is that useful ? In my case, it helps with accessing my slightly damaged old USB external hard drive after a mount in unix-like OSes without any i/o issues. There must be more, that it can help with. So try it to know.\n\u003c/h3\u003e\n\u003chr /\u003e\n\u003cp align='center'\u003e\n\u003cimg src='https://mrf345.github.io/images/template_usb.png' width='70%' /\u003e\n\u003c/p\u003e\n\n## Setup:\n#### - From the source:\n\u003e `git clone https://github.com/mrf345/usb-resetter.git` \u003cbr /\u003e\n\u003e `cd usb-resetter` \u003cbr /\u003e\n\u003e `pip2.7 install -r requirements.txt` \u003cbr /\u003e\n\u003e `python2.7 run.py`\n\n#### - With executable:\n\u003e - You can get an executable that's suitable to your OS from : \u003cbr /\u003e\n\u003e https://sourceforge.net/projects/usb-resetter/\n\n## OS support:\n#### - Windows:\n\u003e This tool is based on PyUsb, an open source python library that requires some extra USB drivers to allow us to interact with USB devices. One of those drives is libusb, there's an old but still working perfectly window version of it on : \u003cbr /\u003e\n\u003e https://sourceforge.net/projects/libusb-win32/files/libusb-win32-releases/1.2.6.0/libusb-win32-devel-filter-1.2.6.0.exe/download\n\n#### - MacOS:\n\u003e Since MacOS is actually a unix-like OS, the bundled libusb driver seems to work perfectly. Only issue that might accrue here, is not knowing exactly which device you want to reset, due to the short descriptors and unintended vague categories. So you can make use of the command `system_profiler SPUSBDataType` in terminal to get the idvendor, idproduct. Which are used to identify the devices in usb-resetter.\n\n#### - GNU/Linux:\n\u003e Has no issue in running the bundled libusb drive, and using `lsusb` command to get the exact idvendor and idproduct, in case you confused the device. Another thing, some might consider it an issue, is the need for `sudo` since interacting with USB devices requires a higher permissions.\n\n## CLI:\n\u003e You can find a command-line version here: https://github.com/mrf345/usb-resetter-cli\n\n\u003cbr /\u003e\n\u003cp align='center'\u003e\n\u003cimg src='https://mrf345.github.io/images/gui_usb.gif' /\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrf345%2Fusb-resetter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmrf345%2Fusb-resetter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrf345%2Fusb-resetter/lists"}