MikroTik rb450gx4 support

Your device is not officially supported yet...

Here is the not ready for upstreaming source code that adds support for this device:

1 Like

I am trying to compile with "git clone -b RB450Gx4-rebase-sdhci --single-branch https://github.com/robimarko/openwrt.git"

I get next error:

CMakeFiles/rpcd-mod-luci.dir/build.make:62: recipe for target 'CMakeFiles/rpcd-mod-luci.dir/luci.c.o' failed
make[6]: *** [CMakeFiles/rpcd-mod-luci.dir/luci.c.o] Error 1
make[6]: Leaving directory '/home/dani/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/rpcd-mod-luci-20191114'
CMakeFiles/Makefile2:72: recipe for target 'CMakeFiles/rpcd-mod-luci.dir/all' failed
make[5]: *** [CMakeFiles/rpcd-mod-luci.dir/all] Error 2
make[5]: Leaving directory '/home/dani/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/rpcd-mod-luci-20191114'
Makefile:129: recipe for target 'all' failed
make[4]: *** [all] Error 2
make[4]: Leaving directory '/home/dani/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/rpcd-mod-luci-20191114'
Makefile:55: recipe for target '/home/dani/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/rpcd-mod-luci-20191114/.built' failed
make[3]: *** [/home/dani/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/rpcd-mod-luci-20191114/.built] Error 2
make[3]: Leaving directory '/home/dani/openwrt/feeds/luci/libs/rpcd-mod-luci'
time: package/feeds/luci/rpcd-mod-luci/compile#0.18#0.03#0.22
package/Makefile:107: recipe for target 'package/feeds/luci/rpcd-mod-luci/compile' failed
make[2]: *** [package/feeds/luci/rpcd-mod-luci/compile] Error 2
make[2]: Leaving directory '/home/dani/openwrt'
package/Makefile:103: recipe for target '/home/dani/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/stamp/.package_compile' failed
make[1]: *** [/home/dani/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/stamp/.package_compile] Error 2
make[1]: Leaving directory '/home/dani/openwrt'
/home/dani/openwrt/include/toplevel.mk:216: recipe for target 'world' failed

Firstly, as i see the @robimarko has a more up to date branch for RB450G, you should use
git clone -b RB450Gx4-latest https://github.com/robimarko/openwrt.git.

Secondly, can you provide the full steps that you have done?

And lastly, please give us the more verbose output with make V=s -j1.

Step 1:
git clone -b RB450Gx4-rebase-sdhci --single-branch https://github.com/robimarko/openwrt.git
cd openwrt
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig

Step 2:
I have choosed next packages:
bash openssh-sftp-server php7 php7-cgi php7-cli php7-mod-curl php7-mod-json php7-mod-openssl php7-mod-session php7-mod-sqlite3 sqlite3-cli nmap socat ttyd uuid openvpn-openssl openvpn-easy-rsa luci-app-openvpn kmod-tun uhttpd

Step 3:
make

**Result of make -j1 V=s

WARNING: Makefile 'package/feeds/packages/frr/Makefile' has a dependency on 'more', which does not exist
WARNING: Makefile 'package/feeds/packages/smbd/Makefile' has a dependency on 'kmod-crypto-arc4', which does not exist
WARNING: Makefile 'package/feeds/packages/stubby/Makefile' has a dependency on 'ca-certs', which does not exist
tmp/.config-package.in:139099:warning: ignoring unsupported character '@'
tmp/.config-package.in:137438:error: recursive dependency detected!
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
tmp/.config-package.in:137438:  symbol PACKAGE_vpn-policy-routing depends on PACKAGE_vpnbypass
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
tmp/.config-package.in:137458:  symbol PACKAGE_vpnbypass depends on PACKAGE_vpn-policy-routing
tmp/.config-package.in:139099:warning: ignoring unsupported character '@'
tmp/.config-package.in:137438:error: recursive dependency detected!
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
tmp/.config-package.in:137438:  symbol PACKAGE_vpn-policy-routing depends on PACKAGE_vpnbypass
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
tmp/.config-package.in:137458:  symbol PACKAGE_vpnbypass depends on PACKAGE_vpn-policy-routing
arm-openwrt-linux-muslgnueabi-ar: `u' modifier ignored since `D' is the default (see `U')
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_ASM_COMPILER
    CMAKE_ASM_COMPILER_ARG1
    CMAKE_CXX_COMPILER
    CMAKE_CXX_COMPILER_ARG1
    CMAKE_CXX_FLAGS_RELEASE
    DL_LIBRARY


autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: /home/dani/openwrt/staging_dir/host/bin/aclocal -I /home/dani/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/host/share/aclocal -I /home/dani/openwrt/staging_dir/hostpkg/share/aclocal -I /home/dani/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/usr/share/aclocal -I m4 -I . --force -I m4
autoreconf: configure.ac: tracing
autoreconf: running: /home/dani/openwrt/staging_dir/host/bin/libtoolize --install --force
autoreconf: running: /home/dani/openwrt/staging_dir/host/bin/autoconf --include=/home/dani/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/host/share/aclocal --include=/home/dani/openwrt/staging_dir/hostpkg/share/aclocal --include=/home/dani/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/usr/share/aclocal --include=m4 --include=. --prepend-include=/home/dani/openwrt/staging_dir/host/share/aclocal --force
autoreconf: running: /home/dani/openwrt/staging_dir/host/bin/autoheader --include=/home/dani/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/host/share/aclocal --include=/home/dani/openwrt/staging_dir/hostpkg/share/aclocal --include=/home/dani/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/usr/share/aclocal --include=m4 --include=. --prepend-include=/home/dani/openwrt/staging_dir/host/share/aclocal --force
autoreconf: running: /home/dani/openwrt/staging_dir/host/bin/automake --add-missing --force-missing
autoreconf: Leaving directory `.'
configure: WARNING: you should use --build, --host, --target
configure: WARNING: unrecognized options: --disable-nls
configure: WARNING: using cross tools not prefixed with host triplet
configure: WARNING: unrecognized options: --disable-nls
/home/dani/openwrt/staging_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-7.4.0_musl_eabi/lib/gcc/arm-openwrt-linux-muslgnueabi/7.4.0/../../../../arm-openwrt-linux-muslgnueabi/bin/ar: `u' modifier ignored since `D' is the default (see `U')
/home/dani/openwrt/staging_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-7.4.0_musl_eabi/lib/gcc/arm-openwrt-linux-muslgnueabi/7.4.0/../../../../arm-openwrt-linux-muslgnueabi/bin/ar: `u' modifier ignored since `D' is the default (see `U')
/home/dani/openwrt/staging_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-7.4.0_musl_eabi/lib/gcc/arm-openwrt-linux-muslgnueabi/7.4.0/../../../../arm-openwrt-linux-muslgnueabi/bin/ar: `u' modifier ignored since `D' is the default (see `U')
xtables.c:328:14: warning: 'get_modprobe' defined but not used [-Wunused-function]
 static char *get_modprobe(void)
              ^~~~~~~~~~~~
/home/dani/openwrt/staging_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-7.4.0_musl_eabi/lib/gcc/arm-openwrt-linux-muslgnueabi/7.4.0/../../../../arm-openwrt-linux-muslgnueabi/bin/ar: `u' modifier ignored since `D' is the default (see `U')
libxt_conntrack.c:1177:12: warning: 'state_xlate' defined but not used [-Wunused-function]
 static int state_xlate(struct xt_xlate *xl,
            ^~~~~~~~~~~
libxt_conntrack.c:1143:13: warning: 'state_save' defined but not used [-Wunused-function]
 static void state_save(const void *ip, const struct xt_entry_match *match)
             ^~~~~~~~~~
libxt_conntrack.c:1133:1: warning: 'state_print' defined but not used [-Wunused-function]
 state_print(const void *ip,
 ^~~~~~~~~~~
libxt_conntrack.c:1095:13: warning: 'state_ct23_parse' defined but not used [-Wunused-function]
 static void state_ct23_parse(struct xt_option_call *cb)
             ^~~~~~~~~~~~~~~~
libxt_conntrack.c:1084:13: warning: 'state_ct1_parse' defined but not used [-Wunused-function]
 static void state_ct1_parse(struct xt_option_call *cb)
             ^~~~~~~~~~~~~~~
libxt_conntrack.c:1074:13: warning: 'state_parse' defined but not used [-Wunused-function]
 static void state_parse(struct xt_option_call *cb)
             ^~~~~~~~~~~
libxt_conntrack.c:1022:37: warning: 'state_opts' defined but not used [-Wunused-const-variable=]
 static const struct xt_option_entry state_opts[] = {
                                     ^~~~~~~~~~
libxt_conntrack.c:1014:1: warning: 'state_help' defined but not used [-Wunused-function]
 state_help(void)
 ^~~~~~~~~~
libxt_conntrack.c:1004:1: warning: 'conntrack1_mt6_save' defined but not used [-Wunused-function]
 conntrack1_mt6_save(const void *ip, const struct xt_entry_match *match)
 ^~~~~~~~~~~~~~~~~~~
libxt_conntrack.c:994:1: warning: 'conntrack1_mt4_save' defined but not used [-Wunused-function]
 conntrack1_mt4_save(const void *ip, const struct xt_entry_match *match)
 ^~~~~~~~~~~~~~~~~~~
libxt_conntrack.c:987:13: warning: 'conntrack2_mt6_save' defined but not used [-Wunused-function]
 static void conntrack2_mt6_save(const void *ip,
             ^~~~~~~~~~~~~~~~~~~
libxt_conntrack.c:981:13: warning: 'conntrack2_mt_save' defined but not used [-Wunused-function]
 static void conntrack2_mt_save(const void *ip,
             ^~~~~~~~~~~~~~~~~~
libxt_conntrack.c:964:13: warning: 'conntrack_save' defined but not used [-Wunused-function]
 static void conntrack_save(const void *ip, const struct xt_entry_match *match)
             ^~~~~~~~~~~~~~
libxt_conntrack.c:944:1: warning: 'conntrack2_mt6_print' defined but not used [-Wunused-function]
 conntrack2_mt6_print(const void *ip, const struct xt_entry_match *match,
 ^~~~~~~~~~~~~~~~~~~~
libxt_conntrack.c:937:1: warning: 'conntrack2_mt_print' defined but not used [-Wunused-function]
 conntrack2_mt_print(const void *ip, const struct xt_entry_match *match,
 ^~~~~~~~~~~~~~~~~~~
libxt_conntrack.c:926:1: warning: 'conntrack1_mt6_print' defined but not used [-Wunused-function]
 conntrack1_mt6_print(const void *ip, const struct xt_entry_match *match,
 ^~~~~~~~~~~~~~~~~~~~
libxt_conntrack.c:915:1: warning: 'conntrack1_mt4_print' defined but not used [-Wunused-function]
 conntrack1_mt4_print(const void *ip, const struct xt_entry_match *match,
 ^~~~~~~~~~~~~~~~~~~~
libxt_conntrack.c:908:13: warning: 'conntrack_print' defined but not used [-Wunused-function]
 static void conntrack_print(const void *ip, const struct xt_entry_match *match,
             ^~~~~~~~~~~~~~~
libxt_conntrack.c:538:13: warning: 'conntrack2_mt_parse' defined but not used [-Wunused-function]
 static void conntrack2_mt_parse(struct xt_option_call *cb)
             ^~~~~~~~~~~~~~~~~~~
libxt_conntrack.c:515:13: warning: 'conntrack1_mt_parse' defined but not used [-Wunused-function]
 static void conntrack1_mt_parse(struct xt_option_call *cb)
             ^~~~~~~~~~~~~~~~~~~
libxt_conntrack.c:337:13: warning: 'conntrack_parse' defined but not used [-Wunused-function]
 static void conntrack_parse(struct xt_option_call *cb)
             ^~~~~~~~~~~~~~~
libxt_conntrack.c:119:37: warning: 'conntrack2_mt_opts' defined but not used [-Wunused-const-variable=]
 static const struct xt_option_entry conntrack2_mt_opts[] = {
                                     ^~~~~~~~~~~~~~~~~~
libxt_conntrack.c:96:37: warning: 'conntrack_mt_opts_v0' defined but not used [-Wunused-const-variable=]
 static const struct xt_option_entry conntrack_mt_opts_v0[] = {
                                     ^~~~~~~~~~~~~~~~~~~~
libxt_multiport.c:508:12: warning: 'multiport_xlate6' defined but not used [-Wunused-function]
 static int multiport_xlate6(struct xt_xlate *xl,
            ^~~~~~~~~~~~~~~~
libxt_multiport.c:499:12: warning: 'multiport_xlate' defined but not used [-Wunused-function]
 static int multiport_xlate(struct xt_xlate *xl,
            ^~~~~~~~~~~~~~~
libxt_multiport.c:414:13: warning: 'multiport_save6' defined but not used [-Wunused-function]
 static void multiport_save6(const void *ip_void,
             ^~~~~~~~~~~~~~~
libxt_multiport.c:407:13: warning: 'multiport_save' defined but not used [-Wunused-function]
 static void multiport_save(const void *ip_void,
             ^~~~~~~~~~~~~~
libxt_multiport.c:319:13: warning: 'multiport_print6' defined but not used [-Wunused-function]
 static void multiport_print6(const void *ip_void,
             ^~~~~~~~~~~~~~~~
libxt_multiport.c:312:13: warning: 'multiport_print' defined but not used [-Wunused-function]
 static void multiport_print(const void *ip_void,
             ^~~~~~~~~~~~~~~
libxt_multiport.c:201:13: warning: 'multiport_parse6' defined but not used [-Wunused-function]
 static void multiport_parse6(struct xt_option_call *cb)
             ^~~~~~~~~~~~~~~~
libxt_multiport.c:194:13: warning: 'multiport_parse' defined but not used [-Wunused-function]
 static void multiport_parse(struct xt_option_call *cb)
             ^~~~~~~~~~~~~~~
libxt_multiport.c:22:13: warning: 'multiport_help' defined but not used [-Wunused-function]
 static void multiport_help(void)
             ^~~~~~~~~~~~~~
-e      + ./libxt_addrtype.man
-e      + ./libip6t_ah.man
-e      + ./libipt_ah.man
-e      + ./libxt_bpf.man
-e      + ./libxt_cgroup.man
-e      + ./libxt_cluster.man
-e      + ./libxt_connbytes.man
-e      + ./libxt_connlimit.man
-e      + ./libxt_connmark.man
-e      + ./libxt_cpu.man
-e      + ./libxt_dccp.man
-e      + ./libxt_devgroup.man
-e      + ./libxt_dscp.man
-e      + ./libip6t_dst.man
-e      + ./libxt_ecn.man
-e      + ./libxt_esp.man
-e      + ./libip6t_eui64.man
-e      + ./libip6t_frag.man
-e      + ./libxt_hashlimit.man
-e      + ./libip6t_hbh.man
-e      + ./libxt_helper.man
-e      + ./libip6t_hl.man
-e      + ./libxt_iprange.man
-e      + ./libip6t_ipv6header.man
-e      + ./libxt_ipvs.man
-e      + ./libxt_length.man
-e      + ./libip6t_mh.man
-e      + ./libxt_nfacct.man
-e      + ./libxt_osf.man
-e      + ./libxt_owner.man
-e      + ./libxt_physdev.man
-e      + ./libxt_pkttype.man
-e      + ./libxt_policy.man
-e      + ./libxt_quota.man
-e      + ./libxt_rateest.man
-e      + ./libipt_realm.man
-e      + ./libxt_recent.man
-e      + ./libxt_rpfilter.man
-e      + ./libip6t_rt.man
-e      + ./libxt_sctp.man
-e      + ./libxt_socket.man
-e      + ./libxt_state.man
-e      + ./libxt_statistic.man
-e      + ./libxt_string.man
-e      + ./libxt_tcpmss.man
-e      + ./libxt_tos.man
-e      + ./libipt_ttl.man
-e      + ./libxt_u32.man
-e      + ./libxt_AUDIT.man
-e      + ./libxt_CHECKSUM.man
-e      + ./libxt_CLASSIFY.man
-e      + ./libipt_CLUSTERIP.man
-e      + ./libxt_CONNMARK.man
-e      + ./libxt_CONNSECMARK.man
-e      + ./libxt_CT.man
-e      + ./libip6t_DNPT.man
-e      + ./libxt_DSCP.man
-e      + ./libipt_ECN.man
-e      + ./libip6t_HL.man
-e      + ./libxt_HMARK.man
-e      + ./libxt_IDLETIMER.man
-e      + ./libxt_LED.man
-e      + ./libxt_NETMAP.man
-e      + ./libxt_NFLOG.man
-e      + ./libxt_NFQUEUE.man
-e      + ./libxt_NOTRACK.man
-e      + ./libxt_RATEEST.man
-e      + ./libxt_SECMARK.man
-e      + ./libip6t_SNPT.man
-e      + ./libxt_SYNPROXY.man
-e      + ./libxt_TCPOPTSTRIP.man
-e      + ./libxt_TEE.man
-e      + ./libxt_TOS.man
-e      + ./libxt_TPROXY.man
-e      + ./libxt_TRACE.man
-e      + ./libipt_TTL.man
-e      + ./libipt_ULOG.man
libxt_CT.c:344:13: warning: 'notrack_ct2_tg_init' defined but not used [-Wunused-function]
 static void notrack_ct2_tg_init(struct xt_entry_target *target)
             ^~~~~~~~~~~~~~~~~~~
libxt_CT.c:337:13: warning: 'notrack_ct1_tg_init' defined but not used [-Wunused-function]
 static void notrack_ct1_tg_init(struct xt_entry_target *target)
             ^~~~~~~~~~~~~~~~~~~
libxt_CT.c:330:13: warning: 'notrack_ct0_tg_init' defined but not used [-Wunused-function]
 static void notrack_ct0_tg_init(struct xt_entry_target *target)
             ^~~~~~~~~~~~~~~~~~~
libxt_CT.c:278:13: warning: 'ct_save' defined but not used [-Wunused-function]
 static void ct_save(const void *ip, const struct xt_entry_target *target)
             ^~~~~~~
libxt_CT.c:231:13: warning: 'ct_print' defined but not used [-Wunused-function]
 static void ct_print(const void *ip, const struct xt_entry_target *target, int numeric)
             ^~~~~~~~
libxt_CT.c:179:13: warning: 'ct_parse' defined but not used [-Wunused-function]
 static void ct_parse(struct xt_option_call *cb)
             ^~~~~~~~
libxt_CT.c:52:37: warning: 'ct_opts' defined but not used [-Wunused-const-variable=]
 static const struct xt_option_entry ct_opts[] = {
                                     ^~~~~~~
libxt_CT.c:11:13: warning: 'ct_help' defined but not used [-Wunused-function]
 static void ct_help(void)
             ^~~~~~~
libxt_bpf.c: In function 'bpf_obj_get':
libxt_bpf.c:70:18: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
  attr.pathname = (__u64) filepath;
                  ^
In file included from ../include/linux/netfilter/xt_cgroup.h:6:0,
                 from libxt_cgroup.c:3:
/home/dani/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/linux-ipq40xx/linux-4.19.62/user_headers/include/linux/limits.h:7:0: warning: "NGROUPS_MAX" redefined
 #define NGROUPS_MAX    65536 /* supplemental group IDs are available */

In file included from ../include/xtables.h:11:0,
                 from libxt_cgroup.c:2:
/home/dani/openwrt/staging_dir/toolchain-arm_cortex-a7+neon-vfpv4_gcc-7.4.0_musl_eabi/include/limits.h:46:0: note: this is the location of the previous definition
 #define NGROUPS_MAX 32

libxt_hashlimit.c: In function 'hashlimit_mt_check':
libxt_hashlimit.c:775:38: warning: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'uint64_t {aka long long unsigned int}' [-Wformat=]
      "burst cannot be smaller than %lub", cost_to_bytes(info->cfg.avg));
                                    ~~^    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                    %llu
libxt_conntrack.c:1177:12: warning: 'state_xlate' defined but not used [-Wunused-function]
 static int state_xlate(struct xt_xlate *xl,
            ^~~~~~~~~~~
libxt_conntrack.c:1143:13: warning: 'state_save' defined but not used [-Wunused-function]
 static void state_save(const void *ip, const struct xt_entry_match *match)
             ^~~~~~~~~~
libxt_conntrack.c:1133:1: warning: 'state_print' defined but not used [-Wunused-function]
 state_print(const void *ip,
 ^~~~~~~~~~~
libxt_conntrack.c:1095:13: warning: 'state_ct23_parse' defined but not used [-Wunused-function]
 static void state_ct23_parse(struct xt_option_call *cb)
             ^~~~~~~~~~~~~~~~
libxt_conntrack.c:1084:13: warning: 'state_ct1_parse' defined but not used [-Wunused-function]
 static void state_ct1_parse(struct xt_option_call *cb)
             ^~~~~~~~~~~~~~~
libxt_conntrack.c:1074:13: warning: 'state_parse' defined but not used [-Wunused-function]
 static void state_parse(struct xt_option_call *cb)
             ^~~~~~~~~~~
libxt_conntrack.c:1022:37: warning: 'state_opts' defined but not used [-Wunused-const-variable=]
 static const struct xt_option_entry state_opts[] = {
                                     ^~~~~~~~~~
libxt_conntrack.c:1014:1: warning: 'state_help' defined but not used [-Wunused-function]
 state_help(void)
 ^~~~~~~~~~
libxt_conntrack.c:1004:1: warning: 'conntrack1_mt6_save' defined but not used [-Wunused-function]
 conntrack1_mt6_save(const void *ip, const struct xt_entry_match *match)
 ^~~~~~~~~~~~~~~~~~~
libxt_conntrack.c:994:1: warning: 'conntrack1_mt4_save' defined but not used [-Wunused-function]
 conntrack1_mt4_save(const void *ip, const struct xt_entry_match *match)
 ^~~~~~~~~~~~~~~~~~~
libxt_conntrack.c:987:13: warning: 'conntrack2_mt6_save' defined but not used [-Wunused-function]
 static void conntrack2_mt6_save(const void *ip,
             ^~~~~~~~~~~~~~~~~~~
libxt_conntrack.c:981:13: warning: 'conntrack2_mt_save' defined but not used [-Wunused-function]
 static void conntrack2_mt_save(const void *ip,
             ^~~~~~~~~~~~~~~~~~
libxt_conntrack.c:964:13: warning: 'conntrack_save' defined but not used [-Wunused-function]
 static void conntrack_save(const void *ip, const struct xt_entry_match *match)
             ^~~~~~~~~~~~~~
libxt_conntrack.c:944:1: warning: 'conntrack2_mt6_print' defined but not used [-Wunused-function]
 conntrack2_mt6_print(const void *ip, const struct xt_entry_match *match,
 ^~~~~~~~~~~~~~~~~~~~
libxt_conntrack.c:937:1: warning: 'conntrack2_mt_print' defined but not used [-Wunused-function]
 conntrack2_mt_print(const void *ip, const struct xt_entry_match *match,
 ^~~~~~~~~~~~~~~~~~~
libxt_conntrack.c:926:1: warning: 'conntrack1_mt6_print' defined but not used [-Wunused-function]
 conntrack1_mt6_print(const void *ip, const struct xt_entry_match *match,
 ^~~~~~~~~~~~~~~~~~~~
libxt_conntrack.c:915:1: warning: 'conntrack1_mt4_print' defined but not used [-Wunused-function]
 conntrack1_mt4_print(const void *ip, const struct xt_entry_match *match,
 ^~~~~~~~~~~~~~~~~~~~
libxt_conntrack.c:908:13: warning: 'conntrack_print' defined but not used [-Wunused-function]
 static void conntrack_print(const void *ip, const struct xt_entry_match *match,
             ^~~~~~~~~~~~~~~
libxt_conntrack.c:538:13: warning: 'conntrack2_mt_parse' defined but not used [-Wunused-function]
 static void conntrack2_mt_parse(struct xt_option_call *cb)
             ^~~~~~~~~~~~~~~~~~~
libxt_conntrack.c:515:13: warning: 'conntrack1_mt_parse' defined but not used [-Wunused-function]
 static void conntrack1_mt_parse(struct xt_option_call *cb)
             ^~~~~~~~~~~~~~~~~~~
libxt_conntrack.c:337:13: warning: 'conntrack_parse' defined but not used [-Wunused-function]
 static void conntrack_parse(struct xt_option_call *cb)
             ^~~~~~~~~~~~~~~
libxt_conntrack.c:119:37: warning: 'conntrack2_mt_opts' defined but not used [-Wunused-const-variable=]
 static const struct xt_option_entry conntrack2_mt_opts[] = {
                                     ^~~~~~~~~~~~~~~~~~
libxt_conntrack.c:96:37: warning: 'conntrack_mt_opts_v0' defined but not used [-Wunused-const-variable=]
 static const struct xt_option_entry conntrack_mt_opts_v0[] = {
                                     ^~~~~~~~~~~~~~~~~~~~
In file included from xtables-legacy-multi.c:5:0:
xshared.h:149:50: warning: 'struct timeval' declared inside parameter list will not be visible outside of this definition or declaration
 extern int xtables_lock_or_exit(int wait, struct timeval *tv);
                                                  ^~~~~~~
xshared.h:152:57: warning: 'struct timeval' declared inside parameter list will not be visible outside of this definition or declaration
 void parse_wait_interval(int argc, char *argv[], struct timeval *wait_interval);
                                                         ^~~~~~~
xshared.c: In function 'parse_wait_time':
xshared.c:377:13: warning: inlining failed in call to 'xs_has_arg': call is unlikely and code size would grow [-Winline]
 inline bool xs_has_arg(int argc, char *argv[])
             ^~~~~~~~~~
xshared.c:328:13: note: called from here
  } else if (xs_has_arg(argc, argv))
             ^~~~~~~~~~~~~~~~~~~~~~
xshared.c: In function 'parse_wait_interval':
xshared.c:377:13: warning: inlining failed in call to 'xs_has_arg': call is unlikely and code size would grow [-Winline]
 inline bool xs_has_arg(int argc, char *argv[])
             ^~~~~~~~~~
xshared.c:344:11: note: called from here
  else if (xs_has_arg(argc, argv))
           ^~~~~~~~~~~~~~~~~~~~~~
OpenWrt-libtool: install: warning: relinking `libiptc.la'
OpenWrt-libtool: install: warning: remember to run `libtool --finish /usr/lib'
OpenWrt-libtool: install: warning: remember to run `libtool --finish /usr/lib'
OpenWrt-libtool: install: warning: `../libiptc/libip4tc.la' has not been installed in `/usr/lib'
OpenWrt-libtool: install: warning: `../libiptc/libip6tc.la' has not been installed in `/usr/lib'
OpenWrt-libtool: install: warning: `../libxtables/libxtables.la' has not been installed in `/usr/lib'
CMake Warning (dev) at programs/ssl/CMakeLists.txt:37 (target_sources):
  Policy CMP0076 is not set: target_sources() command converts relative paths
  to absolute.  Run "cmake --help-policy CMP0076" for policy details.  Use
  the cmake_policy command to set the policy and suppress this warning.

  An interface source of target "ssl_client2" has a relative path.
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at programs/ssl/CMakeLists.txt:44 (target_sources):
  Policy CMP0076 is not set: target_sources() command converts relative paths
  to absolute.  Run "cmake --help-policy CMP0076" for policy details.  Use
  the cmake_policy command to set the policy and suppress this warning.

  An interface source of target "ssl_server2" has a relative path.
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at programs/test/CMakeLists.txt:31 (target_sources):
  Policy CMP0076 is not set: target_sources() command converts relative paths
  to absolute.  Run "cmake --help-policy CMP0076" for policy details.  Use
  the cmake_policy command to set the policy and suppress this warning.

  An interface source of target "query_compile_time_config" has a relative
  path.
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_ASM_COMPILER
    CMAKE_ASM_COMPILER_ARG1
    CMAKE_CXX_COMPILER
    CMAKE_CXX_COMPILER_ARG1
    CMAKE_CXX_FLAGS_RELEASE
    CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
    CMAKE_MODULE_LINKER_FLAGS
    DL_LIBRARY


CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_ASM_COMPILER
    CMAKE_ASM_COMPILER_ARG1
    CMAKE_CXX_COMPILER
    CMAKE_CXX_COMPILER_ARG1
    CMAKE_CXX_FLAGS_RELEASE
    CMAKE_EXE_LINKER_FLAGS
    CMAKE_MODULE_LINKER_FLAGS
    DL_LIBRARY


iwinfo_cli.c: In function 'format_rate':
iwinfo_cli.c:138:36: warning: ' MBit/s' directive output may be truncated writing 7 bytes into a region of size between 5 and 11 [-Wformat-truncation=]
   snprintf(buf, sizeof(buf), "%d.%d MBit/s",
                                    ^~~~~~~
iwinfo_cli.c:138:3: note: 'snprintf' output between 11 and 17 bytes into a destination of size 14
   snprintf(buf, sizeof(buf), "%d.%d MBit/s",
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    rate / 1000, (rate % 1000) / 100);
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/dani/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/rpcd-mod-luci-20191114/luci.c: In function 'rpc_luci_get_iwinfo':
/home/dani/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/rpcd-mod-luci-20191114/luci.c:924:31: error: 'IWINFO_KMGMT_SAE' undeclared (first use in this function); did you mean 'IWINFO_KMGMT_NAMES'?
      if (crypto.auth_suites & IWINFO_KMGMT_SAE)
                               ^~~~~~~~~~~~~~~~
                               IWINFO_KMGMT_NAMES
/home/dani/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/rpcd-mod-luci-20191114/luci.c:924:31: note: each undeclared identifier is reported only once for each function it appears in
/home/dani/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/rpcd-mod-luci-20191114/luci.c:927:31: error: 'IWINFO_KMGMT_OWE' undeclared (first use in this function); did you mean 'IWINFO_KMGMT_SAE'?
      if (crypto.auth_suites & IWINFO_KMGMT_OWE)
                               ^~~~~~~~~~~~~~~~
                               IWINFO_KMGMT_SAE
make[6]: *** [CMakeFiles/rpcd-mod-luci.dir/luci.c.o] Error 1
make[5]: *** [CMakeFiles/rpcd-mod-luci.dir/all] Error 2
make[4]: *** [all] Error 2
make[3]: *** [/home/dani/openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/rpcd-mod-luci-20191114/.built] Error 2
make[2]: *** [package/feeds/luci/rpcd-mod-luci/compile] Error 2
make[1]: *** [/home/dani/openwrt/staging_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/stamp/.package_compile] Error 2
make: *** [world] Error 2

Please use the "Preformatted text </>" button for logs, scripts, configs and general console output.
grafik

Please edit your posting accordingly.
Thanks!

Thanks, I have edited it.

1 Like

Your issue is that packages that are defined localy as iwinfo are too old for those that are pulled from git.

Correct me if I'm wrong, but he should be able to pull appropriate snapshots of packages from the time of your latest branch.

Yes, if he find the commit hash from around that time and sets that in feeds

I'm doing a test build at the moment, so I'll post the hashes if/once it completes without errors.

Okay, so anyone looking to build @robimarko's RB450Gx4-rebase-sdhci branch should use the following feed snapshots:

src-git packages https://git.openwrt.org/feed/packages.git^c967c23124e4073a2615cbc5b37eef6a8c47a69	
src-git luci https://git.openwrt.org/project/luci.git^acc2c8d27781ce24e9d91353bfb211ff960e166c
src-git routing https://git.openwrt.org/feed/routing.git^c687bd3055d08c6914f53f2042d1aed316dbaae51
src-git telephony https://git.openwrt.org/feed/telephony.git^60266dc66579928df8e30baea5ccc4e8c6558d69

Just edit feeds.conf.default before updating/installing feeds and you should be able to get a successful build.

3 Likes

Guys, that branch is a dead one and there is no RB450Gx4.
Use RB450Gx4-rebase-sdhci branch, thats the last one and has full SD card support

It works, thank you!

Is there any progress on when rb450Gx4 will be officially supported?

Thanks

Hopefully soon, I should have some time in February to respin the whole patch series.
I got the SD card support stuff along with LDO driver for it merged in upstream Linux, so its awaiting merge in another of my PR-s in OpenWrt.

Hi, I have recently received a few new RB450Gx4 boards and installed OpenWRT via sysupgrade (after doing ubidetach and ubiformat).
Unfortunately I am not able to boot some of them from NAND (others are working fine).
An error like this occurs:

OpenWrt kernel loader for Qualcomm IPQ-4XXX/IPQ-806X
Copyright (C) 2019  Sergey Sergeev <adron@mstnt.com>

Extracting LZMA kernel...LzmaDecode error 1 at 84802191, osize:8504384 ip:0 op:0
00 0f 06 bc 8e b0 02 73 92 d1 62 7f 6e 73 d1 33 
failed, data error!

After further investigation I found that the boards are equipped with different NAND chips (same size like on working boards, but different erase size, page size and OOB size).

On the boards not booting from NAND i have found a Winbond W29N04GV91AA chip:

nand: device found, Manufacturer ID: 0xef, Chip ID: 0xdc
nand: Winbond W29N04GV
nand: 512 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64

Partitions reported via /proc/mtd are:

dev:    size   erasesize  name
mtd0: 01000000 00020000 "kernel"
mtd1: 1f000000 00020000 "ubi"
mtd2: 00023000 00001000 "Qualcomm-boot1"
mtd3: 0005d000 00001000 "Qualcomm-boot2"
mtd4: 0000e000 00001000 "RouterBoot"
mtd5: 00001000 00001000 "hard_config"
mtd6: 00010000 00001000 "dts_config"
mtd7: 00001000 00001000 "soft_config"

On boards working well, the erase size for kernel and ubi partition is twice, everything else is the same.

I see the same problem with pre-built binary image from google drive as well as image compiled from RB450Gx4-rebase-sdhci branch - slighly different error message but basically the same problem.

Also I noted the RouterBOOT version is slightly newer on the boards not booting from NAND (6.42 vs. 6.41.3).

Is there anybody, who managed to get OpenWRT to boot from NAND with this type
of NAND chip?

Could the problem be related to the different erase size on the NAND chip or different RooterBOOT version?

Any hint how to get OpenWRT booting via these NAND chips would be very welcome - thank you!

I am currently sick, and unable to test anything but its most likely becase this Winbond uses 128k blocks and 2048 pages instead of double that of Toshiba that is on mine.

So those parameters need to be changed in OpenWrt and the aux loader

I just meet with the same problem. Could you give more hints about this? Thank you!

Hi, it seems thart I meet the same problem with bm42.
I search sourcecodes with keywords BLOCKSIZE and PAGESIZE, and find two places.
the first is target/linux/ipq40xx/image/ipq-aux-loader/src/Makefile:

#ubi image vars
BLOCKSIZE := 256k
PAGESIZE  := 4096
.........
$(ldr-ubifs): $(ldr-elf)
	rm -Rf ubi/ubifs-rootdir
	mkdir ubi/ubifs-rootdir
	cp bin/loader.elf ubi/ubifs-rootdir/kernel
	$(STAGING_DIR_HOST)/bin/mkfs.ubifs \
		-m $(PAGESIZE) -e 126976 -c 120 --compr=none \
		-r ubi/ubifs-rootdir $(ldr-ubifs)
	rm -Rf ubi/ubifs-rootdir

the second is /target/linux/ipq40xx/image/Makefile, line 310 define Device/MikrotikNAND
I try to change BLOCKSIZE,PAGESIZE to 128k,2048, and change mkfs.ubifs parameters -e to 126976, -c to 120
I compiled it succesfully, but it still didn't work. My router cannot startup and restart repeatedly.
I really know little about how to correct these NAND parameters, hope you could help me ,thank you!

Aux loader has a hardcoded UBI parameters in one of the files.
That needs to be changed as well