[SOLVED] Installing Wireguard in OpenWrt snapshot on Raspberry Pi 4B


I'm running a snanpshot image (that I built from sources) on the Raspberry Pi 4B. The reason I'm not running an official stable release is that there is not yet support for 64-bit OpenWRT image on the Raspberry Pi 4B.

When I try to install the luci-proto-wireguard package, I get an error message about a dependency that cannot be satisfied.

opkg install luci-proto-wireguard
Installing luci-proto-wireguard (git-20.234.32633-60ce87a) to root...
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a72/luci/luci-proto-wireguard_git-20.234.32633-60ce87a_all.ipk
Collected errors:
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for luci-proto-wireguard:
 * 	kernel (= 5.4.69-1-5fc9900e8b1e0242b528b65d7b7fe094)
 * opkg_install_cmd: Cannot install package luci-proto-wireguard.

The dependency is a kernel. I'm not proficient enough in Linux to understand what this means. Can someone explain to me why the output complains about the kernel version and what can be done about it when one runs a snapshot image?

Thank you.

When you get the message “Cannot satisfy the following dependencies for…” it is most likely because you installed a snapshot version of OpenWrt.
Read here for possible solutions.

1 Like

I figured it was due to the snapshot image.

My question is, what do I do about it?

I followed the link, but it doesn't really help me figure it out. Option #4 at the link (Use persistent snapshots for kmods) seems to be what I need. I reviewed the /etc/opkg/distfeeds.conf file, and here's it's content:

src/gz openwrt_core https://downloads.openwrt.org/snapshots/targets/bcm27xx/bcm2711/packages
src/gz openwrt_base https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a72/base
src/gz openwrt_freifunk https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a72/freifunk
src/gz openwrt_luci https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a72/luci
src/gz openwrt_packages https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a72/packages
src/gz openwrt_routing https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a72/routing
src/gz openwrt_telephony https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a72/telephony

So, the src/gz openwrt_kmods entry is not in the disfeeds.conf file. But I don't know what HTTPS URL that entry should have.

I've also gone over the make menuconfig utility, but I can't find an option to incorporate the Use persistent snapshots for kmods option so that I can have it pre-built into the OpenWRT snapshot image.

Thank you.

Simple option is to simply update to the latest snapshot and then install all the packages you need right away (snapshot packages can become out-of-sync with your installed snapshot version very quickly at times, depending on what is changing).

You can also clone the repo for that snapshot to your computer so that you have a local copy and then you can build and install additional packages as needed.

1 Like

I've added info to the wiki article:

Thank you!

1 Like

So, I ran the script added to the wiki article, but today I got the same error message again:

root@firewall:~# opkg install luci-app-sqm
Installing luci-app-sqm (1.4.0) to root...
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a72/luci/luci-app-sqm_1.4.0_all.ipk
Collected errors:
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for luci-app-sqm:
 * 	kernel (= 5.4.70-1-5fc9900e8b1e0242b528b65d7b7fe094)
 * opkg_install_cmd: Cannot install package luci-app-sqm.

The string that the script installed in /etc/opkg/distfeeds.conf is:

src/gz openwrt_kmods http://downloads.openwrt.org/snapshots/targets/bcm27xx/bcm2711/kmods/5.4.69-1-dd2dac47d5328c8c2ea958bffcbe4607

So, it took two days, and there's now again a kernel version mismatch between a package I'm trying to download luci-app-sqm and the kernel version of my OpenWRT build.

What do I do now?


1 Like

The kmods repository provides kernel modules for multiple kernel versions/builds, so you can install missing kernel modules for your current build later.
But this approach doesn't seem to work for the luci repository, because there's no per-build sub-directories and it depends on the latest kernel version.

Try the solution #2:

root@firewall:/etc/opkg# opkg install luci-app-sqm --force-depends
Installing luci-app-sqm (1.4.0) to root...
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a72/luci/luci-app-sqm_1.4.0_all.ipk
Installing luci-compat (git-20.285.21638-0d0816c) to root...
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a72/luci/luci-compat_git-20.285.21638-0d0816c_all.ipk
Installing kmod-sched-core (5.4.70-1) to root...
Downloading https://downloads.openwrt.org/snapshots/targets/bcm27xx/bcm2711/packages/kmod-sched-core_5.4.70-1_aarch64_cortex-a72.ipk
Installing zlib (1.2.11-3) to root...
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a72/base/zlib_1.2.11-3_aarch64_cortex-a72.ipk
Installing libelf1 (0.179-1) to root...
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a72/base/libelf1_0.179-1_aarch64_cortex-a72.ipk
Installing libmnl0 (1.0.4-2) to root...
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a72/base/libmnl0_1.0.4-2_aarch64_cortex-a72.ipk
Installing tc (5.8.0-1) to root...
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a72/base/tc_5.8.0-1_aarch64_cortex-a72.ipk
Installing kmod-ifb (5.4.70-1) to root...
Downloading https://downloads.openwrt.org/snapshots/targets/bcm27xx/bcm2711/packages/kmod-ifb_5.4.70-1_aarch64_cortex-a72.ipk
Installing kmod-ipt-ipopt (5.4.70-1) to root...
Downloading https://downloads.openwrt.org/snapshots/targets/bcm27xx/bcm2711/packages/kmod-ipt-ipopt_5.4.70-1_aarch64_cortex-a72.ipk
Installing iptables-mod-ipopt (1.8.4-1) to root...
Downloading https://downloads.openwrt.org/snapshots/targets/bcm27xx/bcm2711/packages/iptables-mod-ipopt_1.8.4-1_aarch64_cortex-a72.ipk
Installing kmod-ipt-conntrack-extra (5.4.70-1) to root...
Downloading https://downloads.openwrt.org/snapshots/targets/bcm27xx/bcm2711/packages/kmod-ipt-conntrack-extra_5.4.70-1_aarch64_cortex-a72.ipk
Installing kmod-ipt-raw (5.4.70-1) to root...
Downloading https://downloads.openwrt.org/snapshots/targets/bcm27xx/bcm2711/packages/kmod-ipt-raw_5.4.70-1_aarch64_cortex-a72.ipk
Installing iptables-mod-conntrack-extra (1.8.4-1) to root...
Downloading https://downloads.openwrt.org/snapshots/targets/bcm27xx/bcm2711/packages/iptables-mod-conntrack-extra_1.8.4-1_aarch64_cortex-a72.ipk
Installing kmod-sched-cake (5.4.70-1) to root...
Downloading https://downloads.openwrt.org/snapshots/targets/bcm27xx/bcm2711/packages/kmod-sched-cake_5.4.70-1_aarch64_cortex-a72.ipk
Installing sqm-scripts (1.4.0-9) to root...
Downloading https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a72/packages/sqm-scripts_1.4.0-9_all.ipk
Configuring kmod-ipt-raw.
Configuring zlib.
Configuring libelf1.
Configuring kmod-ipt-conntrack-extra.
Configuring libmnl0.
Configuring kmod-sched-core.
Configuring tc.
Configuring kmod-ipt-ipopt.
Configuring iptables-mod-ipopt.
Configuring luci-compat.
Configuring kmod-ifb.
Configuring iptables-mod-conntrack-extra.
Configuring kmod-sched-cake.
Configuring sqm-scripts.
Configuring luci-app-sqm.
uci: Entry not found
Collected errors:
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for luci-app-sqm:
 * 	kernel (= 5.4.70-1-5fc9900e8b1e0242b528b65d7b7fe094)
1 Like

It prints the error, but should install the package anyways.
You can repeat the command to be sure.

Thank you again. It did work on the first attempt, as it turns out. I was mislead by the error message.

Do you have any idea when the 64-bit image for BCM 2711 (Raspberry Pi 4B) will be available as the official stable release?

1 Like

Sorry, no idea, I only have a D-Link DIR-620 D1 (ramips/rt305x) and a couple of VMs (x86/64). :sweat_smile:

You should get a Raspberry Pi 4B. Its performance with OpenWRT is out of this world. :innocent:

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.