Support for Easybox 904 LTE

Ha! From your post I eventually learnt the meaning of "WAN" port on the Switch screen
for the " Lantiq XRX200 Switch" in the eb904: The jack labelled "DSL" is actually a combined DSL/ethernet connector.

But it seems to be 100 Mbits only. In case this limts your cable speed, you might prefer to connect it to a yellow jack and adjust your switch settings to isolate it from your LAN.

Referring to Asterisk: the last time I looked, the Luci Asterisk package was of no use.
So on my HomeHub, I installed Asterisk15 (with chan_sip, not pjsip) and adjusted the files in /etc/asterisk/ manually.

Referring to USB: yes, the slot intended for mobile internet sticks does not work either here at the moment.

Hi everyone,

I have locally established a git repo from openwrt master, applied Plonk23's patches, and changed some eb904 related stuff with good results, i.e.

  • added the led-gpio change of Henning Schild's pull request
  • added 2nd USB
  • changed the "sub page size" used by UBI from 2048 to the standard auto driver detected value 512.
  • reworked final stage of image build: got rid of image/; little additions in image/Makefile suffice for building sysupgrade, fullimage (=recovery image), initramfs.

The question is now: how to continue? I see Quallenauge's repo, Plonk34's patches, the images provided by Hans Müller. Probably there is more to find...

First thought is to take Quallenauge's repo as a reference and push changes towards him. But isn't this repo many commits behind OpenWrt master? Is Q'auge maintaining it? A statement from him would be helpfull.

Or does Plonk34 or someone else volontier to publish a repo which follows the OpenWrt master branch? Anyway, if it makes sense, I also could create a branch on GitHub hoping it is helpfull to others.

Or maybe I misunderstand the way how to develop open source stuff with the help of Git?

Thanks in advance for suggestions!

At me I assumed that my 2nd USB port has a hardware defect.
Or is there somthing missed ?
When everybody have installed my image does the second USB device working ?

It is possible to see your changes ?
I m very interreted.

In my opinion it should add to the master openwrt, i can not see any reason why not.

How does it work, my problem are I'm just learning to deal with git

How can i use the Touchpad in combination with the LCD screen ?
I want to have an menü with buttons and choices.
Have everbody an example ?

gst-launch-1.0 -v filesrc location=hst_1.mpg ! decodebin ! videoconvert ! fbdevsink

RESULT: an yellow white screen with low image quality, but the video works

but H.264 videos does not work.
Have everybody an idea how i can figure out what the LCD can do ?

My stuff is not in the good shape as the one published by Qauge. It rather is in an experimental stage. Incented by your ZIP file, I looked through the changes which Qauge did and applied most of his patched: I omitted the ones which I am not convinced if they are reasonable. But considering the good work Qauge and others did, I think there might be good reasons for these patches and so I don't want to advertise my omissions right now.

Referring to the 2nd USB port: in file target/linux/lantiq/files-4.14/arch/mips/boot/dts, there is a section about usb_phy0. Simple add the same for usb_phy1, so it looks like this:

&usb_phy0 {
    status = "okay";

&usb_phy1 {
    status = "okay";

and rebuild. I claim that this works for me (but I only made a short test).
So if you have time and feel like it, then try it out and report your results here.

1 Like

How to hack with U-Boot on Easybox 904 without danger to brick it...
(and maybe this is valid too for other Lantiq devices)

Hi everyone

I fiddled around with the U-Boot and it seems it is quite possible to test a new version by loading it in RAM without flashing. See here for a description:

OK i add:

&usb_phy1 {
    status = "okay";

&usb1 {
    status = "okay";
    vbus-supply = <&usb_vbus>;

Thanks for Help

I do so: added the led-gpio change of Henning Schild's too
But what should be the result ?

I replace BLOCKSIZE=.. SUBPAGESIZE=.. etc by $(Device/NAND)
And it looks good. what was the reason for the old.

This will be interresting.

So ihave build again, but on Raspberry Pi 3 (it is slow but it does not block my only Laptop)
Here my build into two parts it may copy together:

SHA256: 98711a08e62a9490e9d81817c0d56d2ab341268ae6fd9b61b626b69d47c85243

SHA256: c3bf9908c5ec158929cdfabac809134ce773dd97ecc4ced941af9e5818f414fe

The buildscripts are are optimized for Raspberry Pi 3 and they are ugly, but i publish them here including the script for building the patches.
I hope this helps.
SHA256: 055caa5e4608bb9103d2d8bd074c72c281c4166259fe153d46779b72b5319ffa

Hi all! I added driver for 74hc595 gpio extender and changed little bit driver for touch keypad. I already created PRs in @QAuge 's repositories, but changes can be easily applied on @arnysch repo.
Hope this is one more step to complete support for this router.

I have one remark about questions and answers:

Q: AFAIK the 128MB RAM of the Easybox 904 is mapped in the address range 0x80000000-0x87FFFFFF.
So why can the U-Boot be loaded and started at 0xA0400000?

A: According to there also is:
2M x 4banks x 16bits SDRAM, 166MHz/CL3 : Winbond W9812G6JH-6, markings "Winbond W9812G6JH-6 1311W 624607500ZX" (datasheet)"
So there might be an additional RAM of size 4MB mapped to 0xA0400000-A07FFFFF?

IMHO this Winbond memory is used by Ralink rt3883 WiFi SoC. At least on PCB it placed close to WiFi SoC and traces are routed in direction to it.
Could it be some mapping magic?

1 Like

Hi, could someone conclude what's working atm and not and maybe provide a ready to Flash image via TFTP or luci?

I have an older version and unfortunately no working phone or dial in PPP...

The modem syncs, but no dial in possible. I wanna use the built-in modem and not an external one with eth0.2 configuration for DSL-port (if I understood it correctly)...


older Version from what ?

LTE (I can't say something) or xDSL variant ?
xDSL: It should work if your modem syncs but it is an generell configuration Problem please post in an new Thread
"Modem connection on Easybox 904xDSL does not work" etc

  • which Openwrt Version
  • Please descripe your connection that shoult bee. (adsl2+ annex B / PPPoE etc.)
  • post the output from "/etc/init.d/dsl_control status"
  • post your /etc/config/network (but without passwords)
  • What is exactly your problem (as i understand the Modem syncs fine, but the PPP-whatever connection does not work ?)

When your installed image is really old, then you have to reflash it through tftp again. Then you can use sysupgrade.
Installation howto:

currently latest precompiled sysupgrade image (not official openwrt release, you can use it instead of the old linked one in the openwrt wiki):

Your name indicates that you probably would use the device in germany. If at Telekom, then you have to set VLAN7 like described here:


Unfortunately your image is not available at the link you posted.

I configured in my image and working different wifi channel and working WPA2 mode. I haven't modified more. The modem synced at a VDSL 50 (non-vectoring) port. I haven't tried it since it was switched to Vectoring now and we still operate the other original image easybox x904 at the connection at the moment with stable 97Mbit/s down / 28Mbit/s.... Problem is no good working VPN (openvpn is really slow in original image) and no working static routes which are nessesary for me meanwhile. We have two different networks with 2 DSL lines in one combined internal network. So I wanna use an virtual interface and static routes to achieve both networks at the LAN side...

I wann either use the modified EBx904 with Openwrt and working WireGuard or Openvpn or put another device behind the original EB904 which gives trouble with clients in the original WiFi network...

But to conclude this post, I think the best idea is to start from scratch somehow and flash the newest available image through TFTP method.

Is there is difference between coming from older Openwrt or original image?

I also think slowly this device should get official support from Openwrt to get a clean and clear installation order.

It seems to be the only nearly working device with an integrated internal DSL card and telephone support....

That is what unfortunately still sucks in the Openwrt world...

So please don't judge me to ask for clear instructions again....

xDSL and the FXS ports (phone) are working on this device just fine, its biggest problem (apart from getting support for it merged into OpenWrt, due to unfortunate design choices of the OEM) are the wlan cards and their drivers.

However running wireguard on this devices will be a bit challenging, not from a functional point of view, but considering the performance requirements for VDSL50. Given that this device exposes FXS ports, only one core is available to the OS (the second core is configured as voice core by default), this means that plain PPPoE+NAT is limited to around 60 MBit/s - that leaves very little headroom for VPN (encryption tasks).

The o2 Box 6431 has working VDSL (with vectoring if you use the right DSL firmware) and telephone support in standard OpenWrt 18.06.1 (no patches needed). It can run a strongSwan IPsec VPN just fine (albeit at limited speeds, but still way faster than OpenVPN). You can get it on ebay for ~10 EUR. The only disadvantages are missing WLAN support and only 64 MB RAM.

The o2 Box 6431 is a great device, but shares the same performance limitations (only one usable core, limiting performance to 60-65 MBit/s) as the Easybox 904 xDSL, due to it also offering FXS ports by default. Furthermore its wlan is 2.4 GHz single-band only (and the drivers, while massively easier than those of the Easybox'904 xDSL, aren't quite top notch either). While it's a good choice as a dedicated modem (with a faster router behind it) or a SIP-ATA with its two FXS ports, it's not exactly a good match for an all-in-one device with a 100 MBit/s VDSL2 connection.

The BT Home Hub type 5A however would be a much better choice here, while it doesn't offer any FXS ports, that frees up the second core for routing functionality - which makes it achieve >=100 MBit/s with flow-offloading enabled. Beyond this it offers good concurrent dual-band wlan (ath9k+ath10k (802.11ac wave 1)) and decent amounts of flash and RAM (128/128 MB). The only drawback, it doesn't support ADSL with annex B (but it does support all relevant variants of VDSL/ VDSL2 and vectoring in germany). If you're comfortable with flashing OpenWrt to it yourself (which is not quite for the faint of heart), you can get these for just under 20 EUR shipped - preflashed devices would start in the ~40 EUR range. This means it can cover the tasks of VDSL2/ vectoring modem, router, access point and light VPN usage for a 100 MBit/s line, you'd have to look for something else in addition to cover VoIP/ phone support.

Thanks @Plonk34 and @arnysch

A developer took a look into the patch and this are his reports:

  • someone else have to take a look into buscon/addrsel parts
  • "Deactivate subpages on nand." should be a kernel patch and not just a patch for a userspace tool when the CPU dont support subpages for some reason
  • Dont include ILI9341 - there is already one driver upstream for it
  • "Add bad block table implementation" should be talked upstream with the linux-mtd developers. Probably there could be done something usefull for other devices out of this "quick hack"
  • "Add bad block table implementation" BREAKS all other NAND devices that use BBT-pattern

I hope those things could be fixed. Then the patch should be send to the mailing list so the other developers finish it up.

Hi there
Regarding the ili display driver. Of course there is an upstream driver available. I derived from this and adapted it to be useable at the EasyBox, because the device is connected to the ebu bus instead of the spi bus.
What do you mean with the ebu/addrsel parts? What should be done there in detail?


I meant the developer i talked to have not looked into the buscon/addrsel parts if they are fine.

About the ILI9341 - just follow the "upstream first" path if changes are required to the driver.

Well, I'm open for patches.