Unable to install SQM package

I am trying to install luci-app-sqm package for traffic control on my LEDE enabled router. However, I am getting the following error which is related to using snapshot (development version) instead of release version:

root@Router7:~# opkg install luci-app-sqm
Installing luci-app-sqm (1.1.3-1) to root...
Downloading http://downloads.lede-project.org/releases/17.01.1/packages/arm_cortex-a15_neon-vfpv4/packages/luci-app-sqm_1.1.3-1_all.ipk
Collected errors:
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for luci-app-sqm:
 * 	kernel (= 4.4.61-1-8cece9aa696af7c1e88bf73a61f5f82a) * 	kernel (= 4.4.61-1-8cece9aa696af7c1e88bf73a61f5f82a) * 	kernel (= 4.4.61-1-8cece9aa696af7c1e88bf73a61f5f82a) * 	kernel (= 4.4.61-1-8cece9aa696af7c1e88bf73a61f5f82a) * 	kernel (= 4.4.61-1-8cece9aa696af7c1e88bf73a61f5f82a) * 
 * opkg_install_cmd: Cannot install package luci-app-sqm.

What can I can to solve the problem?

Here is the output of os-release file:

root@Router7:~# cat /etc/opkg.conf 
dest root /
dest ram /tmp
lists_dir ext /var/opkg-lists
option overlay_root /overlay
option check_signature 1
root@Router7:~# cat /etc/os-release 
NAME="LEDE"
VERSION="17.01-SNAPSHOT, Reboot"
ID="lede"
ID_LIKE="lede openwrt"
PRETTY_NAME="LEDE Reboot 17.01-SNAPSHOT"
VERSION_ID="17.01-snapshot"
HOME_URL="http://lede-project.org/"
BUG_URL="http://bugs.lede-project.org/"
SUPPORT_URL="http://forum.openwrt.org/"
BUILD_ID="r0-7bbf353"
LEDE_BOARD="ipq806x/generic"
LEDE_ARCH="arm_cortex-a15_neon-vfpv4"
LEDE_TAINTS="no-all"
LEDE_DEVICE_MANUFACTURER="LEDE"
LEDE_DEVICE_MANUFACTURER_URL="http://lede-project.org/"
LEDE_DEVICE_PRODUCT="Generic"
LEDE_DEVICE_REVISION="v0"
LEDE_RELEASE="LEDE Reboot 17.01-SNAPSHOT r0-7bbf353"

Finally, here is the output of distfeeds.conf

root@Router7:~# cat /etc/opkg/distfeeds.conf 
src/gz reboot_core http://downloads.lede-project.org/releases/17.01.1/targets/ipq806x/generic/packages
src/gz reboot_base http://downloads.lede-project.org/releases/17.01.1/packages/arm_cortex-a15_neon-vfpv4/base
src/gz reboot_luci http://downloads.lede-project.org/releases/17.01.1/packages/arm_cortex-a15_neon-vfpv4/luci
src/gz reboot_packages http://downloads.lede-project.org/releases/17.01.1/packages/arm_cortex-a15_neon-vfpv4/packages
src/gz reboot_routing http://downloads.lede-project.org/releases/17.01.1/packages/arm_cortex-a15_neon-vfpv4/routing
src/gz reboot_telephony http://downloads.lede-project.org/releases/17.01.1/packages/arm_cortex-a15_neon-vfpv4/telephony

You can compile the package along the main firmware. Or alternatively, use the pure release build from the release repo.

Note that the error is not actually about luci-app-sqm, but about the kernel modules needed by the SQM itself. Kernel modules are tightly tied to the kernel compiled at the same time.
So, in practice you can't install release kernel kmods into a private build.

(ps. Your distfeeds.conf does not match a snapshot build, so the reboot_core feed of "targets" dir will fail to install kernel modules. in any case.)

Pps. And 17.01.2 is the current release, if you are trying to use release packages.

1 Like

Thanks for the reply. Regarding the distfeed.conf, what is the correct feed to match a snapshot build instead of a release feed?

In addition, since it is a snapshot build so that means the kernel is being updated frequently so even if I update the feed in distfeed.conf to match a snapshot build it will fail because the current snapshot might have a newer Kernel version than the one I used, am I right?

It is not about snapshot vs. release build. There is a checksum (hash) of all kernel compile-time options and modules. So it much more strict than kernel version.

In practice you can't install kmods from another compilation run to a private build. You should select the packages that you want already for the compilation.

For distfeed.conf you should just revert your own changes to it in the source repo and let it be formed automatically during the compile time. (That file is not preserved in sysupgrade, as it should always match the respective firmware image.)

If you have edited the file in live router by hand, then you can find the original file as /rom/etc/opkg/distfeeds.conf and can just copy it

distfeeds.conf in a 17.01 snapshot build for ar71xx:

src/gz reboot_core http://downloads.lede-project.org/releases/17.01-SNAPSHOT/targets/ar71xx/generic/packages
src/gz reboot_base http://downloads.lede-project.org/releases/17.01-SNAPSHOT/packages/mips_24kc/base
src/gz reboot_luci http://downloads.lede-project.org/releases/17.01-SNAPSHOT/packages/mips_24kc/luci
src/gz reboot_packages http://downloads.lede-project.org/releases/17.01-SNAPSHOT/packages/mips_24kc/packages
src/gz reboot_routing http://downloads.lede-project.org/releases/17.01-SNAPSHOT/packages/mips_24kc/routing
src/gz reboot_telephony http://downloads.lede-project.org/releases/17.01-SNAPSHOT/packages/mips_24kc/telephony
1 Like