1 (edited by cyrozap 2014-08-23 18:21:19)

Topic: EnGenius ESR900

I bought a few EnGenius ESR900 dual-band routers on Newegg a few weeks ago when they were on sale for $40 each with the intention of putting OpenWRT on each of them and using them as wireless access points. There wasn't an official version of OpenWRT compiled for this router so I decided to make my own!

I've only recently submitted the patches to the OpenWRT development mailing list, so it will probably take a while for official support for this router to be added. Until then, I can providing unofficial support through this forum thread and on IRC. In general, you should post questions and ESR900-specific bug reports to this thread so that others can see them and so that I won't get asked the same thing 100 times on IRC.

I've posted links to compiled firmware images that you can use to flash your router from the factory web interface (those are the *.dlf files) and sysupgrade images (*.bin) that you can flash directly to the device.

Here's a list of things that don't work (yet):

  • The wireless interfaces appear as "Generic MAC80211" instead or their actual device names (QCA9558 + AR9580)

  • I'm still not 100% sure what the switch config should be

If any of you have any tips for fixing the know issues in the firmware (or even unknown issues), don't hesitate to post them here! If you want to find out more about this router, I've created an ESR900 page on the wiki.

P.S.: If you want a port made for one of the other routers in the ESR series, I'm accepting hardware donations. Please contact me if you're interested.


Firmware Image Links:

File Hashes:

sha256sum ESR900-20140823T165235Z.*
7f49fb377db81bf6b81d83c895a26033722d9c18d1972c9f3a4aea5a020f360b  ESR900-20140823T165235Z.bin
a650b29d17e0851005f0d0f5b405daf82dc0f912953c920e98c7cb3d8c80c2ea  ESR900-20140823T165235Z.dlf

sha1sum ESR900-20140823T165235Z.*
4badc746a6982eff6eabd1e989f26606dcb59f2b  ESR900-20140823T165235Z.bin
9ecd8167f6e27cc09c4e0f0e6b423ef55f45d5eb  ESR900-20140823T165235Z.dlf

md5sum ESR900-20140823T165235Z.*
a01129910fa0a72880fc9e3d8e4f2eda  ESR900-20140823T165235Z.bin
9b53d28b0ff602b3988e4d6ba33fdb48  ESR900-20140823T165235Z.dlf

Re: EnGenius ESR900

Out of curiosity how did you make the dlf file from the bin?

Re: EnGenius ESR900

nightshd wrote:

Out of curiosity how did you make the dlf file from the bin?

I used a Python script that I wrote, but I'm making changes to firmware-utils/mkdir615h1 that will allow it (as mksenaofw) to generate images for all Senao routers that use the DLF format. Normally I'd release the code I'm using, but it's really messy right now and I'm not comfortable releasing something that isn't at least half-decent.

The DLF format is pretty simple though, it's really just a header around a XOR-obfuscated combined kernel + rootfs image. The main components of the header are the Vendor ID, Product ID, MD5 hash of the (unobfuscated) combined image, and the 32-bit magic (default: 0x12345678) that is used to derive the 8-byte key that is used to obfuscate the image. Thera are some other values, but many of them are either constants (like the 16-byte "version" string) or unused (like the header checksum).

Re: EnGenius ESR900

Can someone integate it to the trunk? I would like to use esr1750 in our School. please send your script

5 (edited by cyrozap 2014-08-19 01:43:10)

Re: EnGenius ESR900

Fox1 wrote:

Can someone integate it to the trunk? I would like to use esr1750 in our School. please send your script

mksenaofw (formerly mkdir615h1) has been updated as of git commit f99433b/svn r41962 to enable factory firmware generation for all Senao-produced routers. I haven't made the necessary changes to make the factory firmware generation automatic, but you should be able to use that program to make the DLF file you need. Run it like this:

mksenaofw -e input.bin -o output.dlf -r 0x101 -p 0x61 -t 2

Re: EnGenius ESR900

Building factory images is now supported for both the ESR900 and the ESR1750 as of trunk revision 42189.

Re: EnGenius ESR900

I've just updated the first post with the hashes for my newly-compiled firmware. This new version includes all the changes in trunk plus sysupgrade functionality.

Re: EnGenius ESR900

this is somewhat off topic, sorry.

i have a spare ESR900 and frankly, i've no idea where to start as per installing OpenWRT.

i did take a quick glance - do i use barrier breaker or some other image?

so, in general, could someone with the same device point me in the right direction? smile


9 (edited by mk24 2014-11-23 23:07:15)

Re: EnGenius ESR900

I don't have one, but it appears that there is a Barrier Breaker image for it:

http://downloads.openwrt.org/barrier_br … actory.dlf

Generally the latest released image is the best choice, unless something really compels you to use a trunk one.

Re: EnGenius ESR900


I am trying to get openwrt on an engenius EAP600 and have been unable to load any third party firmware on it. I know that the chipset and hardware are supported. Do you think that if I took a working recent image and used your conversion program on it that it would produce a .dlf file that would be loaded by the engenius eap600 firmware itself. Thanks in advance for your thoughts on this topic.