Subject: Re: mv88e6xxx / MV88E6176 + VLAN-aware unusable in 5.15.98 (ok in 5.10.168) (resend)

From: Marek Behún <[email-masked]>
Date: Thu, 16 Mar 2023 16:40:58 +0100

On Wed, 15 Mar 2023 11:23:40 +0200
Vladimir Oltean <[email-masked]> wrote:

> On Tue, Mar 14, 2023 at 10:35:25PM -0400, Etienne Champetier wrote:
> > OpenWrt doesn't support Turris Mox, but here is what is built for Omnia as
> > far as I understand
> > 
> > - Linux 5.15.98: https://github.com/openwrt/openwrt/blob/0aedf916df364771be47ffda8ff3465250ecee77/include/kernel-5.15
> > 
> > - some generic patches (backport-5.15 / pending-5.15 / hack-5.15): https://github.com/openwrt/openwrt/tree/0aedf916df364771be47ffda8ff3465250ecee77/target/linux/generic
> > 
> > - some arch specific patches: https://github.com/openwrt/openwrt/tree/0aedf916df364771be47ffda8ff3465250ecee77/target/linux/mvebu/patches-5.15
> > 
> > (not 100% sure in what order they are applied)
> > 
> > - config is generated by taking config-5.15 in generic, mvebu and
> > mvebu/cortexa9 and somehow merging them
> > 
> > The wifi code (mac80211 / ath10k) uses kernel backports, so it's actually
> > 6.1-rc8 based https://github.com/openwrt/openwrt/blob/0aedf916df364771be47ffda8ff3465250ecee77/package/kernel/mac80211/Makefile  
> 
> Yo, that's quite the patch count.
> 
> Would you mind putting for me all the patches that apply for your Omnia
> build to a git branch that you share here? It's impossible to find the
> needle in the haystack like this.

Or maybe Etienne can try to reproduce the issue with upstream kernel?
Building upstream kernel for Omnia and using it with OpenWRT / TurrisOS
does work, I am doing it all the time. Just take /proc/config.gz, put
it into .config of upstream Linux source, and then in make menuconfig
enable wifi drivers (since OpenWRT uses backports). You will get a
zImage which you can just replace in /boot. The modules you should put
in /lib/modules/KERNELRELEASE (all *.ko files directly in this
directory, without the directory structure created by make
modules_install). Basically

  On omnia:
    zcat /proc/config.gz
  and copy the output to linux/.config
  In linux/
    ARCH=arm CROSS_COMPILE=arm-none-eabi- make menuconfig
  enable wifi drivers in menuconfig and then
    ARCH=arm CROSS_COMPILE=arm-none-eabi- KERNELRELEASE=6.3-rc2 \
      make zImage
  copy arch/arm/boot/zImage to omnia /boot
    ARCH=arm CROSS_COMPILE=arm-none-eabi- KERNELRELEASE=6.3-rc2 \
      make modules
    ARCH=arm CROSS_COMPILE=arm-none-eabi- KERNELRELEASE=6.3-rc2 \
      make modules_install INSTALL_MOD_PATH=MODS
    mkdir MODS_FOR_OPENWRT
    find MODS -name '*.ko' -exec mv {} MODS_FOR_OPENWRT \;
    rm -rf MODS
  and copy the *.ko files from directory MODS_FOR_OPENWRT to omnia,
  directory /lib/modules/6.3-rc2

Marek