Tutorial  Updated

Using "smashhax" with Linux

If you can use the browser, I suggest that you use the new browserhax (up to 11.0.0-33!) in the meantime.

Try out Ubuntu 15.04: http://old-releases.ubuntu.com/releases/15.04/

This requires a New 3DS. The demo version doesn't work and is patched. If you have 1.1.3 or newer delete/disable the update data.

officially called smashbroshax sometimes smashax
Here is a new tool I call smashbroshax-helper. It is a graphical interface for the exploit which simplifies most of the process of broadcasting the packet. It requires almost no setup outside of creating a bootable Linux USB/DVD.

Important notes:
  • This does not work on Fedora or Red Hat-based distributions because aircrack-ng needs to be compiled on it (and I can't figure out how to install the needed things).
  • Don't use a virtual machine!
  • This probably will never work on Old 3DS.
Download smashbroshax-helper beta

It is recommended that you use a live Ubuntu 15.04 image. Versions 15.10+ have issues. http://old-releases.ubuntu.com/releases/15.04/
  1. Create a bootable USB/DVD with a Linux distribution (there are various guides online).
  2. If possible, get a second USB/SD card/storage device, download and save the above .zip to it.
    • Don't extract the contents of it to the USB device, as it might cause problems. Just save the .zip file to it.
    • If you can't do this, you'll have to connect to the Internet while in Linux to download it.
    • If using a bootable USB, make sure you can use two ports at a time. Don't take out the Linux USB while it is being used!
  3. Restart your computer and run the bootable USB/DVD you created.
  4. Extract the contents of the .zip to the Desktop.
  5. Open the smashbroshax-helper folder and double click "smashbroshax.sh".
  6. Follow the on-screen prompts.
  7. If everything goes well, you should now have homebrew!
Video demonstration, from boot to shutdown:

from https://gbatemp.net/threads/tutorial-using-smashhax-with-linux.397194/page-9#post-5842512


If you would like the full tutorial, involving terminal usage and compiling:
To reverse the changes to your wireless interface and remove issues connecting to networks after, rebooting your system or changing it to "Managed" instead of "monitor" should fix it. How to do that is in the second to last section.



@Cydget made a script that condenses most of this into a script. I have not tried it myself yet but it seems to work for others.
So, I made a little script for this. If anybody wants it, then unzip this file and read the readme. And yes, I like to pipe things. http://www.mediafire.com/download/oulnubnzkk9g3i0/smashhaxEZ.zip

Requirements
  • Any Linux distribution should do (this has only been tested with Debian-based distributions). Windows and OS X users should wait or find a method for now, sorry!
    • Please do not use Linux in a virtual machine, it likely won't give direct access to your wireless card. Dual boot or use a live USB/disk.
    • The recommended distro to use is Ubuntu 15.04 (link to Ubuntu MATE 15.04).
  • A Wi-Fi-capable wireless card.
  • Super Smash Bros. for Nintendo 3DS Full or Demo.
  • New 3DS. This does not work on Old 3DS.
  • Patience. The hax is sort-of unreliable so your game will most likely crash a few times.
  • Recommended: Another device to access the internet (phone, tablet, computer, console).
Preparing
  • Install these packages using your package manager. For example, "apt-get" for Debian-based distributions (including Ubuntu).
    Code:
    openssl libssl-dev libnl-genl-3-200 libnl-genl-3-dev libnl-3-200 libnl-3-dev pkg-config
  • Find your wireless card's interface by opening a terminal and using the command "ip link". It would be something like wlan0 or wlp3s0.
    Code:
    ian@ian-VPCEG34FX:~/Desktop/aircrack-ng-1.2-rc2/src$ ip link
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default 
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
        link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    3: wlan0: <NO-CARRIER,BROADCAST,ALLMULTI,PROMISC,NOTRAILERS,UP,LOWER_UP> mtu 1500 qdisc mq state DORMANT mode DORMANT group default qlen 1000
        link/ieee802.11/radiotap xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
  • You probably already have it, but get the homebrew starter kit and place it on your SD card.
  • Download the smashhax .pcap files from the releases section of the smashbroshax repository.
  • Determine the .pcap file to use. This should be straightforward using the file names.
    The built beacon-hax pcaps are located under "pcap_out/". In the filenames, "vXYZ" means game-version "vX.Y.Z". Full-game filenames for USA include "gameusa", while the other regions filenames include "gameother".
  • Get the "Otherapp payload" from the Homebrew Launcher site and save it to "smashpayload.bin" at the root of your SD card.
  • Download and extract aircrack-ng's latest release source.
  • Save aireplay-ng.patch from the smashbroshax repository in the folder "aircrack-ng-1.2-rc2".
Compiling aircrack-ng/aireplay-ng
  • Open a terminal and go to the "aircrack-ng-1.2-rc2" folder.
  • Use the command "patch src/aireplay-ng.c < aireplay-ng.patch". If you get the following then it has succeeded.
    Code:
    patching file src/aireplay-ng.c
    Hunk #1 succeeded at 560 (offset 1 line).
    Hunk #2 succeeded at 573 (offset 1 line).
  • Run "make" and wait. The program should be compiled with the patch now. If you get the following as the last line then it has succeeded.
    Code:
    make[1]: Leaving directory '/path/to/aircrack-ng-1.2-rc2/src'
The moment of truth
  • Run these 3 terminal commands in order, using the wireless interface (from "ip link") you found earlier.
    sudo ifconfig wireless_interface down
    sudo iwconfig wireless_interface mode monitor
    sudo ifconfig wireless_interface up
    sudo iwconfig wireless_interface channel 6​
    (the last line was suggested by @difool. and might make the payload trigger faster)
  • Enter the "src" folder in your terminal.
  • Run the following command to start broadcasting the packet: "sudo ./aireplay-ng --interactive -r /path/to/smashbros_version_beaconhax.pcap -h 59:ee:3f:2a:37:e0 -x 10 wireless_interface"
    Use the .pcap file and wireless interface you found out earlier.
  • On the 3DS system, start the game, then choose Smash and Group. Wait for the magic to happen.
Encountering errors? Something confusing?
  • Does running aireplay-ng end with "End of file"? You might be running your installed version of aircrack-ng. Don't forget the ./ for "sudo ./aireplay-ng ..."!
  • Please tell me the distribution you are using and the error you've encountered. This will help me fix your issue faster.
  • If you don't get something, don't hesitate to point it out! I want to help anyone I can.
  • Did you spot an inaccuracy or mistake I made? It would be great if you can tell me that too.
  • This was before the Otherapp payload selector was added to the HBL site. This is kept here for legacy reasons or something.
    • Determine what file you need to get from the Homebrew Launcher Payload section:
      With the release builds, the hax loads the payload from SD "/smashpayload.bin". This should contain the hb-launcher(https://smealum.github.io/3ds/) otherapp payload. Until there's a proper otherapp payload selector on the hb-launcher site, the payload can be downloaded from the following URL(see also https://github.com/smealum/sploit_installer):
      FIRMVER values(without quotes):
      • "POST5" = non-New3DS
      • "N3DS" = New3DS
      REGION values(without quotes):
      • "U" = USA
      • "E" = EUR
      • "J" = JPN
      MENUVER values(without quotes):
      • "11272": Non-JPN, system-version v9.0.
      • "12288": System-version v9.2.
      • "13330": System-version v9.3.
      • "14336": System-version v9.4.
      • "15360": System-version v9.5.
      • "16404": System-version v9.6.
      • "17415": System-version v9.7.
      • "20480_usa": USA, system-versions v9.9-v10.0.
      • "19456": Non-USA, system-versions v9.8-v10.0.
      MSETVER values(without quotes):
      • "8203": System-versions below v9.6.
      • "9221": System-versions starting with v9.6.
      For example, the payload URL for New3DS USA 9.9.0-X - 10.0.0-X is:https://smealum.github.io/ninjhax2/Pvl9iD2Im5/otherapp/N3DS_U_20480_usa_9221.bin
      The end result is a file named "smashpayload.bin" at the root of your SD card.

You are allowed to reproduce/reprint this tutorial, as long as a link back to this page (https://gbatemp.net/threads/tutorial-using-smashhax-with-linux.397194/) is included.
 
Last edited by ihaveahax,
I keep getting the error" An error has occurred, forcing the software to close. The system will now restart. (unsaved data may be lost.)", and this the loop I am in. My version is 10.7.0-32U. I downloaded the started files to the sd, with the payload and the pcap. I'm running ubuntu mate 15.04. The 3DS does ask me to update when I launch it. I don't have the amibo logo on the game. I'm getting to this point: hahaha

Any other suggestions ? Thank you
Right before the 3ds asks if you want to restart, does the top screen get lines or random data?
 
Right before the 3ds asks if you want to restart, does the top screen get lines or random data?
No, the game just close itself and goes to the home menu with the error mention before "An error has occurred, forcing the software to close. The system will now restart. (unsaved data may be lost.)" When click on ok the 3ds restart again, I have to open the game and try again.
 
No, the game just close itself and goes to the home menu with the error mention before "An error has occurred, forcing the software to close. The system will now restart. (unsaved data may be lost.)" When click on ok the 3ds restart again, I have to open the game and try again.
If you want, you might want to try compiling smash hax on your computer with the one argument that determines what type of mode the hax is triggered from. By default, it works by going to group smash, but you can change it to wiiu controller(witch doesnt work) or the smash rum group(I recommend trying this one). If you compile it you can also try having the payload load from url, but that will almost never work. The only reason I recommend trying the first thing is because when I was trying to get it to load from url on my 3ds it would only work on 1.0.1 smash run group. Maybe it has more stability.
 
Hi, I've been unsuccessfully trying to use Smashhax to get homebrew and I'm at the point where I can send packets and my n3DS responds to it. But whenever I start it up, the top screen either shows horizontal lines or garbled data. After trying a few dozen more times, the results don't seem to be any different. What are my options?
 
If you want, you might want to try compiling smash hax on your computer with the one argument that determines what type of mode the hax is triggered from. By default, it works by going to group smash, but you can change it to wiiu controller(witch doesnt work) or the smash rum group(I recommend trying this one). If you compile it you can also try having the payload load from url, but that will almost never work. The only reason I recommend trying the first thing is because when I was trying to get it to load from url on my 3ds it would only work on 1.0.1 smash run group. Maybe it has more stability.
No luck yet. I don't know what to do, I have tried doing it with different pcap but It doesn't work either. I saw that Plailect updated his guide to include browser option but I can't use my browser because it says that I need to update. I went to the store to buy another copy of the game but they only had the one that has the amiibo logo in it. What is it with the version 1.0.4? can I downgrade the game version to something else? Has any one else being able to do it with this version, if you could you explain how? Thank you again
 
Guys i will get my smash this week, is this working with 11.2?

Edit: nevermind, didnt read the last page, it works. But is it the same payload from 11.1?
 
Last edited by chompita239,
I'm running Ubuntu 15.04 (the one linked) I've done everything but when I try to open the helper file it opens a text file that says "if you're reading this, you've probably done something wrong" and links back to this page. that's super vague and I'm at a total loss. Help anyone?
 
Guys i will get my smash this week, is this working with 11.2?

Edit: nevermind, didnt read the last page, it works. But is it the same payload from 11.1?
Yes, it is the same payload used for 11.1 since there is no 11.2 payload yet

I'm running Ubuntu 15.04 (the one linked) I've done everything but when I try to open the helper file it opens a text file that says "if you're reading this, you've probably done something wrong" and links back to this page. that's super vague and I'm at a total loss. Help anyone?
you need to do it in terminal,
1) install gksudo by running this command in terminal (sudo apt-get gksudo)
2) go to the folder that smashhax helper is in by using the commands "ls" and "cd"
"ls" being the command to see the folders/files in the current folder that you're currently in. And cd to change which folder you want to go to
3) run the hax by using the command (./"filename")
"filename" being the name of the file that you need to run. ex. if the file name was smashhax.h then it'll look like (./smashhax.h)

keep in mind to not include any (brackets) or "quotes" when you're typing in the commands.

Alternatively, you can use my method for running it but it requires more steps and terminal usage. It is on Page 25 if you're interested though.
 
I've got smashhax executing pretty reliably now, but when I get to the Homebrew launcher screen, it says "The homebrew ropbin is ready" and then the system restarts. The bottom screen never flashes any colors and there's no error message. I'm on 9.9.0-26U for the 3DS I'm working with. I've already done this on a couple others using smashhax (different system versions) and didn't have this issue. Any ideas?

EDIT: Forget the whole thing. I just realized that with 9.9 I can change the theme and use browserhax. Damn I'm dumb.
 
Last edited by kingnothing997,
Hey, I was trying to do this in a New 3DS with a physical copy of Smash Bros., I was doing everything correctly, I also did it again and again multiple times but it didn't work. It only sends 93 packets and my 3ds has no reaction.

New 3DS Firmware:11.2.0-35
Smash Bros. Version: 1.0.0 EUR
Linux Distro: Ubuntu/Ubuntu MATE 15.04
I have both the homebrew starter kit and the payload in the SD Card.

It's probably my wireless card's fault, so here it is:
Intel Corporation Wireless 3160

Hope you can help me.
EDIT: Forgot to put the Smash bros version.

Peace.
 
Last edited by IckNick123,
It's your wireless card. Integrated ones and a lot of more well-known brands seem to have an issue. Do an Amazon search for
TP-Link N150 Wireless High Gain USB Adapter (TL-WN722N) [I don't know if I can link to Amazon pages or not]

It worked like a Dream for me and it's only like $13, so paying the extra $3.90 for one-day shipping isn't too bad.
 
Hey, I was trying to do this in a New 3DS with a physical copy of Smash Bros., I was doing everything correctly, I also did it again and again multiple times but it didn't work. It only sends 93 packets and my 3ds has no reaction.

New 3DS Firmware:11.2.0-35
Smash Bros. Version: 1.0.0 EUR
Linux Distro: Ubuntu/Ubuntu MATE 15.04
I have both the homebrew starter kit and the payload in the SD Card.

It's probably my wireless card's fault, so here it is:
Intel Corporation Wireless 3160

Hope you can help me.
EDIT: Forgot to put the Smash bros version.

Peace.
Your wireless card is not supported, see @kingnothing997 's response for more information
 
ok, i did it. i found that needed 1.0.1 jp pcap file here: https://mega.nz/#!LhwhSYRa!FeLXrnvBXgDw6BR7MBNytQ_DN3H-gbMmkYDxQo1d5Fw ,
renamed it into 1.0.0 and replaced the original "other 1.0.0" file from the linux loader from page one. homebrew is finally working on my jp new3ds (10.7) but i can't downgrade to 9.2.
i tried several sysupdater to downgrade but after pressing (y) i am getting this message: hax init...
and my system freezes. it's frustrating :-(

Do you still have that pcap file need it but the link is down?
 
When I extract smashbroshax-helper and open smashbroshax.sh it opens it and says "IF YOU ARE READING THIS YOU ARE DOING SOMETHING WRONG" then a link to this forum.
 
So i cant get it to work,the game crashes, "an error as ocurred" 2 seconds after entering the "group" screen. I am using the correct payload and otherapp (1.1.0 USA). What should i do? I have been trying for 5 hours.
 
Seems like I have a version 1.0.0 super smash version. Seems to return home after clicking "group" in super smash and doesn't boot to homebrew, but still continuouly sends packets. Any suggestions??
 
Last edited by BobbySmithGang,

Site & Scene News

Popular threads in this forum