Compiling AirSane for B1300

Hello.

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.

and end with the error message:

make: *** [/home/build/sdk/qsdk53/ipq806x/include/toplevel.mk:181: package/airsaned/compile] Error 2

I don’t really understand what’s happening. If anyone can help me figure out what I’m doing wrong, I would really appreciate it.

Here is the terminal readout in case it is helpful:

docker run -it --platform=linux/amd64 crallen/gl-inet-sdk

build@261c98522840:~$ ls

**builder.sh** **download.sh** **sdk**

build@261c98522840:~$ cd sdk

build@261c98522840:~/sdk$ cd ..

build@261c98522840:~$ ./download.sh ipq806x-qsdk53

Download ipq806x-qsdk53 SDK

Cloning into 'sdk/qsdk53/ipq806x'...

remote: Enumerating objects: 49572, done.

remote: Counting objects: 100% (1943/1943), done.

remote: Compressing objects: 100% (1508/1508), done.

remote: Total 49572 (delta 337), reused 1661 (delta 266), pack-reused 47629

Receiving objects: 100% (49572/49572), 365.85 MiB | 5.27 MiB/s, done.

Resolving deltas: 100% (10335/10335), done.

Checking out files: 100% (34161/34161), done.

build@261c98522840:~$ ls

**builder.sh** **download.sh** **sdk**

build@261c98522840:~$ cd sdk/qsdk53/ipq806x

build@261c98522840:~/sdk/qsdk53/ipq806x$ ls

Config-build.in README.SDK **include** rules.mk

Config.in **build_dir** **package** **scripts**

LICENSE **docs** prepare.mk **staging_dir**

Makefile feeds.conf.default **qca** **target**

build@261c98522840:~/sdk/qsdk53/ipq806x$ echo "src-git airsaned https://github.com/tbaela/AirSane-openwrt.git" >> feeds.conf.default

build@261c98522840:~/sdk/qsdk53/ipq806x$ ./scripts/feeds update base packages airsaned && make defconfig && ./scripts/feeds install airsaned

Argument "4.2.1" isn't numeric in numeric ge (>=) at ./scripts/feeds line 25.

Updating feed 'base' from 'https://github.com/gl-inet-builder/qsdk53_open.git' ...

Cloning into './feeds/base'...

remote: Enumerating objects: 87516, done.

remote: Counting objects: 100% (87516/87516), done.

remote: Compressing objects: 100% (72059/72059), done.

remote: Total 87516 (delta 11887), reused 87369 (delta 11878), pack-reused 0

Receiving objects: 100% (87516/87516), 194.34 MiB | 4.91 MiB/s, done.

Resolving deltas: 100% (11887/11887), done.

Checking out files: 100% (86699/86699), done.

Create index file './feeds/base.index'

Collecting package info: done

Collecting target info: done

Updating feed 'packages' from '../feeds/base/qca/feeds/packages' ...

Create index file './feeds/packages.index'

Collecting package info: done

Collecting target info: done

Updating feed 'airsaned' from 'https://github.com/tbaela/AirSane-openwrt.git' ...

Cloning into './feeds/airsaned'...

remote: Enumerating objects: 15, done.

remote: Counting objects: 100% (15/15), done.

remote: Compressing objects: 100% (11/11), done.

remote: Total 15 (delta 0), reused 10 (delta 0), pack-reused 0

Unpacking objects: 100% (15/15), done.

Create index file './feeds/airsaned.index'

Collecting package info: done

Collecting target info: done

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.

#

# configuration written to .config

#

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.

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.

Ignoring feed 'gli_pub' - index missing

Ignoring feed 'networking' - index missing

Ignoring feed 'luci' - index missing

Ignoring feed 'routing' - index missing

Ignoring feed 'nss_host' - index missing

Ignoring feed 'wlan_open' - index missing

Ignoring feed 'alljoyn' - index missing

Ignoring feed 'qca' - index missing

Ignoring feed 'athdiag' - index missing

Ignoring feed 'shortcut_fe' - index missing

Ignoring feed 'qca_mcs' - index missing

Ignoring feed 'qca_lib' - index missing

Ignoring feed 'ieee1905_security' - index missing

Ignoring feed 'hyfi' - index missing

Ignoring feed 'whc' - index missing

Ignoring feed 'weave' - index missing

Ignoring feed 'bluetopia' - index missing

Ignoring feed 'ssdk' - index missing

Installing package 'airsaned'

Installing package 'toolchain'

Installing package 'sane-backends'

Installing package 'libusb-compat'

Installing package 'libusb'

Installing package 'libjpeg'

Installing package 'libtool'

Installing package 'tiff'

Installing package 'zlib'

Installing package 'uclibc++'

Installing package 'libv4l'

Installing package 'libiconv-full'

Installing package 'argp-standalone'

Installing package 'libiconv'

Installing package 'gettext'

Installing package 'libpng'

Installing package 'avahi'

Installing package 'expat'

Installing package 'libdaemon'

Installing package 'gdbm'

Installing package 'intltool'

Installing package 'dbus'

build@261c98522840:~/sdk/qsdk53/ipq806x$ ls

Config-build.in LICENSE README.SDK **docs** feeds.conf.default **package** **qca** **scripts** **target**

Config.in Makefile **build_dir** **feeds** **include** prepare.mk rules.mk **staging_dir** **tmp**

build@261c98522840:~/sdk/qsdk53/ipq806x$ cd package

build@261c98522840:~/sdk/qsdk53/ipq806x/package$ ls

Makefile **feeds**

build@261c98522840:~/sdk/qsdk53/ipq806x/package$ cd feeds

build@261c98522840:~/sdk/qsdk53/ipq806x/package/feeds$ ls

**airsaned** **base** **packages**

build@261c98522840:~/sdk/qsdk53/ipq806x/package/feeds$ cd airsaned

build@261c98522840:~/sdk/qsdk53/ipq806x/package/feeds/airsaned$ ls

**airsaned**

build@261c98522840:~/sdk/qsdk53/ipq806x/package/feeds/airsaned$ cd

build@261c98522840:~$ ls

**builder.sh** **download.sh** **sdk**

build@261c98522840:~$ ./builder.sh -d sdk/qsdk53/ipq806x/package/feeds/airsaned -t ipq806x-qsdk53

Argument "4.2.1" isn't numeric in numeric ge (>=) at /home/build/sdk/qsdk53/ipq806x/scripts/feeds line 25.

Collecting package info: done

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.

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] world

make[2] package/compile

make[3] -C feeds/base/package/libs/toolchain compile

make[3] -C feeds/base/package/libs/libusb compile

make[3] -C feeds/base/qca/feeds/packages/libs/expat compile

make[3] -C feeds/base/qca/feeds/packages/utils/dbus compile

make[3] -C feeds/base/qca/feeds/packages/libs/gdbm compile

make[3] -C feeds/base/qca/feeds/packages/libs/intltool host-compile

make[3] -C feeds/base/qca/feeds/packages/libs/libdaemon compile

make[3] -C feeds/base/qca/feeds/packages/libs/avahi compile

make[3] -C feeds/base/qca/feeds/packages/libs/avahi compile

make[3] -C feeds/base/qca/feeds/packages/libs/avahi compile

make[3] -C feeds/base/qca/feeds/packages/libs/avahi compile

make[3] -C feeds/base/qca/feeds/packages/libs/avahi compile

make[3] -C feeds/base/qca/feeds/packages/libs/avahi compile

make[3] -C feeds/base/qca/feeds/packages/libs/avahi compile

make[3] -C feeds/base/package/libs/libtool compile

make[3] -C feeds/base/qca/feeds/packages/libs/libjpeg compile

make[3] -C feeds/base/package/libs/zlib compile

make[3] -C feeds/base/qca/feeds/packages/libs/libpng compile

make[3] -C feeds/base/package/libs/libusb-compat compile

make[3] -C feeds/base/package/libs/argp-standalone compile

make[3] -C feeds/base/package/libs/gettext compile

make[3] -C feeds/base/package/libs/libiconv compile

make[3] -C feeds/base/package/libs/uclibc++ compile

make[3] -C feeds/base/qca/feeds/packages/libs/libv4l compile

make -r world: build failed. Please re-run make with -j1 V=s to see what's going on

make: *** [/home/build/sdk/qsdk53/ipq806x/include/toplevel.mk:181: world] Error 1


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:

Package airsaned is missing dependencies for the following libraries:

libc.so.6

libjpeg.so.62

libm.so.6

libpng16.so.16

make[3]: *** [Makefile:59: /home/username/sdk/sdk/qsdk53/ipq806x/bin/packages/ipq806x/airsaned/airsaned_2023-06-03-0099781-1_ipq806x.ipk] Error 1

make[3]: Leaving directory '/home/username/sdk/sdk/qsdk53/ipq806x/feeds/airsaned/airsaned'

make[2]: *** [package/Makefile:192: package/feeds/airsaned/airsaned/compile] Error 2

make[2]: Leaving directory '/home/username/sdk/sdk/qsdk53/ipq806x'

make[1]: *** [package/Makefile:188: /home/username/sdk/sdk/qsdk53/ipq806x/staging_dir/target-arm_cortex-a7_uClibc-1.0.14_eabi/stamp/.package_compile] Error 2

make[1]: Leaving directory '/home/username/sdk/sdk/qsdk53/ipq806x'

make: *** [/home/username/sdk/sdk/qsdk53/ipq806x/include/toplevel.mk:181: world] Error 2

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?

After some searching, sounds like mesh is working on 3.2x. I’ll upgrade and try again. Thanks!

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

I compiled airsaned and uploaded the needed ipk.
airsane_ipk.zip (192.3 KB)

upload to /tmp/ directory install them by command:

opkg update
opkg install /tmp/libsane_1.0.27-1_ipq.ipk
opkg install /tmp/airsaned_2023-11-26-1eb3f1b-1_ipq.ipk

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.

1 Like

Oh wow, thank you so much! :smiley:

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. :man_facepalming:

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?

I only install two ipk. But I’m not sure if it’s enough.

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.

1 Like

Thank you!! I installed sane-daemon and sane-pixma and it works!! Thank you so much!!

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.

1 Like