published on in repair tech

Flashing a Ubiquity PicoStation with dd-wrt to extend the range of Mitshubishi PHEV In-Car WiFi

If you prefer to go straight into the details, while skipping the backstory, feel free to jump directly to the setup.

Also note that DD-WRT will charge you 20 euro for the privilege of running their software on “professional” hardware. If their router DB says “yes” under “activation required” you will get a 24 hour trial then to see that it works, then you need to pay.

If you don’t want to pay, but want to use dd-wrt, you need to pick another router. The idea should work with most routers, but long-ranges ones will of course have… longer range.

The backstory

I have a Mitsubishi Outlander with the ability to check the status and control things like the heating and cooling with WiFi. It works… as well as you’d expect from Mitshubishi. Which is to say, clumsy but OK. (I might share my thoughts on UX department at Mitsubishi some other time.) The car advertises a WiFi network, and you connect to it with your phone and then use the app to But my car is parked a bit from the house and the car WiFi does not reach into the house. Which kind of makes the ability to remotely-pre-heat/defrost the car a moot point.

The original fix

Last year I bodged together used an old AR150 and router and using trelay I got it working.

Most of the time, but it was unreliable when it was snowing due to the AR150 not having the greatest antenna. But this year it had stopped working, probably because I got a new phone and the App is somehow tied to the MAC of the phone even if the router should forward it. So I decided I needed a better bodge this year.

The new fix

Meet the new contender, the Ubiquity M2. A long range 2.4 Ghz Wi-Fi AP which I had lying around and which should have enough range.

But while they still provide recent firmware releases even if it’s +10 years old, that firmware does not have the feature I need. I need a client-bridge to “seamlessly” extend the car WiFi into the house.

I knew I could bodge it together with openwrt, but for whatever reason I came across someone saying dd-wrt could also do it, and it had built in support for it. So as my last adventure with openwrt felt like a bit too much bodge I decided to give it a try. And so far it seems to work well, much better than the last solution worked.

The setup

TLDR: Flash older compatible XM. Hold reset 7 seconds on bootup to enable tftp. tftp suitable dd-wrt image. Configure bridge-client

The detailed version. First, as the openwrt Wiki says in big red letters, if your PicoStation is running anything newer than >5.5 you probably need to downgrade. I’m not sure this is needed for DD-WRT but I didn’t want to risk soft-bricking it. Luckily Ubiquity still provides old firmwares, and even more surprisingly they allow you to downgrade with the Web UI, albeit with a warning. So boot up your PicoStation, go into the web UI and upload this XM.v5.5.11.28002.150723.1344.bin

After that is done, things get a bit more advanced. You will need to use tftp to flash dd-wrt onto it. I picked this one PC2M-DD-WRT.bin. It’s an old dd-wrt but it the one used in a (“success story”)[https://forum.dd-wrt.com/phpBB2/viewtopic.php?t=166271] so went with it. At some point I might risk upgrading it, but as this is not a internet connected device I’ll go with it for now.

Note: A lot of instructions said to hold the reset button 10 seconds to get it into tftp mode. For me that did not work. I had to hold it ~7 second, if I held it longer it booted normally. I released it just before the two lights went out. You will know it works because it starts flashing a nice pattern with the signal strength indicator LED’s, and ping will start responding on 192.168.1.20.

After you have done this, configure the wifi something like the attached picture, and you should be able to connect to it with your phone (assuming it’s registered to the car).

screenshot showing the dd-wrt wireless configurations, key settings: main interface in client-brige mode and a extra virtual interface configured as ap to extend it