Help! Custom UI Web Interface for MT-300N-V2


I would like to develop custom UI Web Interface for use on MT-300N-V2,
to ease the development process I installed openwrt 18.06 on VirtualBox
using x86_64 image from, and succeeded.

What I did were:

  1. I compare from the MT-300N-V2, Installed the missing package are:

  2. copy all files and folder in /etc/lighttpd, /www from mt-300n-v2 version 3.102 to my virtualbox, with the same permission, and flag

  3. Disable uhttpd from init.d

  4. Enable lighttpd

My questions are

  1. Where can I get lighttpd-mod-openssl package? Can you provide the link?

  2. How to make /www/api (fastcgi application) run on VirtualBox? what setup I missed?

  3. My lighttpd was started without any error, but when the the Web Interface (index_vue.html) invoke the api, always got error (internal server 500), where do you put the api log file, so I can trace the error message?

  4. Do you intend to open the api source code ? cause although I want to customize the web interface, I still need the api to run.

Please help and Thanks bro

First, you cannot make the original binary (like api) work in X86. It is different arch. So you just cannot make it run.

I suggest you use our imagebuilder. GitHub - gl-inet/imagebuilder: Warning!Please look at 'GL.iNET Imagebuilder Introduction' section.

It is used to build custom image for our router. All these things should just run. You just need to include your own packages and customize your scripts.

Hi Alzhao,

Thanks you for your answer, I didn’t notice that the api is a binary compiled for MIPS, then I will try to emulate using qemu, like this one GitHub - cfsghost/makerboard: Utility and emulator for development boards, so our team can collaborate for the development, without having a real device for each developers.

It would be nice, if GLInet can provide qemu image for every of your device variants :slight_smile: cause we have plan to make our app runs on your device.

Thanks in advance :pray:

You just have to get your program running on one device, it will work on all others if you use the API, that is what it was designed to do.

If you then want to compile your program for devices you don’t own, you can use the SDK here:

It lets you cross compile your app to all the devices. Once you have your package, you can make an image for devices with the Imagebuilder here:

The GL UI is closed source, and the API as well. You don’t need the source code to use it in your custom UI, just follow the documentation :slight_smile: