{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":713568940,"defaultBranch":"master","name":"android-usb-mass-storage-enable","ownerLogin":"Swyter","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-11-02T19:37:00.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/690187?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1698953963.0","currentOid":""},"activityList":{"items":[{"before":"40577d2a98b5a8d9debb551c162003e5a35cf157","after":"3b1b3c1c73e77a89a40154866ef4a13899f72f7d","ref":"refs/heads/master","pushedAt":"2023-11-05T05:56:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Change the line endings from Windows (`\\r\\n`) to UNIX (`\\n`) to make it work well across operating systems.","shortMessageHtmlLink":"Change the line endings from Windows (\\r\\n) to UNIX (\\n) to make …"}},{"before":"30962e5ad4710c8850c2a1c3762d5433d09f9b61","after":"40577d2a98b5a8d9debb551c162003e5a35cf157","ref":"refs/heads/master","pushedAt":"2023-11-05T05:45:26.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Change the line endings from Windows (\\r\\n) to UNIX (\\n) to make it work well across operating systems.","shortMessageHtmlLink":"Change the line endings from Windows (\\r\\n) to UNIX (\\n) to make it w…"}},{"before":"50142be631a3b4799f2942d4d023a8e78b18f3b0","after":"30962e5ad4710c8850c2a1c3762d5433d09f9b61","ref":"refs/heads/master","pushedAt":"2023-11-05T05:41:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Change the line endings from Windows (\\r\\n) to UNIX (\\n) to make it work well.","shortMessageHtmlLink":"Change the line endings from Windows (\\r\\n) to UNIX (\\n) to make it w…"}},{"before":"4919edfde3f723f05a6437a4894007162637be02","after":"50142be631a3b4799f2942d4d023a8e78b18f3b0","ref":"refs/heads/master","pushedAt":"2023-11-05T05:37:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Add a more complete configuration section at the top, which also lets people switch between cdrom mode and read-only. To simulate a writable pendrive, useful for EFI partitions and more. Make it print more useful status lines.","shortMessageHtmlLink":"Add a more complete configuration section at the top, which also lets…"}},{"before":"d11204d591c5c23187537dab8f6d47870c39aa88","after":"4919edfde3f723f05a6437a4894007162637be02","ref":"refs/heads/master","pushedAt":"2023-11-05T04:02:45.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Still can't get manual gadget tethering to work. I'm missing some key Android-ish step to make the network interfaces respond when up, probably. Tried switching from the hardware-accelerated RNDIS on Qualcomm (GSI) to a generic, standard NCM, but I can't seem to even get the ARP part to work here, so even worse. Fiddled with the `ip rule`, trying to mirror the changes I see when normal tethering is on and off. But still nothing. Also tried adding a mass storage function to an Android-prepared tethering gadget, but when I do `echo \"\" > UDC; getprop sys.usb.controller > UDC` to bring it down and up and refresh the changes the ends of rndis0 can talk to each other, but the Internet forwarding breaks. Can't win.","shortMessageHtmlLink":"Still can't get manual gadget tethering to work. I'm missing some key…"}},{"before":"452866ca03945dfe2385c045bc493fe74648c2be","after":"d11204d591c5c23187537dab8f6d47870c39aa88","ref":"refs/heads/master","pushedAt":"2023-11-04T21:43:34.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Use the svc usb commands to try to reset the USB gadget mode to a known/working state, in case we mess things up and the USB notification mode doesn't appear (it happened here ¯\\_(ツ)_/¯). Add another two gsi functions to see if that makes networking work.","shortMessageHtmlLink":"Use the svc usb commands to try to reset the USB gadget mode to a kno…"}},{"before":"a3d56f184cd0df8d323b501c06e0a48fc7e760e1","after":"452866ca03945dfe2385c045bc493fe74648c2be","ref":"refs/heads/master","pushedAt":"2023-11-04T20:22:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Seems like the programs we care about are stored under /system/bin, update the hashbang. Update the visible USB product name. Remove the os_desc/b_vendor_code and os_desc/qw_sign, which don't seem to do anything.","shortMessageHtmlLink":"Seems like the programs we care about are stored under /system/bin, u…"}},{"before":"40d60012cc88da438d511aa986feac5dfb2117b5","after":"a3d56f184cd0df8d323b501c06e0a48fc7e760e1","ref":"refs/heads/master","pushedAt":"2023-11-03T04:43:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Add an incomplete/non-working version of the iptables theorically needed to forward packets between the rndis0 interface and the rest of the Android interfaces. I'm missing something. DHCP works, but normal traffic doesn't.","shortMessageHtmlLink":"Add an incomplete/non-working version of the iptables theorically nee…"}},{"before":"f7e1ec23b02010d0a171885321231c9c9a3b5b9a","after":"40d60012cc88da438d511aa986feac5dfb2117b5","ref":"refs/heads/master","pushedAt":"2023-11-03T02:52:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Improve the dnsmasq DHCP server another bit, add DNS server support. Still no Internet, packets aren't routed properly, only broadcasts, it seems.","shortMessageHtmlLink":"Improve the dnsmasq DHCP server another bit, add DNS server support. …"}},{"before":"40ae05d35b7157e7da0370d10f4dfbff023f77cc","after":"f7e1ec23b02010d0a171885321231c9c9a3b5b9a","ref":"refs/heads/master","pushedAt":"2023-11-03T02:19:14.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Make the DHCP server work, at least a bit, turns out there was already a background dnsmasq server running because I use the USB tether option in the Android GUI, using the only-charge mode makes it work. Set up networking after bringing up the RNDIS interface. I'm probably messing the masks. Use a weirder local IP address instead of reusing the 192.168.X.X range.","shortMessageHtmlLink":"Make the DHCP server work, at least a bit, turns out there was alread…"}},{"before":"fc9a8def9f131fad7366911e057d307bbd5731bc","after":"40ae05d35b7157e7da0370d10f4dfbff023f77cc","ref":"refs/heads/master","pushedAt":"2023-11-03T01:17:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Explain what the script does and add a nice header. Tell people that I don't know how to use dnsmasq yet.","shortMessageHtmlLink":"Explain what the script does and add a nice header. Tell people that …"}},{"before":"61a39faec064db23502fcd27fd47d1c57e4defc5","after":"fc9a8def9f131fad7366911e057d307bbd5731bc","ref":"refs/heads/master","pushedAt":"2023-11-03T01:10:18.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Make the RNDIS tethering work together with the mass storage thingie under the same USB gadget configuration. Seems like RNDIS needs to go first for it to be detected, so swap their order.","shortMessageHtmlLink":"Make the RNDIS tethering work together with the mass storage thingie …"}},{"before":"3aaae1f0ff1cbe3b664ac47d6725b09c0a881d36","after":"61a39faec064db23502fcd27fd47d1c57e4defc5","ref":"refs/heads/master","pushedAt":"2023-11-03T00:45:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Start working on a multifunction USB gadget setup that provides both the mass_storage and the rndis function from the same device, to be able to tether when there's no Ethernet connection/laptops. Still doesn't work.","shortMessageHtmlLink":"Start working on a multifunction USB gadget setup that provides both …"}},{"before":"0914d3c164248322c3017967ba30a6984efd6718","after":"3aaae1f0ff1cbe3b664ac47d6725b09c0a881d36","ref":"refs/heads/master","pushedAt":"2023-11-02T22:52:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Retouch a bit the script, to use cd instead of the unsupported pushd and make the read pause actually work after printing the user-facing text, once they are done with the virtual drive.","shortMessageHtmlLink":"Retouch a bit the script, to use cd instead of the unsupported pushd …"}},{"before":"e476800efc02fe922637a192ce4c0905eb49bfba","after":"0914d3c164248322c3017967ba30a6984efd6718","ref":"refs/heads/master","pushedAt":"2023-11-02T22:38:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Add more comments, trying to explain the whole mess. Make it slightly palatable.","shortMessageHtmlLink":"Add more comments, trying to explain the whole mess. Make it slightly…"}},{"before":"046f877601e24ae99dbd6384c6bc6c3b5bc8e87e","after":"e476800efc02fe922637a192ce4c0905eb49bfba","ref":"refs/heads/master","pushedAt":"2023-11-02T22:30:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Add further comments for tearing down the USB gadget device.","shortMessageHtmlLink":"Add further comments for tearing down the USB gadget device."}},{"before":"15875746e8f1836ea149749d5e35ee2479004f16","after":"046f877601e24ae99dbd6384c6bc6c3b5bc8e87e","ref":"refs/heads/master","pushedAt":"2023-11-02T22:28:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Reverse the mass_storage set up. Set the file path only after setting the read-only and removable modes. Or they won't move.\n\nAdd the reverse instructions to tear down the configs, functions and gadget configfs folder, as shown here: https://www.kernel.org/doc/html/latest/usb/gadget_configfs.html#cleaning-up","shortMessageHtmlLink":"Reverse the mass_storage set up. Set the file path only after setting…"}},{"before":"fe65fc235a48cd93cbce16f18690193572c36f4f","after":"15875746e8f1836ea149749d5e35ee2479004f16","ref":"refs/heads/master","pushedAt":"2023-11-02T21:14:18.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"Start working on retrieving the configfs mount point automatically, instead of hardcoding it to /config, for robustness.","shortMessageHtmlLink":"Start working on retrieving the configfs mount point automatically, i…"}},{"before":null,"after":"fe65fc235a48cd93cbce16f18690193572c36f4f","ref":"refs/heads/master","pushedAt":"2023-11-02T19:39:23.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Swyter","name":"Swyter","path":"/Swyter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/690187?s=80&v=4"},"commit":{"message":"First working version via Wireless ADB. Oh, boy. It's always simpler.","shortMessageHtmlLink":"First working version via Wireless ADB. Oh, boy. It's always simpler."}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAADp5yi4wA","startCursor":null,"endCursor":null}},"title":"Activity · Swyter/android-usb-mass-storage-enable"}