Ip-full is crashing on OpenWrt 22.03

I was using OpenWrt 22.03 on Huasifei WS1688 router (ramips_mt7621) and everything was ok, but then I needed to add a netns feature to IP tool (ip netns add myns), and I understood that it is not included in the busybox version of IP tool. I added an ip-full package from make menuconfig, and re-build my FW, but it is crashing on the boot (device becomes available on the network, I ping it 6-7 times, and then reboots in a loop).

Do I need to add or remove something else (menuconfig well added dependences libbpf and libelf)?

Are somebody successfully using ip-full on OpenWrt 22.03? Any hints?

This device doesn't appear to be supported by official OpenWrt. Are you sure you're using a release that came from here?

FWIW, this is EOL and unsupported. This means that if there is a bug, it will never be addressed.

The device itself is not supported by official OpenWRT. If its boot process is similar you should be able to enter failsafe mode and flash vendor sysupgrade file
Either way you need to contact vendor for help with their forked OpenWRT

Maybe I was not clear, I use a device that is powered by Mediatek ramips mt7621, and I build my own OpenWrt FW, using make menuconfig and make. I do not have any problems about this, until the point where I needed to add a support for netns (Network namespaces) in IP tool, so I added ip-full package to my FW. Of course that I know how to put back stable FW, my question is about ip-full package, does anybody use it?

Maybe category of my post should be "For Developers", I will create it there...

I am running OpenWrt 22.03 on a router powered by Mediatek ramips mt7621, I have built my own FW and everything was ok, but then I needed to add a netns feature to IP tool (ip netns add myns), and I understood that it is not included in the busybox version of IP tool. I added an ip-full package from make menuconfig, and re-build my FW, but it is crashing on the boot (device becomes available on the network, I ping it 6-7 times, and then reboots in a loop).

Do I need to add or remove something else (menuconfig well added dependences libbpf and libelf)?

is anybody successfully using ip-full on OpenWrt 22.03? Any hints?

Yes I have it compiled in my own build, if you have compile errors make sure you did not check other ip packages e.g. ip-tiny, but I only use 23.05 snapshot and master

ip-full has no issues in general. There are some more dependencies mentioned here.

As noted here (Ip-full is crashing on OpenWrt 22.03 - #6 by egc) your device is not officially supported in OpenWrt, and that 22.03 is now EOL.

You maintain that you are running Official OpenWrt because you make your own firmware, so I am curious as to what Target Profile you have selected in the OpenWrt Makefile for your unsupported Huasifei WS1688 device.

1 Like

This forum is not for developers, from the early beginning I wrote that I am not working on any commercial router, not using any "officially supported" hardware or build, all responses were more than useless. The fact is that when you add to much OpenWrt packages into your firmware, although it seams that "make" compiled, linked and packet them all into the specified flash size, FW will crash if your flash is 99,9% full. I made a lot of tests with many different packages, besides ip-full, and no matter what is added, if flash is 99,9% full, kernel will crash and if you have watchdog you will have a boot loop. For me this is a crucial bug, flash should be read-only, system should work even if there is 0 bytes free on flash.

P.S. If you are a developer, you can make a new Target Profile for any hardware you want, if you do not learn and experiment, you will never progress.

You need 3 64kB flash blocks to write anything and 3-4 of them is used by initial configuration. More or less megabyte will permit you to save customer configurations from luci.
This forum is for developers of original OpenWRT, not last ditch replacement for lax OEM SDK support.

1 Like

I don't think you have said what the flash/ram capacity of your device is, but most packages use the /tmp tmpfs "ramdisk", and of course this uses up otherwise free memory. A system with 99.9% of flash used, will be full of packages, all competing not just for non-volatile flash space for installed files, but also for read-write non-volatile flash space for config files. Then as each package starts up it uses ram for executing in as well as ram for its "ramdisk" temp files.
In addition, network namespaces can be relatively memory hungry, potentially compounding your issues.
So, just face it, you ran out of resources, one way or another.

They may not be 'useful' in fixing the issue, but the point is that your device is not supported by official OpenWrt and therefore the firmware that it runs is not from here. We cannot help you because we don't know what changes were made by the people who forked the code to make it work on your device.

Imagine replacing a standard car's engine with some aftermarket performance engine and then taking your car back to the manufacturer and asking them to fix a problem... they'd say they can't help because it's not their engine, right? Same deal here.

Yes, your example with a car and the engine is perfect, only wrong thing is that I thought that you are a community of people working on Open Source project, not a manufacturer of anything on which you are providing "official" support. Sorry, my fault.

Resources are not a problem, I will double flash and RAM. Problem is that "make" accepts to create FW for 16MB flash, that can't run on device, for me this is not normal.

Easy peasy - scream at your SDK support if you are unwilling to edit partition layout. Nobody can beam change from here to your SDK.

That is what we do here. Official OpenWrt is open source.

This is also correct... the project doesn't manufacture hardware, but it does develop firmware to run on lots of commercial devices. The device you have, however, was manufactured by a company that took the open source OpenWrt and made significant modifications to the code and sold it to you. Therefore, they are the only ones that can provide support -- they modified it (we don't know what they did) and they sold it. We can't and don't support commercial forks of OpenWrt.

uhm... seems wrong

I am using only the HW from Huasifei WS1688, I am not using their FW, even I do not know what is inside. I use my own FW, based on OpenWrt, with lot of standard packages, and some my own.

Ok... so, with that in mind, you are the only one who knows what changes were necessary to get OpenWrt to run on that device. We certainly don't know what was required.

From where did you obtain the source code? And what changes did you make to build it for your hardware?