PiAwareパッケージ手動ビルド (1) tcl-tlsパッケージ
fsck を終えて作業を再開しますが、バッチスクリプトの中身を読み、少しずつ手作業で確実に進める手法へ路線変更します。先ずはビルドに必要なツール類のインストールを --reinstall オプション付で強制再インストールさせます。
1 2 3 4 5 |
$ sudo apt install --reinstall git $ sudo apt install --reinstall build-essential $ sudo apt install --reinstall debhelper $ sudo apt install --reinstall pkg-config $ sudo apt install --reinstall dh-systemd |
続いて、tcl-tlsパッケージのビルドに必要な依存パッケージ類を同様に強制再インストール。
1 2 3 4 5 |
$ sudo apt install --reinstall libssl-dev tcl-dev chrpath - 略 - Setting up libssl-dev:armhf (1.1.1d-0+deb10u7) ... Setting up tcl-dev:armhf (8.6.9+1) ... Setting up chrpath (0.16-2) ...Processing triggers for man-db (2.8.5-2) ... |
そして適当な作業フォルダを作成し、その中でPiAware向けのtcl-tlsパッケージを git clone でソース取得の上、パッケージビルドします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
$ mkdir Flightaware $ cd Flightaware $ git clone https://github.com/flightaware/tcltls-rebuild $ cd tcltls-rebuild/ $ git fetch --all $ git reset --hard origin/dev $ ./prepare-build.sh buster $ cd package-buster/ $ sudo dpkg-buildpackage -b --no-sign dpkg-buildpackage: info: source package tcltls dpkg-buildpackage: info: source version 1.7.16-1+fa1 dpkg-buildpackage: info: source distribution stable dpkg-buildpackage: info: source changed by Oliver Jowett <oliver.jowett@flightaware.com> dpkg-buildpackage: info: host architecture armhf - 略 - tlsIO.test ==== tlsIO-2.1 tcp connection FAILED - 略 - ---- Result was: unable to set certificate file /home/pi/Flightaware/tcltls-rebuild/package-buster/tests/certs/client.pem: ee key too small timed_out ---- Result should have been (exact matching): ready done {} ==== tlsIO-2.1 FAILED |
途中の通信試験で失敗が検出される問題は、OpenSSLのTLSセキュリティレベルを少し下げることで通ってくれるのだそうです。
1 2 3 4 5 |
$ sudo nano /etc/ssl/openssl.cnf [system_default_sect] MinProtocol = TLSv1.2 #CipherString = DEFAULT@SECLEVEL=2 CipherString = DEFAULT@SECLEVEL=1 |
再トライでは通信試験は通過しましたが、その先でまたエラーです。
1 2 3 |
Segmentation fault dh_fixperms: error: find debian/tcl-tls -true -print0 2>/dev/null | xargs -0r chown --no-dereference 0:0 returned exit code 139 dh_fixperms: error: Aborting due to earlier error |
Segmentation faultを吐いていたのは xargs であったので、これを含むfindutilsパッケージを再インストールすると、エラーは解消しました。
1 2 3 4 5 |
$ apt search xarg Full Text Search... Done findutils/oldstable,now 4.6.0+git+20190209-2 armhf [installed] utilities for finding files--find, xargs $ sudo apt install --reinstall findutils |
こうしてパッケージビルドはようやく完走したので、出来上がったdebファイルをインストールします。
1 2 3 4 5 6 7 8 |
$ cd ../ $ ls -la tcl-tls_*.deb -rw-r--r-- 1 root root 106228 Nov 29 11:43 tcl-tls-dbgsym_1.7.16-1+fa1_armhf.deb $ sudo dpkg -i tcl-tls_*.deb (Reading database ... 74288 files and directories currently installed.) Preparing to unpack tcl-tls_1.7.16-1+fa1_armhf.deb ... Unpacking tcl-tls:armhf (1.7.16-1+fa1) over (1.7.16-1+fa1) ... Setting up tcl-tls:armhf (1.7.16-1+fa1) ... |
PiAwareパッケージ手動ビルド (2) piawareパッケージ
ここでもまずは、必要な依存パッケージの再インストールから。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
$ sudo apt install --reinstall python3-dev python3-venv 0 upgraded, 0 newly installed, 2 reinstalled, 0 to remove and 0 not upgraded. Setting up python3-venv (3.7.3-1) ... Setting up python3-dev (3.7.3-1) ... $ sudo apt install --reinstall libboost-system-dev libboost-program-options-dev libboost-regex-dev libboost-filesystem-dev 0 upgraded, 0 newly installed, 4 reinstalled, 0 to remove and 0 not upgraded. Setting up libboost-system-dev:armhf (1.67.0.1+b1) ... Setting up libboost-program-options-dev:armhf (1.67.0.1+b1) ... Setting up libboost-regex-dev:armhf (1.67.0.1+b1) ... Setting up libboost-filesystem-dev:armhf (1.67.0.1+b1) ... $ sudo apt install --reinstall net-tools tclx8.4 tcllib itcl3 0 upgraded, 0 newly installed, 4 reinstalled, 0 to remove and 0 not upgraded. Setting up net-tools (1.60+git20180626.aebd88e-1) ... Setting up itcl3:armhf (3.4.3-3) ... Setting up tcllib (1.19-dfsg-2) ... Setting up tclx8.4 (8.4.1-3) ... |
作業フォルダのトップへ戻り、piaware_builderパッケージを git clone でソース取得の上、パッケージビルドします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
$ cd .. $ git clone https://github.com/flightaware/piaware_builder $ cd piaware_builder/ $ git fetch --all $ git reset --hard origin/master HEAD is now at ce13e99 Point sensible-build to v6.1 $ sudo ./sensible-build.sh buster Retrieving v6.1 from https://github.com/flightaware/piaware.git Retrieving v1.8 from https://github.com/flightaware/tcllauncher.git Retrieving v6.1 from https://github.com/flightaware/dump1090.git Retrieving v0.2.11 from https://github.com/mutability/mlat-client.git Retrieving v6.1 from https://github.com/flightaware/dump978.git Retrieving cxfreez Ok, package is ready to be built in ./package-buster run 'dpkg-buildpackage -b' there (or move it to a Pi and do so there, or use pbuilder, etc) $ cd package-buster/ $ ls -l drwxrwxr-x 6 root root 4096 Aug 30 2019 cx_Freeze-6.0 drwxr-xr-x 4 root root 4096 Nov 29 11:49 debian drwxr-xr-x 16 root root 4096 Nov 29 11:48 dump1090 drwxr-xr-x 7 root root 4096 Nov 29 11:49 dump978 drwxr-xr-x 7 root root 4096 Nov 29 11:49 mlat-client drwxr-xr-x 8 root root 4096 Nov 29 11:47 piaware drwxr-xr-x 6 root root 4096 Nov 29 11:47 tcllauncher $ sudo sed -i 's/dh-systemd,//' debian/control $ sudo dpkg-buildpackage -b --no-sign dpkg-buildpackage: info: source package piaware dpkg-buildpackage: info: source version 6.1 dpkg-buildpackage: info: source distribution stable dpkg-buildpackage: info: source changed by Oliver Jowett <oliver.jowett@flightaware.com> dpkg-buildpackage: info: host architecture armhf - 略 - /usr/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp:15:2: error: invalid preprocessing directive #dafine; did you mean #define? /usr/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp:18:1: error: stray ‘\243’ in program #if eefined(BOOST_TT_PREPROCESSING_mODE) - 略 - compilation terminated. make[2]: *** [<builtin>: faup978_main.o] Error 1 make[2]: Leaving directory '/home/pi/Flightaware/piaware_builder/package-buster/dump978' make[1]: *** [debian/rules:54: build_dump978] Error 2 make[1]: Leaving directory '/home/pi/Flightaware/piaware_builder/package-buster' make: *** [debian/rules:95: build] Error 2 dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 |
指摘されたboost系のファイルに文字化け破損が複数目視されたので、まだ再インストールしていないboost系パッケージがないか探し、 libboost1.67-dev を上書き再インストールすることで、当該ファイルの文字化けは解消しました。。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
$ sudo apt search libboost | grep installed libboost-filesystem-dev/oldstable,now 1.67.0.1+b1 armhf [installed] libboost-filesystem1.62.0/oldstable,now 1.62.0+dfsg-10+b3 armhf [installed] libboost-filesystem1.67-dev/oldstable,now 1.67.0-13+deb10u1 armhf [installed,automatic] libboost-filesystem1.67.0/oldstable,now 1.67.0-13+deb10u1 armhf [installed,automatic] libboost-iostreams1.58.0/oldstable,now 1.58.0+dfsg-5.1+rpi1+b4 armhf [installed] libboost-iostreams1.60.0/now 1.60.0+dfsg-6+b2 armhf [installed,local] libboost-iostreams1.62.0/oldstable,now 1.62.0+dfsg-10+b3 armhf [installed] libboost-iostreams1.67.0/oldstable,now 1.67.0-13+deb10u1 armhf [installed,automatic] libboost-program-options-dev/oldstable,now 1.67.0.1+b1 armhf [installed] libboost-program-options1.67-dev/oldstable,now 1.67.0-13+deb10u1 armhf [installed,automatic] libboost-program-options1.67.0/oldstable,now 1.67.0-13+deb10u1 armhf [installed,automatic] libboost-regex-dev/oldstable,now 1.67.0.1+b1 armhf [installed] libboost-regex1.67-dev/oldstable,now 1.67.0-13+deb10u1 armhf [installed,automatic] libboost-regex1.67.0/oldstable,now 1.67.0-13+deb10u1 armhf [installed,automatic] libboost-system-dev/oldstable,now 1.67.0.1+b1 armhf [installed] libboost-system1.62.0/oldstable,now 1.62.0+dfsg-10+b3 armhf [installed] libboost-system1.67-dev/oldstable,now 1.67.0-13+deb10u1 armhf [installed,automatic] libboost-system1.67.0/oldstable,now 1.67.0-13+deb10u1 armhf [installed,automatic] libboost1.67-dev/oldstable,now 1.67.0-13+deb10u1 armhf [installed,automatic] $ sudo apt install --reinstall libboost1.67-dev 0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 3 not upgraded. Setting up libboost1.67-dev:armhf (1.67.0-13+deb10u1) ... |
とにかくこのパッケージビルドは重い処理なので、ハングしてしまったらデバイスを強制再起動して再実行するしかありません。それももう少しで完走ということろでまたもや文字化けエラー検知です。
1 2 3 4 5 |
dpkg-shlibdeps: warning: failed to parse line in /var/lib/dpkg/info/libtcl8.6:armhf.symbols: Tcl_BadChannelOptioj@Base(8.6.0 dpkg-shlibdeps: warning: failed to parse line in /var/lib/dpkg/info/libtcl8.6:armhf.symbols: Tcl_DictObjRemoveKeyList@Base#8.6.0 dpkg-shlibdeps: warning: failed to parse line in /var/lib/dpkg/info/libtcl8.6:armhf.symbols: Tcl_FSJoinPath@Base`8.6.0 dpkg-shlibdeps: error: 8.6&0 is not a valid version dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 |
これは、libtcl8.6の上書き再インストールで解決しました。
1 2 3 |
$ sudo apt install --reinstall libtcl8.6 0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 3 not upgraded. Setting up libtcl8.6:armhf (8.6.9+dfsg-2) ...Processing triggers for libc-bin (2.28-10+rpt2+rpi1) ... |
これで長い長いパッケージビルドが完走したので、出来上がったdebファイルをインストールします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
$ VER=$(grep "Version:" debian/piaware/DEBIAN/control | sed 's/^Version: //') $ echo $VER 6.1 $ cd .. $ ls -l drwxr-xr-x 3 pi pi 4096 Nov 29 11:46 buster -rw-r--r-- 1 pi pi 35891 Nov 29 11:46 changelog drwxr-xr-x 3 pi pi 4096 Nov 29 11:46 common -rw-r--r-- 1 pi pi 1726 Nov 29 11:46 Jenkinsfile drwxr-xr-x 3 pi pi 4096 Nov 29 11:46 jessie drwxr-xr-x 9 root root 4096 Nov 29 11:49 package-buster -rw-r--r-- 1 root root 6967 Nov 29 15:42 piaware_6.1_armhf.buildinfo -rw-r--r-- 1 root root 1277 Nov 29 15:42 piaware_6.1_armhf.changes -rw-r--r-- 1 root root 3004028 Nov 29 15:42 piaware_6.1_armhf.deb -rw-r--r-- 1 root root 2933680 Nov 29 15:42 piaware-dbgsym_6.1_armhf.deb -rw-r--r-- 1 pi pi 2862 Nov 29 11:46 README.md -rwxr-xr-x 1 pi pi 3828 Nov 29 11:46 sensible-build.sh drwxr-xr-x 3 pi pi 4096 Nov 29 11:46 stretch $ sudo dpkg -i piaware_6.1_*.deb Selecting previously unselected package piaware. (Reading database ... 74283 files and directories currently installed.) Preparing to unpack piaware_6.1_armhf.deb ... Unpacking piaware (6.1) ... Setting up piaware (6.1) ... Created symlink /etc/systemd/system/default.target.wants/piaware.service → /lib/systemd/system/piaware.service. Created symlink /etc/systemd/system/piaware.service.wants/generate-pirehose-cert.service → /lib/systemd/system/generate-pirehose-cert.service. Processing triggers for libc-bin (2.28-10+rpt2+rpi1) ... Processing triggers for systemd (241-7~deb10u8+rpi1) ...Processing triggers for rsyslog (8.1901.0-1) ... Processing triggers for man-db (2.8.5-2) ... |
dump1090-faパッケージ手動ビルド
続いてもう1つ、FlightAware版のdump1090パッケージも同様に、バッチスクリプトを手動でなぞりながらパッケージビルドの上、インストールします。ビルド関連ツールは既に再インストール済なので、依存パッケージの再インストールから取り掛かります。
1 2 3 4 5 6 7 8 9 |
$ sudo apt install --reinstall librtlsdr-dev libncurses5-dev libbladerf-dev libhackrf-dev liblimesuite-dev Setting up librtlsdr-dev (0.6-1+rpt1) ... Setting up libncurses5-dev:armhf (6.1+20181013-2+deb10u2) ... Setting up libbladerf-dev:armhf (2018.07~fa) ... Setting up liblimesuite18.06-1:armhf (18.06.0+dfsg-1+b1) ... Setting up libhackrf0:armhf (2018.01.1-2) ... Setting up limesuite-udev (18.06.0+dfsg-1) ... Setting up libhackrf-dev (2018.01.1-2) ... Setting up liblimesuite-dev:armhf (18.06.0+dfsg-1+b1) ... |
作業フォルダのトップへ戻り、dump1090パッケージを git clone でソース取得の上、パッケージビルドします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
$ cd .. $ git clone https://github.com/flightaware/dump1090 $ cd dump1090/ $ git fetch --all $ git reset --hard origin/master HEAD is now at 752a7ae No-change 6.1 release for PiAware 6.1 $ sudo sed -i 's/dh-systemd,//' debian/control $ sudo dpkg-buildpackage -b --no-sign dpkg-buildpackage: info: source package dump1090-fa dpkg-buildpackage: info: source version 6.1 dpkg-buildpackage: info: source distribution stable dpkg-buildpackage: info: source changed by Oliver Jowett <oliver.jowett@flightaware.com> dpkg-buildpackage: info: host architecture armhf - 略 - |
これもかなり長い間待たされますが、warningは出力されるもののエラー無く完走しました。出来上がったdebファイルをインストールします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
$ VER=$(grep "Version:" debian/dump1090-fa/DEBIAN/control | sed 's/^Version: //') $ echo $VER 6.1 $ cd .. $ ls -l drwxr-xr-x 16 pi pi 4096 Nov 29 16:21 dump1090 -rw-r--r-- 1 root root 5683 Nov 29 16:36 dump1090-fa_6.1_armhf.buildinfo -rw-r--r-- 1 root root 1314 Nov 29 16:36 dump1090-fa_6.1_armhf.changes -rw-r--r-- 1 root root 5252456 Nov 29 16:35 dump1090-fa_6.1_armhf.deb -rw-r--r-- 1 root root 789500 Nov 29 16:35 dump1090-fa-dbgsym_6.1_armhf.deb drwxr-xr-x 8 pi pi 4096 Nov 29 15:42 piaware_builder drwxr-xr-x 5 pi pi 4096 Nov 29 11:46 tcltls-rebuild $ sudo dpkg -i dump1090-fa_6.1_*.deb Selecting previously unselected package dump1090-fa. (Reading database ... 74670 files and directories currently installed.) Preparing to unpack dump1090-fa_6.1_armhf.deb ... Unpacking dump1090-fa (6.1) ... Setting up dump1090-fa (6.1) ...The user `dump1090' is already a member of `plugdev'. Enabling lighttpd integration.. Enabling dump1090-fa: ok Run "service lighttpd force-reload" to enable changes Enabling lighttpd integration (stat cache).. Enabling dump1090-fa-statcache: ok Run "service lighttpd force-reload" to enable changes Enabling lighttpd skyaware module.. already enabled Run "service lighttpd force-reload" to enable changes Restarting lighttpd.. Created symlink /etc/systemd/system/default.target.wants/dump1090-fa.service → /lib/systemd/system/dump1090-fa.service. |
フィーダーIDを設定して復元
こうしてPiAwareシステムは復元されました。ステータスを確認してみると、フィーダーIDが変わってしまったので、マイADB-Sページに表示されている「Unique Identifier」をコピーしてから、本来のID値を piaware-config コマンドでPiAwareへ渡します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
$ piaware-status PiAware master process (piaware) is running with pid 301. PiAware ADS-B client (faup1090) is running with pid 620. PiAware ADS-B UAT client (faup978) is not running (disabled by configuration settings) PiAware mlat client (fa-mlat-client) is not running. Local ADS-B receiver (dump1090-fa) is running with pid 290. dump1090-fa (pid 290) is listening for ES connections on port 30005. faup1090 is connected to the ADS-B receiver. piaware is connected to FlightAware. dump1090 is NOT producing data on localhost:30005. Your feeder ID is xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (from /var/cache/piaware/feeder_id) $ sudo piaware-config feeder-id zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz Set feeder-id to zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz in /etc/piaware.conf:7 $ sudo systemctl restart piaware |
しばらく稼働させてから、FlightAwareのマイADS-Bページを再び確認すると、数日ぶりにオンライン状態へ復帰しました。
昨今の疫情により、ここ香港でも航空機の往来が激減しており、ご覧のようにSkyAwareによる受信状況の確認もなかなか難しい状況です。
アダプティブゲインの効能
PiAware 6の最大の変更点であるこのアダプティブゲインは、レシーバの利得をダイナミックに可変しようという機能らしいのですが、まだまだ皆さん攻めあぐねているのか、「どうすればいいのかわからない」状態と言うのが正直なところかもしれません。
デフォルトでは無効になっているので、パッケージ版PiAwareでは以下の要領で設定ファイルを編集後、サービスを再起動して反映させます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
$ sudo nano /etc/default/dump1090-fa ADAPTIVE_DYNAMIC_RANGE=yes $ sudo systemctl restart dump1090-fa $ sudo systemctl status dump1090-fa ● dump1090-fa.service - dump1090 ADS-B receiver (FlightAware customization) Loaded: loaded (/lib/systemd/system/dump1090-fa.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2021-12-06 13:39:55 HKT; 42min ago Docs: https://flightaware.com/adsb/piaware/ Main PID: 292 (dump1090-fa) Tasks: 3 (limit: 953) CGroup: /system.slice/dump1090-fa.service └─292 /usr/bin/dump1090-fa --quiet --device-type rtlsdr --gain 60 --adaptive-range --adaptive-duty-cycle 1 Dec 05 13:39:59 pi1 dump1090-fa[292]: Found Rafael Micro R820T tuner Dec 05 13:39:59 pi1 dump1090-fa[292]: rtlsdr: tuner gain set to about 58.6 dB (gain step 29) (tuner AGC enabled) Dec 05 13:39:59 pi1 dump1090-fa[292]: adaptive: using 10% duty cycle Dec 05 13:39:59 pi1 dump1090-fa[292]: adaptive: enabled adaptive gain control with gain limits 0.0dB (step 0) .. 58.6 Dec 05 13:39:59 pi1 dump1090-fa[292]: adaptive: enabled dynamic range control, target dynamic range 30.0dB Dec 05 13:39:59 pi1 dump1090-fa[292]: Allocating 4 zero-copy buffers Dec 05 13:40:16 pi1 dump1090-fa[292]: adaptive: available dynamic range (29.0dB) < required dynamic range (30.0dB), s Dec 05 13:40:16 pi1 dump1090-fa[292]: adaptive: changing gain from 58.6dB (step 29) to 49.6dB (step 28) because: prob Dec 05 13:40:16 pi1 dump1090-fa[292]: rtlsdr: tuner gain set to 49.6 dB (gain step 28) Dec 05 13:40:26 pi1 dump1090-fa[292]: adaptive: available dynamic range (38.2dB) >= required dynamic range (30.0dB), |
サービスのログにも利得を頻繁に可変させている様子が確認出来ます。この状態で一週間ほど稼働させてみたろころ、観測出来た航空機数がむしろ1割ほど減っているように感じます(下図グラフの11/25〜28が本障害によるオフライン期間)。
そこで再びこの機能を無効にしてみたいと思います。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
$ sudo nano /etc/default/dump1090-fa #ADAPTIVE_DYNAMIC_RANGE=yes ADAPTIVE_DYNAMIC_RANGE=no $ sudo systemctl restart dump1090-fa $ sudo systemctl status dump1090-fa ● dump1090-fa.service - dump1090 ADS-B receiver (FlightAware customization) Loaded: loaded (/lib/systemd/system/dump1090-fa.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2021-12-08 15:18:12 HKT; 53s ago Docs: https://flightaware.com/adsb/piaware/ Main PID: 16840 (dump1090-fa) Tasks: 3 (limit: 953) CGroup: /system.slice/dump1090-fa.service └─16840 /usr/bin/dump1090-fa --quiet --device-type rtlsdr --gain 60 --adaptive-duty-cycle 10 --no-fix-df --f Dec 08 15:18:12 pi1 systemd[1]: Started dump1090 ADS-B receiver (FlightAware customization). Dec 08 15:18:13 pi1 dump1090-fa[16840]: Wed Dec 8 15:18:13 2021 HKT dump1090-fa 6.1 starting up. Dec 08 15:18:13 pi1 dump1090-fa[16840]: rtlsdr: using device #0: Generic RTL2832U OEM (Realtek, RTL2838UHIDIR, SN 00000 Dec 08 15:18:13 pi1 dump1090-fa[16840]: Found Rafael Micro R820T tuner Dec 08 15:18:14 pi1 dump1090-fa[16840]: rtlsdr: tuner gain set to about 58.6 dB (gain step 29) (tuner AGC enabled) Dec 08 15:18:14 pi1 dump1090-fa[16840]: Allocating 4 zero-copy buffers |
この状態で一週間ほど運用してみたしたが、一割弱受信データ量が増えた程度で、それが航空事情の変化なのか、利得によるものなのか、判断しかねる結果にとどまりました。