Tutorial [HOW-TO] Have a homemade Streetpass Relay

What method you are using?

  • Linux

    Votes: 93 7.9%
  • Android

    Votes: 133 11.4%
  • Router

    Votes: 226 19.3%
  • Windows

    Votes: 426 36.4%
  • A pony with a wifi antenna O.o?

    Votes: 292 25.0%

  • Total voters
    1,170
Status
Not open for further replies.

Brewzip

Well-Known Member
Newcomer
Joined
Feb 6, 2015
Messages
54
Trophies
0
Age
29
XP
96
Country
Italy
Has someone succeed in using homepass on 9.4 using a password protected network?
Before the end of 2014, I was able to use homepass with my WPA2 protected network, using firmware 9.0-9.2 and SID "NintendoSpotpass5".
I haven't used homepass since a few months. Today I've tested it and it didn't work. The only difference is that now I have tested it on 9.4 emuNAND.
However, that SID is yet in this list, it should work http://yls8.mtheall.com/ninupdates/3ds_nzonehotspots.php?version=v16386
I've tested NZ@McD1 without password and it works, but I need one that enable password protection.

Still searching a working solution.
 

themysticalone

Member
Newcomer
Joined
Sep 8, 2010
Messages
16
Trophies
0
XP
99
Country
United States
If I'm understanding this correctly, you only have one connection on your laptop which is your WLAN, yes? For nzone to work, you need to have two connections, either ethernet and WLAN or WLAN and a USB adapter. You need the one to connect to your WiFi and the other to broadcast the nzone SSID.

This is not technically true. The wireless can be both the connection to the internet *and* the wireless access point/nintendozone/relay. It worked on the old method and it works now. The caveat is that you need to let the wireless adapter time to re-enable after the mac change (nzone doesn't do this). If you start the hosted network too soon, sometimes the wireless card fails to connect to the internet (I think it might actually try connecting to the access point which.. is itself? I have no idea what actually happens to cause that).

At that point, disconnecting and reconnecting the wireless a few times usually eventually results in the wireless getting an internet connection and forwarding it on to the hosted network, but it's a pain. I solved this with a mac cycle script that had a 20 second delay between the macshift and the netsh wlan start hostednetwork call.
 

themysticalone

Member
Newcomer
Joined
Sep 8, 2010
Messages
16
Trophies
0
XP
99
Country
United States
If you want to have a look at the possible networks, yellows8 has been kind enough to host a dump of this info here. (Note: you'll want to click on the corresponding "Parsed Data" link for the firmware version you're interested in.)

Also, man.. that list would be a lot more useful if it told us what the keys were for the protected ones.
 

AngelOfDeathEC

Active Member
Newcomer
Joined
Feb 4, 2012
Messages
41
Trophies
0
XP
108
Country
Fiji
Hello everyone, sorry for my english, i have a ddwrt router and it was working fine with streetpass relay about two month ago, but yesterday i plugged again (since march) and i got only 3 streepasses in 24hrs (before was 10 streetpasses every 20 minutes)....has anything changed since march?.
my setup is: SSID NZ@McD1
NO SECURITY (OPEN NETWORK)
MAC FILTERING
MY FIRMWARE VERSION AT MARCH WAS 9.2, NOW IS 9.7 (MAYBE THATS IS THE PROBLEM?)

Thanks in advance.
 

SomeGamer

Well-Known Member
Member
Joined
Dec 19, 2014
Messages
6,827
Trophies
1
XP
4,912
Country
Hungary
Hello everyone, sorry for my english, i have a ddwrt router and it was working fine with streetpass relay about two month ago, but yesterday i plugged again (since march) and i got only 3 streepasses in 24hrs (before was 10 streetpasses every 20 minutes)....has anything changed since march?.
my setup is: SSID NZ@McD1
NO SECURITY (OPEN NETWORK)
MAC FILTERING
MY FIRMWARE VERSION AT MARCH WAS 9.2, NOW IS 9.7 (MAYBE THATS IS THE PROBLEM?)

Thanks in advance.
Try clearing and reentering the script! Clear startup script and cron job!
 

AkiraX3

Well-Known Member
Newcomer
Joined
Mar 31, 2015
Messages
51
Trophies
0
Location
Germany
XP
68
Country
Gambia, The
I notice an reduce of Homepass active User...etc. User That use Homepass.
Example:

Earlier this year, Homepass generated hits very fast...but now i have to wait at least several Minutes to get 10 People :(
Earlier this year, it was nearly Instant After closing the 3DS :(

*Using DDWRT Router Script
 

CroCop

Active Member
Newcomer
Joined
Jan 23, 2015
Messages
38
Trophies
0
Age
37
XP
179
Country
Croatia
Is anyone able to to enter the Nintendo Zone? Im getting this error all the time 013-8805

Im using a Router with DD-WRT Firmware and can receive Streetpasses without problems.
Its using this SSID "NZ@McD1" and the Nintendo Zone icon is glowing blue and its not secured aswell.
My New 3DS XL is on Emunand 9.5 (wants to update to latest Firmware when entering Nintendo Zone) and my Old 3DS is on 9.7 Emunand and receiving Error 013-8805...
 

SomeGamer

Well-Known Member
Member
Joined
Dec 19, 2014
Messages
6,827
Trophies
1
XP
4,912
Country
Hungary
I notice an reduce of Homepass active User...etc. User That use Homepass.
Example:

Earlier this year, Homepass generated hits very fast...but now i have to wait at least several Minutes to get 10 People :(
Earlier this year, it was nearly Instant After closing the 3DS :(

*Using DDWRT Router Script
Are you using BASE256?
 

AkiraX3

Well-Known Member
Newcomer
Joined
Mar 31, 2015
Messages
51
Trophies
0
Location
Germany
XP
68
Country
Gambia, The
Are you using BASE256?

Yes im using BASE256, why are you asking :)
do you know some tweaks or tips?

In Detail im Using this on an TP-Link 3020 Travel Router Mini - Its extremely Portable and tiny and gives more Bang for Buck than Spillpass Pi, in my opinion...Sure an Rasperry is a very cool device but for Streetpass i prefer DDWRT.

More Details: My Personal Notes to Setup DDWRT and Streetpass
Nintendo StreetPass -DD-WRT-
1.
Set Wifi-Name to :
NZ@McD1
Setup as : AP
2.
Disable Wifi Security
3.
Setup Mac-Filter (Add your 3DS MAC and the MAC of connecting Devices -example: PC to configure Router-)
4.
Delete all existing Autostart & Cronjob Commands
->restart Router
-> Open CMD or an Terminal and do this via Telnet and wait
(Add/Copy this 3 Telnet Commands - One after another, to avoid syntax errors)
1: wget -O /tmp/nzone.sh http://nintendozone.no-ip.org/install
2: chmod +x /tmp/nzone.sh
3: /tmp/nzone.sh BASE256,GBATEMP
And Wait...
after several Minutes, the 3DS shows Streetpass Activity.
THIS EVEN SURVIVES RESTART OF THE ROUTER OR AN POWER OFF
 

SomeGamer

Well-Known Member
Member
Joined
Dec 19, 2014
Messages
6,827
Trophies
1
XP
4,912
Country
Hungary
Yes im using BASE256, why are you asking :)
do you know some tweaks or tips?

In Detail im Using this on an TP-Link 3020 Travel Router Mini - Its extremely Portable and tiny and gives more Bang for Buck than Spillpass Pi, in my opinion...Sure an Rasperry is a very cool device but for Streetpass i prefer DDWRT.

More Details: My Personal Notes to Setup DDWRT and Streetpass
Nintendo StreetPass -DD-WRT-
1.
Set Wifi-Name to :
NZ@McD1
Setup as : AP
2.
Disable Wifi Security
3.
Setup Mac-Filter (Add your 3DS MAC and the MAC of connecting Devices -example: PC to configure Router-)
4.
Delete all existing Autostart & Cronjob Commands
->restart Router
-> Open CMD or an Terminal and do this via Telnet and wait
(Add/Copy this 3 Telnet Commands - One after another, to avoid syntax errors)
1: wget -O /tmp/nzone.sh http://nintendozone.no-ip.org/install
2: chmod +x /tmp/nzone.sh
3: /tmp/nzone.sh BASE256,GBATEMP
And Wait...
after several Minutes, the 3DS shows Streetpass Activity.
THIS EVEN SURVIVES RESTART OF THE ROUTER OR AN POWER OFF
Try entering the commands as one and in a separate telnet client (eg. PuTTY)! ;)
It will show you more info and it's more stable.
 

Bimmel

~ Game Soundtrack Collector ~
Member
Joined
Jan 28, 2014
Messages
2,302
Trophies
2
Age
43
XP
3,798
Country
Gambia, The
If I'm understanding this correctly, you only have one connection on your laptop which is your WLAN, yes?
Yes that's exactly right.

For nzone to work, you need to have two connections, either ethernet and WLAN or WLAN and a USB adapter. You need the one to connect to your WiFi and the other to broadcast the nzone SSID. If you use MAC filtering on your router, you need to put the MAC of the interface that is connecting to it in your ACL (Access Control List). This MAC will NOT cycle. It stays static. It is the secondary MAC, the one that hosts the nzone SSID, which gets cycled. So you can hav filtering on your router and not worry about losing your connection ... Theoretically. BUT ... and this is a big "BUT", from what I understand of nzone (having read some of the older posts here), it doesn't differentiate between wireless interfaces when it resets the hosted network, so it could end up using your internal WiFi to connect to the router and the adapter to host for one cycle, and then switch the two around on the next cycle.
Okay. Since I have only 1 connection I can't use that, but now I have a clearer picture how this works. Thank you.

Having said that, it's easier to do using VMware/Linux/SpillPass etc. Linux and most *nix systems associate an interface name to your interfaces. For example, ethernet will generally be `en0`, `en1`, `en2` etc.; WiFi will be `wlan0`, `wlan1`, `wlan2` etc.; FireWire (how legacy and quaint it sounds ;)) would be `fw0`, `fw1`, `fw2` etc. and so on. For this reason, you can tell `ifconfig` (the util on certain *nix systems that controls your interfaces, it stands for i(nter)f(ace)config(urator) :P) exactly which interface the cycling must be performed on. I haven't checked out the VMware image on here (purely because of lack of need) but I imagine that it also uses `ifconfig` to do the MAC changes.
In my case it would be "wlan0" or 1, something like that. And I can tell VMware which one to use with the ifconfig command? Sadly I cant find a way to tell the programm which interface to use.. or I understood something wrong. :unsure:

With VMware, it is configured (generally) to share your internet connection from your machine instead of bridging it. What does this mean? Basically, with sharing, the VMware system talks to Windows (or whatever OS you're running it on) and tells Windows what to access on its behalf. It doesn't appear on your network as its own device; it shares the IP and MAC of your system. It's like that kid in the playground who would tease you from behind the bully but gets the bully to do all the dirty work. With bridging, the connection uses a virtual interface and bypasses your OS to talk to the router/modem/switch/hub itself. This way, it uses its own (virtual) MAC and gets its own IP so it appears on your network as a separate device.

You mean like this?

Network Adapter through VMware.png

But why two? And should I rename them? Darn, if I could understand that a bit better - but it feels more like a wall of bricks before me. Or I don't understand VMware.. I don't know. :sleep:


If VMware were using a bridged connection, you would have to add the MAC of that bridge to your router's ACL, but if it uses sharing, you're fine with just having your laptop/desktop's MAC in the ACL. From a nzone perspective on the VMware image, the interface that connects to the internet is `br0` (presumably. As I said, I haven't checked it out so I could be wrong and it might be something like `bridge100`, which is the odd interface that OS X uses for internet sharing) and the interface hosting the nzone network on your WiFi adapter would presumably be `wlan0`. Nzone would then say "hey, `ifconfig` I would like to change the MAC address of `wlan0` to `AA:BB:CC:DD:EE:FF` please!" and toggle only that interface, leaving the MAC of `br0` constant so the internet connection doesn't falter and it stays associated to any routers/hubs/switches/modems it's connected to.

Hopefully everything is a little bit clearer now. :) I think I might start another thread here with Nzone FAQs, and maybe make some explanatory videos to put up on YouTube so people don't have to wade through the nearly 6000 posts on this thread! :P

Also thinking about building my own little VMware image with a modified XZone so Windows users can get in the XZone love. :D
Thank you so much. I feel like it's clearer to me, but it's like a piece in my logic is missing. Maybe it's a general lack of understanding .. can't put it in words right now. All I know is that know not enough. :mellow:

But if I can turn this around the other way, maybe that works better. If you allow I would have another simpler question.

I must put in an SSID in the Nintendo 3DS Network settings. What name is it? My normal WLAN SSID? Or NZ@McD1 for the Nintendo Zone? You see, I'm a bit clueless here.. sorry, you've put so much effort into your post.

Maybe I should just post a series of pictures what I do, should be easier to follow my thinking.
 

SomeGamer

Well-Known Member
Member
Joined
Dec 19, 2014
Messages
6,827
Trophies
1
XP
4,912
Country
Hungary
Yes that's exactly right.


Okay. Since I have only 1 connection I can't use that, but now I have a clearer picture how this works. Thank you.


In my case it would be "wlan0" or 1, something like that. And I can tell VMware which one to use with the ifconfig command? Sadly I cant find a way to tell the programm which interface to use.. or I understood something wrong. :unsure:



You mean like this?

View attachment 18915

But why two? And should I rename them? Darn, if I could understand that a bit better - but it feels more like a wall of bricks before me. Or I don't understand VMware.. I don't know. :sleep:



Thank you so much. I feel like it's clearer to me, but it's like a piece in my logic is missing. Maybe it's a general lack of understanding .. can't put it in words right now. All I know is that know not enough. :mellow:

But if I can turn this around the other way, maybe that works better. If you allow I would have another simpler question.

I must put in an SSID in the Nintendo 3DS Network settings. What name is it? My normal WLAN SSID? Or NZ@McD1 for the Nintendo Zone? You see, I'm a bit clueless here.. sorry, you've put so much effort into your post.

Maybe I should just post a series of pictures what I do, should be easier to follow my thinking.
I can only answer your last question, don't put anything into the 3DS's Connection Settings. At least not WiFi networks where (geographically) you want to HomePass. Neither home WiFi, nor NZone. NZones (like NZ@McD1) are hardcoded into the 3DS's firmware and it will find your NZ@McD1 network without any configuration on the 3DS side and connect to it.
 
  • Like
Reactions: Bimmel

Bimmel

~ Game Soundtrack Collector ~
Member
Joined
Jan 28, 2014
Messages
2,302
Trophies
2
Age
43
XP
3,798
Country
Gambia, The
I can only answer your last question, don't put anything into the 3DS's Connection Settings. At least not WiFi networks where (geographically) you want to HomePass. Neither home WiFi, nor NZone. NZones (like NZ@McD1) are hardcoded into the 3DS's firmware and it will find your NZ@McD1 network without any configuration on the 3DS side and connect to it.
Is that true? Thanks. No wonder why this won't go into my head.. I thought everybody misses out on the 3DS part because it's clear what to write in.

There goes one brick, at least it feels like it. ^_^
 

demithus

New Member
Newbie
Joined
May 13, 2015
Messages
1
Trophies
0
Age
38
XP
51
Country
United States
First time poster here. I do a good bit of scripting for work and wanted to share my version of the Linux script. First, I wanted to thank those that made the original guides as they put the groundwork down for my script.

I'm very security minded but lazy so I wanted something that would be secure and make it so that I didn't need to unset my default 3DS Wi-Fi connection. I also wanted to be able to choose one relay at a time from a list so I don't fill my Plaza queue and just cycle through needlessly like the other scripts. I also added the BestBuy SSID as an option for events like bonus items in Animal Crossing.
I did not encode anything as I wanted this to be easily customizable so you can tune it to your own needs. I will explain how along the way.

I have a spare notebook with ethernet out, built-in wi-fi in. I'm using Mint but any Ubuntu based Debian distro will work just fine... I just prefer Mint because it comes with Cinnamon by default and doesn't assume you're an idiot like Unity.

The goal is that this notebook will run 24/7 as a secure access-point for mine and my wife's 3DS.

First you will need to do the same thing as any other Linux setup and add the following to the top of /etc/dnsmasq.conf with gedit, vim, nano, w/e:

no-resolv
bind-interfaces
interface=wlan0
dhcp-range=172.168.1.2,172.168.1.5,12h
server=8.8.8.8
server=8.8.4.4

Next, install some required programs:
sudo apt-get install dnsmasq
sudo apt-get install hostapd
sudo apt-get install macchanger

Choose a folder where you want to store everything. Anywhere in your home folder is fine, I chose /home/username/Documents. Now you will create 3 .conf files to use with hostapd.

gedit streetPass.conf
interface=wlan0
driver=nl80211
ssid=NZ@McD1
hw_mode=g
channel=6
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0

gedit bestbuy.conf
interface=wlan0
driver=nl80211
ssid=Bestbuy
hw_mode=g
channel=6
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=0

gedit ndsRouter.conf
interface=wlan0
hw_mode=g
channel=2
ieee80211d=1
country_code=<your own country code>
wmm_enabled=1
ssid=<your own SSID>
auth_algs=1
wpa=2
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
wpa_passphrase=<your own passphrase>

For the ndsRouter.conf make sure you choose your proper country code, an SSID that is different from your regular home router, and a passphrase with at least 16 characters.

Next are the two bash scripts.
gedit ndsRouter.sh
#!/bin/bash
# simple script for setting up a secured access point

#set the hotspot ip

ifconfig wlan0 up 172.168.1.1 netmask 255.255.255.0
sleep 2

#kill existing dnsmasq and hostapd, restart dnsmasq
killall dnsmasq 2>/dev/null
killall hostapd 2>/dev/null
/etc/init.d/dnsmasq start

#setup NAT
iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface wlan0 -j ACCEPT

#turn your computer into a router
sysctl -w net.ipv4.ip_forward=1

ifconfig wlan0 down
macchanger -p wlan0
ifconfig wlan0 up
hostapd ./ndsRouter.conf

And finally, the main script.
gedit streetPass.sh
#!/bin/bash
# A streetpass home relay with some better security & prompting that actually
# makes sense for meaningful streetpass usage.
# If running Ubuntu/Mint/any other flavor of Ubuntu-based Debian and are having issues
# with "nl80211: could not configure driver mode," add the following lines to
# /etc/NetworkManager/NetworkManager.conf:
# [keyfile]
# unmanaged-devices=mac:yourwifiapmacaddress

# Input validation and usage statement
usage(){
echo -e "A security-conscious Nintendo StreetPass relay maker.\n"
echo "Usage: $0 <relay number>"
echo -e "You must be root to run this script.\n"
echo -e "-l --list \t Get a list of available relays."
exit 1
}

# sanity checks
[[ $# -eq 0 ]] && usage

if [ "$(id -u)" != 0 ]; then
echo "Are you sure you ran this as root?"
exit
fi

# relay list
if [ $1 == "-l" ] || [ $1 == "--list" ]; then
echo -e "1 \t 4E:53:50:4F:4F:40"
echo -e "2 \t 4E:53:50:4F:4F:45"
echo -e "3 \t 4E:53:50:4F:4F:46"
echo -e "4 \t 4E:53:50:4F:4F:47"
echo -e "5 \t 4E:53:50:4F:4F:49"
echo -e "6 \t 4E:53:50:4F:4F:4F"
echo -e "7 \t BestBuy (for special items)"
exit
fi

#this creates the function that will run once both sanity checks clear
#this is the heart of the script
streetPassSetup(){

#set the hotspot ip
ifconfig wlan0 up 172.168.1.1 netmask 255.255.255.0

#kill existing dnsmasq and hostapd, restart dnsmasq
killall dnsmasq 2>/dev/null
killall hostapd 2>/dev/null
/etc/init.d/dnsmasq start

#setup NAT
iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface wlan0 -j ACCEPT

#turn your computer into a router
sysctl -w net.ipv4.ip_forward=1

# set mac address based on input
ifconfig wlan0 down
if [ $1 == 1 ]; then
ifconfig wlan0 hw ether 4E:53:50:4F:4F:40
elif [ $1 == 2 ]; then
ifconfig wlan0 hw ether 4E:53:50:4F:4F:45
elif [ $1 == 3 ]; then
ifconfig wlan0 hw ether 4E:53:50:4F:4F:46
elif [ $1 == 4 ]; then
ifconfig wlan0 hw ether 4E:53:50:4F:4F:47
elif [ $1 == 5 ]; then
ifconfig wlan0 hw ether 4E:53:50:4F:4F:49
elif [ $1 == 6 ]; then
ifconfig wlan0 hw ether 4E:53:50:4F:4F:4F
elif [ $1 == 7 ]; then
ifconfig wlan0 hw ether <your own MAC>
fi

ifconfig wlan0 up

# set the hostapd config based on relay
if [ $1 == 7 ]; then
echo -e "\nYou have chosen the BestBuy zone. Please remember that this network has no security."
echo -e "Be sure to ctrl+c this once you are finished and run ./ndsRouter.sh\n"
hostapd ./bestbuy.conf
else
timeout 60s hostapd ./streetPass.conf
ifconfig wlan0 down
fi

echo "Finished. Reverting to secure wi-fi"
sleep 2
./ndsRouter.sh
}

# second sanity check
case $1 in
[1-7])
echo "Relay checks out... time for Street Pass!" && streetPassSetup $1
exit
;;
*)
echo "That is not a valid option. Double-check the list with $0 -l or --list"
exit
;;

On line 77, put your own wi-fi adapter's MAC address. You can find this with ifconfig before doing any changes, or sudo macchanger -p

On Ubuntu based distros, you may find that the Network Manager utility will interfere with your setup and tell you there is an error with the nl80211 driver. In this case, add the following lines to /etc/NetworkManager/NetworkManager.conf:
[keyfile]
unmanaged-devices=mac:yourwifiapmacaddress

This will force Network Manager to leave your wi-fi nic alone.

Once you've made all the files do a chmod +x on ndsRouter.sh and streetPass.sh
You can easily modify the listed MAC addresses or add more. Just look at the syntax for lines 65-77 and make another line with the next number in sequence. Then go to what was line 99 and change the 7 to whatever the highest number in sequence. You may also want to add your MACs to the list (lines 29-35).

There is a usage statement if you forget, but basically it's "sudo ./streetPass.sh #"
# being the relay you want to load. For a list of them, try "sudo ./streetPass --list"
There are a number of sanity checks in the script... making sure you ran with root privs and input validation so as not to break anything.

The script will setup a street pass relay of your choice for 60 seconds (more than enough time for old and new 3ds to register), then automatically switch over to your WPA2 secured hotspot... Just add this hotspot as your only connection on you 3ds and you will never have to switch around again. If you reboot/crash/whatever and just want your AP, do "sudo ./ndsRouter.sh" If you want to use your relay again, just ctrl+c run streetPass.sh

Hopefully that wasn't too long-winded and helps anyone who was concerned with having unsecured wifi leaking from their home. Let me know if you have any questions.
 
Status
Not open for further replies.

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    BakerMan @ BakerMan: oof