This is a script for OSX. It uses an ethernet adapter, a Wi-Fi adpater, and an "Internet Connection Sharing" link between the two to cycle through a set of HomePass MAC addresses for 3DS units to connect to and StreetPass with.
You can find out more about HomePass here:
https://docs.google.com/spreadsheet/ccc?key=0AvvH5W4E2lIwdEFCUkxrM085ZGp0UkZlenp6SkJablE#gid=0
The sample MAC address list included in this repository contains most of the addresses in the google document mentioned above, except some of the more specific ones which are set up for specific locations and Mii colors. It is reccomended that you look at the Google doc above and pick some MAC addresses that matter to you. If you are too lazy to do so, the included list should work.
You will need a computer running OSX with both a Wi-Fi adapter and ethernet port. Use these instructions to initially set up internet connection settings: http://gbatemp.net/threads/how-to-have-a-homemade-streetpass-relay.352645/#post-4736991
sudo networksetup -setnetworkserviceenabled ICS off
The script takes two parameters, the first is the name of the file where you have a list of MAC addresses stored. The second is an optional parameter, the name of your Wi-Fi adapter. If you do not specify one, the script will default it to en0
. For more details on finding your adapter's name, see the gbatemp.net link mentioned above.
Be sure to run the command with 'sudo', or it won't have the necessary permissions to change the MAC address. What you run should look something like this:
sudo sh cycleMacs.sh MacAddresses.txt
In order for changes to the MAC address of the Wi-Fi adapter to take effect, some change must take place in the ICS link or its "from" network connection.
In OSX version 10.9 and below, there was an easy way to toggle the Internet Connection Sharing link itself. It is done using these two commands:
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.InternetSharing.plist
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.InternetSharing.plist
As of OS X version 10.10 or "Yosemite", this method is no longer available. However, a workaround was found by MGStan0. If the ICS link is set up using a duplicate of the original ethernet adapter's network service, that dummy service can be disabled and re-enabled without affecting overall internet connectivity. In the script, we disable and enable the dummy service using these commands:
sudo networksetup -setnetworkserviceenabled ICS on
sudo networksetup -setnetworkserviceenabled ICS off