256Mb RAM on Asus RT-N66U

OpenWrt 18.06.2 ( r7676-cddd7b4c77 ) doesn't use 256Mb on Asus RT-N66U, it only sees 128Mb.
( 'Found 128 MiB of extra memory, but highmem is unsupported yet!' )

Is there a way to overcome this?
Thanks.

I think this post agrees with you

Noting that this was over 2 years ago, I'd imagine that if this is not solved yet, i's unlikely that it will ever be. This device isn't really attractive, being Broadcom with the issues of lack of opensource drivers and related wireless limitations.

2 Likes

Develop such a support & send a patch :slight_smile:
I don't really have much motivation for that, there are quite a few more important things on my list.

well a lot of devices use broadcom. why don't you just reverse engineer drivers from ddwrt or something?
it should be possible at least?
i lack such skills.

If Broadcom, or any manufacturer for that matter, chooses to not share their drivers or make them easily available, then that's doesn't make the device an attractive target for an open source project that also has to adhere to license(s) terms.

The problem is that drivers available are often built for an older Kernel version. For example, I have Asus RT-AC66U, and the latest stock firmware (that's only 1 year old) is using an ancient Kernel 2.6! Now if, you see, the manufacturer (ASUS, who are the direct client of Broadcom in this case) got only access to Kernel 2.6 drivers, then there must be difficulties.

I have also checked some of Tomato firmware variations, and it appears that most of them stopped at Kernel 2.6 as well. There is Fresh Tomoato that you can check which seems to be still active, but I don't know if they have new drivers or not.

I have asked the question on dd-wrt forum about what Kernel version their recent, and thy might actually support Kernel 3.x. I don't know how they got it, but still it's rather outdated.

That's all about my RT-AC66U. I don't know about RT-N66U or what kernel is OpenWrt is using, but the point I'm trying to make is that with Broadcom not making their drivers open, it's just harder for everybody to work with that. The effort spent in struggling with supporting these devices can be better spent working with many more developer-friendly devices. You might not like this answer if you own one of these devices, but it makes perfect sense when you look at the bigger picture.

3 Likes

I told you why. Please don't try telling me how to spend my free time.

If you care about that so much, you can always learn whatever is needed or maybe hire/pay some developer/company to do that for you.

Luckily Broadcom releases code for a lot of their hardware. Wireless excluded of course.

RAM support requires kernel code, so they are actually obligated by GPL to release their modified kernel code. One just needs to download SDK for device with highmem and port Broadcom's code to the upstream kernel.

2 Likes

True...but stuck at Kernel 2.6...someone would have to patch that driver up to Linux Kernel 4.x.

  • Even if someone did it, they could not distribute the driver to you.
  • You'd still have to do it yourself to comply with the license.
2 Likes

First of all, my appreciation goes to all the people who created and are maintaining the beautiful world of OpenWRT.
Recently, I purchased an Asus RT-N66U as brand new in the original unopened box due to a good price and the 256MB RAM in order to install OpenWRT and run the RAM-hungry package v2raya.
Well, OpenWRT turned out to provide only half of the available RAM and the v2raya package is walking on its knees due to RAM shortage.
While I now fully understand the reason behind the RAM shortcoming after having found this forum topic, I would like to suggest that the 'Device Page', the 'Device Techdata', and/or the column 'Unsupported Functions' in the webpage "https://openwrt.org/toh/views/toh_extended_all" report such issues which could influence user purchase decision.
With best regards.

There's such a column, but it mostly used for missing hw features, like wifi, or LEDs.

Don't think memory hungry sw should be reported there.
How much is not enough?
Should (in theory) MySQL be added to the list too ?
I works, but would kill the flash in minutes.

I did not mean that packages should be mentioned. But, RAM is a hardware feature and it could be mentioned, e.g., 'Only 128 MB of the RAM will be recognized'.

For most Broadcom routers DDWRT uses Kernel 4.4 which still gets security updates as SLTS release via CIP

BCM based devices should be avoided anyway, you kind of kicked yourself in the teeth here...

But I agree, a warning would have helped.

3 Likes

Thank you, frollic.
Is it possible to make it a habit to report cases of non-full RAM support in the column 'Unsupported Functions' by mentioning OpenWRT actually recognized RAM amount?

I've added it to the hwdata page, and it's now showing on the device's wiki page, and probably also in the full details list, but for some reason, the list won't load for me atm.

1 Like

Yes I see it. It could be phrased "RAM beyond 128 MB" is an Unsupported Feature-- i.e. hardware that is present but not usable with OpenWrt.

600 MHz single core MIPS is a serious limitation as well. This is not a model anyone should seek out to buy.

Thank you, I saw your remark for RAM shortcoming of OpenWRT on Asus RT-N66U in the page 'https://openwrt.org/toh/views/toh_extended_all' and both specific pages for that router.

Now, the question is if it would be too much work to have remarks on drawbacks, if any, in using existing hardware features of all other devices supported by OpenWRT?

Let's be clear here, the RAM size is typically hardcoded in the DTS and can usually be extended to match reality easily. The real question is why it doesn't, be it because of there being different hardware revisions with different RAM sizes on the market (hopefully that can be distinguished from the model plate) - then it would be easy to fix (add a second image for these h/w revs) or be it some more generic issues at play (reserved memory areas, necessary for specific IP cores, (sub-)target not enabling highmem for some reason (be it technical, size wise or performance related (enabling highmem might reduce performance on some SOCs)).
In this case, rmilecki has already weighed in and pointed out that this is a technical issue with the bcm47xx target, which would need development for mainline (at the same time bcm47xx is a legacy target, not DTS based, rather old devices (in the range of 16-64 MB RAM on average), so -unless you volunteer- not very likely to get more attention than basic -life-support- maintenance).

Apart from all this, 256 MB RAM is not really a whole lot for more demanding tasks (which anything golang based would be), nor are SOC performance or wireless capabilities on par with contemporary expectations, so the real question would be, why on earth does anyone buy bcm47xx hardware (NOS or not) in 2023…?!

If you have a Asus RT-N66U and you decent performance, range, and stay somewhat up to date, I think there’s only 1 choice:

Thank you for your post. I will visit that forum and see what comes out for me.