{"id":26232552,"url":"https://github.com/bulletmark/rebind-devices","last_synced_at":"2026-02-11T10:34:03.640Z","repository":{"id":137097909,"uuid":"344994166","full_name":"bulletmark/rebind-devices","owner":"bulletmark","description":"Linux service to automatically reset devices when resuming from sleep","archived":false,"fork":false,"pushed_at":"2025-01-27T23:19:42.000Z","size":20,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-22T10:41:33.352Z","etag":null,"topics":["rebind","service","sysfs","systemd"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bulletmark.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2021-03-06T03:17:46.000Z","updated_at":"2025-01-27T23:19:46.000Z","dependencies_parsed_at":"2025-04-23T05:00:42.629Z","dependency_job_id":null,"html_url":"https://github.com/bulletmark/rebind-devices","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/bulletmark/rebind-devices","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bulletmark%2Frebind-devices","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bulletmark%2Frebind-devices/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bulletmark%2Frebind-devices/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bulletmark%2Frebind-devices/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bulletmark","download_url":"https://codeload.github.com/bulletmark/rebind-devices/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bulletmark%2Frebind-devices/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29332277,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-11T06:13:03.264Z","status":"ssl_error","status_checked_at":"2026-02-11T06:12:55.843Z","response_time":97,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["rebind","service","sysfs","systemd"],"created_at":"2025-03-13T00:37:29.091Z","updated_at":"2026-02-11T10:34:03.623Z","avatar_url":"https://github.com/bulletmark.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## REBIND-DEVICES\n[![AUR](https://img.shields.io/aur/version/rebind-devices)](https://aur.archlinux.org/packages/rebind-devices/)\n\nThis is a simple Linux service to automatically reset one or more\ndevices whenever your system resumes from sleep. The devices are\nspecified as [sysfs](https://man7.org/linux/man-pages/man5/sysfs.5.html)\nBUS ID paths in the configuration file `/etc/rebind-devices.conf`. It\nworks by writing the BUS ID of the device to the [unbind and bind\nfiles](https://lwn.net/Articles/143397/) pertaining to the associated\ndevice driver. Use `lspci`, `lsusb -v`, etc to find the BUS ID path of a\ndevice you want to reset, so you can add that BUS ID to your\nconfiguration file. Your system must be using\n[systemd](https://www.freedesktop.org/wiki/Software/systemd/).\n\nI use it to reset the USB controller on my external dock whenever my\nsystem resumes, to fix a faulty USB keyboard that otherwise does not\nrestore. I used `lspci | grep USB` to determine it's BUS ID.\n\nThe latest version and documentation for this utility is available at\nhttps://github.com/bulletmark/rebind-devices.\n\n## INSTALLATION\n\nArch Linux users can install [rebind-devices from the\nAUR](https://aur.archlinux.org/packages/rebind-devices/) and just follow\nthe CONFIGURATION, ENABLE, and LOGGING sections below.\n\nOther users should do the following to install from the source repository.\n\n    git clone http://github.com/bulletmark/rebind-devices\n    cd rebind-devices\n    sudo ./rebind-devices-setup install\n\n## CONFIGURATION\n\n    sudo cp /usr/share/rebind-devices/rebind-devices.conf /etc/\n\n    # Add the devices you want to rebind:\n    sudoedit /etc/rebind-devices.conf\n\n## ENABLE\n\n    sudo systemctl enable rebind-devices\n\n## LOGGING\n\n    journalctl -u rebind-devices\n\n## UPGRADE\n\n    # cd to source dir\n    cd rebind-devices\n    git pull\n    sudo ./rebind-devices-setup install\n    sudo systemctl restart rebind-devices\n\n## DISABLE\n\n    sudo systemctl disable rebind-devices\n\n## UNINSTALL\n\n    # cd to source dir\n    cd rebind-devices\n\n    sudo ./rebind-devices-setup uninstall\n    sudo rm /etc/rebind-devices.conf\n\n## USAGE\n\nType `rebind-devices -h` to view the usage summary:\n\n```\nusage: rebind-devices [-h] [-c CONFIG]\n\nProgram to rebind configured devices after resume from suspend.\n\noptions:\n  -h, --help            show this help message and exit\n  -c CONFIG, --config CONFIG\n                        config file (default: /etc/rebind-devices.conf)\n```\n\n## LICENSE\n\nCopyright (C) 2021 Mark Blakeney. This program is distributed under the\nterms of the GNU General Public License.\n\nThis program is free software: you can redistribute it and/or modify it\nunder the terms of the GNU General Public License as published by the\nFree Software Foundation, either version 3 of the License, or any later\nversion.\n\nThis program is distributed in the hope that it will be useful, but\nWITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General\nPublic License at \u003chttp://www.gnu.org/licenses/\u003e for more details.\n\n\u003c!-- vim: se ai syn=markdown: --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbulletmark%2Frebind-devices","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbulletmark%2Frebind-devices","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbulletmark%2Frebind-devices/lists"}