{ "info": { "author": "Robikz", "author_email": "zalewapl@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "\n\nADF On-The-Go\n=============\n\nADF On-The-Go (adfotg) is a HTTP service designed for use in a Raspberry\nPi Zero which is connected through its USB OTG port to a Gotek Floppy\nDrive emulator in use in an Amiga computer. It allows to feed the Gotek\nwith fully programmable contents using a human-friendly user interface\nthat can be accessed from any web browser. It can prepare ADF images\nfrom files, split big files into floppy-size chunks or just serve the\nADF images directly. It allows to store a bundle of ADF files on its\nown drive and swap them freely.\n\n```\n ----------- Linux ------------ USB --------- IDE ---------\n | ADF OTG |------>| RPi Zero |------>| Gotek |---->| Amiga |\n ----------- ------------ no+5V --------- ---------\n```\n\n\n\n\n\n!!! HARDWARE DAMAGE RISK !!!\n============================\n\n**CUT THE +5V LINE FROM THE USB CABLE!**\n\nThis line will connect the voltage from the Raspberry Pi and\npower up your Gotek and your Amiga. When Amiga PSU is OFF, the Amiga\nwill be put in a strange half-state with LEDs lighting up but the\ncomputer remaining off. The RPi will also reboot. When Amiga PSU is\nON, the +5V USB line will prevent the Amiga's Power LED from dimming\nwhen Amiga reboots.\n\n**FOR SAFETY MEASURES, CUT THE +5V LINE! I DID IN MINE.**\n\n\n\n\nSecurity\n========\n\n**This is important!**\n**There's no security provided by the app itself!**\n\nIt doesn't even put a basic HTTP authentication in place. When you host it\non your device, keep it in a private network without remote access.\n\nThis software requires **'root' privileges** to perform certain\noperations. While the application will run as a normal user, it will abuse\n`sudo` to obtain root privileges when needed. Ensure your RPi user can `sudo`\nwithout password prompt.\n\n\nRequirements\n============\n\nSoftware:\n\n* Python 3\n* Python 2 (for xdftool)\n* mtools\n* sudo privileges\n\nHardware:\n\n* Raspberry Pi Zero\n* Gotek\n* An Amiga\n\n\nInstall\n=======\n\nThis program is designed to be run on a *Raspberry Pi Zero* with the Raspbian\nOperating System. Installing the release package on anything else is not\nrecommended, although will succeed and should be harmless (no warranty).\n\nProvided you have the Raspberry Pi Zero, do the following:\n\n1. `pip3 install adfotg`\n2. `xdftool` is essential but needs to be installed separately.\n This can be installed from `pip2 install amitools`\n3. `mtools` are also essential\n\nCommands:\n\n```\n sudo apt update && sudo apt install mtools python-pip python3-pip\n sudo pip2 install amitools\n sudo pip3 install adfotg\n```\n\n\nUpdate\n------\n\n```\n sudo pip3 install -U adfotg\n```\n\nadfotg needs to be restarted now. If you integrated it with your\nRaspbian (see the section below), then it's sufficient to do this:\n\n```\n sudo service adfotg restart\n```\n\n\nIntegrating with Raspbian\n-------------------------\n\nAfter pip3 install:\n\n```\n sudo adfotg --install\n```\n\nThis will:\n\n1. Add 'adfotg' system user to Raspbian and allow this user a\n password-less sudo privilege.\n2. Create adfotg's default config file in `/etc/adfotg.conf`.\n3. Create adfotg's base directory at `/var/lib/adfotg`.\n4. Add `adfotg.service` to systemd; adfotg will start with the system.\n\n\nPreparing your Raspberry Pi\n---------------------------\n\n**This is mandatory.** Follow the instructions from\nhttps://gist.github.com/gbaman/50b6cca61dd1c3f88f41\nto enable dwc2 and g_mass_storage modules.\n\nHereby is a copy of the excerpt from the guide with adjustment\nfor `g_mass_storage` module.\n\n1. We need to make sure we are using the dwc2 USB driver\n `echo \"dtoverlay=dwc2\" | sudo tee -a /boot/config.txt`\n2. Enable it in Raspbian `echo \"dwc2\" | sudo tee -a /etc/modules`\n3. Now pick which module you want to use from the list above,\n for ADF OTG we need `g_mass_storage`, so:\n `echo \"g_mass_storage\" | sudo tee -a /etc/modules`.\n4. Reboot your RPi.\n\nIn case of trouble connecting with Gotek, you may try to\ndiagnose some problems by connecting the RPi to an USB socket\nin a PC. When an USB drive image is mounted, the PC should see\nthe RPi as an USB drive.\n\n\nDevelopment\n===========\n\nPlease see [CONTRIBUTING.md](CONTRIBUTING.md).\n\n\nTroubleshooting\n===============\n\n**Problem:** Gotek perpetually displays `---` when connected to RPi,\neven though it works with my usual USB drive.\n\n**Solution:** `---` indicates that you have Cortex firmware installed on\nyour Gotek. See if you have `SELECTOR.ADF` on your USB drive. If yes,\nthis ADF must also be placed on every mount image you create in adfotg.\n\n\n**Problem:** I upgraded to a new version, but there are oddities\nhappening or I don't see any changes.\n\n**Solution:** There may be two reasons for this. Your browser might've\ncached the old version of the site or the adfotg service wasn't\nrestarted. See the \"Update\" section in README to learn how to restart\nthe service and clear your browser cache.\n\n\nBackground\n==========\n\n[Gotek](http://www.gotek.in/) is a hardware floppy-drive replacement for\nlegacy machines. Instead of using failure-prone floppy disks, it allows\nto use a USB flash drive with floppy-disk images. Multiple images can\nbe stored on a single flash drive and Gotek allows by default to choose\nbetween them through buttons located on the case. While Gotek is an\nexcellent device that eradicates the inconvenience of floppy disks,\nit not only doesn't solve the inconvenience of disk swapping but makes\nit worse by replacing labeled floppy-disks with incomprehensible\nordinal numbers (from 0 to 999).\n\n\n[Raspberry Pi Zero](https://www.raspberrypi.org/) is a cheap mini-computer\nthat can run Linux. It has two major features that are in use in this project:\n\n* WiFi\n* USB On-The-Go\n\nWhile WiFi (or any Ethernet connection) is used here as the access layer\nto the ADF On-The-Go software, USB On-The-Go is the real enabler. While\nit has many applications, we are only interested in one. It allows to\nmake the RPi appear to be an USB flash drive - a flash drive which\ncontents we can fully control and change on-the-fly using Linux command\nline tools and which we can program to serve the content we want.\n\nGuide for setting up OTG mode on Raspberry Pi can be found here:\nhttps://gist.github.com/gbaman/50b6cca61dd1c3f88f41\n\n\n[amitools](https://github.com/cnvogelg/amitools/) contains xdftool,\nwith which adfotg is capable of manipulating ADF image files to\nsome extent.\n\n\nREST API\n========\n\nREST API documentation is currently a Work-In-Progress.\nadfotg is capable of providing the documentation for itself\nin a plain-text format through the `/help` endpoint.\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Zalewa/adfotg", "keywords": "", "license": "MIT License\n\nCopyright (c) 2018 - 2019 Robikz \n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n", "maintainer": "", "maintainer_email": "", "name": "adfotg", "package_url": "https://pypi.org/project/adfotg/", "platform": "", "project_url": "https://pypi.org/project/adfotg/", "project_urls": { "Homepage": "https://github.com/Zalewa/adfotg" }, "release_url": "https://pypi.org/project/adfotg/0.2.0/", "requires_dist": null, "requires_python": "", "summary": "ADF On-The-Go - convert your RPi Zero to Gotek-ready USB disk", "version": "0.2.0" }, "last_serial": 4718857, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "81be95d627865ec6196f808a68637a8b", "sha256": "4e3dc635ae9ff19334b472eb1f6ef08cf9ca680bcbe26d8dd76a7c6d7db16334" }, "downloads": -1, "filename": "adfotg-0.1.0.tar.gz", "has_sig": false, "md5_digest": "81be95d627865ec6196f808a68637a8b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 466906, "upload_time": "2018-12-15T15:44:05", "url": "https://files.pythonhosted.org/packages/95/65/6ba3b632aa24e1228cfe4b3bdded4e4ecba2f4da8b21c3606f416e8b8af4/adfotg-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "f410f1e46a1543228855e34dcf2c6e10", "sha256": "40b0d7203c415f349f6474798430fdb6b4ed8073222c8812abe5bd7d5493853a" }, "downloads": -1, "filename": "adfotg-0.1.1.tar.gz", "has_sig": false, "md5_digest": "f410f1e46a1543228855e34dcf2c6e10", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 466965, "upload_time": "2018-12-15T19:04:52", "url": "https://files.pythonhosted.org/packages/94/4e/fb18598e95e90921648d822ee714f3e510145579f68aa0f5ef0849781f72/adfotg-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "e82e4d4d747eae07162542037a6f3b49", "sha256": "98033c4cfa0f9c1d266e77839ac9345c9ce39492669e1bdbe726cb679c619569" }, "downloads": -1, "filename": "adfotg-0.2.0.tar.gz", "has_sig": false, "md5_digest": "e82e4d4d747eae07162542037a6f3b49", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 481032, "upload_time": "2019-01-20T18:37:29", "url": "https://files.pythonhosted.org/packages/a4/53/59ec64907ccb47e85a4ace08c388ea3cd2df82fc85456fc59e96d55ce589/adfotg-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e82e4d4d747eae07162542037a6f3b49", "sha256": "98033c4cfa0f9c1d266e77839ac9345c9ce39492669e1bdbe726cb679c619569" }, "downloads": -1, "filename": "adfotg-0.2.0.tar.gz", "has_sig": false, "md5_digest": "e82e4d4d747eae07162542037a6f3b49", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 481032, "upload_time": "2019-01-20T18:37:29", "url": "https://files.pythonhosted.org/packages/a4/53/59ec64907ccb47e85a4ace08c388ea3cd2df82fc85456fc59e96d55ce589/adfotg-0.2.0.tar.gz" } ] }