Build a AR300M Lite Custom Firmware


I’m trying to build a custom firmware for AR300m lite. I’m following this Overview - GL.iNet Docs but im kinda lost, on many options. going forward i might miss important prerequisites or options. Is there a template based on the default latest firmware? I would like to start from there and removing the features that will not needed for my application such as cloud, share, video, etc. Thanks in advance.

If you use our github, you will find there is a “GL config” in “menuconfig”. Not sure about the name, but it should be just under target and subsystem etc.

I have two AR300M Lite and one AR300MD.

I only need to use these in WISP mode. I am finding very inconsistent behavior with all of these units over random periods of time. I have a power supply that is 2A and I have read all the posts concerning these issues. At this point only a hard reset of the units and starting all over with the configuration fixes the issue. I am seeing the issues reported on this forum with the SSID not showing up or the system rebooting when you try to connect to a WISP SSID.

So… I would like to build my own firmware that includes my settings so that when I reset these darn things I don’t have to start all over again.

I have some minor changes from stock firmware that I would like to include in my new firmware: (the openvpn file is easy to add from the web interface so that is optional). Does the “clean” firmware have the Gl-inet web interface? I would really like to start with the stock firmware and just make the following modifications. The instructions for creating custom firmware are a bit unclear. Elaboration appreciated.

  1. OPENVPN config file. I can add this from the web interface easy enough so I don’t “really” need to add this to the new firmware.

  2. Set switch to toggle vpn on/off.

  3. the following script that will randomize MAC on each boot enabled:<wbr />openwrt-wan-mac

  1. Since I am constantly logging into captive portals with thing thing I also have the following setting:

<span style=“color: #222222; font-family: source_sans_proregular, ‘Helvetica Neue’, Arial, Helvetica, Geneva, sans-serif; font-size: 14.6667px; background-color: #f9f9f9;”>advanced configuration (LuCI), under Network > DHCP and DNS, there’s an option for Rebind protection to “Discard upstream RFC1918 responses” that’s enabled. Disable that, Save & Apply</span>

  1. install nano and elinks packages


I installed the build environment in ubuntu. However, it didn’t seem to include the AR300M profile. Also it is unclear to me what how the “clean” firmware differs from “v1”.


Clean firmware mean it has no our UI and no extra software installed. It only contains Luci and necessary modules that a router is need.

If you want to build your own firmware, you can use the source code from our github and there is AR300M in the target profiles.