Tomato + HomePass Setup

Discussion in '3DS - Homebrew Development and Emulators' started by Xeology, Jan 15, 2016.

  1. Xeology
    OP

    Xeology GBAtemp Regular

    Member
    129
    26
    Jul 24, 2010
    United States
    Keansburg, NJ
    HPass - Non-ND Tomato HomePass Setup
    Current Version:
    1.1

    So I was setting up a HomePass system and the only router I had was a WRN3500Lv2. The problem with this particular router is that it could only use either Tomato or DD-WRT / HONG. The terrible DD-WRT port of course doesn't work at all for what I needed and the Tomato port didn't have ND support. Long story short, I modified a few scripts to make this work anyway. With this setup I can produce up to 1440 StreetPass hits a day.

    This is covers cycling and setup. This may work on other router firmware but it is currently only confirmed on non ND versions of Tomato. Feel free to confirm whether it works for you. It wont do any harm to try, just SSH/Telnet in and run both of the commands bellow, then confirm that the BSSID changed with an Android device or something that will tell you that information.

    This is primarily geared towards those who can use Tomato but NOT Tomato ND. If you can use ND then follow this instead,

    https://gbatemp.net/threads/how-to-have-a-homemade-streetpass-relay.352645/page-141#post-5024036

    NOTES:

    • 3DS firmware version 9.0.0-9.2.0: Only the BASE1, BASE16, BASE256, GBA lists can be used if wireless security is enabled.
    • 3DS firmware version 9.3.0+: Wireless security must be disabled.

    Steps:
    1. Got to Basic > Network
    2. Wireless SSID should be either attwifi or NZ@McD1
    3. No security
    4. Go to Basic > Wireless Filter
    5. Add your 3DS Macs
    6. Go to Administration > Scripts
    7. Under Init put this in,
      Code:
      wget http://asset.tempestdev.com/hpass/hpass; chmod +x /tmp/hpass
    8. Save
    9. Go to Administration > Scheduler
    10. Check Enabled under Custom 1
    11. Set time to every 1 minute if you use my MAC list (or 30 minutes for anything else)
    12. Enter this into command (Second group if you only want the macs from GBA-Temp or only mine, it defaults to ALL, use multiple like this GBA,BASE1,BASE16),
      Code:
      /tmp/hpass
      
      - OR -
      
      /tmp/hpass GBA
      /tmp/hpass BASE1
      /tmp/hpass BASE16
      /tmp/hpass BASE256
      /tmp/hpass HPASS
      /tmp/hpass ALL
      
    13. Save
    Please note my bash scripting isn't so good to begin with and this was the first time I even used Tomato, so this could probably be better, but it seems to work well! Any input will be considered and implemented if possible.

    I didn't make the original script (nzone), I just modified it, credit goes to whoever made it. Take, modify, use, and redistribute as you please. This will remain on my servers so feel free to make use of it.

    Attached is a zipped up copy of the files. You can always find an updated version at,

    http://asset.tempestdev.com/hpass/Tomato-HPass_latest.zip

    Changelog

    As a side note for anyone with a WNR3500Lv2 like me who bricked it, you do NOT need the USB-TTL cable to unbrick, you can use an Arduino. Pin 6 > Ground, Pin 5 > TX, Pin 2 > RX. (The pinout for the cable they mention is wrong, they list RX and TX pins switched)
     

    Attached Files:

    Last edited by Xeology, Jan 17, 2016
    Quantumcat likes this.
  2. daraly

    daraly Member

    Newcomer
    22
    1
    Sep 7, 2015
    Switzerland
    Will it work on another DD WRT router?
    Or gargoyle based router are compatible?
     
  3. Xeology
    OP

    Xeology GBAtemp Regular

    Member
    129
    26
    Jul 24, 2010
    United States
    Keansburg, NJ
    You could always try, if they use the same nvram setup, which from what I am seeing they do, then it should. I really do not know much about routers, not my proficiency.

    The parts that wouldnt work would be these parts in the nzone file,

    Code:
    nvram set wl0_hwaddr=$MAC <- sets wlan0 mac
    nvram commit <- commits changes
    service wireless restart <- restarts wireless service
    SSH/Telnet in and run this command,

    Code:
    wget http://asset.tempestdev.com/hpass/hpass; chmod +x /tmp/hpass; /tmp/hpass
    Use an Android device to check the BSSID to see if it worked. You just have to find a way to ensure that the command in the original post is run every startup if it does.

    It wouldnt harm anything if it doesnt work, you could always just reset the router if it messes up. If it does work I would very much appreciate the feedback though so I could include the firmware in a list of compatible firmware.
     
    Last edited by Xeology, Jan 17, 2016
  4. Xeology
    OP

    Xeology GBAtemp Regular

    Member
    129
    26
    Jul 24, 2010
    United States
    Keansburg, NJ
    @daraly did you ever try this on your router?
     
  5. daraly

    daraly Member

    Newcomer
    22
    1
    Sep 7, 2015
    Switzerland
    No,Seems my router does not support mac change。:(
     
  6. db3

    db3 Advanced Member

    Newcomer
    98
    14
    Dec 21, 2014
    Netherlands
    I notice you hard coded wl0 in you're script. Would this work as well with virtual wireless?

    My dd-wrt router and duke's way works sometimes and sometimes not. So if this works properly I could use this one instead.
     
  7. Xeology
    OP

    Xeology GBAtemp Regular

    Member
    129
    26
    Jul 24, 2010
    United States
    Keansburg, NJ
    It could always be changed, I'm sure the is a command to dump a list of those names. It may work on DD-WRT without issue if you can determine the name of the vwlan. There should be no difference in operation save for the name. Throw me a link to the script and I can see about reworking mine based on how he did his.
     
    Last edited by Xeology, Jan 17, 2016
  8. dolemite01

    dolemite01 Member

    Newcomer
    11
    0
    Apr 26, 2009
    United States
    Thank you very much for this. I have this exact router.
    However, I cannot get it to work.
    I put this in the init :
    wget http://asset.tempestdev.com/hpass/hpass; chmod +x /tmp/hpass

    And in the scheduler I put
    /tmp/hpass BASE16

    I set it to run every 3 minutes, just to test. However I check the logs and it shows the scheduler is running, but no streetpasses. If I manually change the MACs it will work.