odroid c2 / armbian 쓰는데 termiantor 가 기본 터미널이라 쓸데없이(!) 폰트만 커서 마음에 안들어
변경하는법 찾음. 단축키로는 x-terminal-emulator가 실행되고
이게 연결된 프로그램으로 넘겨주는 듯 한데, gnome-terminal이 간결하고 짱이지 ㅋ
$ sudo update-alternatives --config x-terminal-emulator 대체 항목 x-terminal-emulator에 대해 (/usr/bin/x-terminal-emulator 제공) 2개 선택이 있습니다.
선택 경로 우선순� 상태 ------------------------------------------------------------ * 0 /usr/bin/terminator 50 자동 모드 1 /usr/bin/gnome-terminal.wrapper 40 수동 모드 2 /usr/bin/terminator 50 수동 모드
Press <enter> to keep the current choice[*], or type selection number: 1 update-alternatives: using /usr/bin/gnome-terminal.wrapper to provide /usr/bin/x-terminal-emulator (x-terminal-emulator) in manual mode
$ cmake ../ -- The CXX compiler identification is GNU 13.3.0 -- The C compiler identification is GNU 13.3.0 -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Build type not specified: defaulting to release. CMake Error at CMakeLists.txt:87 (find_package): By not providing "FindGnuradio.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "Gnuradio", but CMake did not find one.
Could not find a package configuration file provided by "Gnuradio" (requested version 3.9) with any of the following names:
GnuradioConfig.cmake gnuradio-config.cmake
Add the installation prefix of "Gnuradio" to CMAKE_PREFIX_PATH or set "Gnuradio_DIR" to a directory containing one of the above files. If "Gnuradio" provides a separate development package or SDK, be sure it has been installed.
$ sudo apt-get install gnuradio-dev
[ 30%] Building CXX object lib/CMakeFiles/gnuradio-lora.dir/message_socket_sink_impl.cc.o /home/minimonk/src/gr-lora/lib/decoder_impl.cc:28:10: fatal error: liquid/liquid.h: No such file or directory 28 | #include <liquid/liquid.h> | ^~~~~~~~~~~~~~~~~ compilation terminated. make[2]: *** [lib/CMakeFiles/gnuradio-lora.dir/build.make:76: lib/CMakeFiles/gnuradio-lora.dir/decoder_impl.cc.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [CMakeFiles/Makefile2:234: lib/CMakeFiles/gnuradio-lora.dir/all] Error 2 make: *** [Makefile:146: all] Error 2
$ apt-cache search liquid libliquid-dev - signal processing library for software defined radio (development files) libliquid1 - signal processing library for software defined radio liquidctl - CLI and Python drivers for AIO liquid coolers and other devices liquidprompt - adaptative prompt for bash & zsh liquidsoap - audio streaming language liquidsoap-doc - Documentation for Liquidsoap liquidsoap-mode - Emacs mode for editing Liquidsoap code liquidwar - truly original multiplayer wargame liquidwar-data - data files for Liquid War liquidwar-server - Liquid War server ruby-jekyll-gist - Liquid tag for displaying GitHub Gists in Jekyll sites ruby-jekyll-include-cache - Jekyll plugin to cache the rendering of Liquid includes ruby-liquid - Ruby library for rendering safe HTML and email templates ruby-liquid-c - liquid performance extension in C
[ 45%] Linking CXX shared library libgnuradio-lora.so /usr/bin/ld: cannot find -llog4cpp: No such file or directory collect2: error: ld returned 1 exit status make[2]: *** [lib/CMakeFiles/gnuradio-lora.dir/build.make:205: lib/libgnuradio-lora.so.1.0.0.0] Error 1 make[1]: *** [CMakeFiles/Makefile2:234: lib/CMakeFiles/gnuradio-lora.dir/all] Error 2 make: *** [Makefile:146: all] Error 2
$ apt-cache search log4cpp liblog4cpp-doc - C++ library for flexible logging (documentation) liblog4cpp5-dev - C++ library for flexible logging (development) liblog4cpp5v5 - C++ library for flexible logging (runtime)
$ sudo apt-get install liblog4cpp5-dev
+
2025.09.22
gr-lora
s$ ./lora_receive_file_nogui.py [?] Download test LoRa signal to decode? [y/N] y [+] Downloading https://research.edm.uhasselt.be/probyns/lora/usrp-868.1-sf7-cr4-bw125-crc-0.sigmf-data -> ./example-trace.sigmf-data . . . . . . . . . . . . . . . . . . [+] Downloading https://research.edm.uhasselt.be/probyns/lora/usrp-868.1-sf7-cr4-bw125-crc-0.sigmf-meta -> ./example-trace.sigmf-meta . . [+] Configuration: 868.1 MHz, SF 7, CR 4/8, BW 125 kHz, prlen 8, crc on, implicit off [+] Decoding. You should see a header, followed by 'deadbeef' and a CRC 5 times. Bits (nominal) per symbol: 3.5 Bins per symbol: 128 Samples per symbol: 1024 Decimation: 8 vmcircbuf_prefs::get :info: /home/minimonk/.gnuradio/prefs/vmcircbuf_default_factory failed to open: bad true, fail true, eof true 04 90 40 de ad be ef 70 0d (p) 04 90 40 de ad be ef 70 0d (p) 04 90 40 de ad be ef 70 0d (p) 04 90 40 de ad be ef 70 0d (p) 04 90 40 de ad be ef 70 0d (p) [+] Done
Generating: "/home/minimonk/src/gr-lora/apps/lora_receive_realtime.py" >>> Warning: This flow graph contains a throttle block and another rate limiting block, e.g. a hardware source or sink. This is usually undesired. Consider removing the throttle block. >>> Warning: The block 'blocks_throttle_0' is deprecated.
qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in "" [INFO] [UHD] linux; GNU C++ version 13.2.0; Boost_108300; UHD_4.6.0.0+ds1-5.1ubuntu0.24.04.1 Traceback (most recent call last): File "/home/minimonk/src/gr-lora/apps/lora_receive_realtime.py", line 234, in <module> main() File "/home/minimonk/src/gr-lora/apps/lora_receive_realtime.py", line 212, in main tb = top_block_cls() ^^^^^^^^^^^^^^^ File "/home/minimonk/src/gr-lora/apps/lora_receive_realtime.py", line 77, in __init__ self.uhd_usrp_source_0 = uhd.usrp_source( ^^^^^^^^^^^^^^^^ RuntimeError: LookupError: KeyError: No devices found for -----> Empty Device Address
The Meson build system Version: 1.9.0 Source dir: /home/odroid/GstPipelineStudio Build dir: /home/odroid/GstPipelineStudio/builddir Build type: native build WARNING: Failed to load Cargo.lock: Could not find an implementation of tomllib, nor toml2json Project name: gst_pipeline_studio Project version: 0.2.3 Host machine cpu family: aarch64 Host machine cpu: aarch64 Program python3 found: YES (/usr/bin/python3) WARNING: You should add the boolean check kwarg to the run_command call. It currently defaults to false, but it will default to true in meson 2.0. See also: https://github.com/mesonbuild/meson/issues/9300 Found pkg-config: YES (/usr/bin/pkg-config) 0.29.1 Dependency glib-2.0 found: NO. Found 2.64.6 but need: '>= 2.66' Did not find CMake 'cmake' Found CMake: NO Run-time dependency glib-2.0 found: NO
meson.build:13:0: ERROR: Dependency lookup for glib-2.0 with method 'pkgconfig' failed: Invalid version, need 'glib-2.0' ['>= 2.66'] found '2.64.6'.
A full log can be found at /home/odroid/GstPipelineStudio/builddir/meson-logs/meson-log.txt WARNING: Running the setup command as `meson [options]` instead of `meson setup [options]` is ambiguous and deprecated.
$ man iperf3 -A, --affinity n/n,m Set the CPU affinity, if possible (Linux, FreeBSD, and Windows only). On both the client and server you can set the local affinity by using the n form of this argument (where n is a CPU number). In addition, on the client side you can override the server's affinity for just that one test, using the n,m form of argument. Note that when using this feature, a process will only be bound to a single CPU (as opposed to a set containing potentialy mul‐ tiple CPUs).
Server or Client: -p, --port # server port to listen on/connect to -f, --format [kmgtKMGT] format to report: Kbits, Mbits, Gbits, Tbits -i, --interval # seconds between periodic throughput reports -F, --file name xmit/recv the specified file -A, --affinity n/n,m set CPU affinity -B, --bind <host> bind to the interface associated with the address <host> -V, --verbose more detailed output -J, --json output in JSON format --logfile f send output to a log file --forceflush force flushing output at every interval --timestamps <format> emit a timestamp at the start of each output line (using optional format string as per strftime(3)) -d, --debug emit debugging output -v, --version show version information and quit -h, --help show this message and quit Server specific: -s, --server run in server mode -D, --daemon run the server as a daemon -I, --pidfile file write PID file -1, --one-off handle one client connection then exit --server-bitrate-limit #[KMG][/#] server's total bit rate limit (default 0 = no limit) (optional slash and number of secs interval for averaging total data rate. Default is 5 seconds) --rsa-private-key-path path to the RSA private key used to decrypt authentication credentials --authorized-users-path path to the configuration file containing user credentials Client specific: -c, --client <host> run in client mode, connecting to <host> --sctp use SCTP rather than TCP -X, --xbind <name> bind SCTP association to links --nstreams # number of SCTP streams -u, --udp use UDP rather than TCP --connect-timeout # timeout for control connection setup (ms) -b, --bitrate #[KMG][/#] target bitrate in bits/sec (0 for unlimited) (default 1 Mbit/sec for UDP, unlimited for TCP) (optional slash and packet count for burst mode) --pacing-timer #[KMG] set the timing for pacing, in microseconds (default 1000) --fq-rate #[KMG] enable fair-queuing based socket pacing in bits/sec (Linux only) -t, --time # time in seconds to transmit for (default 10 secs) -n, --bytes #[KMG] number of bytes to transmit (instead of -t) -k, --blockcount #[KMG] number of blocks (packets) to transmit (instead of -t or -n) -l, --length #[KMG] length of buffer to read or write (default 128 KB for TCP, dynamic or 1460 for UDP) --cport <port> bind to a specific client port (TCP and UDP, default: ephemeral port) -P, --parallel # number of parallel client streams to run -R, --reverse run in reverse mode (server sends, client receives) --bidir run in bidirectional mode. Client and server send and receive data. -w, --window #[KMG] set window size / socket buffer size -C, --congestion <algo> set TCP congestion control algorithm (Linux and FreeBSD only) -M, --set-mss # set TCP/SCTP maximum segment size (MTU - 40 bytes) -N, --no-delay set TCP/SCTP no delay, disabling Nagle's Algorithm -4, --version4 only use IPv4 -6, --version6 only use IPv6 -S, --tos N set the IP type of service, 0-255. The usual prefixes for octal and hex can be used, i.e. 52, 064 and 0x34 all specify the same value. --dscp N or --dscp val set the IP dscp value, either 0-63 or symbolic. Numeric values can be specified in decimal, octal and hex (see --tos above). -L, --flowlabel N set the IPv6 flow label (only supported on Linux) -Z, --zerocopy use a 'zero copy' method of sending data -O, --omit N omit the first n seconds -T, --title str prefix every output line with this string --extra-data str data string to include in client and server JSON --get-server-output get results from server --udp-counters-64bit use 64-bit counters in UDP test packets --repeating-payload use repeating pattern in payload, instead of randomized payload (like in iperf2) --username username for authentication --rsa-public-key-path path to the RSA public key used to encrypt authentication credentials
[KMG] indicates options that support a K/M/G suffix for kilo-, mega-, or giga-
Set the CPU affinity for the sender (-A 2) or the sender, receiver (-A 2,3), where the core numbering starts at 0. This has the same effect as running numactl -C 4 iperf3.