I have two B1300 (firmware 3.105) units in mesh mode, a Canon Pixma MG255S printer/scanner, and M1Pro MacBook Pro. I want to use sane to share the scanner on the network by connecting the scanner via USB to the main B1300. I was able to install libsane, sane-daemon, and sane-pixma from the default source directly on the B1300. For the frontend, I want to install AirSane (found here: GitHub - cmangla/AirSane-openwrt: OpenWRT AirSane package ) so that I can use the scanner on macOS Image Capture.
From what I understand, I need to compile AirSane package with GL-iNet SDK, and then copy the .ipk file to the router. I don’t have any real programming experience, so I’m learning as I go with a lot of trial and error. I installed Docker Desktop for Apple Silicone Mac, and tried using different images (openwrt/sdk, ubuntu, crallen/gl-inet-sdk), but for some reason or another, I’m not able to compile the package.
I’ve downloaded the GL-iNet SDK for ipq806x-qsdk53 (for B1300 before 3.201) and installed AirSane from the git source above.
During compilation, I get the following message repeatedly:
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
build@261c98522840:~$ ./builder.sh -d sdk/qsdk53/ipq806x/package/feeds/airsaned -t ipq806x-qsdk53 -v
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
Argument "4.2.1" isn't numeric in numeric ge (>=) at ./scripts/feeds line 25.
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
tmp/.config-package.in:36:warning: ignoring type redefinition of 'PACKAGE_libc' from 'boolean' to 'tristate'
tmp/.config-package.in:64:warning: ignoring type redefinition of 'PACKAGE_libgcc' from 'boolean' to 'tristate'
tmp/.config-package.in:121:warning: ignoring type redefinition of 'PACKAGE_libpthread' from 'boolean' to 'tristate'
tmp/.config-package.in:149:warning: ignoring type redefinition of 'PACKAGE_librt' from 'boolean' to 'tristate'
tmp/.config-package.in:1895:warning: ignoring type redefinition of 'PACKAGE_uclibcxx' from 'boolean' to 'tristate'
tmp/.config-package.in:1908:warning: ignoring type redefinition of 'PACKAGE_zlib' from 'boolean' to 'tristate'
#
# configuration written to .config
#
make[1]: Entering directory '/home/build/sdk/qsdk53/ipq806x'
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
make[2]: Entering directory '/home/build/sdk/qsdk53/ipq806x'
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
make[3]: Entering directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/package/libs/toolchain'
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
if [ -f /home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/pkginfo/toolchain.default.install.clean ]; then rm -f /home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/pkginfo/toolchain.default.install /home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/pkginfo/toolchain.default.install.clean; fi; echo "libc" >> /home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/pkginfo/toolchain.default.install
if [ -f /home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/pkginfo/toolchain.default.install.clean ]; then rm -f /home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/pkginfo/toolchain.default.install /home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/pkginfo/toolchain.default.install.clean; fi; echo "libgcc" >> /home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/pkginfo/toolchain.default.install
if [ -f /home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/pkginfo/toolchain.default.install.clean ]; then rm -f /home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/pkginfo/toolchain.default.install /home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/pkginfo/toolchain.default.install.clean; fi; echo "libpthread" >> /home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/pkginfo/toolchain.default.install
if [ -f /home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/pkginfo/toolchain.default.install.clean ]; then rm -f /home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/pkginfo/toolchain.default.install /home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/pkginfo/toolchain.default.install.clean; fi; echo "librt" >> /home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/pkginfo/toolchain.default.install
make[3]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/package/libs/toolchain'
make[3]: Entering directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/package/libs/libusb'
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
make[3]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/package/libs/libusb'
make[3]: Entering directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/qca/feeds/packages/libs/expat'
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
make[3]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/qca/feeds/packages/libs/expat'
make[3]: Entering directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/qca/feeds/packages/utils/dbus'
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
make[3]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/qca/feeds/packages/utils/dbus'
make[3]: Entering directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/qca/feeds/packages/libs/gdbm'
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
make[3]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/qca/feeds/packages/libs/gdbm'
make[3]: Entering directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/qca/feeds/packages/libs/intltool'
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
make[3]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/qca/feeds/packages/libs/intltool'
make[3]: Entering directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/qca/feeds/packages/libs/libdaemon'
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
make[3]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/qca/feeds/packages/libs/libdaemon'
make[3]: Entering directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/qca/feeds/packages/libs/avahi'
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
make[3]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/qca/feeds/packages/libs/avahi'
make[3]: Entering directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/qca/feeds/packages/libs/avahi'
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
make[3]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/qca/feeds/packages/libs/avahi'
make[3]: Entering directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/qca/feeds/packages/libs/avahi'
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
make[3]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/qca/feeds/packages/libs/avahi'
make[3]: Entering directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/qca/feeds/packages/libs/avahi'
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
make[3]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/qca/feeds/packages/libs/avahi'
make[3]: Entering directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/qca/feeds/packages/libs/avahi'
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
make[3]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/qca/feeds/packages/libs/avahi'
make[3]: Entering directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/qca/feeds/packages/libs/avahi'
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
make[3]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/qca/feeds/packages/libs/avahi'
make[3]: Entering directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/qca/feeds/packages/libs/avahi'
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
make[3]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/qca/feeds/packages/libs/avahi'
make[3]: Entering directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/package/libs/libtool'
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
make[3]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/package/libs/libtool'
make[3]: Entering directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/qca/feeds/packages/libs/libjpeg'
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
make[3]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/qca/feeds/packages/libs/libjpeg'
make[3]: Entering directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/package/libs/zlib'
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
if [ -f /home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/pkginfo/zlib.default.install.clean ]; then rm -f /home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/pkginfo/zlib.default.install /home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/pkginfo/zlib.default.install.clean; fi; echo "zlib" >> /home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/pkginfo/zlib.default.install
make[3]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/package/libs/zlib'
make[3]: Entering directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/qca/feeds/packages/libs/libpng'
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
make[3]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/qca/feeds/packages/libs/libpng'
make[3]: Entering directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/package/libs/libusb-compat'
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
make[3]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/package/libs/libusb-compat'
make[3]: Entering directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/package/libs/argp-standalone'
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
make[3]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/package/libs/argp-standalone'
make[3]: Entering directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/package/libs/gettext'
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
make[3]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/package/libs/gettext'
make[3]: Entering directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/package/libs/libiconv'
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
make[3]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/package/libs/libiconv'
make[3]: Entering directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/package/libs/uclibc++'
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
if [ -f /home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/pkginfo/uclibc++.default.install.clean ]; then rm -f /home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/pkginfo/uclibc++.default.install /home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/pkginfo/uclibc++.default.install.clean; fi; echo "uclibcxx" >> /home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/pkginfo/uclibc++.default.install
make[3]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/package/libs/uclibc++'
make[3]: Entering directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/qca/feeds/packages/libs/libv4l'
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.
CFLAGS="-Os -pipe -march=armv7-a -mtune=cortex-a7 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -mfloat-abi=soft -Wl,-z,now -Wl,-z,relro -I/home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/usr/lib/libiconv-stub/include -I/home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/usr/lib/libintl-stub/include -fpic -std=gnu99 -I/home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/usr/include -I/home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/include -I/home/build/sdk/qsdk53/ipq806x/staging_dir/toolchain-arm_cortex-a7_gcc-4.8-linaro_uClibc-1.0.14_eabi/usr/include -I/home/build/sdk/qsdk53/ipq806x/staging_dir/toolchain-arm_cortex-a7_gcc-4.8-linaro_uClibc-1.0.14_eabi/include -I/home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/usr/lib/libiconv-stub/include -I/home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/usr/lib/libintl-stub/include " CXXFLAGS="-Os -pipe -march=armv7-a -mtune=cortex-a7 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -mfloat-abi=soft -Wl,-z,now -Wl,-z,relro -I/home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/usr/lib/libiconv-stub/include -I/home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/usr/lib/libintl-stub/include -fpic -std=gnu99 -I/home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/usr/include -I/home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/include -I/home/build/sdk/qsdk53/ipq806x/staging_dir/toolchain-arm_cortex-a7_gcc-4.8-linaro_uClibc-1.0.14_eabi/usr/include -I/home/build/sdk/qsdk53/ipq806x/staging_dir/toolchain-arm_cortex-a7_gcc-4.8-linaro_uClibc-1.0.14_eabi/include -I/home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/usr/lib/libiconv-stub/include -I/home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/usr/lib/libintl-stub/include " LDFLAGS="-L/home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/usr/lib -L/home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/lib -L/home/build/sdk/qsdk53/ipq806x/staging_dir/toolchain-arm_cortex-a7_gcc-4.8-linaro_uClibc-1.0.14_eabi/usr/lib -L/home/build/sdk/qsdk53/ipq806x/staging_dir/toolchain-arm_cortex-a7_gcc-4.8-linaro_uClibc-1.0.14_eabi/lib -L/home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/usr/lib/libiconv-stub/lib -L/home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/usr/lib/libintl-stub/lib -largp " make -j1 -C /home/build/sdk/qsdk53/ipq806x/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/v4l-utils-1.6.2/. AR="arm-openwrt-linux-uclibcgnueabi-gcc-ar" AS="arm-openwrt-linux-uclibcgnueabi-gcc -c -Os -pipe -march=armv7-a -mtune=cortex-a7 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -mfloat-abi=soft -Wl,-z,now -Wl,-z,relro -I/home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/usr/lib/libiconv-stub/include -I/home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/usr/lib/libintl-stub/include -fpic -std=gnu99" LD=arm-openwrt-linux-uclibcgnueabi-ld NM="arm-openwrt-linux-uclibcgnueabi-gcc-nm" CC="arm-openwrt-linux-uclibcgnueabi-gcc" GCC="arm-openwrt-linux-uclibcgnueabi-gcc" CXX="g++-uc" RANLIB="arm-openwrt-linux-uclibcgnueabi-gcc-ranlib" STRIP=arm-openwrt-linux-uclibcgnueabi-strip OBJCOPY=arm-openwrt-linux-uclibcgnueabi-objcopy OBJDUMP=arm-openwrt-linux-uclibcgnueabi-objdump SIZE=arm-openwrt-linux-uclibcgnueabi-size CROSS="arm-openwrt-linux-uclibcgnueabi-" ARCH="arm" ;
make[4]: Entering directory '/home/build/sdk/qsdk53/ipq806x/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/v4l-utils-1.6.2'
make all-recursive
make[5]: Entering directory '/home/build/sdk/qsdk53/ipq806x/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/v4l-utils-1.6.2'
Making all in lib
make[6]: Entering directory '/home/build/sdk/qsdk53/ipq806x/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/v4l-utils-1.6.2/lib'
Making all in libv4lconvert
make[7]: Entering directory '/home/build/sdk/qsdk53/ipq806x/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/v4l-utils-1.6.2/lib/libv4lconvert'
make[7]: Nothing to be done for 'all'.
make[7]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/v4l-utils-1.6.2/lib/libv4lconvert'
Making all in libv4l2
make[7]: Entering directory '/home/build/sdk/qsdk53/ipq806x/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/v4l-utils-1.6.2/lib/libv4l2'
make[7]: Nothing to be done for 'all'.
make[7]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/v4l-utils-1.6.2/lib/libv4l2'
Making all in libv4l1
make[7]: Entering directory '/home/build/sdk/qsdk53/ipq806x/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/v4l-utils-1.6.2/lib/libv4l1'
make[7]: Nothing to be done for 'all'.
make[7]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/v4l-utils-1.6.2/lib/libv4l1'
Making all in libv4l2rds
make[7]: Entering directory '/home/build/sdk/qsdk53/ipq806x/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/v4l-utils-1.6.2/lib/libv4l2rds'
make[7]: Nothing to be done for 'all'.
make[7]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/v4l-utils-1.6.2/lib/libv4l2rds'
Making all in libv4l-mplane
make[7]: Entering directory '/home/build/sdk/qsdk53/ipq806x/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/v4l-utils-1.6.2/lib/libv4l-mplane'
make[7]: Nothing to be done for 'all'.
make[7]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/v4l-utils-1.6.2/lib/libv4l-mplane'
Making all in libdvbv5
make[7]: Entering directory '/home/build/sdk/qsdk53/ipq806x/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/v4l-utils-1.6.2/lib/libdvbv5'
make[7]: Nothing to be done for 'all'.
make[7]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/v4l-utils-1.6.2/lib/libdvbv5'
make[7]: Entering directory '/home/build/sdk/qsdk53/ipq806x/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/v4l-utils-1.6.2/lib'
make[7]: Nothing to be done for 'all-am'.
make[7]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/v4l-utils-1.6.2/lib'
make[6]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/v4l-utils-1.6.2/lib'
Making all in utils
make[6]: Entering directory '/home/build/sdk/qsdk53/ipq806x/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/v4l-utils-1.6.2/utils'
Making all in dvb
make[7]: Entering directory '/home/build/sdk/qsdk53/ipq806x/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/v4l-utils-1.6.2/utils/dvb'
make[7]: Nothing to be done for 'all'.
make[7]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/v4l-utils-1.6.2/utils/dvb'
Making all in libv4l2util
make[7]: Entering directory '/home/build/sdk/qsdk53/ipq806x/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/v4l-utils-1.6.2/utils/libv4l2util'
make[7]: Nothing to be done for 'all'.
make[7]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/v4l-utils-1.6.2/utils/libv4l2util'
Making all in libmedia_dev
make[7]: Entering directory '/home/build/sdk/qsdk53/ipq806x/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/v4l-utils-1.6.2/utils/libmedia_dev'
make[7]: Nothing to be done for 'all'.
make[7]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/v4l-utils-1.6.2/utils/libmedia_dev'
Making all in decode_tm6000
make[7]: Entering directory '/home/build/sdk/qsdk53/ipq806x/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/v4l-utils-1.6.2/utils/decode_tm6000'
make[7]: Nothing to be done for 'all'.
make[7]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/v4l-utils-1.6.2/utils/decode_tm6000'
Making all in keytable
make[7]: Entering directory '/home/build/sdk/qsdk53/ipq806x/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/v4l-utils-1.6.2/utils/keytable'
make[7]: Nothing to be done for 'all'.
make[7]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/v4l-utils-1.6.2/utils/keytable'
Making all in media-ctl
make[7]: Entering directory '/home/build/sdk/qsdk53/ipq806x/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/v4l-utils-1.6.2/utils/media-ctl'
make[7]: Nothing to be done for 'all'.
make[7]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/v4l-utils-1.6.2/utils/media-ctl'
Making all in v4l2-compliance
make[7]: Entering directory '/home/build/sdk/qsdk53/ipq806x/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/v4l-utils-1.6.2/utils/v4l2-compliance'
make[7]: Nothing to be done for 'all'.
make[7]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/v4l-utils-1.6.2/utils/v4l2-compliance'
Making all in v4l2-ctl
make[7]: Entering directory '/home/build/sdk/qsdk53/ipq806x/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/v4l-utils-1.6.2/utils/v4l2-ctl'
depbase=`echo v4l2-ctl-streaming.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++-uc -DHAVE_CONFIG_H -I. -I../.. -I../../lib/include -Wall -Wpointer-arith -D_GNU_SOURCE -I../../include -I/home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/usr/include -I/home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/include -I/home/build/sdk/qsdk53/ipq806x/staging_dir/toolchain-arm_cortex-a7_gcc-4.8-linaro_uClibc-1.0.14_eabi/usr/include -I/home/build/sdk/qsdk53/ipq806x/staging_dir/toolchain-arm_cortex-a7_gcc-4.8-linaro_uClibc-1.0.14_eabi/include -I/home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/usr/lib/libiconv-stub/include -I/home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/usr/lib/libintl-stub/include -Os -pipe -march=armv7-a -mtune=cortex-a7 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -mfloat-abi=soft -Wl,-z,now -Wl,-z,relro -I/home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/usr/lib/libiconv-stub/include -I/home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/usr/lib/libintl-stub/include -fpic -std=gnu99 -MT v4l2-ctl-streaming.o -MD -MP -MF $depbase.Tpo -c -o v4l2-ctl-streaming.o v4l2-ctl-streaming.cpp &&\
mv -f $depbase.Tpo $depbase.Po
cc1plus: warning: command line option '-std=gnu99' is valid for C/ObjC but not for C++ [enabled by default]
v4l2-ctl-streaming.cpp: In function 'void setTimeStamp(v4l2_buffer&)':
v4l2-ctl-streaming.cpp:146:16: error: 'CLOCK_MONOTONIC' was not declared in this scope
clock_gettime(CLOCK_MONOTONIC, &ts);
^
v4l2-ctl-streaming.cpp:146:36: error: 'clock_gettime' was not declared in this scope
clock_gettime(CLOCK_MONOTONIC, &ts);
^
make[7]: *** [Makefile:555: v4l2-ctl-streaming.o] Error 1
make[7]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/v4l-utils-1.6.2/utils/v4l2-ctl'
make[6]: *** [Makefile:426: all-recursive] Error 1
make[6]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/v4l-utils-1.6.2/utils'
make[5]: *** [Makefile:534: all-recursive] Error 1
make[5]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/v4l-utils-1.6.2'
make[4]: *** [Makefile:462: all] Error 2
make[4]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/v4l-utils-1.6.2'
make[3]: *** [Makefile:115: /home/build/sdk/qsdk53/ipq806x/build_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/v4l-utils-1.6.2/.built] Error 2
make[3]: Leaving directory '/home/build/sdk/qsdk53/ipq806x/feeds/base/qca/feeds/packages/libs/libv4l'
make[2]: *** [package/Makefile:192: package/feeds/packages/libv4l/compile] Error 2
make[2]: Leaving directory '/home/build/sdk/qsdk53/ipq806x'
make[1]: *** [package/Makefile:188: /home/build/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/stamp/.package_compile] Error 2
make[1]: Leaving directory '/home/build/sdk/qsdk53/ipq806x'
make: *** [/home/build/sdk/qsdk53/ipq806x/include/toplevel.mk:181: world] Error 2
build@261c98522840:~$
Ok, so I started over with debian in AMD64 platform. I used Chat-GPT to help me figure out various errors, and I’m much closer than before, but this is the error I get now:
Chat-GPT thinks I don’t have the cross-compilation toolkit set up. I understand that B1300 is on ARMv7l, so I need to cross-compile, but I’m not sure how to go about that. It seems I need to find the right tool-chains. Are there any pre-built toolchains I can use? What am I missing?
firmware 3.105 is too old to load that ipk as the libc is not compatible.
If you upgrade to 3.216, I can help to compile the ipk.
If you upgrade to 4.x, that should be easy for you to compile as it’s based on open-source OpenWrt 21.02.
Thanks for your response. That makes sense. I haven’t upgraded from 3.105 because I’m concerned about mesh not working in newer version. I saw that 4.3.7 doesn’t support mesh, but I couldn’t tell for sure with 3.216. Can you please verify if mesh works on any newer firmware?
I tried to recompile with the new target ipq_ipq40xx-qsdk11. I’m stuck with issues with u_int8_t and u_int16_t not being defined. Below are the error messages I get. Any help would be appreciated!
make[5]: Entering directory '/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/build_dir/target-arm_cortex-a7_musl-1.1.16_eabi/sane-backends-1.0.25/tools'
arm-openwrt-linux-muslgnueabi-gcc -DHAVE_CONFIG_H -I. -I../include/sane -I. -I. -I../include -I../include -I/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include -I/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/include -I/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/toolchain-arm_cortex-a7_gcc-5.2.0_musl-1.1.16_eabi/usr/include -I/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/toolchain-arm_cortex-a7_gcc-5.2.0_musl-1.1.16_eabi/include -D_REENTRANT -DPATH_SANE_CONFIG_DIR=/etc/sane.d -DPATH_SANE_DATA_DIR=/usr/share -DPATH_SANE_LOCK_DIR=/var/lock/sane -DV_MAJOR=1 -DV_MINOR=0 -Os -pipe -march=armv7-a -mtune=cortex-a7 -fno-caller-saves -Wa,--noexecstack -fhonour-copts -mfloat-abi=soft -DIPQ40XX -fstack-protector -D_FORTIFY_SOURCE=2 -Wl,-z,now -Wl,-z,relro -W -Wall -ansi -MT check-usb-chip.o -MD -MP -MF .deps/check-usb-chip.Tpo -c -o check-usb-chip.o check-usb-chip.c
In file included from **check-usb-chip.c:42:0**:
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:81:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t bLength;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:82:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t bDescriptorType;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:87:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t bLength;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:88:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t bDescriptorType;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:89:2:** **error:** unknown type name '**u_int16_t**'
u_int16_t wData[1];
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:94:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t bLength;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:95:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t bDescriptorType;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:96:2:** **error:** unknown type name '**u_int16_t**'
u_int16_t bcdHID;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:97:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t bCountryCode;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:98:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t bNumDescriptors;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:107:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t bLength;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:108:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t bDescriptorType;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:109:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t bEndpointAddress;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:110:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t bmAttributes;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:111:2:** **error:** unknown type name '**u_int16_t**'
u_int16_t wMaxPacketSize;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:112:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t bInterval;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:113:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t bRefresh;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:114:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t bSynchAddress;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:132:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t bLength;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:133:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t bDescriptorType;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:134:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t bInterfaceNumber;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:135:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t bAlternateSetting;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:136:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t bNumEndpoints;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:137:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t bInterfaceClass;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:138:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t bInterfaceSubClass;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:139:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t bInterfaceProtocol;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:140:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t iInterface;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:158:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t bLength;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:159:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t bDescriptorType;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:160:2:** **error:** unknown type name '**u_int16_t**'
u_int16_t wTotalLength;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:161:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t bNumInterfaces;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:162:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t bConfigurationValue;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:163:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t iConfiguration;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:164:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t bmAttributes;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:165:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t MaxPower;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:175:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t bLength;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:176:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t bDescriptorType;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:177:2:** **error:** unknown type name '**u_int16_t**'
u_int16_t bcdUSB;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:178:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t bDeviceClass;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:179:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t bDeviceSubClass;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:180:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t bDeviceProtocol;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:181:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t bMaxPacketSize0;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:182:2:** **error:** unknown type name '**u_int16_t**'
u_int16_t idVendor;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:183:2:** **error:** unknown type name '**u_int16_t**'
u_int16_t idProduct;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:184:2:** **error:** unknown type name '**u_int16_t**'
u_int16_t bcdDevice;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:185:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t iManufacturer;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:186:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t iProduct;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:187:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t iSerialNumber;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:188:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t bNumConfigurations;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:192:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t bRequestType;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:193:2:** **error:** unknown type name '**u_int8_t**'
u_int8_t bRequest;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:194:2:** **error:** unknown type name '**u_int16_t**'
u_int16_t wValue;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:195:2:** **error:** unknown type name '**u_int16_t**'
u_int16_t wIndex;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:196:2:** **error:** unknown type name '**u_int16_t**'
u_int16_t wLength;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:257:3:** **error:** unknown type name '**u_int8_t**'
u_int8_t devnum;
**^**
**/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/staging_dir/target-arm_cortex-a7_musl-1.1.16_eabi/usr/include/usb.h:269:3:** **error:** unknown type name '**u_int32_t**'
u_int32_t location;
**^**
make[5]: *** [Makefile:604: check-usb-chip.o] Error 1
make[5]: Leaving directory '/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/build_dir/target-arm_cortex-a7_musl-1.1.16_eabi/sane-backends-1.0.25/tools'
make[4]: *** [Makefile:442: all] Error 2
make[4]: Leaving directory '/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/build_dir/target-arm_cortex-a7_musl-1.1.16_eabi/sane-backends-1.0.25/tools'
make[3]: *** [Makefile:524: all-recursive] Error 1
make[3]: Leaving directory '/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/build_dir/target-arm_cortex-a7_musl-1.1.16_eabi/sane-backends-1.0.25'
make[2]: *** [Makefile:264: /home/build/sdk/sdk/qsdk11/ipq_ipq40xx/build_dir/target-arm_cortex-a7_musl-1.1.16_eabi/sane-backends-1.0.25/.built] Error 2
make[2]: Leaving directory '/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/feeds/base/qca/feeds/packages/utils/sane-backends'
make[1]: *** [package/Makefile:192: package/feeds/packages/sane-backends/compile] Error 2
make[1]: Leaving directory '/home/build/sdk/sdk/qsdk11/ipq_ipq40xx'
make: *** [/home/build/sdk/sdk/qsdk11/ipq_ipq40xx/include/toplevel.mk:181: package/airsaned/compile] Error 2
The process i built it is to substitute the old packages by packages from OpenWrt 18.06
What I substitute are these(from history command):
2479 cp -a /home/han/base-repo/packages/utils/sane-backends/ .
2495 cp -a /home/han/base-repo/packages/libs/libpng .
2508 cp -a /home/han/base-repo/openwrt/package/libs/libusb .
As I failed to find the software git repo, I didn’t sync it to glinet ipk repo.
I had just gotten past the u_int8_t error by replacing the sane-backends package with the latest version from debian, and was trying to figure out the problem with libpng until I got too tired for the day. Of course, I had no idea if I had used the correct version of sane-backends or if I replaced it correctly, and I probably would have never figured out that I would need the packages from OpenWrt 18.06.
I will let you know after I’ve upgraded the firmware to 3.216 and installed the packages. Thanks again!
I finally upgraded both routers to 3.216. I had to factory reset both of them because I couldn’t get the mesh to work. But now they are working again.
When I tried to reinstall libsane, sane-daemon, and sane-pixma, none of them are available in the default repository now. Do I need to compile them for qsdk11?
Also, I don’t know if it matters, but when I opened Luci on the new firmware, the firmware version is “OpenWrt Chaos Calmer 15.05.1 e7067e3+r49254 / LuCI Master (git-20.356.08465-e96d522)” I know you compiled with packages from OpenWrt 18.06, so I wasn’t sure if that would cause any issues. What do you think?
Thanks for your reply.
According to this instruction on openwork.org,
I need to install kmod-usb-printer, xinetd, sane-daemon, and a scanner specific backend (sane-pixma for my case).
I was able to install kmod-usb-printer from the default sources, but not sure how to get xinetd, sane-daemon, and sane-pixma. The last two was available in the sources for the previous firmware.
I just uploaded the sane series of ipk in software repo. You can install them by opkg update & opkg install.
The instruction says you can Start saned without xinetd.
So it seems I need to have the printer/scanner turned on and connected before turning on the router in order for sane/AirSane to work. Is there something I can do to make it refresh sane/AirSane when the printer/scanner is plugged in?
If I restart airsaned with the scanner connected and powered on, it works immediately, so it must be something to do with airsaned not detecting newly plugged in device. Is there a way to automate restarting airsaned when a USB device is plugged in or powered on?
Sorry, I didn’t have a scanner/printer to test this. Have you ever tried a working arisaned on another platform.
Maybe we need to upgrade the sane-backend or start certain watching services.
Thanks for the response. I don’t have another platform to test airsaned on. How can I upgrade the sane-backend?
Currently I just manually restart airsaned from luci and the scanner is immediately recognized. How can I set up a watching service to trigger airsaned restart when USB device is detected?
ChatGPT to the rescue again. It helped me create a script using the built-in Hotplug function. In case anyone else wants to replicate this, here are the steps:
SSH in to the router
Create a script: vi /etc/hotplug.d/usb/99-airsaned
Press i to enter insert mode
Copy and paste the following script
#!/bin/sh
case "$ACTION" in
add)
# A USB device was connected
logger "USB device detected: $DEVICE"
# Restart airsaned (change the path if needed)
/etc/init.d/airsaned restart
;;
remove)
# A USB device was removed
logger "USB device removed: $DEVICE"
;;
esac
exit 0
Press Esc and type :wq and Enter to save and exit.
Make the script executable with this command: chmod +x /etc/hotplug.d/usb/99-airsaned
Verify the script: ls -l /etc/hotplug.d/usb/99-airsaned
The output should look like this: -rwxr-xr-x 1 root root 341 Dec 7 20:53 /etc/hotplug.d/usb/99-airsaned
That’s it! Now airsaned restarts as soon as the scanner is turned on, and it is immediately recognized on the network.