Igmpproxy not working on OpenWrt Fork 6.0/21.02 (Turris)

Enable Multi to Unicast on the wireless page. I don't have any more crashes with my IPTV over WiFi

oh, amazing work pinning down the commit causing this issue. hopefully this gets more attention now.

1 Like

I wonder if this fix on kernel 6.1 solves the issue:
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=1b0e8aba451031fa031bfb96711af12c4b902fdf&h=linux-5.15.y

anyone knows when testing kernel 6.1 is going to be enabled on the mvebu arch?

1 Like

Many thanks for the heads up!
I cloned the repo ( not sure if it's yours ) build and flashed an image but the kernel is 5.15.120.
I enabled experimental features on the make menuconfig options but I didn't find any place where to select the experimental kernel.
I'm afraid I am doing something very stupid and wrong!

I was not pulling the correct branch.
Unfortunately kernel 6.1.38 does not solve the igmp issue introduced in 5.15.86.

man I'm so sad with this. I think I am going to ditch this router and replace it with a banana BPI-R3 or BPI-R4.

Thanks to the help of @stkl ( and thanks @slh for pointing me towards him on kernel 6.1 ) I was able to pin down the commit that is causing the issue.

It's commit "ARM: dts: turris-omnia: Add switch port 6 node " added on kernel 5.15.86.

Reverting that commit using a patch provided by @stkl solves the issue. Patch is provided here:

Why that commit causes problems is still unknown.

1 Like

Thanks for sharing man!

1 Like

Dear PedroM4
Thank you very much for having investigated the issue. As of now, the problem still seems to be unresolved in the current turris omnia build (6.5.x).
As I‘ve never done any manual patching on my router, could you give a short „howto“ for reverting the mentioned „target/linux/mvebu/patches-5.15/922-Revert-ARM-dts-turris-omnia-Add-switch-port-6-node.patch“ by user stkl? Does one have to recompile something? I simply want my IPTV working again… nothing else.
Your help would be very appreciated.

You will need to make your own OpenWRT build.

  • on a linux ( ubuntu for instance ) machine, get the OpenWRT source
    git clone https://git.openwrt.org/openwrt/openwrt.git OpenWRT.Omnia
  • change dir to the OpenWRT tree.
    cd OpenWRT.Omnia
  • download and apply latest OpenWRT packages
    scripts/feeds update -a
    scripts/feeds install -a
  • create a patch file named 922-Revert-ARM-dts-turris-omnia-Add-switch-port-6-node.patch on target/linux/mvebu/patches-6.1/ with the following content:
--- a/arch/arm/boot/dts/armada-385-turris-omnia.dts
+++ b/arch/arm/boot/dts/armada-385-turris-omnia.dts
@@ -456,17 +456,7 @@ fixed-link {
                               };
                       };

-                       ports@6 {
-                               reg = <6>;
-                               label = "cpu";
-                               ethernet = <&eth0>;
-                               phy-mode = "rgmii-id";
-
-                               fixed-link {
-                                       speed = <1000>;
-                                       full-duplex;
-                               };
-                       };
+                       /* port 6 is connected to eth0 */
               };
       };
};

  • You are now ready to enter the build system and customize your build. Do:
    make menuconfig
  • select targeet system: Marvel EBU Armada, subtarget Marvel Armada 37x/38x/XP, target profile CZ.NIC Turris Omnia
  • exit, saving configuration
  • compile the build
    make
  • if you want it to go faster do make -jx where x is the number of cores available to linux.
  • when it ends you will have your sysupgrade image in bin/targets/mvebu/cortexa9/
  • with this build you will be able to use the packages available on OpenWRT like luci, etc. you can of pre-select them on the build menu and they will be included in the image and so you don't need to download them.

hope this helps

1 Like

Thank you so much for these detailed instructions! - I followed every step as you have outlined. Now I am at the point where I want to use the newly built "custom image". How am I supposed to flash it onto the Turris Omnia? "sysupgrade" is not available in the running copy of Turris OS / OpenWRT. On the OpenWRT wiki ( [OpenWrt Wiki] Upgrading OpenWrt firmware using CLI I read something about updating the firmware via CLI using the "mtd" command. Is that correct?

oh! sorry, I thought you were already running OpenWRT.

I did the procedure to replace Turris OS many years ago. Can't remember out of my head how to do it but I would say the documented ways to do it should still work:

Thanks again for the good explanations PedroM4!
In the meantime I managed to flash my Turris Omnia to stock OpenWRT using the mentioned guide. I directly used the self-compiled image (Snapshot Edition) with the supposedly applied patch. But, when having done a check using "ip mroute" the result is still "Iif: unresolved State: unresolved"...
I then quickly realized that my build was on kernel 5.15.145... but you mentioned to place the patchfile in .../patches**-6.1**/.... which subsequently led me to recompile the build, this time with the activation of "Use the testing kernel version" in "make menuconfig".
but then it became clear that something was wrong with the patchfile, probably because the line number for the file to be patched called "armada-385-turris-omnia.dts" might no longer be correct. the line to be patched now seems to start at no. 492. I then tried to change the patch file accordingly (replacing the number 456 with 492), but to no avail.
the following is the exact error text when compiling (using V=s)

Applying /home/omnia/OpenWRT.Omnia/target/linux/mvebu/patches-6.1/922-Revert-ARM-dts-turris-omnia-Add-switch-port-6-node.patch using plaintext:
patching file arch/arm/boot/dts/armada-385-turris-omnia.dts
patch unexpectedly ends in middle of line
Hunk #1 FAILED at 492.
1 out of 1 hunk FAILED -- saving rejects to file arch/arm/boot/dts/armada-385-turris-omnia.dts.rej
Patch failed!  Please fix /home/omnia/OpenWRT.Omnia/target/linux/mvebu/patches-6.1/922-Revert-ARM-dts-turris-omnia-Add-switch-port-6-node.patch!
make[4]: *** [Makefile:29: /home/omnia/OpenWRT.Omnia/build_dir/target-arm_cortex-a9+vfpv3-d16_musl_eabi/linux-mvebu_cortexa9/linux-6.1.69/.prepared_d99d0bb46a150bcdc11b2aa54675952d] Error 1
make[4]: Leaving directory '/home/omnia/OpenWRT.Omnia/target/linux/mvebu'
make[3]: *** [Makefile:11: compile] Error 2
make[3]: Leaving directory '/home/omnia/OpenWRT.Omnia/target/linux'
time: target/linux/compile#5.81#25.82#25.29
    ERROR: target/linux failed to build.
make[2]: *** [target/Makefile:30: target/linux/compile] Error 1
make[2]: Leaving directory '/home/omnia/OpenWRT.Omnia'
make[1]: *** [target/Makefile:23: /home/omnia/OpenWRT.Omnia/staging_dir/target-arm_cortex-a9+vfpv3-d16_musl_eabi/stamp/.target_compile] Error 2
make[1]: Leaving directory '/home/omnia/OpenWRT.Omnia'
make: *** [/home/omnia/OpenWRT.Omnia/include/toplevel.mk:232: world] Error 2
omnia@ubuntu:~/OpenWRT.Omnia$

could you help me again to create the correct patch file?

Might want to create a new thread in the developers sub forum about this.

I finally managed to create the proper patchfile :grinning: Had to compare existing other patchfiles in order to figure out the proper formatting etc.
Here's what my patchfile looks now. "make" produced a binary file which finally fixes the "igmpproxy" issue on my Turris Omnia. Running on kernel 6.1.69, by the way.
Many thanks again PedroM4, for explaining me how to make my own OpenWRT build!!

--- a/arch/arm/boot/dts/armada-385-turris-omnia.dts
+++ b/arch/arm/boot/dts/armada-385-turris-omnia.dts
@@ -489,17 +489,6 @@
 				};
 			};
 
-			ports@6 {
-				reg = <6>;
-				label = "cpu";
-				ethernet = <&eth0>;
-				phy-mode = "rgmii-id";
-
-				fixed-link {
-					speed = <1000>;
-					full-duplex;
-				};
-			};
 		};
 	};
 };

glad you solved it!
Strange thing regarding the patch, as I am using it with no modifications and it compiles just fine!!! I usually make a new build each month or so, last one was after the new year and I had no problems compiling it with the unmodified patch.

Anyway, I don't think there is much traction for this router unfortunately. as this is a quite serious issue and it seems no one cares.
I'm running several BPI-R3 on the office without any issues and they are very very good. BPI-R4 is just around the corner with 10gbe lan. So I'm just wating for it to be released to retire my omnia.