@Olmectron don't forget to add .tik support! since the fbi now supports it
Thanks for testing! Yeah. I get usually around 1200 KB/s with wjchen's build in SP's Legacy Mode. Installing 1GB in 12 minutes.@Olmectron I don't know if this can be useful in any way to kill those nasty bugs, but as I installed A9LH on one 3DSXL, I made some tests with SocketPunch and FBI builds (1.4.17 from chen and official 2.0.5)
1- "Newest mode" with official FBI 2.0.5
As you can see, first upload works (but is slow as hell). But when starting the next file, immediately, it crashes and throws a "Failed". You can see that SP thinks he uploaded 21% of the file (which is, in fact, the size of the FIRST upload...nothing from the second file was uploaded at all !). It's like SP does not reset some buffer when starting the next file in queue
View attachment 47041
2- "Legacy mode" with FBI 1.4.17 "chen" fix4 build (by mistake, I first installed the official FBI build...this was even slower than Newest mode ! chen build is really much better)
As you can see, everything works as expected, it's smooth as butter, damn faster than any other build or mode. No crash, no cry, pure joy
View attachment 47042
I will stay in legacy mode with FBI 1.4.17 chen edition for the moment![]()
Socket Punch is an app developed for sending CIA files through local network and install them directly using FBI's network abilities.
Current platforms: Java 8 (32 and 64 bit), Windows 7+ (64-bit only) and Android 2.3.3+ (tested only on 4.0+ so far). Download links below.
The original SocketPunch GUI app was developed by GBATemp's user @Joshtech thanks to @Steveice10's sockfile. You can find the orignal SocketPunch it in his original post.
The app is available for desktop Java 8 platform and as a Java Native EXE installer. The Java version (JAR file) should work on Windows, Mac and some Linux distros, given that you can install the latest Oracle's Java version. The Java Native EXE installer works on Windows 7 and higher, and doesn't need you to install Java separately.
You can help translate the desktop app to other languages! First read the instructions about how to use the desktop version, then head over to the "How to translate and test to your preferred language" section below, it's in green text, you won't get lost.
The Android port should work on version 2.3.3 or higher. However, it's only been tested on Android 4.4 and 5.1 so far. You can find it below.
As of April, 2016, Steveice10, the author of FBI, has released the 2.0 update. This update changed the way data is sent to the app from the PC. The Desktop version is already compatible with this new protocol, while the Android version still needs to be updated.
While the Socket Punch Desktop app already works with the FBI 2 update, if you want to use the old sending method, you can use this FBI 1.4 build: Recommended FBI build from @wjchen (this build fixes the problem with big files stopping midway when transferring in FBI 1.4)
Instructions for Android
1. Start the app from your app menu.
2. Press the OPEN CIA button. A Document Selector will show up, look for your CIA files.
3. After selecting you CIA file in step 2, open FBI in your 3DS and press Y button.
4. Copy the IP Address that FBI will show to the "IP Address" field in the app.
5. Press the Punch icon blue button in the bottom right corner.
6. Wait for your CIA file to be installed!
Instructions for desktop
1. Start the JAR extension app. Or double click the installed Socket Punch app if you used the Native EXE installer.
2. Look for CIAS in your directories pressing the folder icon button in the upper right corner. (Or add them by dragging and dropping on the window).
3. Open FBI in your 3DS and press Y button.
4. Copy the IP Address that FBI will show to the "3DS IP Address" field in the app.
5. Press the Punch icon blue button in the bottom right corner.
6. Wait for your CIAS to be installed!
Note: I recommend to disable the prompt option in FBI by pressing A when waiting for network. Specially if you're transfering many CIAS.
Desktop version source code
GitHub Repository
Latest Android build
March 18th, 2016: SocketPunch Android v0.5 alpha, third release
- Now you can add several files to a queue list. However, it still has problems installing all the queue at once, you'll need to press the Punch for each file.
- Pressing the Punch button will only attempt to send and install uncompleted files.
- Added button to the action bar for removing completed files from queue.
- It now tells you the elapsed minutes when the transfer completes, only in the app right now, not in the notification bar.
- If your app gets dropped out while transferring, the actual transfer will go on and complete alright, but the queue will be lost. This only should happen if you put the app in the background, and open several more of them. So, it's completely ok to transfer big files, since even if the app closes for opening others, the transfer is in a background app-independent thread.
- Improved the GUI a little bit to make it more similar to the desktop version.
Some images:
View attachment 42881 View attachment 42882 View attachment 42883March 15th, 2016: SocketPunch Android v0.3 alpha, second release
March 12th, 2016: SocketPunch Android v0.1 alpha, first release
- Added still untested support for Android 2.3.3 and higher.
- You can put app in background (change to another app, press home button, sleep your phone) and the transfer will go on.
- Added app punch icon for the app menu.
- Socket Punch for Android devices. Just install the APK.
- You can only open and send one file at a time.
- Requires Android 4.4 or higher.
- Still in alpha. There could be problems if you suspend your phone or put the app in the background while transferring a CIA. The transfer would cancel and the app will crash.
- Work in progress for adding all the functions of the desktop version. Excepting Drag & Drop.
Latest desktop build
April 18th, 2016: SocketPunch MOD v1.2.1-beta
Standard multiplatform JAR
Native EXE Installer for Windows
- Bugfixes from 1.2.0 that prevented to complete the transfer once it reached 100%. I deleted that version from the log since it was broken with FBI 2. It should work now. This is what was added in 1.2.0-beta:
- Now compatible with the recent FBI 2 release.
- You can switch between old and new protocol, so you can still use wjchen's FBI 1.4 build if you want, or use the latest official FBI build by Steveice10.
- The FBI 2 (newest) mode should now transfer faster than v1.1.0-beta. Please, help me to test it.
- This is a beta release. The Newest Mode could present more bugs than the Legacy Mode, since it's been tested less.
- Added German thanks to user @robflop
- Added French thanks to user @Badablek
March 25th, 2016: SocketPunch MOD v1.0.5
Standard multiplatform JARMarch 21st, 2016: SocketPunch MOD v1.0.3
Native EXE Installer for Windows
- Now you can re-order items in the list by dragging around and releasing the mouse button on another item (they will swap places in the list). Thanks to @WallK for suggesting this feature.
- Added Russian thanks to user @WallK
- Added Italian thanks to user @Real.96 . Users @Criminal90 and @iv2b, shared an Italian translation too, so thanks everyone!
View attachment 43604
Standard multiplatform JARMarch 20th, 2016: SocketPunch MOD v1.0.2
Native EXE Installer for Windows
- Added in-app updater for both JAR and Windows native versions. The app will check automatically for updates on startup, or you can check if there are updates by clicking on the Updates option from the context menu that shows when pressing the upper-left menu button.
- Added Chinese (simplified) thanks to user @qlm2009
Standard multiplatform JAR
Native EXE Installer for Windows
- This is embarrasing, but... String version fixed! It showed 0.9 in the last update, when it was actually the 1.0 release.
- Added button for showing progress options, they're not shown in the side bar anymore.
- Minor stability updates for improving the user experience.
Now, seriously, I changed the socket transfer code a little bit, it should fix problems when the transfer hangs before finishing. Haven't tried on 2.5GB+ CIA sized files, though. If your transfers start hanging a lot more than before, please comment about it.
- Added brazilian portuguese thanks to translator @ZeuS_br
March 17th, 2016: SocketPunch MOD v1.0
Standard multiplatform JAR
Native EXE Installer for Windows
- Re-enabled the option for removing files from the queue after being transferred. It should work as expected now.
- Fixed a bug that prevented the queue to be transferred completely (it tried to send the same file many times).
- Now you can select between clearing the whole queue, or only removing only completed files from the list, when you use the icon button with a trash can icon.
- Added button for resetting the queue transfer progress to zero.
- The files at 100% progress transfer are ignored if they're still in the list when you punch again!
- Added option for exporting language files. This is useful for people who wants to translate it.
March 16th, 2016: SocketPunch MOD v0.9
Standard multiplatform JARMarch 15th, 2016: SocketPunch mod v0.8
Native EXE Installer for Windows
- Disabled option for deleting files when transferred. This is just temporary for this release, since there was a bug that tried to send the same file twice. Will be fixed for next update.
- Spanish language added. Just select it from the "Change Language" option. You need to restart the app when changing languages.
- Anyone can help translate the app now to their favorite language! Just translate the sample.txt file as explained below. You can share the TXT file with me once your translation is finished if you want, so I can add it to the package and everyone can enjoy it.
Standard multiplatform JARMarch 12th, 2016: SocketPunch mod v0.7
Native EXE Installer for Windows
- Transfer speed improved (should be quicker, or at least more stable). This hasn't been tested thoroughly. Please, help me test this if you have some spare time.
- Added checkbox for clearing files from queue list when transferred successfully.
Standard multiplatform JARMarch 8th, 2016: SocketPunch mod v0.6 and Source Code released
Native EXE Installer for Windows
- Now the app shows the initial code for each CIA file.
Standard multiplatform JAR
Native EXE Installer for Windows
GitHub Repository with source code
Recommended FBI build from @wjchen
- Added option to delete only one item at a time from the queue. Make a secondary (right) click on the item you want to delete from the list.
- Source code released. I didn't clean it at all, it's messed up a lot. Click here.
January 28th, 2016: SocketPunch mod v0.5 released
Standard multiplatform JARJanuary 27th, 2016: Socket Punch mod v0.4 released
Native EXE Installer for Windows
- Minor changes on speed per second math. Thanks to @TecXero for the suggestion. It was a chaos before, it now shows average speed while transferring, and not frame speed.
- Added ETR math in minutes while transferring.
- Transfer speed and transferred size info is now visible when transferring a file.
- Added check boxes for enabling or disabling showing updates when sending files.
- Elapsed time of transfer (in minutes) and average transfer speed is now added to the savelog file (log.txt).
January 26th, 2016: Socket Punch mod v0.2 released
- Added option for changing the buffer size from the app itself. You could do this before, but only by editing the generated config.txt file. Just press the menu icon button in the upper left corner, and click Advanced options from the context menu. This feature was suggested by @Fabbbrrr
- Changed layout for making the toolbar smaller, and put main actions as icon buttons in the upper right corner.
How to translate and test to your preferred language
1. Download and start the SocketPunch MOD app in your preferred distribution.
2. Click on the upper-left button (immediately next to the app title).
3. Select the Export language option from the context menu and then select the language you want to translate from.
4. Press the Export button, and save the text file to wherever you want.
5. Open and edit the exported text file from where you saved it. It should look like this:
View attachment 42645
6. If you have problems viewing the file correctly, I recommend using Notepad++ to edit it if you're a Windows user. Mac and Linux users shouldn't have any problem opening it on their default text viewers.
7. Translate all the lines to the language you want to. Let the part before the "=" the way it is, just change the text at the right side. Also, please note that in some lines you'll find three points together like this "...", those represent the place where runtime info (time, data size) will go, please don't remove then, but you can change them of place so that it makes sense with the language you us. Edit like in this example:
View attachment 42646
8. Now test your text file in the app! You can rename the sample.txt file to anything else you want (french.txt for example), just don't change the extension (leave it on .txt). Then click in the upper-left button (with the menu icon).
View attachment 42647
9. Press on the "Import language" option from the context menu that appeared. A file chooser will appear. Select the sample.txt file from the previous steps (or whatever name you changed it to, it just has to be a .txt extension file).
View attachment 42648
10. Click again the button in the upper-left corner. This time, press the "Change language" option.
View attachment 42649
11. Your TXT file will be in the available languages list. Select it and click the "CHANGE" button in the right-bottom corner of the dialog.
View attachment 42650
12. That's all! Now, simply close and then start the app again. It will load the text data you edited in the text file.
13. You can use it for yourself, or share it with me so I add it to the JAR package, this way it'll available to everyone who downloads the app. Please help me get as many languages as possible! Thank you so much for reading until the very end.
FAQ
Q: FBI doesn't want to connect, but I'm in a local network!
A: Sadly, FBI most times doesn't connect if you don't have an active internet connection in your 3DS (with internet access, and not only local network access). If you are sure your local network have internet access, check that your internet connection is correctly set up in your 3DS Settings.
Q: The transfer stops before it reaches 100%. I get a MISALIGNED error or something like that in FBI.
A: Download and install wjchen's build of FBI. The download link is nearly on the top of this post. Look for orange letters.
Q: Does it work if I'm using my 3DS connected to wifi tethering on my mobile device?
A: Yes, as long as your PC is connected to that same mobile network, and you have internet access.
Q: From my last question, I was talking about the Android app working with wifi tethering connected 3DS.
A: Oh. Yes, it should work. You can turn on your WiFi tethering on an Android device, and after connecting your 3DS to it, the Android app should work correctly with the local IP your 3DS will show.
View attachment 36885
View attachment 36886
Thanks to @Joshtech for his amazing work!
Thanks to @Steveice10 for his amazing homebrew app!
Thanks to @wjchen for sharing a FBI build with the misaligned issue fixed!
Thanks to @ZeuS_br for sharing a brazilian portuguese translation for the desktop version.
Thanks to @qlm2009 for sharing a Simplified Chinese translation for the desktop version.
Thanks to @Real.96 for sharing an Italian translation for the desktop version.
Thanks to @WallK for sharing a Russian translation for the desktop version.
Thanks to @robflop for sharing a German translation for the desktop version.
Thanks to @Badablek for sharing a French translation for the desktop version.
Thanks for commenting and showing your results! Impressing speeds you get, I think it's a good combo of your SD card and a really good router.It takes a minute or two to ramp up the speed, but here is what I usually see on the old version (v1.0.5) with old FBI (1.4.17 chen):
![]()
Just about the same thing, here's the new version (v1.2.1-beta) with old FBI (1.4.17 chen):
![]()
This version, like the previous version, gets speeds just shy of 1700KB/s. They're practically identical.
This is SocketPunch (v1.2.1-beta) with the newest FBI (2.2.1):
![]()
It's considerably slower overall, but seems to get up to speed quicker than older versions. This version maxes out at around 1315KB/s.
It also failed in an identical way to the poster above, immediately after the first one finished.
This is the MicroSD card I've got. I also recently converted to RedNAND and formatted with the newest EmuNAND9, so I should be benefiting from the new 64KB allocation size, but I don't know for certain. I've always had pretty fast speeds, though.
I restart SocketPunch after each use to prevent any weird issues from showing up.
Thanks for commenting and showing your results! Impressing speeds you get, I think it's a good combo of your SD card and a really good router.
By the way, do you usually get disconnections/crashes, or are those rare?
Thanks! That's some really helpful info!Mostly rare because I restart for the next batch of installs. I had to completely close the program during my testing because I'd canceled the transfer on my 3DS in the middle of it, and then tried to remove the item from the queue on my PC which caused it to freeze until I had to force close it. The only recurring issue I get is that I have to occasionally punch again because for whatever reason it doesn't start.
Yeah, it happens to me all the time too :/, crashes on the second file and gotta reset the socketpunch software on the pcJust to throw my two cents in here too, it seems to always fail to send the second file. Can't figure out why it does so. But I also get roughly the same speeds as the poster a few posts back with all the results.
Using the latest FBI release with the latest release of this.
I'll look into It. What FBI ver are you using?FBI.....
Install failed!
Source: SOURCE_FSFILE_WRITE (0x1c)
Module: MODULE_MM_AM (0x20)
Level: LEVEL_PERMANENT (0x1b)
Summary: SUMMARY_INVALID_AUGUMENT (0x7)
Description: DESCRIPTION_INVALID_SIGNATURE (0x6a)
I can't get into Omega Ruby with error asking me to turn it off.
So I deleted it and downloaded a LEGIT RG cia from internet and tried,after several tries same error returned.
Wonder why
wjchen's build of 1.4.17.Just solved by using devmenu 620.I'll look into It. What FBI ver are you using?
Dude. Quit spamming you posted this in Luma. You posted this in FBI. And now here. Just pick a place.FBI.....
Install failed!
Source: SOURCE_FSFILE_WRITE (0x1c)
Module: MODULE_MM_AM (0x20)
Level: LEVEL_PERMANENT (0x1b)
Summary: SUMMARY_INVALID_AUGUMENT (0x7)
Description: DESCRIPTION_INVALID_SIGNATURE (0x6a)
I can't get into Omega Ruby with error asking me to turn it off.
So I deleted it and downloaded a LEGIT RG cia from internet and tried,after several tries same error returned.
Wonder why
Okay.I don't mean to spam.I'm sorry.Just out of anxiety.Dude. Quit spamming you posted this in Luma. You posted this in FBI. And now here. Just pick a place.
Solved by using the latest release of FBI.I'll look into It. What FBI ver are you using?
LMAO.holy shit
i've been using 0.3.4 for like the 6 months
maybe it's time to upgrade XD
After trying to send apps over and getting "misaligned size" like 30 tries I thought "hmm something's weird about it tonight, maybe I'll see if there was an update"LMAO.
Sent from my Nexus 5 using Tapatalk