FOR TIPS, gUIDES & TUTORIALS

subscribe to our Youtube

GO TO YOUTUBE

14455 questions

17168 answers

28195 comments

0 members

We are migrating to our new platform at https://community.teltonika.lt. Moving forward, you can continue discussions on this new platform. This current platform will be temporarily maintained for reference purposes.
0 votes
1,293 views 19 comments
by anonymous

Hi,

I have the latest teltonika firmware for RUT955: RUT9_R_00.07.01.2. 

I tried to install kmod-video-uvc, but i got the following error:

root@Teltonika-RUT955:/# opkg install kmod-video-uvc
Unknown package 'kmod-video-uvc'.
Collected errors:
* pkg_hash_check_unresolved: cannot find dependency kernel (= 5.4.143-1-79c5dc6db69102eb2943a96b9bec8b63) for kmod-nls-base
* pkg_hash_check_unresolved: cannot find dependency kernel (= 5.4.143-1-79c5dc6db69102eb2943a96b9bec8b63) for kmod-usb-core
* pkg_hash_check_unresolved: cannot find dependency kernel (= 5.4.143-1-79c5dc6db69102eb2943a96b9bec8b63) for kmod-dma-buf
* pkg_hash_fetch_best_installation_candidate: Packages for kmod-dma-buf found, but incompatible with the architectures configured
* pkg_hash_check_unresolved: cannot find dependency kernel (= 5.4.143-1-79c5dc6db69102eb2943a96b9bec8b63) for kmod-i2c-core
* pkg_hash_check_unresolved: cannot find dependency kernel (= 5.4.143-1-79c5dc6db69102eb2943a96b9bec8b63) for kmod-video-core
* pkg_hash_fetch_best_installation_candidate: Packages for kmod-video-core found, but incompatible with the architectures configured
* pkg_hash_check_unresolved: cannot find dependency kernel (= 5.4.143-1-79c5dc6db69102eb2943a96b9bec8b63) for kmod-video-videobuf2
* pkg_hash_fetch_best_installation_candidate: Packages for kmod-video-videobuf2 found, but incompatible with the architectures configured
* pkg_hash_check_unresolved: cannot find dependency kernel (= 5.4.143-1-79c5dc6db69102eb2943a96b9bec8b63) for kmod-input-core
* pkg_hash_fetch_best_installation_candidate: Packages for kmod-input-core found, but incompatible with the architectures configured
* pkg_hash_check_unresolved: cannot find dependency kernel (= 5.4.143-1-79c5dc6db69102eb2943a96b9bec8b63) for kmod-video-uvc
* pkg_hash_fetch_best_installation_candidate: Packages for kmod-video-uvc found, but incompatible with the architectures configured
* opkg_install_cmd: Cannot install package kmod-video-uvc.

So i downloaded the SDK and compiled the package/kernel/linux with VIDEO UVC selected from a make menuconfig run. 

And tried to install my built kmod-video-uvc and got:

root@Teltonika-RUT955:/tmp/kernelz# opkg install kmod-video-uvc_5.4.147-1_mips_24kc.ipk  
Unknown package 'kmod-video-uvc'.
Collected errors:
* pkg_hash_check_unresolved: cannot find dependency kernel (= 5.4.143-1-79c5dc6db69102eb2943a96b9bec8b63) for kmod-nls-base
* pkg_hash_check_unresolved: cannot find dependency kernel (= 5.4.143-1-79c5dc6db69102eb2943a96b9bec8b63) for kmod-usb-core
* pkg_hash_check_unresolved: cannot find dependency kernel (= 5.4.143-1-79c5dc6db69102eb2943a96b9bec8b63) for kmod-dma-buf
* pkg_hash_fetch_best_installation_candidate: Packages for kmod-dma-buf found, but incompatible with the architectures configured
* pkg_hash_check_unresolved: cannot find dependency kernel (= 5.4.143-1-79c5dc6db69102eb2943a96b9bec8b63) for kmod-i2c-core
* pkg_hash_check_unresolved: cannot find dependency kernel (= 5.4.143-1-79c5dc6db69102eb2943a96b9bec8b63) for kmod-video-core
* pkg_hash_fetch_best_installation_candidate: Packages for kmod-video-core found, but incompatible with the architectures configured
* pkg_hash_check_unresolved: cannot find dependency kernel (= 5.4.143-1-79c5dc6db69102eb2943a96b9bec8b63) for kmod-video-videobuf2
* pkg_hash_fetch_best_installation_candidate: Packages for kmod-video-videobuf2 found, but incompatible with the architectures configured
* pkg_hash_check_unresolved: cannot find dependency kernel (= 5.4.143-1-79c5dc6db69102eb2943a96b9bec8b63) for kmod-input-core
* pkg_hash_fetch_best_installation_candidate: Packages for kmod-input-core found, but incompatible with the architectures configured
* pkg_hash_check_unresolved: cannot find dependency kernel (= 5.4.147-1-unknown) for kmod-video-uvc
* pkg_hash_fetch_best_installation_candidate: Packages for kmod-video-uvc found, but incompatible with the architectures configured
* opkg_install_cmd: Cannot install package kmod-video-uvc.

Anyone have any ideas why the pre-built kmod packages dossen't work with the firmware provided by teltonika and why the custom build package with the correct SDK dossen't work, i know i have the right version of the SDK since i use it to build other custom packages.

Any help or pointers would be appreciated!

1 Answer

+1 vote
by anonymous
Hello,

When you install your custom built kernel module via opkg install, make sure it takes the correct ipk not the one from the opkg update list. For that, execute rm /tmp/opkg-list/* and retry.

Regards,
Best answer
by anonymous

Thank you for your input!

I tried what you said but i still get errors....

root@Teltonika-RUT955:/tmp# opkg install /tmp/kmod-video-uvc_5.4.147-1_mips_24kc.ipk  
Unknown package 'kmod-video-uvc'.
Collected errors:
* pkg_hash_check_unresolved: cannot find dependency kernel (= 5.4.143-1-79c5dc6db69102eb2943a96b9bec8b63) for kmod-nls-base
* pkg_hash_check_unresolved: cannot find dependency kernel (= 5.4.143-1-79c5dc6db69102eb2943a96b9bec8b63) for kmod-usb-core
* pkg_hash_check_unresolved: cannot find dependency kernel (= 5.4.143-1-79c5dc6db69102eb2943a96b9bec8b63) for kmod-dma-buf
* pkg_hash_fetch_best_installation_candidate: Packages for kmod-dma-buf found, but incompatible with the architectures configured
* pkg_hash_check_unresolved: cannot find dependency kernel (= 5.4.143-1-79c5dc6db69102eb2943a96b9bec8b63) for kmod-i2c-core
* pkg_hash_check_unresolved: cannot find dependency kernel (= 5.4.143-1-79c5dc6db69102eb2943a96b9bec8b63) for kmod-video-core
* pkg_hash_fetch_best_installation_candidate: Packages for kmod-video-core found, but incompatible with the architectures configured
* pkg_hash_check_unresolved: cannot find dependency kernel (= 5.4.143-1-79c5dc6db69102eb2943a96b9bec8b63) for kmod-video-videobuf2
* pkg_hash_fetch_best_installation_candidate: Packages for kmod-video-videobuf2 found, but incompatible with the architectures configured
* pkg_hash_check_unresolved: cannot find dependency kernel (= 5.4.143-1-79c5dc6db69102eb2943a96b9bec8b63) for kmod-input-core
* pkg_hash_fetch_best_installation_candidate: Packages for kmod-input-core found, but incompatible with the architectures configured
* pkg_hash_check_unresolved: cannot find dependency kernel (= 5.4.147-1-unknown) for kmod-video-uvc
* pkg_hash_fetch_best_installation_candidate: Packages for kmod-video-uvc found, but incompatible with the architectures configured
* opkg_install_cmd: Cannot install package kmod-video-uvc.

Afterm rm /tmp/opkg-list/*

root@Teltonika-RUT955:/tmp# opkg install /tmp/kmod-video-uvc_5.4.147-1_mips_24kc.ipk  
Unknown package 'kmod-video-uvc'.
Collected errors:
* pkg_hash_check_unresolved: cannot find dependency kernel (= 5.4.147-1-unknown) for kmod-video-uvc
* pkg_hash_check_unresolved: cannot find dependency kmod-video-videobuf2 for kmod-video-uvc
* pkg_hash_check_unresolved: cannot find dependency kmod-input-core for kmod-video-uvc
* pkg_hash_check_unresolved: cannot find dependency kmod-video-core for kmod-video-uvc
* pkg_hash_fetch_best_installation_candidate: Packages for kmod-video-uvc found, but incompatible with the architectures configured
* opkg_install_cmd: Cannot install package kmod-video-uvc.

 

If i try to install lowest dependency only, il get:

root@Teltonika-RUT955:/tmp# opkg install /tmp/kmod-video-core_5.4.147-1_mips_24kc.ipk  
Unknown package 'kmod-video-core'.

Collected errors:
* pkg_hash_check_unresolved: cannot find dependency kernel (= 5.4.147-1-unknown) for kmod-video-core
* pkg_hash_fetch_best_installation_candidate: Packages for kmod-video-core found, but incompatible with the architectures configured
* opkg_install_cmd: Cannot install package kmod-video-core.

 

by anonymous

1) sorry for the typo it was rm /tmp/opkg-lists/* not rm /tmp/opkg-list/*

2) your modules are compiled for a 5.4.147-1-unknown kernel and the current one is 5.4.143.-1-79c5c6db69102eb2943a96b9bec8b63 so that won't fly.

Compiling kernel modules via the SDK is not easy, you have either to generate and flash a full new firmware or trick the build process to have the same kernel and same hash. For that change the LINUX_VERSION-5.4 in include/kernel-version.mk and force the .vermagic value in include/kernel-defaults.mk line 105.

by anonymous

Thanks for the quick reply! Please see:

"1) sorry for the typo it was rm /tmp/opkg-lists/* not rm /tmp/opkg-list/*"

Np, i figured as much when tabbing away in bash.

2) your modules are compiled for a 5.4.147-1-unknown kernel and the current one is 5.4.143.-1-79c5c6db69102eb2943a96b9bec8b63 so that won't fly.

Compiling kernel modules via the SDK is not easy, you have either to generate and flash a full new firmware or trick the build process to have the same kernel and same hash. For that change the LINUX_VERSION-5.4 in include/kernel-version.mk and force the .vermagic value in include/kernel-defaults.mk line 105.

Ok, i did what you said, and indeed after changing the LINUX_VERSION and LINUX_KERNEL_HASH in kernel-version.mk it now gives ipk package names with 5.4.143 instead of ...147 but the kernel package still says - unknown and i still get the same errors, so i went a head and changed the kernel-defaults.mk line 105 from:

grep '=[ym]' $(LINUX_DIR)/.config.set | LC_ALL=C sort | mkhash md5 > $(LINUX_DIR)/.vermagic

to

grep '=[ym]' $(LINUX_DIR)/.config.set | LC_ALL=C sort | '79c5c6db69102eb2943a96b9bec8b63' > $(LINUX_DIR)/.vermagic

But still no luck claims version is 5.4.143-unknown for the package.

Maybe i f***d up the 105 line change?

Any ideas?

by anonymous

Yes, just echo '79c5c6db69102eb2943a96b9bec8b63' > $(LINUX_DIR)/.vermagic

by anonymous
Ok i added the "echo" part, still no success, it still thinks the target kernel is 5.4.143-1-unknown.

Thanks for your patience.
by anonymous
I haven't seen that, could you try a make clean; make -k ?
by anonymous

Well ok,

ubuntutester@ubuntutester:~/Desktop/RUT-SDK-2$ make clean

WARNING: Makefile 'package/utils/busybox/Makefile' has a build dependency on 'libpam', which does not exist

WARNING: Makefile 'package/libs/glib2/Makefile' has a build dependency on 'libffi/host', which does not exist

WARNING: Makefile 'package/lang/python/python3/Makefile' has a build dependency on 'expat/host', which does not exist

WARNING: Makefile 'package/lang/python/python3/Makefile' has a build dependency on 'libffi/host', which does not exist

WARNING: Makefile 'package/network/utils/ulogd/Makefile' has a build dependency on 'libnetfilter-acct', which does not exist

 make[1] clean

ubuntutester@ubuntutester:~/Desktop/RUT-SDK-2$ make V=sc -k

WARNING: Makefile 'package/utils/busybox/Makefile' has a build dependency on 'libpam', which does not exist

WARNING: Makefile 'package/libs/glib2/Makefile' has a build dependency on 'libffi/host', which does not exist

WARNING: Makefile 'package/lang/python/python3/Makefile' has a build dependency on 'expat/host', which does not exist

WARNING: Makefile 'package/lang/python/python3/Makefile' has a build dependency on 'libffi/host', which does not exist

WARNING: Makefile 'package/network/utils/ulogd/Makefile' has a build dependency on 'libnetfilter-acct', which does not exist

time: target/linux/prereq#0.14#0.04#0.38

make[1]: Entering directory '/home/ubuntutester/Desktop/RUT-SDK-2'

make[2]: Entering directory '/home/ubuntutester/Desktop/RUT-SDK-2'

make[3]: Entering directory '/home/ubuntutester/Desktop/RUT-SDK-2/target/linux'

make[4]: Entering directory '/home/ubuntutester/Desktop/RUT-SDK-2/target/linux/ath79'

mkdir -p /home/ubuntutester/Desktop/RUT-SDK-2/dl

SHELL= flock /home/ubuntutester/Desktop/RUT-SDK-2/tmp/.linux-5.4.143.tar.xz.flock -c '  /home/ubuntutester/Desktop/RUT-SDK-2/scripts/download.pl "/home/ubuntutester/Desktop/RUT-SDK-2/dl" "linux-5.4.143.tar.xz" "79c5c6db69102eb2943a96b9bec8b63" "" "@KERNEL/linux/kernel/v5.x"    '

Cannot find appropriate hash command, ensure the provided hash is either a MD5 or SHA256 checksum.

make[4]: *** [Makefile:19: /home/ubuntutester/Desktop/RUT-SDK-2/dl/linux-5.4.143.tar.xz] Error 255

make[4]: *** No rule to make target '/home/ubuntutester/Desktop/RUT-SDK-2/build_dir/target-mips_24kc_musl/linux-ath79_generic/linux-5.4.143/.config', needed by '/home/ubuntutester/Desktop/RUT-SDK-2/build_dir/target-mips_24kc_musl/linux-ath79_generic/linux-5.4.143/.modules'.

make[4]: Target 'compile' not remade because of errors.

make[4]: Leaving directory '/home/ubuntutester/Desktop/RUT-SDK-2/target/linux/ath79'

make[3]: *** [Makefile:11: compile] Error 2

make[3]: Leaving directory '/home/ubuntutester/Desktop/RUT-SDK-2/target/linux'

time: target/linux/compile#0.09#0.03#0.14

    ERROR: target/linux failed to build.

make[2]: *** [target/Makefile:36: target/linux/compile] Error 1

make[2]: Target 'target/compile' not remade because of errors.

make[2]: Leaving directory '/home/ubuntutester/Desktop/RUT-SDK-2'

make[1]: *** [target/Makefile:18: /home/ubuntutester/Desktop/RUT-SDK-2/staging_dir/target-mips_24kc_musl/stamp/.target_compile] Error 2

make[2]: Entering directory '/home/ubuntutester/Desktop/RUT-SDK-2'

rm -rf /home/ubuntutester/Desktop/RUT-SDK-2/staging_dir/target-mips_24kc_musl/root-ath79

make[2]: Leaving directory '/home/ubuntutester/Desktop/RUT-SDK-2'

make[1]: Target 'world' not remade because of errors.

make[1]: Leaving directory '/home/ubuntutester/Desktop/RUT-SDK-2'

make: *** [/home/ubuntutester/Desktop/RUT-SDK-2/include/toplevel.mk:234: world] Error 2

Ok so my build envirorment seems broken! Since make -k failed. Maybe it never properly build the SDK after the initialization commands (updating feeds/building SDK) i will try to redo this and build a fresh SDK(Musel libc) edition. And report back!
This will take some hours...
R.
by anonymous

Did you follow the README ?

For line 105, just comment it out and add the echo '...

For libpam libnetfilter-acct: ./scripts/feeds install libpam libnetfilter-acct

For libffi/host: ignore

For "Cannot find appropriate hash command, ensure the provided hash is either a MD5 or SHA256 checksum": set the LINUX_KERNEL_HASH-5.4.143 to the result of mkhash sha256 dl/linux-5.4.143.tar.xz

by anonymous

Did you follow the README ? "

Yup sure did but i looked at my nodes and concluded 1,5 months ago that the "make" didn't work building the SDK as in the readme failed at serveral parts, and i had to manually fix things, one package that was broken was someting involveing JSON headers and changes between expected version and updated version from the feed. So i did indeed have a broken SDK, i just compiled it enough at the time so that i could get most of the toolchain to build, basically getting the new Musil linker so that my old software would run on the new firmware after discovering the libc change from µlib to musel after all my custom daemon softwares stopped working :( .

So im redoing the "README" now in a clean SDK on a verry fast machine. Since running the initial make was also "verry" slow.

I report back when i got a fresh and correct (musl) SDK built, probably the versioning will work then. Since it seems to work for you, il keep you and everybody else infomed.

R.

by anonymous
The sha256 hash for 5.4.143 is 0953650b05a5f806d76c5691583e94e141f4f691bc0ba75a60b643740f021d24.
by anonymous

Hi, 

So i had some more time fiddeling with this today, i have a new and fresh SDK, that works propperly and went all the way on the fast machine in about 1h buildtime with make -j10.

Now with the fresh SDK the vanilla build generated a kernel ipk with a hash instead of unknown.

Doing it like this:

kernel-version.mk:

LINUX_VERSION-5.4 = .147

# LINUX_KERNEL_HASH-5.4.147 = f6c004359241877e24606a1e9ef832b54a7646d46de4d89c1b4713d7a915441c

LINUX_KERNEL_HASH-5.4.147 = 0953650b05a5f806d76c5691583e94e141f4f691bc0ba75a60b643740f021d24

kernel-defaults:

# grep '=[ym]' $(LINUX_DIR)/.config.set | LC_ALL=C sort | mkhash md5 > $(LINUX_DIR)/.vermagic

echo '79c5c6db69102eb2943a96b9bec8b63' > $(LINUX_DIR)/.vermagic

I get a package tree with packages that partly installs! The package kmod-video-core and kmod-input-core do install now! But the kmod-video-uvc and videobuf2 is not so happy:

root@Teltonika-RUT955:/tmp# opkg install /tmp/kmod-video-uvc_5.4.147-1_mips_24kc.ipk  
Unknown package 'kmod-video-uvc'.
Collected errors:
* pkg_hash_check_unresolved: cannot find dependency kmod-video-videobuf2 for kmod-video-uvc
* pkg_hash_fetch_best_installation_candidate: Packages for kmod-video-uvc found, but incompatible with the architectures configured
* opkg_install_cmd: Cannot install package kmod-video-uvc.
root@Teltonika-RUT955:/tmp#

 

If i change the string literals from .147 to .143 and/or the other string literal ...._HASH-5.4.147 to 143 or so i get unknow again and no packages installs.

I also noticed that the vanilla build of the SDK with Video enabled gives packages that installs w/o any hash hacks. And just works! Most preinstalled packages is of version 5.4.147 not 143, i wonder if Teltonika updated the SDK or somting since todays download of the SDK and build JUST SOLVED the problem by it self. All is good now and all packages compiled and installed successfully! I have no clue were the 143 spam came from...

So fresh SDK archive and following README worked today without any errors after feeds update / make -j10.

Thanx for the help flebourse, but my SDK was just bad apparently.

R.

by anonymous

Oops you have mixed things :

kernel version should be: LINUX_VERSION-5.4 = .143
kernel hash sould be: LINUX_KERNEL_HASH-5.4.143 = 0953650b05a5f806d76c5691583e94e141f4f691bc0ba75a60b643740f021d24

The .vermagic looks good.

Redo a make clean and make -j $(nproc) -k

by anonymous

Hi,

Turned out that it didn't work! The ipk's installs but are empty, the data folder contains nothing.

I need fresh look on the subject matter:

My opkg list-installed shows:

kernel - 5.4.147-1-12dec990e8f25c6e416ddd63960a8355
kmod-asn1-decoder - 5.4.147-1
kmod-ath - 5.4.147+5.10.68-1-1
kmod-ath9k - 5.4.147+5.10.68-1-1
kmod-ath9k-common - 5.4.147+5.10.68-1-1
kmod-cfg80211 - 5.4.147+5.10.68-1-1
kmod-crypto-acompress - 5.4.147-1
kmod-crypto-aead - 5.4.147-1
kmod-crypto-arc4 - 5.4.147-1
kmod-crypto-authenc - 5.4.147-1
kmod-crypto-cbc - 5.4.147-1
kmod-crypto-crc32c - 5.4.147-1
kmod-crypto-ctr - 5.4.147-1
kmod-crypto-deflate - 5.4.147-1
kmod-crypto-des - 5.4.147-1
kmod-crypto-ecb - 5.4.147-1
kmod-crypto-echainiv - 5.4.147-1
kmod-crypto-gcm - 5.4.147-1
kmod-crypto-gf128 - 5.4.147-1
kmod-crypto-ghash - 5.4.147-1
kmod-crypto-hash - 5.4.147-1
kmod-crypto-hmac - 5.4.147-1
kmod-crypto-kpp - 5.4.147-1
kmod-crypto-lib-blake2s - 5.4.147-1
kmod-crypto-lib-chacha20 - 5.4.147-1
kmod-crypto-lib-chacha20poly1305 - 5.4.147-1
kmod-crypto-lib-curve25519 - 5.4.147-1
kmod-crypto-lib-poly1305 - 5.4.147-1
kmod-crypto-manager - 5.4.147-1
kmod-crypto-md5 - 5.4.147-1
kmod-crypto-null - 5.4.147-1
kmod-crypto-pcompress - 5.4.147-1
kmod-crypto-rng - 5.4.147-1
kmod-crypto-seqiv - 5.4.147-1
kmod-crypto-sha1 - 5.4.147-1
kmod-crypto-sha256 - 5.4.147-1
kmod-crypto-sha512 - 5.4.147-1
kmod-dma-buf - 5.4.147-1
kmod-ebtables - 5.4.147-1
kmod-ebtables-ipv4 - 5.4.147-1
kmod-ebtables-watchers - 5.4.147-1
kmod-fs-autofs4 - 5.4.147-1
kmod-fs-ext4 - 5.4.147-1
kmod-fs-msdos - 5.4.147-1
kmod-fs-vfat - 5.4.147-1
kmod-fuse - 5.4.147-1
kmod-gpio-button-hotplug - 5.4.147-3
kmod-gre - 5.4.147-1
kmod-gre6 - 5.4.147-1
kmod-hwmon-core - 5.4.147-1
kmod-hwmon-mcp3021 - 5.4.147-1
kmod-i2c-algo-bit - 5.4.147-1
kmod-i2c-core - 5.4.147-1
kmod-i2c-gpio - 5.4.147-1
kmod-input-core - 5.4.147-1
kmod-ip6-tunnel - 5.4.147-1
kmod-ip6tables - 5.4.147-1
kmod-ipsec - 5.4.147-1
kmod-ipsec4 - 5.4.147-1
kmod-ipsec6 - 5.4.147-1
kmod-ipt-conntrack - 5.4.147-1
kmod-ipt-conntrack-extra - 5.4.147-1
kmod-ipt-core - 5.4.147-1
kmod-ipt-ipopt - 5.4.147-1
kmod-ipt-ipsec - 5.4.147-1
kmod-ipt-ipset - 5.4.147-1
kmod-ipt-nat - 5.4.147-1
kmod-ipt-nat-extra - 5.4.147-1
kmod-ipt-nflog - 5.4.147-1
kmod-ipt-offload - 5.4.147-1
kmod-ipt-quota2 - 5.4.147+3.13-4
kmod-ipt-raw - 5.4.147-1
kmod-iptunnel - 5.4.147-1
kmod-iptunnel4 - 5.4.147-1
kmod-iptunnel6 - 5.4.147-1
kmod-l2tp - 5.4.147-1
kmod-l2tp-eth - 5.4.147-1
kmod-l2tp-ip - 5.4.147-1
kmod-lib-crc-ccitt - 5.4.147-1
kmod-lib-crc-itu-t - 5.4.147-1
kmod-lib-crc16 - 5.4.147-1
kmod-lib-crc7 - 5.4.147-1
kmod-lib-textsearch - 5.4.147-1
kmod-lib-zlib-deflate - 5.4.147-1
kmod-lib-zlib-inflate - 5.4.147-1
kmod-mac80211 - 5.4.147+5.10.68-1-1
kmod-mii - 5.4.147-1
kmod-mmc - 5.4.147-1
kmod-mmc-spi - 5.4.147-1
kmod-mppe - 5.4.147-1
kmod-nf-conntrack - 5.4.147-1
kmod-nf-conntrack6 - 5.4.147-1
kmod-nf-flow - 5.4.147-1
kmod-nf-ipt - 5.4.147-1
kmod-nf-ipt6 - 5.4.147-1
kmod-nf-nat - 5.4.147-1
kmod-nf-nathelper - 5.4.147-1
kmod-nf-nathelper-extra - 5.4.147-1
kmod-nf-reject - 5.4.147-1
kmod-nf-reject6 - 5.4.147-1
kmod-nfnetlink - 5.4.147-1
kmod-nfnetlink-log - 5.4.147-1
kmod-nls-base - 5.4.147-1
kmod-nls-cp437 - 5.4.147-1
kmod-nls-iso8859-1 - 5.4.147-1
kmod-nls-utf8 - 5.4.147-1
kmod-phy-ath79-usb - 5.4.147-1
kmod-ppp - 5.4.147-1
kmod-pppoe - 5.4.147-1
kmod-pppol2tp - 5.4.147-1
kmod-pppox - 5.4.147-1
kmod-pptp - 5.4.147-1
kmod-scsi-core - 5.4.147-1
kmod-sit - 5.4.147-1
kmod-slhc - 5.4.147-1
kmod-spi-bitbang - 5.4.147-1
kmod-spi-gpio - 5.4.147-1
kmod-tun - 5.4.147-1
kmod-udptunnel4 - 5.4.147-1
kmod-udptunnel6 - 5.4.147-1
kmod-usb-acm - 5.4.147-1
kmod-usb-core - 5.4.147-1
kmod-usb-ehci - 5.4.147-1
kmod-usb-net - 5.4.147-1
kmod-usb-net-qmi-wwan - 5.4.147-1
kmod-usb-printer - 5.4.147-1
kmod-usb-serial - 5.4.147-1
kmod-usb-serial-ark3116 - 5.4.147-1
kmod-usb-serial-belkin - 5.4.147-1
kmod-usb-serial-ch341 - 5.4.147-1
kmod-usb-serial-cp210x - 5.4.147-1
kmod-usb-serial-cypress-m8 - 5.4.147-1
kmod-usb-serial-ftdi - 5.4.147-1
kmod-usb-serial-option - 5.4.147-1
kmod-usb-serial-pl2303 - 5.4.147-1
kmod-usb-serial-wwan - 5.4.147-1
kmod-usb-storage - 5.4.147-1
kmod-usb-wdm - 5.4.147-1
kmod-usb2 - 5.4.147-1
kmod-video-core - 5.4.147-1
kmod-video-uvc - 5.4.147-1
kmod-video-videobuf2 - 5.4.147-1
kmod-wireguard - 5.4.147-1
kmod_man - 2020-01-06-1

Indicating that it is 5.4.147 that should be built, as i mentioned before idk why it was ranting about .143 in the past...

I can build my packages with the vanilla SDK no complaints, and they install for 5.4.147, but my generated kmod ipk's seems to empty of any actual kmods, data directory when extracting them is empty.

Or am i missing something? Do i need to try load the modules after install?

I will make a new vanilla SDK with the -k option as well as stated above.

by anonymous

I did run make -j10 -k on a fresh SDK and got ipk packages now with the .ko files inside, but now when i try to install them i get the hash issue again.

Installed kernel ver is:                                                                      5.4.147-1-12dec990e8f25c6e416ddd63960a8355
The newely built packages seems to look for:
5.4.147-1-87ca0878c5b97f2d078814db74a6ee99

What should my HASH be in sha256 and md5? I run the hash commands on several strings .147 and such but it dossn't replecate thee hashes above..

R.

by anonymous

I manually extracted and modules.d files and lib/modules files and made a list to keep track of them.

Now i get this at boot:

[   27.294359] videobuf2_memops: Unknown symbol put_vaddr_frames (err -2)
[   27.301427] videobuf2_memops: Unknown symbol get_vaddr_frames (err -2)
[   27.308450] videobuf2_memops: Unknown symbol frame_vector_destroy (err -2)
[   27.315814] videobuf2_memops: Unknown symbol frame_vector_create (err -2)
[   27.388114] kmodloader: 3 modules could not be probed
[   27.404200] kmodloader: dependency not loaded videobuf2-vmalloc
[   27.428669] kmodloader: - uvcvideo - 1
[   27.436653] kmodloader: - videobuf2-memops - 0
[   27.456668] kmodloader: dependency not loaded videobuf2-memops
[   27.472709] kmodloader: - videobuf2-vmalloc - 1

 

Seems like something is broken!, checking online it seems like the kernel needs to be configured with some option FRAME_VECTOR, how can i do this IF it is the source of the issue?

From some mailinglist:

diff --git a/mm/Kconfig b/mm/Kconfig
index 9b8fccb969dc..cfa6a80d1a0a 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -701,7 +701,7 @@  config ZONE_DEVICE
          If FS_DAX is enabled, then say Y.

 config FRAME_VECTOR
-       bool
+       tristate "frame vector"

 config ARCH_USES_HIGH_VMA_FLAGS
        bool




All files shows up as loaded in when issuing lsmod, it seems like somthing else is missing in the kernel.
by anonymous
I finally fixed it, it turns out your kernel need to be built with the option above if the videobuf2_memops is to be loaded as a module.

So i just flashed the modem with my own image (so that i get the custom kernel).

Now the everyting works verified on the modem and webcam works fine, i can take my pictures.

Thanks to Flebourse for all the help!

R.
by anonymous
Turns out there was two issues, the .143 to .147 subversion and kernel hash one, and the FRAME_VECTOR one. So forcing the kernel hash was doomed anyway due to the second.

Where did you put the patch ?
by anonymous
Never put the patch anywhere, never used it, instead i run make menuconfig and selected the kernelmodules -> video (all modules) to include in image so (*) instead of (M). ran make -j10 -k after that and flashed the router with the generated image, after modem reboot it all worked, detection of USB camera and taking a picture periodically worked fine.

But i guess you can go to build_dir/target-mips.../linux-ath79_generic/linux-5.4.147/mm/Kconfig and apply the patch to that Kconfig or just change the affected line from "bool" to: { tristate "frame vector" } as mentioned above, but i never tried it, however the pro with having a kernel installed with the patch is that you could build ipks modulary {M} and your custom modules should be able to find the kernel address space even if you load them after boot a.k.a. loading a .ko file with "insmod". But as i said i never tried it just builded them into kernel with {*}, and flashed.

R.
by anonymous
I have added it to target/linux/ath79/patches-5.4/950-mm-tristate-frame-vector.pach to be immune to a make clean.

Btw, kudos for your RS485 comment.