• Hello, Guest! Welcome back, and be sure to check out this post for more info about the recent service interruption and migration.

Wifi Extension Development Thread


Well-known member
Thanks @Crutch and great work on releasing your screensaver. I'm using Retro68 which is a gcc cross compiler on my Windows 10 laptop. It's using C++ 11, which I believe the full library is over 10mb - so I think it's already only including the bits it needs.

It just shows how software gets more bloated as the years go by!

I've got some ideas on how to reduce the file size, but failing that I'll definitely look into Codewarrior.



Well-known member
Stripping the binary, disabling exceptions, and using static functions (no vtables) may also reduce code size.



Active member
Sorry it took a while to respond, I finally got around with trying out the patched version of the extension (with thread manager 2.1 installed), and am greeted with a system error: "Finder"  Address Error.  Any suggestions?



Well-known member
@ants Firstly thank you for all your work, but I am struggling, I hope you can help me get this working:



Powerbook 190

Using System 8.1 with 40mb ram

pcmcia 3com 589 ethernet

Opentransport 1.3


Process I followed:

GL-AR300M16 / Updated to latest OpenWRT 19.07 (sets the default ip to

Connected it to my wifi to see if the bridge is working (yes it does)

Installed Json RPC, which just involves this correct?

opkg install luci-mod-rpc
/etc/init.d/uhttpd restart

Installed ethtool

Swapped eth1/eth0 devices


ethtool -s eth0 autoneg off speed 10 duplex half

to my startup paremeters (infront of exit 0) Is this correct? Because in your readme you state 'eth1' but I think this is supposed to be eth0...


- Checked that my Mac can browse the internet, yes it can

- Configured the tool with the host and root/password

- click refresh networks

- nothing happens


The mac is connected to the WAN port, I think this is right since we swapped eth1/0? It must be talking okay since I can browse the internet, but the wifi extension doesn't seem to work.

Is the router meant to be in the first/default dhcp mode (with the hardware switch to the left) This is what I am using it on. You don't mention this switch in the documentation.

Any thoughts appreciated, thank you.

Last edited by a moderator:


Well-known member

Okay decided to start again, I re-flashed with the latest GL-AR300M16 firmware from the manufacturers website, this still includes WRT 18.06 so it should be fine. I figured it might be the pure OpenWRT that might be causing an issue. After this, I was facing the same difficulty so I decided to omit the Ethtool stage and not swap the ports - voila! The Mac was talking to the Router.

I have the menu with all the Wifi signals, it connects okay! BUT, none of my programs connect to the internet because of 'no DNS server'. So for some reason it doesn't seem to be getting DNS server info, I tried inputting my own manually in the TCPIP Mac settings to no avail. 

This is where I am at, will update with any news.

EDIT: Just FYI there is no mention what the physical mode button should be set to in your guide. Should it be in router mode? I assume it should.

EDIT-2: I tried setting the DNS server manually to the Cloudflare in tcp/ip settings of the Mac, programs look and try to connect, but still come up with DNS not available.

Last edited by a moderator:


Well-known member
Hey @stormy sorry for the delay, unfortunately life has gotten in the way of all my hobbies! It's great to hear you got the wifi menu working with OpenWRT, please post a screenshot!

I don't think the DNS issues will be too sinister, I'll fire up my Mac today and check my settings. But can you at least hit websites by IP address? e.g. (apple.com - but you'll just get an error page)



Well-known member
Hey @stormy sorry for the delay, unfortunately life has gotten in the way of all my hobbies! It's great to hear you got the wifi menu working with OpenWRT, please post a screenshot!

I don't think the DNS issues will be too sinister, I'll fire up my Mac today and check my settings. But can you at least hit websites by IP address? e.g. (apple.com - but you'll just get an error page)
Hi @ants

I got it working, this is how:

1. did a full reset of the router, holding reset for 10 seconds.

2. Once connected, plugged into my main pc with ethernet and went to

3. Set my password etc, then entered the main screen

--- this is where I did something different ---

4. At the bottom where it says 'Repeater' I clicked 'Scan networks'

5. I clicked the drop-down list and selected my local wifi, connected

6. Tested connectivity on my pc, works, no problems

7.  ssh into the mini router to install JsonRpc

--- unplug from main pc, plug into mac ---

8. First tested the internet, was working just the same as it was on my main pc

9. I noticed the wifi extension hadn't properly connected yet, as this was just running off previous settings, so I clicked 'settings' and 'ok'.

10. Wifi extension displayed my local wifi as not connected, I clicked connect and typed my password

11. It connected, and the internet continued to work

- note - the _only_ time I needed to enter the advanced Luci interface was to go to 'Software' and click 'Update lists' so that the ssh could install Json.

So it seems the magical difference was number 4 - actually connect it to your wifi under the repeater section first. Previously I was not doing this and instead was plugging it into my network with the WAN port. Oh and it seems my 3com 589 pcmcia card in my Powerbook190 works fine without having to mess around with ethtool and port swapping.

Hope this helps anyone else...

Last edited by a moderator:


Well-known member
Well done! It looks great and thank you for the detailed steps. Maybe you should try out the MacPlayer Spotify client? (https://github.com/antscode/MacPlayer) :tongue:  You're probably the only other person in the world apart for me who's got the MacWifi extension working with OpenWRT  :grin:

You just need to follow the additional steps to install stunnel on the OpenWRT router...



Well-known member
You're probably the only other person in the world apart for me who's got the MacWifi extension working with OpenWRT  :grin:
I had it working with a G3 iMac and OpenWRT device - it’s an awesome extension!

I seem to recall some issue getting stunnel set up on my OpenWRT device, so I never got Spotify working... yet. When I get the time, hopefully it’ll happen.



Well-known member
@ants I'm wondering if your extension could be ported to OS X? I have a similar setup on my G4 cube which uses an internal wifi travel router, but being able to select network etc would be bliss.

ps - there is a small bug in the extension (I think?) when trying to shutdown the Mac it will say 'Cannot shut down due to open apps' the first time, then when I press shutdown a second time it works. I am pretty sure it's the extension causing this behavior.

Last edited by a moderator:


Well-known member
My early 2021 posts in this thread and others on the topic have been lost, so I'm doing a little mental reconstruction here. I'm using the extension on my PowerBook 1400 in Mac OS 7.6.1 and 8.6 with great success along with a WiFi module from 8devices called the Centipede. It's based around a MIPS core running OpenWRT, cost about $25, runs on 5v and uses very little current. I remember that I had to flash an official build of OpenWRT intended for the related but physically larger Carambola board to the Centipede as the preloaded build of OpenWRT (and subsequent versions) wouldn't respond properly to the queries and commands being sent by the extension. Once I'd done that, things started working perfectly. I'll add more specifics here as they come back to me. I've attached a photo of the extension working, and one of the wifi module. In the photo, the module is getting power from a USB to TTL serial adapter. The serial lines are also connected, but aren't required for normal use. The ethernet cable is from the Farallon EtherMac PC Card adapter in the PowerBook.

Here's the link to the Centipede: https://www.8devices.com/products/centipede

PXL_20210711_045623362 (1).jpgPXL_20210711_045414363 (1).jpg


Active member
Thank you @ants , works great!
I run this on a TP-LINK TL-WR902AC v3.x (about $40).

Here’s my steps to make it work in case someone struggles (as I did) with the OWRT set up:

1) Flash with Open WRT 18.06.09 (last confirmed working version according to GitHub)
2) Connect with ethernet (make sure you’re actually using this connection) to a modern computer and browse to “openwrt.lan”
3) Click the banner saying you need to supply a password (you need to do this for ssh access)
4) Under interfaces, change your lan/wan subnet to something unused by your current network. (If your main router for example is on, you need to set up owrt to
5) Press “save and apply”. Now, openwrt will most likely revert back to the previous setting, this is because your computer wont change subnet fast enough. The interface will tell you it has reverted, and you now have the choice to apply the settings without confirming. Do this.
6) Ensure your computer is now on the correct x.x.2.x subnet IP (renew your DHCP or enter a manual IP)
7) Head back into openwrt.lan, and on the overview page hit scan on the wifi interface. Select the wifi you want your mac to use and enter your password etc.
8) Confirm you can now use internet over ethernet on your modern computer.
9) Enter a (mac) terminal and type
ssh root@ (or whatever IP/subnet you set in openwrt). Login with your password.
Type line by line the following to install the json API, followed by enter to execute.

opkg update
opkg install luci-mod-rpc
/etc/init.d/uhttpd restart

You are now done with ssh (for now), so shut down the terminal.

10) Head back into openwrt.lan and install the software in the interface according to the macwifi Github.

11) Adjust the stunnel setup according to github

12) For me this was not needed, but you may have to manually set your link speed to 10mbit. See Github.

That should be all! I typed from memory so might have misnamed something, but am fairly sure that’s what I did to get it working. Feel free to reach out if anything is unclear or not working!