This is the R&D thread. This is for people who want to know the nitty gritty of making their own dongle from sources, and has my thoughts through each stage of my process. The user-friendly "Do this, this, this and this" tutorial will come after. Disclaimer out of the way-- Here we go. First an old post from another discussion topic so it does not get lost-- I was really hoping to not have to do surgery on the dongle, but looking closely at the pictures of the PCB from the hacking documents/research, I am going to have to. There will need to be some slight soldering modifications to the device so that host mode data pins are exposed through the port. This sadly means sacrificing either the ability for the device to read the sdcard slot, or for the device to function as an sdcard reader for the host. I am going to elect sacrificing the ability for the device to read the sdcard slot. (Picking option 1 below.) The reasoning is simple: The designers included a 2 output select highspeed switch (that is fully bidirectional), that (as currently wired), switches the SDCard reader's data pins between either the SoC's USB root hub, or the USB-A connector. (this means that as wired, the USB-A plug cannot talk to the host's root hub.) We have two options: 1) (Make the USB-A interface become the item that gets switched) De-solder the contact going into the highspeed switch where the SDCard interface board talks, and remove the 2 pin header from the daughter board Solder 2 patch wires into the header holes on the daughter board Solder 2 patch wires onto the USB-A connector's D+ and D- contact pads VERY CAREFULLY cut the traces on the motherboard that connect the SW1 D+ and D- pads of the highspeed switch to the USB-A interface Run the USB-A patch wires into the switch's input header holes Run the SDCard reader's patch wires into the teeeeeny tiny contact points of the surface mount switch's SW1 points. (Or look for testpoints on the PCB, and connect there.) 2) (Make the SoC host interface become the item that gets switched) Hunt down contact points for the SoC's D+ and D- lines, and attach jumper wires VERY CAREFULLY cut the traces after the SoC contact points we are using that lead to the switch Desolder and remove the 2 pin header from the SDCard daughter board Solder jumper wires to the header pin holes on the daughter board Solder the SoC jumper wires to the switch input header pin holes Solder the CardReader jumper wires to SW2 data pins (look for testpoints) I think option 1 is less likely to have issues. (I dont have to hunt for as many test pads, and it should be easier to cut the traces) It will also allow the console to read the SDCard slot after the appropriate GPIO is asserted. Access to the RCM mode console is enabled because the highspeed switch is bidirectional, when the GPIO is low. The downside is that the SoC cannot see or use the card reader. Option 2 allows the SoC to see the card reader, but denies the console access to the slot. It is also harder to pull off I think. Given the issues I have faced trying to get a suitable bare image for the zsun built (due to small SPI flash, only 16mb), I think "candidate 2" I linked previously is a no-go, (Only 4mb SPI flash) even though it would be solderless. (has fully exposed host interface) I will look into other options that could be done that are fully solderless, but they are more expensive, and I am not made of money. (For the cost of 2 hardware test articles, I could buy a switch game and have much more fun.)[/QUOTE] Addendum: There's also the "Super easy" choice where we sacrifice both, by unsoldering the two pins to the SDcard reader, jumpering straight to the data pins on the port, and hooking nothing else up. That would make the GPIO toggle basically be "Host connected to port." and "Nothing connected." (actually, port connected to itself, so nothing.) For simplicity, I will take this last option until I more completely explore this device. ---- And now for the fun part. The dongle has arrived. It's much smaller than I expected. Initial research: Device comes stock with an ancient linux kernel, and hyper-minimal embedded linux userspace. (2.6.31 !! BLECH!!) Device's USB driver is NOT baked into the kernel; It is loaded as a module. Device's root file system is writable!? (No, it's NOT tmpfs! It's totally jffs2!) Device has root access via hidden telnet on port 11880. Username: root Password: zsun1188 This means the option to just recompile ehci-hcd.ko with FoF's patch, and sideload python (without flashing openwrt) is possible, but I wont be doing that. (Already built openwrt, which while an old version, is much newer than this kernel. 3.xxx kernel.) I have already dumped the partitions and backed them up. Going to attempt firmware update. (If I fail, I will solder serial console header on, and recover) Wish me luck.