How to build IPQ4018 firmware

I download the SDK from https://github.com/chunkeey/LEDE-IPQ40XX. but I didn't see the build target for IPQ4018.

How to build IPQ4018 firmware. Can anyone tell me?

IPQ40xx devices are part of ipq806x in LEDE.
And the support is already merged into main LEDE, so there should be no need to clone from that repo.

At least 4019 (Fritzbox) has been integrated, but not sure about 4018.
@chunkeey likely knows the most about the support for ipq40xx devices.

as far as I know, IPQ4018 is based on ARM Cortex-A7. But the IPQ806x is based on ARM Cortex-A15.

I choose target IPQ806x, build a php ipk file. But it can't install on IPQ4018 board because of architecure difference.

The FB4040 is a 4018. But It doesn't really matter, The IPQ40XX (4018, 4019, 4028, 4029) are all very similar.
From what I know the the 40x8 chips are simply the cut-down versions (no mmc, no pcie, less RAM, ...) of the same 40x9. While the 402x are the "enterprise" chips (That have WIFI SON / Self organizing / Mesh buzzwords) compared to same the 401x chip.

Look at what ARM has to say about it: https://www.arm.com/products/processors/cortex-a/cortex-a7.php
"[...]The Cortex-A7 is architecturally compatible with the high-performance Cortex-A15 and Cortex-A17 processors [...]"

The IPQ4018 is just the SoC/Chip. There's no "generic" IPQ40XX images, because each ODM/vendor does it "own thing". So boards have different components (NAND vs NOR/SPINAND vs MMC - that have different flash layout), different RF, different GPIO/mux settings, different Ethernet PHYs or Switches, etc.

@chunkeey, what is the status of your IPQ40xx support getting integrated into main LEDE? There seem to be commits on your repo that are not in main LEDE.

I have an RT-ACRH13 (RT-AC58U) that I would like to put LEDE on, but there don't seem to be any snapshots available. Do I need to compile myself from your GitHub repo to get support for this router?

1 Like

I can't really say, as @blogic does all of the integration.
https://git.lede-project.org/?p=lede/blogic/staging.git;a=shortlog;h=refs/heads/ipq4019
https://git.lede-project.org/?p=lede/blogic/staging.git;a=shortlog;h=refs/heads/ipq

From what I know he's been busy with several things. You see the ethernet (essedma) and phy/switch (ar40xx) driver I "added" is mostly garbage. The sad thing is, it is real "production code", that is being used by Google's Gale (v2) platform.

Oh yes, but they also break stuff.

Ah, one big issue with the RT-AC58U/RT-ACRH13 is the image creation. The current two-stage installation process is clunky and not compatible with the ipq806x target. the "factory" image needs to be changed, so it no longer relies on the initramfs. This is necessary, because there's some funkiness going on because of the "customized" U-Boot on the device. If you want to know more about it, you can download the GPL.tar from ASUS' Server, it does include the u-boot code...

That said, I think the best option is to simply bribe John. I know he can be bought :wink:

1 Like

I bought a bunch of these routers as I got a really good deal with them, however I didn't realize it would lead me to this path. I'm very glad the dream is still a possibility =)

@chunkeey - Amazing work. Seriously thank you! I hope it pays off as I can see these routers picking up as the prices goes down. Give me a link, I'd love to donate to the cause and for your time, gladly.

@blogic - Good, sir I beg of you! What's the going rate to have a snapshot expedited? I have a a shiny pile of bitcoin that my garage Antminer S3+ was harvesting. =) Any interest?

In all seriousness if it would help expedite the process and help a other members, I would gladly contribute for the time allocated with some donations :slight_smile: .

Thanks guys!
-J

@NyecoN what eaxactly is the problem ?

i have a shiny new ethernet driver almost ready, i published the qca8k hw nat offloading patches recently and hope to get them working on ipq4019 in the next 3-4 weeks. if you check out my stagig tree, it has working support for most ipq4019 targets.

which routr do you have and is it already supported ?

1 Like

Hey,

I just bought the Asus RT-AC58U and read some topics, but I'm not sure. Can I install a Lede Image to this model or does it not work? What about the ipq806x releases? Can I use them or will it brick my router when flashing?

thanks!

1 Like

Hey @blogic and @chunkeey, I too got myself an rt-ac58u, willing to help test anything that works.

Hopefully this is not too off-topic... I got a bit ahead of myself and went with the instructions form https://github.com/chunkeey/LEDE-IPQ40XX/releases without reading the more up to date news. Strangely step 3.4 (sysupgrade -v /tmp/lede-sysupgrade.tar) disconnects my putty ssh console every time so I'm stuck with a non-functional device... I did not try any of the serial console instructions yet.

2 Likes

Hi all

Does this works with rbr50/rbs50? I have and orbi kit that I could use to test: can you help me doing so?

@chunkeey - there are conflicts in 4 files in your repo after the last merge with lede trunk.

I have made a fork (combined chunkeey & lede trunk) here

Firmwares do work on rt-ac58u. There are still two problems

  1. trx image is not always built correctly. (itb is ok and can be used with uart console)
  2. make always fails, but running it second time gives correct sysupgrade firmware.

I hope I'll fix (1). It would be difficat to fix (2).
sysupgrade's are temporary uploaded here - http://ziniz.zyxmon.org/test/

1 Like

Hey, great! that's the spirit! :+1:

But I'm not sure about the conflicts you mentioned. What I think that has happend is, that you simply use "git pull" from https://github.com/chunkeey/LEDE-IPQ40XX/tree/staging into your own branch? Is this correct?

If so, please watch out, that this is a staging repository. So, the patches there get rebased every so often and if you had pulled an older version of a patch into your "master" repository, this can easily cause the clashes you are getting now.

As for 1) 2). See my previous comment:

So, unless someone comes up with a new way to make a factory image that is compatible with the way ipq806x is setup. There's no point in wasting any time/effort for this. Because this will not get merged into LEDE the way it is.

Not exactly. But now I see the issue. Thanks. I have not noticed the staging branch. Now I'll merge it in "my repo". I do not think there is much difference with yours in fact.

@chunkeey - just FYI. There are about two dozens users using lede on asus rt-ac58u based on your repo.
More info (Russian) here - http://4pda.ru/forum/index.php?showtopic=790326&st=300#entry62828141

No serious problems were found so far....

1 Like

Thanks for letting me know. I do appreciate it, that you are trying to provide images for the router. If you are looking for a few more international users, you could make a thread in the Community Builds, Projects & Packages section about the RT-AC58U/RT-ACRH13.

As for the other forum. I read to some of the messages (via translate). I saw a comments about the longevity of the components and stuff. From my experience, the 128MiB SPINAND could be the first thing to fail. In a way, ASUS accounted for this, by having a redundant kernel+rootfs partition (linux1 and linux2). But sadly, the rootfs_data (which stores config) does not have a spare area. So, only time will tell.

As for current issues: the Qualcomm' provided ath10k-firmware: firmware-5.bin_10.4-3.4-00082 isn't as stable/robust as the older firmware-5.bin_10.4-3.2.1-00053. It looks like this is more of a problem for the QCA9984 with a IPQ806X (R7800 and friends) but so far, nobody tested that. Instead they are blaming it on the RX ring memory reduction patches. :smirk:

Because those patches stink :mask: :slight_smile:
I've tested all firmware branches including 1st release, there has been no difference or whatsoever in capped 2.4ghz wireless performance, probably caused by the same issue

I own MediaTek MT7621AT router with 128MiB NAND Flash (SLC NAND - Spansion) for about two years (this is a special ZyXEL model for Russia) now. No problems up to now and never heard about nand problems on this model. Uboot code can be fitted on a single nand block and is dublicated AFAIK.
Thanks for the info about ath10k-firmware. I'll switch back to it (it is used in lede trunk). I do not use 2.4Ghz wifi.

1 Like

Well:

"You might be interested to test reverting the ath10k buffer reduction that was done in March in master. That might help with performance issues.

The background is that the ath10k buffer size reduction was introduced a bit sneakily into ipq806x with a commit improving support for QCA4019. (The commit title talks about QCA4019 but does not mention that ath10k buffers get reduced for all chips):
https://git.lede-project.org/?p=source.git;a=commit;h=cc189c0b7fa015978b04bb663a75b1da726376b56

I tried to initiate discussion about that action later, but that got no traction as there was no real proof that the buffer reduction caused harm in a significant way. If there would be proof, the action might hopefully be retracted."

"I couldn't wait, so I tested it just now. Bad news though, performance on wifi is still abysmal."

Thing is, this wasn't the first time. It comes up again and again, if 2.4G acts up on the R7800.
As for the IPQ4019, In my observations, the firmware-5.bin_10.4-3.4-00082 isn't as stable/robust as the older firmware-5.bin_10.4-3.2.1-00053. So maybe the same is true for the QCA9984, you could ask people that have a problem with the 2.4GHz stability to try the older firmware. But YMMV.

No matter what, for me it's a fact that on the R7800 wifi is unusable in master, which is annoying. A patch to revert to the older driver (and firmware blob) would actually have been nice. But it is perhaps a lot of work?