Raspberry Pi 5 - RaspiOS
RaspiOS on Raspberry Pi 5
back to main Pi 5 page.
links
8086tiny, BlueR, btleplug, ble-mesh, Bluetooth Mesh Rust,
local links
Pepper Jobs XtendTouch XT1310F monitor,
History
2025-05-25: mmcblk0p2 - reboot, *Debian 12.11 is in
tingo@tipi5-linux:~ $ cat /etc/debian_version 12.11
kernel
tingo@tipi5-linux:~ $ uname -a Linux tipi5-linux 6.12.25+rpt-rpi-2712 #1 SMP PREEMPT Debian 1:6.12.25-1+rpt1 (2025-04-30) aarch64 GNU/Linux
2025-05-25: mmcblk0p2 - apt - upgrade
tingo@tipi5-linux:~ $ sudo apt upgrade Reading package lists... Done Building dependency tree... Done Reading state information... Done Calculating upgrade... Done The following packages were automatically installed and are no longer required: libc++1-16 libc++abi1-16 libcamera0.4 libunwind-16 Use 'sudo apt autoremove' to remove them. The following NEW packages will be installed: firmware-intel-graphics firmware-intel-misc firmware-marvell-prestera firmware-mediatek firmware-nvidia-graphics libcamera0.5 linux-headers-6.12.25+rpt-common-rpi linux-headers-6.12.25+rpt-rpi-2712 linux-headers-6.12.25+rpt-rpi-v8 linux-image-6.12.25+rpt-rpi-2712 linux-image-6.12.25+rpt-rpi-v8 linux-kbuild-6.12.25+rpt mesa-libgallium pplug-netman-schema sudopwd zenoty The following packages have been kept back: raspberrypi-ui-mods wf-panel-pi wfplug-connect wfplug-squeek The following packages will be upgraded: agnostics base-files bash busybox chromium chromium-browser chromium-common chromium-l10n chromium-sandbox cpp-12 cups-pk-helper curl debian-archive-keyring distro-info-data dns-root-data ffmpeg firefox firmware-atheros firmware-brcm80211 firmware-libertas firmware-misc-nonfree firmware-realtek g++-12 gcc-12 gcc-12-base ghostscript gstreamer1.0-plugins-good gui-pkinst gui-updater imagemagick-6-common initramfs-tools initramfs-tools-core labwc libabsl20220623 libasan8 libatomic1 libavcodec59 libavdevice59 libavfilter8 libavformat59 libavutil57 libc-bin libc-dev-bin libc-devtools libc-l10n libc6 libc6-dbg libc6-dev libcamera-ipa libcamera-tools libcap2 libcap2-bin libcc1-0 libcurl3-gnutls libcurl4 libegl-mesa0 libfreetype6 libgbm-dev libgbm1 libgcc-12-dev libgcc-s1 libgfortran5 libgl1-mesa-dev libgl1-mesa-dri libglapi-mesa libglib2.0-0 libglib2.0-bin libglib2.0-data libglib2.0-dev libglib2.0-dev-bin libglx-mesa0 libgomp1 libgs-common libgs10 libgs10-common libgssapi-krb5-2 libhwasan0 libitm1 libjavascriptcoregtk-4.1-0 libk5crypto3 libkrb5-3 libkrb5support0 libliftoff0 liblsan0 liblzma5 libmagickcore-6.q16-6 libmagickcore-6.q16-6-extra libmagickwand-6.q16-6 libnm0 libnuma1 libopenh264-7 libpam-systemd libperl5.36 libpipewire-0.3-0 libpipewire-0.3-common libpipewire-0.3-modules libpisp-common libpisp1 libpixman-1-0 libpoppler-cpp0v5 libpoppler-glib8 libpoppler126 libpostproc56 libpython3.11 libpython3.11-dev libpython3.11-minimal libpython3.11-stdlib libqt5core5a libqt5dbus5 libqt5gui5 libqt5network5 libqt5printsupport5 libqt5sql5 libqt5sql5-sqlite libqt5test5 libqt5widgets5 libqt5xml5 librabbitmq4 libspa-0.2-bluetooth libspa-0.2-libcamera libspa-0.2-modules libssl-dev libssl3 libstdc++-12-dev libstdc++6 libswresample4 libswscale6 libsystemd-shared libsystemd0 libtsan2 libubsan1 libudev-dev libudev1 libwayland-bin libwayland-client0 libwayland-cursor0 libwayland-dev libwayland-egl1 libwayland-server0 libwebkit2gtk-4.1-0 libwlroots-0.18 libxslt1.1 linux-headers-rpi-2712 linux-headers-rpi-v8 linux-image-rpi-2712 linux-image-rpi-v8 linux-libc-dev locales login lp-connection-editor lxpanel lxpanel-data lxplug-bluetooth lxplug-cputemp lxplug-ejecter lxplug-magnifier lxplug-menu lxplug-netman lxplug-updater lxplug-volumepulse lxtask mesa-vdpau-drivers mesa-vulkan-drivers meson net-tools network-manager node-postcss node-serialize-javascript openssh-client openssh-server openssh-sftp-server openssl passwd perl perl-base perl-modules-5.36 piclone pipanel pipewire pipewire-bin pipewire-libcamera pipewire-pulse pishutdown piwiz pixflat-icons pixflat-theme poppler-utils pprompt python3-jinja2 python3-libcamera python3-picamera2 python3.11 python3.11-dev python3.11-minimal python3.11-venv qt5-gtk-platformtheme raindrop raspberrypi-sys-mods raspi-config raspi-firmware raspi-utils raspi-utils-core raspi-utils-dt raspi-utils-eeprom raspi-utils-otp raspinfo rasputin rc-gui rp-bookshelf rp-prefapps rpd-plym-splash rpi-chromium-mods rpi-connect rpi-eeprom rpi-imager rpicam-apps ssh systemd systemd-sysv systemd-timesyncd tzdata udev userconf-pi vim-common vim-tiny wget wireless-regdb xserver-common xserver-xorg-core xz-utils 230 upgraded, 16 newly installed, 0 to remove and 4 not upgraded. Need to get 797 MB of archives. After this operation, 312 MB of additional disk space will be used. [..] update-initramfs: Generating /boot/initrd.img-6.12.25+rpt-rpi-v8 '/boot/initrd.img-6.12.25+rpt-rpi-v8' -> '/boot/firmware/initramfs8' update-initramfs: Generating /boot/initrd.img-6.12.25+rpt-rpi-2712 '/boot/initrd.img-6.12.25+rpt-rpi-2712' -> '/boot/firmware/initramfs_2712' update-initramfs: Generating /boot/initrd.img-6.6.74+rpt-rpi-v8 update-initramfs: Generating /boot/initrd.img-6.6.74+rpt-rpi-2712 update-initramfs: Generating /boot/initrd.img-6.6.62+rpt-rpi-v8 update-initramfs: Generating /boot/initrd.img-6.6.62+rpt-rpi-2712
apt - autoremove
tingo@tipi5-linux:~ $ sudo apt autoremove Reading package lists... Done Building dependency tree... Done Reading state information... Done The following packages will be REMOVED: libc++1-16 libc++abi1-16 libcamera0.4 libunwind-16 linux-headers-6.6.62+rpt-common-rpi linux-headers-6.6.62+rpt-rpi-2712 linux-headers-6.6.62+rpt-rpi-v8 linux-image-6.6.62+rpt-rpi-2712 linux-image-6.6.62+rpt-rpi-v8 linux-kbuild-6.6.62+rpt 0 upgraded, 0 newly installed, 10 to remove and 4 not upgraded. After this operation, 126 MB disk space will be freed. [..] Removing libc++1-16:arm64 (1:16.0.6-15~deb12u1) ... Removing libc++abi1-16:arm64 (1:16.0.6-15~deb12u1) ... Removing libcamera0.4:arm64 (0.4.0+rpt20250213-1) ... Removing libunwind-16:arm64 (1:16.0.6-15~deb12u1) ... Removing linux-headers-6.6.62+rpt-rpi-2712 (1:6.6.62-1+rpt1) ... Removing linux-headers-6.6.62+rpt-rpi-v8 (1:6.6.62-1+rpt1) ... Removing linux-headers-6.6.62+rpt-common-rpi (1:6.6.62-1+rpt1) ... Removing linux-image-6.6.62+rpt-rpi-2712 (1:6.6.62-1+rpt1) ... /etc/kernel/postrm.d/initramfs-tools: update-initramfs: Deleting /boot/initrd.img-6.6.62+rpt-rpi-2712 Removing linux-image-6.6.62+rpt-rpi-v8 (1:6.6.62-1+rpt1) ... /etc/kernel/postrm.d/initramfs-tools: update-initramfs: Deleting /boot/initrd.img-6.6.62+rpt-rpi-v8 Removing linux-kbuild-6.6.62+rpt (1:6.6.62-1+rpt1) ... Processing triggers for libc-bin (2.36-9+rpt2+deb12u10) ...
2025-02-23: mmcblk0p2 - XT1310F - with power in the top right usb-C connector, and usb touch connected to the Pi5 in the lower port, the touch works. From journalctl -S -5m
Feb 23 20:48:14 tipi5-linux kernel: usb 1-2: new high-speed USB device number 2 using xhci-hcd Feb 23 20:48:15 tipi5-linux kernel: usb 1-2: New USB device found, idVendor=1a40, idProduct=0101, bcdDevice= 1.11 Feb 23 20:48:15 tipi5-linux kernel: usb 1-2: New USB device strings: Mfr=0, Product=1, SerialNumber=0 Feb 23 20:48:15 tipi5-linux kernel: usb 1-2: Product: USB 2.0 Hub Feb 23 20:48:15 tipi5-linux kernel: hub 1-2:1.0: USB hub found Feb 23 20:48:15 tipi5-linux kernel: hub 1-2:1.0: 4 ports detected Feb 23 20:48:15 tipi5-linux kernel: usb 1-2.1: new full-speed USB device number 3 using xhci-hcd Feb 23 20:48:15 tipi5-linux kernel: usb 1-2.1: New USB device found, idVendor=27c0, idProduct=0858, bcdDevice= 1.13 Feb 23 20:48:15 tipi5-linux kernel: usb 1-2.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 Feb 23 20:48:15 tipi5-linux kernel: usb 1-2.1: Product: TouchScreen Feb 23 20:48:15 tipi5-linux kernel: usb 1-2.1: Manufacturer: WingCool Inc. Feb 23 20:48:15 tipi5-linux kernel: usb 1-2.1: SerialNumber: 9LQ0172005164 Feb 23 20:48:15 tipi5-linux kernel: input: WingCool Inc. TouchScreen Touchscreen as /devices/platform/axi/1000120000.pcie/1f00200000.usb/xhci-hcd.0/usb1/1-2/1-2.1/1-2.1:1.0/0003:27C0:0858.0003/input/input11 Feb 23 20:48:15 tipi5-linux kernel: hid-generic 0003:27C0:0858.0003: input,hiddev96,hidraw0: USB HID v1.10 Device [WingCool Inc. TouchScreen] on usb-xhci-hcd.0-2.1/input0 Feb 23 20:48:15 tipi5-linux kernel: hid-generic 0003:27C0:0858.0004: hiddev97,hidraw1: USB HID v1.10 Device [WingCool Inc. TouchScreen] on usb-xhci-hcd.0-2.1/input1 Feb 23 20:48:15 tipi5-linux kernel: input: WingCool Inc. TouchScreen as /devices/platform/axi/1000120000.pcie/1f00200000.usb/xhci-hcd.0/usb1/1-2/1-2.1/1-2.1:1.2/0003:27C0:0858.0005/input/input12 Feb 23 20:48:15 tipi5-linux kernel: hid-generic 0003:27C0:0858.0005: input,hidraw2: USB HID v1.10 Mouse [WingCool Inc. TouchScreen] on usb-xhci-hcd.0-2.1/input2 Feb 23 20:48:16 tipi5-linux kernel: usb 1-2.4: new full-speed USB device number 4 using xhci-hcd Feb 23 20:48:16 tipi5-linux kernel: usb 1-2.4: New USB device found, idVendor=1d5c, idProduct=7102, bcdDevice= 1.00 Feb 23 20:48:16 tipi5-linux kernel: usb 1-2.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0 Feb 23 20:48:16 tipi5-linux kernel: usb 1-2.4: Product: Generic Billboard Device Feb 23 20:48:16 tipi5-linux kernel: usb 1-2.4: Manufacturer: Fresco Logic, Inc Feb 23 20:48:16 tipi5-linux mtp-probe[7397]: checking bus 1, device 3: "/sys/devices/platform/axi/1000120000.pcie/1f00200000.usb/xhci-hcd.0/usb1/1-2/1-2.1" Feb 23 20:48:16 tipi5-linux mtp-probe[7397]: bus: 1, device: 3 was not an MTP device Feb 23 20:48:16 tipi5-linux kernel: input: WingCool Inc. TouchScreen as /devices/platform/axi/1000120000.pcie/1f00200000.usb/xhci-hcd.0/usb1/1-2/1-2.1/1-2.1:1.0/0003:27C0:0858.0003/input/input13 Feb 23 20:48:16 tipi5-linux kernel: hid-multitouch 0003:27C0:0858.0003: input,hiddev96,hidraw0: USB HID v1.10 Device [WingCool Inc. TouchScreen] on usb-xhci-hcd.0-2.1/input0
2025-02-23: mmcblk0p2 - apt - upgrade
tingo@tipi5-linux:~ $ sudo apt upgrade Reading package lists... Done Building dependency tree... Done Reading state information... Done Calculating upgrade... Done The following packages have been kept back: raspberrypi-ui-mods wf-panel-pi wfplug-connect wfplug-squeek The following packages will be upgraded: firefox libcamera-ipa libcamera-tools libcamera0.4 libgnutls30 libjavascriptcoregtk-4.1-0 libtasn1-6 libwebkit2gtk-4.1-0 lxpanel lxpanel-data lxplug-bluetooth lxplug-cputemp lxplug-ejecter lxplug-menu lxplug-netman lxplug-updater lxplug-volumepulse openssh-client openssh-server openssh-sftp-server pipanel pixflat-theme python3-libcamera python3-simplejpeg raspi-config rpi-connect rpi-eeprom rpicam-apps ssh 29 upgraded, 0 newly installed, 0 to remove and 4 not upgraded. Need to get 146 MB of archives. After this operation, 14.7 MB of additional disk space will be used. [..] Processing triggers for libc-bin (2.36-9+rpt2+deb12u9) ... Processing triggers for man-db (2.11.2-2) ...
2025-02-23: mmcblk0p2 - XT1310F - reboot, with the HMDI monitor connected - I now get a volume control in the panel bare on my screen. wpctl reports
tingo@tipi5-linux:~ $ wpctl status PipeWire 'pipewire-0' [1.2.7, tingo@tipi5-linux, cookie:3746739236] └─ Clients: 33. pipewire [1.2.7, tingo@tipi5-linux, pid:995] 35. WirePlumber [1.2.7, tingo@tipi5-linux, pid:994] 36. WirePlumber [export] [1.2.7, tingo@tipi5-linux, pid:994] 61. xdg-desktop-portal-wlr [1.2.7, tingo@tipi5-linux, pid:1285] 66. xdg-desktop-portal [1.2.7, tingo@tipi5-linux, pid:1232] 67. unknown [1.2.7, tingo@tipi5-linux, pid:1160] 68. wpctl [1.2.7, tingo@tipi5-linux, pid:1993] Audio ├─ Devices: │ 59. Built-in Audio [alsa] │ 60. Built-in Audio [alsa] │ ├─ Sinks: │ * 65. Built-in Audio Digital Stereo (HDMI) [vol: 0.40] │ ├─ Sink endpoints: │ ├─ Sources: │ ├─ Source endpoints: │ └─ Streams: Video ├─ Devices: │ 42. rpivid [v4l2] │ 43. pispbe [v4l2] │ 44. pispbe [v4l2] │ 45. pispbe [v4l2] │ 46. pispbe [v4l2] │ 47. pispbe [v4l2] │ 48. pispbe [v4l2] │ 49. pispbe [v4l2] │ 50. pispbe [v4l2] │ 51. pispbe [v4l2] │ 52. pispbe [v4l2] │ 53. pispbe [v4l2] │ 54. pispbe [v4l2] │ 55. pispbe [v4l2] │ 56. pispbe [v4l2] │ 57. pispbe [v4l2] │ 58. pispbe [v4l2] │ ├─ Sinks: │ ├─ Sink endpoints: │ ├─ Sources: │ ├─ Source endpoints: │ └─ Streams: Settings └─ Default Configured Node Names:
interesting. pactl reports
tingo@tipi5-linux:~ $ pactl info Server String: /run/user/1000/pulse/native Library Protocol Version: 35 Server Protocol Version: 35 Is Local: yes Client Index: 75 Tile Size: 65472 User Name: tingo Host Name: tipi5-linux Server Name: PulseAudio (on PipeWire 1.2.7) Server Version: 15.0.0 Default Sample Specification: float32le 2ch 48000Hz Default Channel Map: front-left,front-right Default Sink: alsa_output.platform-107c701400.hdmi.hdmi-stereo Default Source: alsa_output.platform-107c701400.hdmi.hdmi-stereo.monitor Cookie: df52:b424
and I have sound.
2025-02-23: mmcblk0p2 - I plugged in the XT1310F monitor via HDMI. Picture works great, but ther is no sound. wpctl says
tingo@tipi5-linux:~ $ wpctl status PipeWire 'pipewire-0' [1.2.7, tingo@tipi5-linux, cookie:1882652940] └─ Clients: 33. pipewire [1.2.7, tingo@tipi5-linux, pid:966] 35. WirePlumber [1.2.7, tingo@tipi5-linux, pid:965] 36. WirePlumber [export] [1.2.7, tingo@tipi5-linux, pid:965] 65. xdg-desktop-portal-wlr [1.2.7, tingo@tipi5-linux, pid:1302] 66. xdg-desktop-portal [1.2.7, tingo@tipi5-linux, pid:1269] 67. unknown [1.2.7, tingo@tipi5-linux, pid:1140] 68. Chromium input [1.2.7, tingo@tipi5-linux, pid:6536] 69. wpctl [1.2.7, tingo@tipi5-linux, pid:7118] Audio ├─ Devices: │ 59. Built-in Audio [alsa] │ 60. Built-in Audio [alsa] │ ├─ Sinks: │ * 34. Dummy Output [vol: 1.00] │ ├─ Sink endpoints: │ ├─ Sources: │ ├─ Source endpoints: │ └─ Streams: Video ├─ Devices: │ 42. rpivid [v4l2] │ 43. pispbe [v4l2] │ 44. pispbe [v4l2] │ 45. pispbe [v4l2] │ 46. pispbe [v4l2] │ 47. pispbe [v4l2] │ 48. pispbe [v4l2] │ 49. pispbe [v4l2] │ 50. pispbe [v4l2] │ 51. pispbe [v4l2] │ 52. pispbe [v4l2] │ 53. pispbe [v4l2] │ 54. pispbe [v4l2] │ 55. pispbe [v4l2] │ 56. pispbe [v4l2] │ 57. pispbe [v4l2] │ 58. pispbe [v4l2] │ ├─ Sinks: │ ├─ Sink endpoints: │ ├─ Sources: │ ├─ Source endpoints: │ └─ Streams: Settings └─ Default Configured Node Names:
hmm - no HDMI in that list of sinks. and pactl info says
tingo@tipi5-linux:~ $ pactl info Server String: /run/user/1000/pulse/native Library Protocol Version: 35 Server Protocol Version: 35 Is Local: yes Client Index: 96 Tile Size: 65472 User Name: tingo Host Name: tipi5-linux Server Name: PulseAudio (on PipeWire 1.2.7) Server Version: 15.0.0 Default Sample Specification: float32le 2ch 48000Hz Default Channel Map: front-left,front-right Default Sink: auto_null Default Source: auto_null.monitor Cookie: 7037:010c
2025-02-20: mmcblk0p2 - bluez - test simple functionality
tingo@tipi5-linux:~/work/bluez $ tools/btmgmt info Index list with 1 item hci0: Primary controller addr 2C:CF:67:38:23:FF version 9 manufacturer 305 class 0x6c0000 supported settings: powered connectable fast-connectable discoverable bondable link-security ssp br/edr le advertising secure-conn debug-keys privacy configuration static-addr phy-configuration current settings: powered bondable ssp br/edr le secure-conn name tipi5-linux short name hci0: Configuration options supported options: public-address missing options:
2025-02-20: mmcblk0p2 - bluez - I manually linked in cleanup.h into the ell directory
tingo@tipi5-linux:~/work/bluez $ ll ell/clean* lrwxrwxrwx 1 tingo tingo 23 Feb 20 23:03 ell/cleanup.h -> ../../ell/ell/cleanup.h
and that made bluez build
tingo@tipi5-linux:~/work/bluez $ make /bin/bash ./config.status --recheck running CONFIG_SHELL=/bin/bash /bin/bash ./configure --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc --localstatedir=/var --enable-mesh --no-create --no-recursion checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a race-free mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking how to create a pax tar archive... gnutar checking whether make supports nested variables... (cached) yes checking whether to enable maintainer-specific portions of Makefiles... no checking for pkg-config... /usr/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking whether make supports the include directive... yes (GNU style) checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether the compiler supports GNU C... yes checking whether gcc accepts -g... yes checking for gcc option to enable C11 features... none needed checking whether gcc understands -c and -o together... yes checking dependency style of gcc... gcc3 checking for C/C++ restrict keyword... __restrict__ checking for gcc... (cached) gcc checking whether the compiler supports GNU C... (cached) yes checking whether gcc accepts -g... (cached) yes checking for gcc option to enable C11 features... (cached) none needed checking whether gcc understands -c and -o together... (cached) yes checking dependency style of gcc... (cached) gcc3 checking whether gcc accepts -fPIE... yes checking build system type... aarch64-unknown-linux-gnu checking host system type... aarch64-unknown-linux-gnu checking how to print strings... printf checking for a sed that does not truncate output... /usr/bin/sed checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for fgrep... /usr/bin/grep -F checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 1572864 checking how to convert aarch64-unknown-linux-gnu file names to aarch64-unknown-linux-gnu format... func_convert_file_noop checking how to convert aarch64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for file... file checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for ar... ar checking for archiver @FILE support... @ checking for strip... strip checking for ranlib... ranlib checking command to parse /usr/bin/nm -B output from gcc object... ok checking for sysroot... no checking for a working dd... /usr/bin/dd checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1 checking for mt... mt checking if mt is a manifest tool... no checking for stdio.h... yes checking for stdlib.h... yes checking for string.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for strings.h... yes checking for sys/stat.h... yes checking for sys/types.h... yes checking for unistd.h... yes checking for dlfcn.h... yes checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... no checking for explicit_bzero... yes checking for rawmemchr... yes checking for signalfd... yes checking for clock_gettime in -lrt... yes checking for pthread_create in -lpthread... yes checking for dlopen in -ldl... yes checking for linux/types.h... yes checking for linux/if_alg.h... yes checking for glib-2.0 >= 2.28... yes checking for dbus-1 >= 1.6... yes checking D-Bus configuration directory... /etc checking D-Bus system bus services dir... /usr/share/dbus-1/system-services checking D-Bus session bus services dir... /usr/share/dbus-1/services ${prefix}/share/zsh/site-functions checking for libudev >= 172... yes checking for udev_hwdb_new in -ludev... yes checking udev directory... /lib/udev checking for json-c >= 0.13... yes checking for libical... yes checking for readline/readline.h... yes checking systemd system unit dir... /lib/systemd/system checking systemd user unit dir... /usr/lib/systemd/user checking for rst2man... rst2man checking that generated files are newer than configure... done configure: creating ./config.status /bin/bash ./config.status config.status: creating Makefile config.status: creating src/bluetoothd.rst config.status: creating lib/bluez.pc config.status: creating mesh/bluetooth-meshd.rst config.status: creating config.h config.status: config.h is unchanged config.status: executing depfiles commands config.status: executing libtool commands GEN lib/bluetooth/bluetooth.h GEN lib/bluetooth/hci.h GEN lib/bluetooth/hci_lib.h GEN lib/bluetooth/sco.h GEN lib/bluetooth/l2cap.h GEN lib/bluetooth/sdp.h GEN lib/bluetooth/sdp_lib.h GEN lib/bluetooth/rfcomm.h GEN lib/bluetooth/bnep.h GEN lib/bluetooth/cmtp.h GEN lib/bluetooth/hidp.h GEN ell/shared GEN ell/internal GEN ell/ell.h GEN src/builtin.h GEN obexd/src/builtin.h make --no-print-directory all-am CC client/main.o CC client/display.o CC client/agent.o CC client/advertising.o CC client/adv_monitor.o CC client/gatt.o client/gatt.c: In function ‘str2bytearray’: client/gatt.c:793:9: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 793 | return g_memdup(value, i); | ^~~~~~ In file included from /usr/include/glib-2.0/glib.h:84, from client/gatt.c:27: /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ CC client/admin.o CC gdbus/mainloop.lo CC gdbus/watch.lo CC gdbus/object.lo CC gdbus/client.lo CC gdbus/polkit.lo CCLD gdbus/libgdbus-internal.la CC src/shared/queue.lo CC src/shared/util.lo CC src/shared/mgmt.lo CC src/shared/crypto.lo CC src/shared/ecc.lo CC src/shared/ringbuf.lo CC src/shared/hci.lo CC src/shared/hci-crypto.lo CC src/shared/hfp.lo CC src/shared/uhid.lo CC src/shared/pcap.lo CC src/shared/btsnoop.lo CC src/shared/ad.lo CC src/shared/att.lo CC src/shared/gatt-helpers.lo CC src/shared/gatt-client.lo CC src/shared/gatt-server.lo CC src/shared/gatt-db.lo CC src/shared/gap.lo CC src/shared/log.lo CC src/shared/shell.lo CC src/shared/io-glib.lo CC src/shared/timeout-glib.lo CC src/shared/mainloop-glib.lo CC src/shared/mainloop-notify.lo CC src/shared/tester.lo CCLD src/libshared-glib.la CCLD client/bluetoothctl CC monitor/main.o CC monitor/display.o CC monitor/hcidump.o CC monitor/ellisys.o CC monitor/control.o CC monitor/packet.o CC monitor/vendor.o CC monitor/lmp.o CC monitor/crc.o CC monitor/ll.o CC monitor/l2cap.o CC monitor/sdp.o CC monitor/avctp.o CC monitor/avdtp.o CC monitor/a2dp.o CC monitor/rfcomm.o CC monitor/bnep.o CC monitor/hwdb.o CC monitor/keys.o CC monitor/analyze.o CC monitor/intel.o CC monitor/broadcom.o CC monitor/msft.o CC monitor/jlink.o CC lib/bluetooth.lo CC lib/hci.lo CC lib/sdp.lo CC lib/uuid.lo CCLD lib/libbluetooth-internal.la CC src/shared/io-mainloop.lo CC src/shared/timeout-mainloop.lo CC src/shared/mainloop.lo CCLD src/libshared-mainloop.la CCLD monitor/btmon CC tools/rctest.o CCLD tools/rctest CC tools/l2test.o CCLD tools/l2test CC tools/l2ping.o CCLD tools/l2ping CC tools/bluemoon.o CCLD tools/bluemoon CC tools/hex2hcd.o CCLD tools/hex2hcd CC tools/mpris-proxy.o CCLD tools/mpris-proxy CC tools/btattach.o CCLD tools/btattach CC tools/meshctl.o CC tools/mesh/agent.o CC tools/mesh-gatt/node.o CC tools/mesh-gatt/gatt.o tools/mesh-gatt/gatt.c: In function ‘mesh_gatt_write’: tools/mesh-gatt/gatt.c:341:9: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 341 | data->gatt_data = g_memdup(buf, len); | ^~~~ In file included from /usr/include/glib-2.0/glib.h:84, from tools/mesh-gatt/gatt.c:23: /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ CC tools/mesh-gatt/crypto.o CC tools/mesh-gatt/net.o CC tools/mesh-gatt/prov.o CC tools/mesh-gatt/util.o CC tools/mesh-gatt/prov-db.o CC tools/mesh-gatt/config-client.o CC tools/mesh-gatt/config-server.o CC tools/mesh-gatt/onoff-model.o CCLD tools/meshctl CC tools/mesh-cfgclient.o CC tools/mesh/cfgcli.o CC tools/mesh/keys.o CC tools/mesh/util.o CC tools/mesh/remote.o CC tools/mesh/mesh-db.o CC mesh/util.o CC mesh/crypto.o CC src/shared/io-ell.lo CC src/shared/timeout-ell.lo CC src/shared/mainloop-ell.lo CCLD src/libshared-ell.la CC ell/util.lo CC ell/log.lo CC ell/queue.lo CC ell/hashmap.lo CC ell/random.lo CC ell/signal.lo CC ell/time.lo CC ell/timeout.lo CC ell/io.lo CC ell/idle.lo CC ell/main.lo CC ell/settings.lo CC ell/strv.lo CC ell/string.lo CC ell/cipher.lo CC ell/checksum.lo CC ell/pem.lo CC ell/cert.lo CC ell/cert-crypto.lo CC ell/key.lo CC ell/base64.lo CC ell/utf8.lo CC ell/dbus.lo CC ell/dbus-message.lo CC ell/dbus-util.lo CC ell/dbus-service.lo CC ell/dbus-client.lo CC ell/dbus-name-cache.lo CC ell/dbus-filter.lo CC ell/gvariant-util.lo CC ell/siphash.lo CC ell/uuid.lo CC ell/tester.lo CC ell/tls.lo CC ell/tls-extensions.lo CC ell/tls-suites.lo CC ell/tls-record.lo CC ell/ecc.lo CC ell/ecc-external.lo CC ell/ecdh.lo CCLD ell/libell-internal.la CCLD tools/mesh-cfgclient CC tools/mesh-cfgtest.o CCLD tools/mesh-cfgtest CC profiles/cups/main.o CC profiles/cups/sdp.o CC profiles/cups/spp.o CC profiles/cups/hcrp.o CCLD profiles/cups/bluetooth CC tools/bdaddr.o CC src/oui.o CCLD tools/bdaddr CC tools/avinfo.o CCLD tools/avinfo CC tools/avtest.o CCLD tools/avtest CC tools/scotest.o CCLD tools/scotest CC tools/amptest.o CCLD tools/amptest CC tools/hwdb.o CCLD tools/hwdb CC tools/hcieventmask.o CCLD tools/hcieventmask CC tools/hcisecfilter.o CCLD tools/hcisecfilter CC tools/btinfo.o CCLD tools/btinfo CC tools/btconfig.o CCLD tools/btconfig CC tools/btsnoop.o CCLD tools/btsnoop CC tools/btproxy.o CCLD tools/btproxy CC tools/btiotest.o CC btio/btio.o CCLD tools/btiotest CC tools/bneptest.o CC src/log.o CC profiles/network/bnep.o CCLD tools/bneptest CC tools/mcaptest.o CC profiles/health/mcap.o CCLD tools/mcaptest CC tools/cltest.o CCLD tools/cltest CC tools/oobtest.o CCLD tools/oobtest CC tools/advtest.o CCLD tools/advtest CC tools/seq2bseq.o CCLD tools/seq2bseq CC tools/nokfw.o CCLD tools/nokfw CC tools/rtlfw.o CCLD tools/rtlfw CC tools/bcmfw.o CCLD tools/bcmfw CC tools/create-image.o CCLD tools/create-image CC tools/eddystone.o CCLD tools/eddystone CC tools/ibeacon.o CCLD tools/ibeacon CC tools/btgatt-client.o CC src/uuid-helper.o CCLD tools/btgatt-client CC tools/btgatt-server.o CCLD tools/btgatt-server CC tools/test-runner.o CCLD tools/test-runner CC tools/check-selftest.o CCLD tools/check-selftest CC tools/gatt-service.o tools/gatt-service.c: In function ‘desc_write’: tools/gatt-service.c:130:9: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 130 | desc->value = g_memdup(value, len); | ^~~~ In file included from /usr/include/glib-2.0/glib.h:84, from tools/gatt-service.c:23: /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ tools/gatt-service.c: In function ‘chr_write’: tools/gatt-service.c:268:9: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 268 | chr->value = g_memdup(value, len); | ^~~ /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ tools/gatt-service.c: In function ‘register_characteristic’: tools/gatt-service.c:595:9: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 595 | chr->value = g_memdup(value, vlen); | ^~~ /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ CCLD tools/gatt-service CC profiles/iap/main.o CCLD profiles/iap/iapd CC tools/btmgmt.o CCLD tools/btmgmt CC gobex/gobex.o CC gobex/gobex-defs.o CC gobex/gobex-packet.o gobex/gobex-packet.c: In function ‘g_obex_packet_set_data’: gobex/gobex-packet.c:204:17: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 204 | pkt->data.buf = g_memdup(data, len); | ^~~ In file included from /usr/include/glib-2.0/glib.h:84, from gobex/gobex-defs.h:13, from gobex/gobex-packet.c:17: /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ CC gobex/gobex-header.o gobex/gobex-header.c: In function ‘g_obex_header_decode’: gobex/gobex-header.c:225:25: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 225 | header->v.data = g_memdup(ptr, header->vlen); | ^~~~~~ In file included from /usr/include/glib-2.0/glib.h:84, from gobex/gobex-header.h:13, from gobex/gobex-header.c:16: /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ gobex/gobex-header.c: In function ‘g_obex_header_new_bytes’: gobex/gobex-header.c:413:9: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 413 | header->v.data = g_memdup(data, len); | ^~~~~~ /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ CC gobex/gobex-transfer.o CC gobex/gobex-apparam.o CC tools/obex-client-tool.o CCLD tools/obex-client-tool CC tools/obex-server-tool.o CCLD tools/obex-server-tool CC tools/bluetooth-player.o CCLD tools/bluetooth-player CC tools/obexctl.o CCLD tools/obexctl CC plugins/bluetoothd-hostname.o CC plugins/bluetoothd-wiimote.o CC plugins/bluetoothd-autopair.o CC plugins/bluetoothd-policy.o plugins/policy.c: In function ‘policy_init’: plugins/policy.c:858:17: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 858 | reconnect_intervals = g_memdup(default_intervals, | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/include/glib-2.0/glib.h:84, from plugins/policy.c:20: /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ plugins/policy.c:889:17: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 889 | reconnect_intervals = g_memdup(default_intervals, | ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ CC profiles/audio/bluetoothd-source.o CC profiles/audio/bluetoothd-sink.o CC profiles/audio/bluetoothd-a2dp.o CC profiles/audio/bluetoothd-avdtp.o CC profiles/audio/bluetoothd-media.o CC profiles/audio/bluetoothd-transport.o CC profiles/audio/bluetoothd-control.o CC profiles/audio/bluetoothd-avctp.o profiles/audio/avctp.c: In function ‘avctp_send_req’: profiles/audio/avctp.c:1730:9: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 1730 | req->operands = g_memdup(operands, operand_count); | ^~~ In file included from /usr/include/glib-2.0/glib.h:84, from profiles/audio/avctp.c:29: /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ profiles/audio/avctp.c: In function ‘avctp_send_browsing_req’: profiles/audio/avctp.c:1768:9: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 1768 | req->operands = g_memdup(operands, operand_count); | ^~~ /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ CC profiles/audio/bluetoothd-avrcp.o profiles/audio/avrcp.c: In function ‘avrcp_handle_get_current_player_value’: profiles/audio/avrcp.c:1301:9: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 1301 | settings = g_memdup(&pdu->params[1], pdu->params[0]); | ^~~~~~~~ In file included from /usr/include/glib-2.0/glib.h:84, from profiles/audio/avrcp.c:30: /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ profiles/audio/avrcp.c: In function ‘avrcp_set_browsed_player_rsp’: profiles/audio/avrcp.c:2804:17: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 2804 | folders[count] = g_memdup(&pdu->params[i], len); | ^~~~~~~ /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ profiles/audio/avrcp.c: In function ‘avrcp_player_parse_features’: profiles/audio/avrcp.c:2891:9: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 2891 | player->features = g_memdup(features, 16); | ^~~~~~ /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ CC profiles/audio/bluetoothd-player.o CC profiles/network/bluetoothd-manager.o CC profiles/network/bluetoothd-bnep.o CC profiles/network/bluetoothd-server.o CC profiles/network/bluetoothd-connection.o CC profiles/input/bluetoothd-manager.o CC profiles/input/bluetoothd-server.o CC profiles/input/bluetoothd-device.o CC profiles/input/bluetoothd-hog.o CC profiles/input/bluetoothd-hog-lib.o profiles/input/hog-lib.c: In function ‘report_read_cb’: profiles/input/hog-lib.c:532:9: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 532 | report->value = g_memdup(pdu, len); | ^~~~~~ In file included from /usr/include/glib-2.0/glib.h:84, from profiles/input/hog-lib.c:27: /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ profiles/input/hog-lib.c: In function ‘hog_attach_hog’: profiles/input/hog-lib.c:1612:17: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 1612 | hog->primary = g_memdup(primary, sizeof(*primary)); | ^~~ /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ profiles/input/hog-lib.c:1626:9: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 1626 | instance->primary = g_memdup(primary, sizeof(*primary)); | ^~~~~~~~ /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ CC profiles/deviceinfo/bluetoothd-dis.o profiles/deviceinfo/dis.c: In function ‘bt_dis_new_primary’: profiles/deviceinfo/dis.c:146:17: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 146 | dis->primary = g_memdup(primary, sizeof(*dis->primary)); | ^~~ In file included from /usr/include/glib-2.0/glib.h:84, from profiles/deviceinfo/dis.c:17: /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ CC profiles/battery/bluetoothd-bas.o profiles/battery/bas.c: In function ‘bt_bas_new’: profiles/battery/bas.c:78:17: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 78 | bas->primary = g_memdup(primary, sizeof(*bas->primary)); | ^~~ In file included from /usr/include/glib-2.0/glib.h:84, from profiles/battery/bas.c:18: /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ CC profiles/scanparam/bluetoothd-scpp.o profiles/scanparam/scpp.c: In function ‘bt_scpp_new’: profiles/scanparam/scpp.c:113:17: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 113 | scan->primary = g_memdup(primary, sizeof(*scan->primary)); | ^~~~ In file included from /usr/include/glib-2.0/glib.h:84, from profiles/scanparam/scpp.c:19: /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ CC profiles/input/bluetoothd-suspend-none.o CC profiles/gap/bluetoothd-gas.o CC profiles/scanparam/bluetoothd-scan.o CC profiles/deviceinfo/bluetoothd-deviceinfo.o CC profiles/battery/bluetoothd-battery.o profiles/battery/battery.c: In function ‘read_initial_battery_level_cb’: profiles/battery/battery.c:162:9: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 162 | batt->initial_value = g_memdup(value, length); | ^~~~ In file included from /usr/include/glib-2.0/glib.h:84, from profiles/battery/battery.c:24: /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ CC attrib/bluetoothd-att.o CC attrib/bluetoothd-gatt.o attrib/gatt.c: In function ‘gatt_discover_char’: attrib/gatt.c:699:9: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 699 | dc->uuid = g_memdup(uuid, sizeof(bt_uuid_t)); | ^~ In file included from /usr/include/glib-2.0/glib.h:84, from attrib/gatt.c:19: /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ attrib/gatt.c: In function ‘gatt_write_char’: attrib/gatt.c:967:9: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 967 | long_write->value = g_memdup(value, vlen); | ^~~~~~~~~~ /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ attrib/gatt.c: In function ‘gatt_discover_desc’: attrib/gatt.c:1133:9: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 1133 | dd->uuid = g_memdup(uuid, sizeof(bt_uuid_t)); | ^~ /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ CC attrib/bluetoothd-gattrib.o CC attrib/bluetoothd-gatt-service.o CC btio/bluetoothd-btio.o CC src/bluetoothd-main.o CC src/bluetoothd-log.o CC src/bluetoothd-backtrace.o CC src/bluetoothd-rfkill.o CC src/bluetoothd-sdpd-server.o CC src/bluetoothd-sdpd-request.o CC src/bluetoothd-sdpd-service.o CC src/bluetoothd-sdpd-database.o CC src/bluetoothd-attrib-server.o src/attrib-server.c: In function ‘attrib_db_add_new’: src/attrib-server.c:342:9: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 342 | a->data = g_memdup(value, len); | ^ In file included from /usr/include/glib-2.0/glib.h:84, from src/attrib-server.c:21: /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ CC src/bluetoothd-gatt-database.o CC src/bluetoothd-sdp-xml.o CC src/bluetoothd-sdp-client.o CC src/bluetoothd-textfile.o CC src/bluetoothd-uuid-helper.o CC src/bluetoothd-plugin.o CC src/bluetoothd-storage.o CC src/bluetoothd-advertising.o CC src/bluetoothd-agent.o CC src/bluetoothd-error.o CC src/bluetoothd-adapter.o CC src/bluetoothd-profile.o CC src/bluetoothd-service.o CC src/bluetoothd-gatt-client.o CC src/bluetoothd-device.o CC src/bluetoothd-dbus-common.o CC src/bluetoothd-eir.o src/eir.c: In function ‘eir_parse’: src/eir.c:326:25: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 326 | eir->hash = g_memdup(data, 16); | ^~~ In file included from /usr/include/glib-2.0/glib.h:84, from src/eir.c:22: /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ src/eir.c:332:25: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 332 | eir->randomizer = g_memdup(data, 16); | ^~~ /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ CC src/bluetoothd-adv_monitor.o CC src/bluetoothd-battery.o GEN src/bluetooth.service CCLD src/bluetoothd CC btio/obexd-btio.o CC gobex/obexd-gobex.o CC gobex/obexd-gobex-defs.o CC gobex/obexd-gobex-packet.o gobex/gobex-packet.c: In function ‘g_obex_packet_set_data’: gobex/gobex-packet.c:204:17: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 204 | pkt->data.buf = g_memdup(data, len); | ^~~ In file included from /usr/include/glib-2.0/glib.h:84, from gobex/gobex-defs.h:13, from gobex/gobex-packet.c:17: /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ CC gobex/obexd-gobex-header.o gobex/gobex-header.c: In function ‘g_obex_header_decode’: gobex/gobex-header.c:225:25: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 225 | header->v.data = g_memdup(ptr, header->vlen); | ^~~~~~ In file included from /usr/include/glib-2.0/glib.h:84, from gobex/gobex-header.h:13, from gobex/gobex-header.c:16: /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ gobex/gobex-header.c: In function ‘g_obex_header_new_bytes’: gobex/gobex-header.c:413:9: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 413 | header->v.data = g_memdup(data, len); | ^~~~~~ /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ CC gobex/obexd-gobex-transfer.o CC gobex/obexd-gobex-apparam.o CC obexd/plugins/obexd-filesystem.o CC obexd/plugins/obexd-bluetooth.o CC obexd/plugins/obexd-opp.o CC obexd/plugins/obexd-ftp.o CC obexd/plugins/obexd-irmc.o CC obexd/plugins/obexd-pbap.o CC obexd/plugins/obexd-vcard.o CC obexd/plugins/obexd-phonebook-dummy.o CC obexd/plugins/obexd-mas.o CC obexd/plugins/obexd-messages-dummy.o CC obexd/client/obexd-mns.o CC obexd/src/obexd-main.o CC obexd/src/obexd-plugin.o CC obexd/src/obexd-log.o CC obexd/src/obexd-manager.o CC obexd/src/obexd-obex.o obexd/src/obex.c: In function ‘parse_apparam’: obexd/src/obex.c:597:9: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 597 | os->apparam = g_memdup(apparam, len); | ^~ In file included from /usr/include/glib-2.0/glib.h:84, from obexd/src/obex.c:29: /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ CC obexd/src/obexd-mimetype.o CC obexd/src/obexd-service.o CC obexd/src/obexd-transport.o CC obexd/src/obexd-server.o CC obexd/client/obexd-manager.o CC obexd/client/obexd-session.o CC obexd/client/obexd-bluetooth.o CC obexd/client/obexd-sync.o CC obexd/client/obexd-pbap.o CC obexd/client/obexd-ftp.o CC obexd/client/obexd-opp.o CC obexd/client/obexd-map.o CC obexd/client/obexd-map-event.o CC obexd/client/obexd-transfer.o CC obexd/client/obexd-transport.o CC obexd/client/obexd-driver.o CCLD obexd/src/obexd CC mesh/mesh.o CC mesh/net-keys.o CC mesh/mesh-io.o CC mesh/mesh-mgmt.o CC mesh/mesh-io-generic.o CC mesh/mesh-io-unit.o CC mesh/net.o CC mesh/friend.o CC mesh/appkey.o CC mesh/node.o CC mesh/model.o CC mesh/cfgmod-server.o CC mesh/mesh-config-json.o CC mesh/dbus.o CC mesh/agent.o CC mesh/prov-acceptor.o CC mesh/prov-initiator.o CC mesh/manager.o CC mesh/pb-adv.o CC mesh/keyring.o CC mesh/rpl.o CC mesh/main.o GEN mesh/bluetooth-mesh.service CCLD mesh/bluetooth-meshd GEN src/bluetoothd.8 GEN monitor/btmon.1 GEN tools/rctest.1 GEN tools/l2ping.1 GEN tools/btattach.1 GEN mesh/bluetooth-meshd.8 GEN obexd/src/obex.service
2025-02-20: mmcblk0p2 - bluez - configure with mesh enabled
tingo@tipi5-linux:~/work/bluez $ ./configure --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc --localstatedir=/var --enable-mesh checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a race-free mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking how to create a pax tar archive... gnutar checking whether make supports nested variables... (cached) yes checking whether to enable maintainer-specific portions of Makefiles... no checking for pkg-config... /usr/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking whether make supports the include directive... yes (GNU style) checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether the compiler supports GNU C... yes checking whether gcc accepts -g... yes checking for gcc option to enable C11 features... none needed checking whether gcc understands -c and -o together... yes checking dependency style of gcc... gcc3 checking for C/C++ restrict keyword... __restrict__ checking for gcc... (cached) gcc checking whether the compiler supports GNU C... (cached) yes checking whether gcc accepts -g... (cached) yes checking for gcc option to enable C11 features... (cached) none needed checking whether gcc understands -c and -o together... (cached) yes checking dependency style of gcc... (cached) gcc3 checking whether gcc accepts -fPIE... yes checking build system type... aarch64-unknown-linux-gnu checking host system type... aarch64-unknown-linux-gnu checking how to print strings... printf checking for a sed that does not truncate output... /usr/bin/sed checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for fgrep... /usr/bin/grep -F checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 1572864 checking how to convert aarch64-unknown-linux-gnu file names to aarch64-unknown-linux-gnu format... func_convert_file_noop checking how to convert aarch64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for file... file checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for ar... ar checking for archiver @FILE support... @ checking for strip... strip checking for ranlib... ranlib checking command to parse /usr/bin/nm -B output from gcc object... ok checking for sysroot... no checking for a working dd... /usr/bin/dd checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1 checking for mt... mt checking if mt is a manifest tool... no checking for stdio.h... yes checking for stdlib.h... yes checking for string.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for strings.h... yes checking for sys/stat.h... yes checking for sys/types.h... yes checking for unistd.h... yes checking for dlfcn.h... yes checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... no checking for explicit_bzero... yes checking for rawmemchr... yes checking for signalfd... yes checking for clock_gettime in -lrt... yes checking for pthread_create in -lpthread... yes checking for dlopen in -ldl... yes checking for linux/types.h... yes checking for linux/if_alg.h... yes checking for glib-2.0 >= 2.28... yes checking for dbus-1 >= 1.6... yes checking D-Bus configuration directory... /etc checking D-Bus system bus services dir... /usr/share/dbus-1/system-services checking D-Bus session bus services dir... /usr/share/dbus-1/services ${prefix}/share/zsh/site-functions checking for libudev >= 172... yes checking for udev_hwdb_new in -ludev... yes checking udev directory... /lib/udev checking for json-c >= 0.13... yes checking for libical... yes checking for readline/readline.h... yes checking systemd system unit dir... /lib/systemd/system checking systemd user unit dir... /usr/lib/systemd/user checking for rst2man... rst2man checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/bluetoothd.rst config.status: creating lib/bluez.pc config.status: creating mesh/bluetooth-meshd.rst config.status: creating config.h config.status: config.h is unchanged config.status: executing depfiles commands config.status: executing libtool commands
make
tingo@tipi5-linux:~/work/bluez $ make GEN lib/bluetooth/bluetooth.h GEN lib/bluetooth/hci.h GEN lib/bluetooth/hci_lib.h GEN lib/bluetooth/sco.h GEN lib/bluetooth/l2cap.h GEN lib/bluetooth/sdp.h GEN lib/bluetooth/sdp_lib.h GEN lib/bluetooth/rfcomm.h GEN lib/bluetooth/bnep.h GEN lib/bluetooth/cmtp.h GEN lib/bluetooth/hidp.h GEN ell/shared GEN ell/internal GEN ell/ell.h GEN src/builtin.h GEN obexd/src/builtin.h make --no-print-directory all-am CC client/main.o CC client/display.o CC client/agent.o CC client/advertising.o CC client/adv_monitor.o CC client/gatt.o client/gatt.c: In function ‘str2bytearray’: client/gatt.c:793:9: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 793 | return g_memdup(value, i); | ^~~~~~ In file included from /usr/include/glib-2.0/glib.h:84, from client/gatt.c:27: /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ CC client/admin.o CC gdbus/mainloop.lo CC gdbus/watch.lo CC gdbus/object.lo CC gdbus/client.lo CC gdbus/polkit.lo CCLD gdbus/libgdbus-internal.la CC src/shared/queue.lo CC src/shared/util.lo CC src/shared/mgmt.lo CC src/shared/crypto.lo CC src/shared/ecc.lo CC src/shared/ringbuf.lo CC src/shared/hci.lo CC src/shared/hci-crypto.lo CC src/shared/hfp.lo CC src/shared/uhid.lo CC src/shared/pcap.lo CC src/shared/btsnoop.lo CC src/shared/ad.lo CC src/shared/att.lo CC src/shared/gatt-helpers.lo CC src/shared/gatt-client.lo CC src/shared/gatt-server.lo CC src/shared/gatt-db.lo CC src/shared/gap.lo CC src/shared/log.lo CC src/shared/shell.lo CC src/shared/io-glib.lo CC src/shared/timeout-glib.lo CC src/shared/mainloop-glib.lo CC src/shared/mainloop-notify.lo CC src/shared/tester.lo CCLD src/libshared-glib.la CCLD client/bluetoothctl CC monitor/main.o CC monitor/display.o CC monitor/hcidump.o CC monitor/ellisys.o CC monitor/control.o CC monitor/packet.o CC monitor/vendor.o CC monitor/lmp.o CC monitor/crc.o CC monitor/ll.o CC monitor/l2cap.o CC monitor/sdp.o CC monitor/avctp.o CC monitor/avdtp.o CC monitor/a2dp.o CC monitor/rfcomm.o CC monitor/bnep.o CC monitor/hwdb.o CC monitor/keys.o CC monitor/analyze.o CC monitor/intel.o CC monitor/broadcom.o CC monitor/msft.o CC monitor/jlink.o CC lib/bluetooth.lo CC lib/hci.lo CC lib/sdp.lo CC lib/uuid.lo CCLD lib/libbluetooth-internal.la CC src/shared/io-mainloop.lo CC src/shared/timeout-mainloop.lo CC src/shared/mainloop.lo CCLD src/libshared-mainloop.la CCLD monitor/btmon CC tools/rctest.o CCLD tools/rctest CC tools/l2test.o CCLD tools/l2test CC tools/l2ping.o CCLD tools/l2ping CC tools/bluemoon.o CCLD tools/bluemoon CC tools/hex2hcd.o CCLD tools/hex2hcd CC tools/mpris-proxy.o CCLD tools/mpris-proxy CC tools/btattach.o CCLD tools/btattach CC tools/meshctl.o CC tools/mesh/agent.o CC tools/mesh-gatt/node.o CC tools/mesh-gatt/gatt.o tools/mesh-gatt/gatt.c: In function ‘mesh_gatt_write’: tools/mesh-gatt/gatt.c:341:9: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 341 | data->gatt_data = g_memdup(buf, len); | ^~~~ In file included from /usr/include/glib-2.0/glib.h:84, from tools/mesh-gatt/gatt.c:23: /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ CC tools/mesh-gatt/crypto.o CC tools/mesh-gatt/net.o CC tools/mesh-gatt/prov.o CC tools/mesh-gatt/util.o CC tools/mesh-gatt/prov-db.o CC tools/mesh-gatt/config-client.o CC tools/mesh-gatt/config-server.o CC tools/mesh-gatt/onoff-model.o CCLD tools/meshctl CC tools/mesh-cfgclient.o In file included from tools/mesh-cfgclient.c:26: ./ell/ell.h:1:10: fatal error: ell/util.h: No such file or directory 1 | #include <ell/util.h> | ^~~~~~~~~~~~ compilation terminated. make[1]: *** [Makefile:6965: tools/mesh-cfgclient.o] Error 1 make: *** [Makefile:4154: all] Error 2
2025-02-20: mmcblk0p2 - apt - install libjson-c-dev
tingo@tipi5-linux:~/work/bluez $ sudo apt install libjson-c-dev Reading package lists... Done Building dependency tree... Done Reading state information... Done The following NEW packages will be installed: libjson-c-dev 0 upgraded, 1 newly installed, 0 to remove and 33 not upgraded. Need to get 70.9 kB of archives. After this operation, 311 kB of additional disk space will be used. [..] Preparing to unpack .../libjson-c-dev_0.16-2_arm64.deb ... Unpacking libjson-c-dev:arm64 (0.16-2) ... Setting up libjson-c-dev:arm64 (0.16-2) ...
2025-02-20: mmcblk0p2 - bluez - make
tingo@tipi5-linux:~/work/bluez $ make GEN lib/bluetooth/bluetooth.h GEN lib/bluetooth/hci.h GEN lib/bluetooth/hci_lib.h GEN lib/bluetooth/sco.h GEN lib/bluetooth/l2cap.h GEN lib/bluetooth/sdp.h GEN lib/bluetooth/sdp_lib.h GEN lib/bluetooth/rfcomm.h GEN lib/bluetooth/bnep.h GEN lib/bluetooth/cmtp.h GEN lib/bluetooth/hidp.h GEN ell/shared GEN src/builtin.h GEN obexd/src/builtin.h make --no-print-directory all-am CC client/main.o CC client/display.o CC client/agent.o CC client/advertising.o CC client/adv_monitor.o CC client/gatt.o client/gatt.c: In function ‘str2bytearray’: client/gatt.c:793:9: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 793 | return g_memdup(value, i); | ^~~~~~ In file included from /usr/include/glib-2.0/glib.h:84, from client/gatt.c:27: /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ CC client/admin.o CC gdbus/mainloop.lo CC gdbus/watch.lo CC gdbus/object.lo CC gdbus/client.lo CC gdbus/polkit.lo CCLD gdbus/libgdbus-internal.la CC src/shared/queue.lo CC src/shared/util.lo CC src/shared/mgmt.lo CC src/shared/crypto.lo CC src/shared/ecc.lo CC src/shared/ringbuf.lo CC src/shared/hci.lo CC src/shared/hci-crypto.lo CC src/shared/hfp.lo CC src/shared/uhid.lo CC src/shared/pcap.lo CC src/shared/btsnoop.lo CC src/shared/ad.lo CC src/shared/att.lo CC src/shared/gatt-helpers.lo CC src/shared/gatt-client.lo CC src/shared/gatt-server.lo CC src/shared/gatt-db.lo CC src/shared/gap.lo CC src/shared/log.lo CC src/shared/shell.lo CC src/shared/io-glib.lo CC src/shared/timeout-glib.lo CC src/shared/mainloop-glib.lo CC src/shared/mainloop-notify.lo CC src/shared/tester.lo CCLD src/libshared-glib.la CCLD client/bluetoothctl CC monitor/main.o CC monitor/display.o CC monitor/hcidump.o CC monitor/ellisys.o CC monitor/control.o CC monitor/packet.o CC monitor/vendor.o CC monitor/lmp.o CC monitor/crc.o CC monitor/ll.o CC monitor/l2cap.o CC monitor/sdp.o CC monitor/avctp.o CC monitor/avdtp.o CC monitor/a2dp.o CC monitor/rfcomm.o CC monitor/bnep.o CC monitor/hwdb.o CC monitor/keys.o CC monitor/analyze.o CC monitor/intel.o CC monitor/broadcom.o CC monitor/msft.o CC monitor/jlink.o CC lib/bluetooth.lo CC lib/hci.lo CC lib/sdp.lo CC lib/uuid.lo CCLD lib/libbluetooth-internal.la CC src/shared/io-mainloop.lo CC src/shared/timeout-mainloop.lo CC src/shared/mainloop.lo CCLD src/libshared-mainloop.la CCLD monitor/btmon CC tools/rctest.o CCLD tools/rctest CC tools/l2test.o CCLD tools/l2test CC tools/l2ping.o CCLD tools/l2ping CC tools/bluemoon.o CCLD tools/bluemoon CC tools/hex2hcd.o CCLD tools/hex2hcd CC tools/mpris-proxy.o CCLD tools/mpris-proxy CC tools/btattach.o CCLD tools/btattach CC profiles/cups/main.o CC profiles/cups/sdp.o CC profiles/cups/spp.o CC profiles/cups/hcrp.o CCLD profiles/cups/bluetooth CC tools/bdaddr.o CC src/oui.o CCLD tools/bdaddr CC tools/avinfo.o CCLD tools/avinfo CC tools/avtest.o CCLD tools/avtest CC tools/scotest.o CCLD tools/scotest CC tools/amptest.o CCLD tools/amptest CC tools/hwdb.o CCLD tools/hwdb CC tools/hcieventmask.o CCLD tools/hcieventmask CC tools/hcisecfilter.o CCLD tools/hcisecfilter CC tools/btinfo.o CCLD tools/btinfo CC tools/btconfig.o CCLD tools/btconfig CC tools/btsnoop.o CCLD tools/btsnoop CC tools/btproxy.o CCLD tools/btproxy CC tools/btiotest.o CC btio/btio.o CCLD tools/btiotest CC tools/bneptest.o CC src/log.o CC profiles/network/bnep.o CCLD tools/bneptest CC tools/mcaptest.o CC profiles/health/mcap.o CCLD tools/mcaptest CC tools/cltest.o CCLD tools/cltest CC tools/oobtest.o CCLD tools/oobtest CC tools/advtest.o CCLD tools/advtest CC tools/seq2bseq.o CCLD tools/seq2bseq CC tools/nokfw.o CCLD tools/nokfw CC tools/rtlfw.o CCLD tools/rtlfw CC tools/bcmfw.o CCLD tools/bcmfw CC tools/create-image.o CCLD tools/create-image CC tools/eddystone.o CCLD tools/eddystone CC tools/ibeacon.o CCLD tools/ibeacon CC tools/btgatt-client.o CC src/uuid-helper.o CCLD tools/btgatt-client CC tools/btgatt-server.o CCLD tools/btgatt-server CC tools/test-runner.o CCLD tools/test-runner CC tools/check-selftest.o CCLD tools/check-selftest CC tools/gatt-service.o tools/gatt-service.c: In function ‘desc_write’: tools/gatt-service.c:130:9: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 130 | desc->value = g_memdup(value, len); | ^~~~ In file included from /usr/include/glib-2.0/glib.h:84, from tools/gatt-service.c:23: /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ tools/gatt-service.c: In function ‘chr_write’: tools/gatt-service.c:268:9: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 268 | chr->value = g_memdup(value, len); | ^~~ /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ tools/gatt-service.c: In function ‘register_characteristic’: tools/gatt-service.c:595:9: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 595 | chr->value = g_memdup(value, vlen); | ^~~ /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ CCLD tools/gatt-service CC profiles/iap/main.o CCLD profiles/iap/iapd CC tools/btmgmt.o CCLD tools/btmgmt CC gobex/gobex.o CC gobex/gobex-defs.o CC gobex/gobex-packet.o gobex/gobex-packet.c: In function ‘g_obex_packet_set_data’: gobex/gobex-packet.c:204:17: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 204 | pkt->data.buf = g_memdup(data, len); | ^~~ In file included from /usr/include/glib-2.0/glib.h:84, from gobex/gobex-defs.h:13, from gobex/gobex-packet.c:17: /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ CC gobex/gobex-header.o gobex/gobex-header.c: In function ‘g_obex_header_decode’: gobex/gobex-header.c:225:25: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 225 | header->v.data = g_memdup(ptr, header->vlen); | ^~~~~~ In file included from /usr/include/glib-2.0/glib.h:84, from gobex/gobex-header.h:13, from gobex/gobex-header.c:16: /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ gobex/gobex-header.c: In function ‘g_obex_header_new_bytes’: gobex/gobex-header.c:413:9: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 413 | header->v.data = g_memdup(data, len); | ^~~~~~ /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ CC gobex/gobex-transfer.o CC gobex/gobex-apparam.o CC tools/obex-client-tool.o CCLD tools/obex-client-tool CC tools/obex-server-tool.o CCLD tools/obex-server-tool CC tools/bluetooth-player.o CCLD tools/bluetooth-player CC tools/obexctl.o CCLD tools/obexctl CC plugins/bluetoothd-hostname.o CC plugins/bluetoothd-wiimote.o CC plugins/bluetoothd-autopair.o CC plugins/bluetoothd-policy.o plugins/policy.c: In function ‘policy_init’: plugins/policy.c:858:17: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 858 | reconnect_intervals = g_memdup(default_intervals, | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/include/glib-2.0/glib.h:84, from plugins/policy.c:20: /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ plugins/policy.c:889:17: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 889 | reconnect_intervals = g_memdup(default_intervals, | ^~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ CC profiles/audio/bluetoothd-source.o CC profiles/audio/bluetoothd-sink.o CC profiles/audio/bluetoothd-a2dp.o CC profiles/audio/bluetoothd-avdtp.o CC profiles/audio/bluetoothd-media.o CC profiles/audio/bluetoothd-transport.o CC profiles/audio/bluetoothd-control.o CC profiles/audio/bluetoothd-avctp.o profiles/audio/avctp.c: In function ‘avctp_send_req’: profiles/audio/avctp.c:1730:9: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 1730 | req->operands = g_memdup(operands, operand_count); | ^~~ In file included from /usr/include/glib-2.0/glib.h:84, from profiles/audio/avctp.c:29: /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ profiles/audio/avctp.c: In function ‘avctp_send_browsing_req’: profiles/audio/avctp.c:1768:9: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 1768 | req->operands = g_memdup(operands, operand_count); | ^~~ /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ CC profiles/audio/bluetoothd-avrcp.o profiles/audio/avrcp.c: In function ‘avrcp_handle_get_current_player_value’: profiles/audio/avrcp.c:1301:9: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 1301 | settings = g_memdup(&pdu->params[1], pdu->params[0]); | ^~~~~~~~ In file included from /usr/include/glib-2.0/glib.h:84, from profiles/audio/avrcp.c:30: /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ profiles/audio/avrcp.c: In function ‘avrcp_set_browsed_player_rsp’: profiles/audio/avrcp.c:2804:17: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 2804 | folders[count] = g_memdup(&pdu->params[i], len); | ^~~~~~~ /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ profiles/audio/avrcp.c: In function ‘avrcp_player_parse_features’: profiles/audio/avrcp.c:2891:9: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 2891 | player->features = g_memdup(features, 16); | ^~~~~~ /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ CC profiles/audio/bluetoothd-player.o CC profiles/network/bluetoothd-manager.o CC profiles/network/bluetoothd-bnep.o CC profiles/network/bluetoothd-server.o CC profiles/network/bluetoothd-connection.o CC profiles/input/bluetoothd-manager.o CC profiles/input/bluetoothd-server.o CC profiles/input/bluetoothd-device.o CC profiles/input/bluetoothd-hog.o CC profiles/input/bluetoothd-hog-lib.o profiles/input/hog-lib.c: In function ‘report_read_cb’: profiles/input/hog-lib.c:532:9: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 532 | report->value = g_memdup(pdu, len); | ^~~~~~ In file included from /usr/include/glib-2.0/glib.h:84, from profiles/input/hog-lib.c:27: /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ profiles/input/hog-lib.c: In function ‘hog_attach_hog’: profiles/input/hog-lib.c:1612:17: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 1612 | hog->primary = g_memdup(primary, sizeof(*primary)); | ^~~ /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ profiles/input/hog-lib.c:1626:9: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 1626 | instance->primary = g_memdup(primary, sizeof(*primary)); | ^~~~~~~~ /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ CC profiles/deviceinfo/bluetoothd-dis.o profiles/deviceinfo/dis.c: In function ‘bt_dis_new_primary’: profiles/deviceinfo/dis.c:146:17: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 146 | dis->primary = g_memdup(primary, sizeof(*dis->primary)); | ^~~ In file included from /usr/include/glib-2.0/glib.h:84, from profiles/deviceinfo/dis.c:17: /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ CC profiles/battery/bluetoothd-bas.o profiles/battery/bas.c: In function ‘bt_bas_new’: profiles/battery/bas.c:78:17: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 78 | bas->primary = g_memdup(primary, sizeof(*bas->primary)); | ^~~ In file included from /usr/include/glib-2.0/glib.h:84, from profiles/battery/bas.c:18: /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ CC profiles/scanparam/bluetoothd-scpp.o profiles/scanparam/scpp.c: In function ‘bt_scpp_new’: profiles/scanparam/scpp.c:113:17: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 113 | scan->primary = g_memdup(primary, sizeof(*scan->primary)); | ^~~~ In file included from /usr/include/glib-2.0/glib.h:84, from profiles/scanparam/scpp.c:19: /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ CC profiles/input/bluetoothd-suspend-none.o CC profiles/gap/bluetoothd-gas.o CC profiles/scanparam/bluetoothd-scan.o CC profiles/deviceinfo/bluetoothd-deviceinfo.o CC profiles/battery/bluetoothd-battery.o profiles/battery/battery.c: In function ‘read_initial_battery_level_cb’: profiles/battery/battery.c:162:9: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 162 | batt->initial_value = g_memdup(value, length); | ^~~~ In file included from /usr/include/glib-2.0/glib.h:84, from profiles/battery/battery.c:24: /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ CC attrib/bluetoothd-att.o CC attrib/bluetoothd-gatt.o attrib/gatt.c: In function ‘gatt_discover_char’: attrib/gatt.c:699:9: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 699 | dc->uuid = g_memdup(uuid, sizeof(bt_uuid_t)); | ^~ In file included from /usr/include/glib-2.0/glib.h:84, from attrib/gatt.c:19: /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ attrib/gatt.c: In function ‘gatt_write_char’: attrib/gatt.c:967:9: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 967 | long_write->value = g_memdup(value, vlen); | ^~~~~~~~~~ /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ attrib/gatt.c: In function ‘gatt_discover_desc’: attrib/gatt.c:1133:9: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 1133 | dd->uuid = g_memdup(uuid, sizeof(bt_uuid_t)); | ^~ /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ CC attrib/bluetoothd-gattrib.o CC attrib/bluetoothd-gatt-service.o CC btio/bluetoothd-btio.o CC src/bluetoothd-main.o CC src/bluetoothd-log.o CC src/bluetoothd-backtrace.o CC src/bluetoothd-rfkill.o CC src/bluetoothd-sdpd-server.o CC src/bluetoothd-sdpd-request.o CC src/bluetoothd-sdpd-service.o CC src/bluetoothd-sdpd-database.o CC src/bluetoothd-attrib-server.o src/attrib-server.c: In function ‘attrib_db_add_new’: src/attrib-server.c:342:9: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 342 | a->data = g_memdup(value, len); | ^ In file included from /usr/include/glib-2.0/glib.h:84, from src/attrib-server.c:21: /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ CC src/bluetoothd-gatt-database.o CC src/bluetoothd-sdp-xml.o CC src/bluetoothd-sdp-client.o CC src/bluetoothd-textfile.o CC src/bluetoothd-uuid-helper.o CC src/bluetoothd-plugin.o CC src/bluetoothd-storage.o CC src/bluetoothd-advertising.o CC src/bluetoothd-agent.o CC src/bluetoothd-error.o CC src/bluetoothd-adapter.o CC src/bluetoothd-profile.o CC src/bluetoothd-service.o CC src/bluetoothd-gatt-client.o CC src/bluetoothd-device.o CC src/bluetoothd-dbus-common.o CC src/bluetoothd-eir.o src/eir.c: In function ‘eir_parse’: src/eir.c:326:25: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 326 | eir->hash = g_memdup(data, 16); | ^~~ In file included from /usr/include/glib-2.0/glib.h:84, from src/eir.c:22: /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ src/eir.c:332:25: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 332 | eir->randomizer = g_memdup(data, 16); | ^~~ /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ CC src/bluetoothd-adv_monitor.o CC src/bluetoothd-battery.o GEN src/bluetooth.service CCLD src/bluetoothd CC btio/obexd-btio.o CC gobex/obexd-gobex.o CC gobex/obexd-gobex-defs.o CC gobex/obexd-gobex-packet.o gobex/gobex-packet.c: In function ‘g_obex_packet_set_data’: gobex/gobex-packet.c:204:17: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 204 | pkt->data.buf = g_memdup(data, len); | ^~~ In file included from /usr/include/glib-2.0/glib.h:84, from gobex/gobex-defs.h:13, from gobex/gobex-packet.c:17: /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ CC gobex/obexd-gobex-header.o gobex/gobex-header.c: In function ‘g_obex_header_decode’: gobex/gobex-header.c:225:25: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 225 | header->v.data = g_memdup(ptr, header->vlen); | ^~~~~~ In file included from /usr/include/glib-2.0/glib.h:84, from gobex/gobex-header.h:13, from gobex/gobex-header.c:16: /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ gobex/gobex-header.c: In function ‘g_obex_header_new_bytes’: gobex/gobex-header.c:413:9: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 413 | header->v.data = g_memdup(data, len); | ^~~~~~ /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ CC gobex/obexd-gobex-transfer.o CC gobex/obexd-gobex-apparam.o CC obexd/plugins/obexd-filesystem.o CC obexd/plugins/obexd-bluetooth.o CC obexd/plugins/obexd-opp.o CC obexd/plugins/obexd-ftp.o CC obexd/plugins/obexd-irmc.o CC obexd/plugins/obexd-pbap.o CC obexd/plugins/obexd-vcard.o CC obexd/plugins/obexd-phonebook-dummy.o CC obexd/plugins/obexd-mas.o CC obexd/plugins/obexd-messages-dummy.o CC obexd/client/obexd-mns.o CC obexd/src/obexd-main.o CC obexd/src/obexd-plugin.o CC obexd/src/obexd-log.o CC obexd/src/obexd-manager.o CC obexd/src/obexd-obex.o obexd/src/obex.c: In function ‘parse_apparam’: obexd/src/obex.c:597:9: warning: ‘g_memdup’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations] 597 | os->apparam = g_memdup(apparam, len); | ^~ In file included from /usr/include/glib-2.0/glib.h:84, from obexd/src/obex.c:29: /usr/include/glib-2.0/glib/gstrfuncs.h:259:23: note: declared here 259 | gpointer g_memdup (gconstpointer mem, | ^~~~~~~~ CC obexd/src/obexd-mimetype.o CC obexd/src/obexd-service.o CC obexd/src/obexd-transport.o CC obexd/src/obexd-server.o CC obexd/client/obexd-manager.o CC obexd/client/obexd-session.o CC obexd/client/obexd-bluetooth.o CC obexd/client/obexd-sync.o CC obexd/client/obexd-pbap.o CC obexd/client/obexd-ftp.o CC obexd/client/obexd-opp.o CC obexd/client/obexd-map.o CC obexd/client/obexd-map-event.o CC obexd/client/obexd-transfer.o CC obexd/client/obexd-transport.o CC obexd/client/obexd-driver.o CCLD obexd/src/obexd GEN src/bluetoothd.8 GEN monitor/btmon.1 GEN tools/rctest.1 GEN tools/l2ping.1 GEN tools/btattach.1 GEN obexd/src/obex.service
2025-02-20: mmcblk0p2 - bluez - configure
tingo@tipi5-linux:~/work/bluez $ ./configure --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc --localstatedir=/var checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a race-free mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking how to create a pax tar archive... gnutar checking whether make supports nested variables... (cached) yes checking whether to enable maintainer-specific portions of Makefiles... no checking for pkg-config... /usr/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking whether make supports the include directive... yes (GNU style) checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether the compiler supports GNU C... yes checking whether gcc accepts -g... yes checking for gcc option to enable C11 features... none needed checking whether gcc understands -c and -o together... yes checking dependency style of gcc... gcc3 checking for C/C++ restrict keyword... __restrict__ checking for gcc... (cached) gcc checking whether the compiler supports GNU C... (cached) yes checking whether gcc accepts -g... (cached) yes checking for gcc option to enable C11 features... (cached) none needed checking whether gcc understands -c and -o together... (cached) yes checking dependency style of gcc... (cached) gcc3 checking whether gcc accepts -fPIE... yes checking build system type... aarch64-unknown-linux-gnu checking host system type... aarch64-unknown-linux-gnu checking how to print strings... printf checking for a sed that does not truncate output... /usr/bin/sed checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for fgrep... /usr/bin/grep -F checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 1572864 checking how to convert aarch64-unknown-linux-gnu file names to aarch64-unknown-linux-gnu format... func_convert_file_noop checking how to convert aarch64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for file... file checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for ar... ar checking for archiver @FILE support... @ checking for strip... strip checking for ranlib... ranlib checking command to parse /usr/bin/nm -B output from gcc object... ok checking for sysroot... no checking for a working dd... /usr/bin/dd checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1 checking for mt... mt checking if mt is a manifest tool... no checking for stdio.h... yes checking for stdlib.h... yes checking for string.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for strings.h... yes checking for sys/stat.h... yes checking for sys/types.h... yes checking for unistd.h... yes checking for dlfcn.h... yes checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... no checking for explicit_bzero... yes checking for rawmemchr... yes checking for signalfd... yes checking for clock_gettime in -lrt... yes checking for pthread_create in -lpthread... yes checking for dlopen in -ldl... yes checking for linux/types.h... yes checking for linux/if_alg.h... yes checking for glib-2.0 >= 2.28... yes checking for dbus-1 >= 1.6... yes checking D-Bus configuration directory... /etc checking D-Bus system bus services dir... /usr/share/dbus-1/system-services checking D-Bus session bus services dir... /usr/share/dbus-1/services ${prefix}/share/zsh/site-functions checking for libudev >= 172... yes checking for udev_hwdb_new in -ludev... yes checking udev directory... /lib/udev checking for libical... yes checking for readline/readline.h... yes checking systemd system unit dir... /lib/systemd/system checking systemd user unit dir... /usr/lib/systemd/user checking for rst2man... rst2man checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/bluetoothd.rst config.status: creating lib/bluez.pc config.status: creating mesh/bluetooth-meshd.rst config.status: creating config.h config.status: executing depfiles commands config.status: executing libtool commands
2025-02-20: mmcblk0p2 - apt - install libical-dev
tingo@tipi5-linux:~/work/bluez $ sudo apt install libical-dev Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: gir1.2-ical-3.0 icu-devtools libdb-dev libdb5.3-dev libical3 libicu-dev Suggested packages: db5.3-doc icu-doc The following NEW packages will be installed: gir1.2-ical-3.0 icu-devtools libdb-dev libdb5.3-dev libical-dev libical3 libicu-dev 0 upgraded, 7 newly installed, 0 to remove and 33 not upgraded. Need to get 11.9 MB of archives. After this operation, 60.7 MB of additional disk space will be used. [..] Setting up libdb-dev:arm64 (5.3.2) ... Setting up libical-dev:arm64 (3.0.16-1+b1) ... Processing triggers for man-db (2.11.2-2) ... Processing triggers for libc-bin (2.36-9+rpt2+deb12u9) ...
apt - install libreadline-dev
tingo@tipi5-linux:~/work/bluez $ sudo apt install libreadline-dev Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: libncurses-dev Suggested packages: ncurses-doc readline-doc The following NEW packages will be installed: libncurses-dev libreadline-dev 0 upgraded, 2 newly installed, 0 to remove and 33 not upgraded. Need to get 487 kB of archives. After this operation, 3,259 kB of additional disk space will be used. [..] Setting up libncurses-dev:arm64 (6.4-4) ... Setting up libreadline-dev:arm64 (8.2-1.3) ... Processing triggers for man-db (2.11.2-2) ...
2025-02-20: mmcblk0p2 - bluez - configure
tingo@tipi5-linux:~/work/bluez $ ./configure --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc --localstatedir=/var checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a race-free mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking how to create a pax tar archive... gnutar checking whether make supports nested variables... (cached) yes checking whether to enable maintainer-specific portions of Makefiles... no checking for pkg-config... /usr/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking whether make supports the include directive... yes (GNU style) checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether the compiler supports GNU C... yes checking whether gcc accepts -g... yes checking for gcc option to enable C11 features... none needed checking whether gcc understands -c and -o together... yes checking dependency style of gcc... gcc3 checking for C/C++ restrict keyword... __restrict__ checking for gcc... (cached) gcc checking whether the compiler supports GNU C... (cached) yes checking whether gcc accepts -g... (cached) yes checking for gcc option to enable C11 features... (cached) none needed checking whether gcc understands -c and -o together... (cached) yes checking dependency style of gcc... (cached) gcc3 checking whether gcc accepts -fPIE... yes checking build system type... aarch64-unknown-linux-gnu checking host system type... aarch64-unknown-linux-gnu checking how to print strings... printf checking for a sed that does not truncate output... /usr/bin/sed checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for fgrep... /usr/bin/grep -F checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 1572864 checking how to convert aarch64-unknown-linux-gnu file names to aarch64-unknown-linux-gnu format... func_convert_file_noop checking how to convert aarch64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for file... file checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for ar... ar checking for archiver @FILE support... @ checking for strip... strip checking for ranlib... ranlib checking command to parse /usr/bin/nm -B output from gcc object... ok checking for sysroot... no checking for a working dd... /usr/bin/dd checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1 checking for mt... mt checking if mt is a manifest tool... no checking for stdio.h... yes checking for stdlib.h... yes checking for string.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for strings.h... yes checking for sys/stat.h... yes checking for sys/types.h... yes checking for unistd.h... yes checking for dlfcn.h... yes checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... no checking for explicit_bzero... yes checking for rawmemchr... yes checking for signalfd... yes checking for clock_gettime in -lrt... yes checking for pthread_create in -lpthread... yes checking for dlopen in -ldl... yes checking for linux/types.h... yes checking for linux/if_alg.h... yes checking for glib-2.0 >= 2.28... yes checking for dbus-1 >= 1.6... yes checking D-Bus configuration directory... /etc checking D-Bus system bus services dir... /usr/share/dbus-1/system-services checking D-Bus session bus services dir... /usr/share/dbus-1/services ${prefix}/share/zsh/site-functions checking for libudev >= 172... yes checking for udev_hwdb_new in -ludev... yes checking udev directory... /lib/udev checking for libical... no configure: error: libical is required
2025-02-20: mmcblk0p2 - bluez - bootstrap
tingo@tipi5-linux:~/work/bluez $ ./bootstrap configure.ac:21: installing './compile' configure.ac:33: installing './config.guess' configure.ac:33: installing './config.sub' configure.ac:5: installing './install-sh' configure.ac:5: installing './missing' Makefile.am: installing './depcomp' parallel-tests: installing './test-driver' configure.ac:19: warning: The macro `AC_LANG_C' is obsolete. configure.ac:19: You should run autoupdate. ./lib/autoconf/c.m4:72: AC_LANG_C is expanded from... configure.ac:19: the top level configure.ac:33: warning: The macro `AC_PROG_LIBTOOL' is obsolete. configure.ac:33: You should run autoupdate. aclocal.m4:122: AC_PROG_LIBTOOL is expanded from... configure.ac:33: the top level configure.ac:45: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:45: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... acinclude.m4:32: MISC_FLAGS is expanded from... configure.ac:45: the top level configure.ac:47: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:47: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:47: the top level configure.ac:86: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:86: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:86: the top level configure.ac:99: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:99: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:99: the top level configure.ac:112: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:112: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:112: the top level configure.ac:125: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:125: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:125: the top level configure.ac:137: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:137: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:137: the top level configure.ac:151: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:151: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:151: the top level configure.ac:155: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:155: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:155: the top level configure.ac:159: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:159: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:159: the top level configure.ac:163: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:163: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:163: the top level configure.ac:167: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:167: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:167: the top level configure.ac:171: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:171: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:171: the top level configure.ac:175: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:175: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:175: the top level configure.ac:179: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:179: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:179: the top level configure.ac:183: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:183: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:183: the top level configure.ac:187: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:187: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:187: the top level configure.ac:191: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:191: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:191: the top level configure.ac:195: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:195: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:195: the top level configure.ac:199: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:199: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:199: the top level configure.ac:212: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:212: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:212: the top level configure.ac:224: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:224: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:224: the top level configure.ac:228: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:228: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:228: the top level configure.ac:239: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:239: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:239: the top level configure.ac:250: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:250: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:250: the top level configure.ac:260: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:260: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:260: the top level configure.ac:264: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:264: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:264: the top level configure.ac:279: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:279: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:279: the top level configure.ac:289: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:289: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:289: the top level configure.ac:294: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:294: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:294: the top level configure.ac:308: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:308: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:308: the top level configure.ac:321: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:321: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:321: the top level configure.ac:326: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:326: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:326: the top level configure.ac:338: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:338: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:338: the top level configure.ac:343: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:343: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:343: the top level configure.ac:348: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:348: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:348: the top level configure.ac:353: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:353: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:353: the top level configure.ac:358: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:358: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:358: the top level configure.ac:363: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:363: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:363: the top level configure.ac:367: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:367: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:367: the top level configure.ac:401: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:401: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:401: the top level configure.ac:423: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:423: You should run autoupdate. ./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from... configure.ac:423: the top level configure.ac:440: warning: AC_OUTPUT should be used without arguments. configure.ac:440: You should run autoupdate.
2025-02-20: mmcblk0p2 - apt - install autoconf, automake
tingo@tipi5-linux:~/work/bluez $ sudo apt install autoconf automake Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: autotools-dev m4 Suggested packages: autoconf-archive gnu-standards autoconf-doc libtool gettext m4-doc The following NEW packages will be installed: autoconf automake autotools-dev m4 0 upgraded, 4 newly installed, 0 to remove and 33 not upgraded. Need to get 1,483 kB of archives. After this operation, 4,831 kB of additional disk space will be used. [..] Setting up m4 (1.4.19-3) ... Setting up autotools-dev (20220109.1) ... Setting up autoconf (2.71-3) ... Setting up automake (1:1.16.5-1.3) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode
apt - install libtool
tingo@tipi5-linux:~/work/bluez $ sudo apt install libtool Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: libltdl-dev Suggested packages: libtool-doc gfortran | fortran95-compiler gcj-jdk The following NEW packages will be installed: libltdl-dev libtool 0 upgraded, 2 newly installed, 0 to remove and 33 not upgraded. Need to get 682 kB of archives. After this operation, 2,213 kB of additional disk space will be used. [..] Setting up libtool (2.4.7-7~deb12u1) ... Setting up libltdl-dev:arm64 (2.4.7-7~deb12u1) ... Processing triggers for man-db (2.11.2-2) ...
2025-02-20: mmcblk0p2 - bluez - clone the bluez repository
tingo@tipi5-linux:~/work $ git clone https://git.kernel.org/pub/scm/bluetooth/bluez.git Cloning into 'bluez'... remote: Enumerating objects: 141129, done. remote: Counting objects: 100% (151/151), done. remote: Compressing objects: 100% (89/89), done. remote: Total 141129 (delta 104), reused 62 (delta 62), pack-reused 140978 Receiving objects: 100% (141129/141129), 23.92 MiB | 1.92 MiB/s, done. Resolving deltas: 100% (108682/108682), done.
check out 5.62 into a new branch
tingo@tipi5-linux:~/work/bluez $ git checkout -b work-5.62 5.62 Switched to a new branch 'work-5.62'
2025-02-20: mmcblk0p2 - rust - Bluetooth Mesh Rust fails when compiling examples.
2025-02-09: mmcblk0p2 - rust - ble-mesh is five years old, with no current activity.
2025-02-09: mmcblk0p2 - rust - try the btleplug project. The examples work, but there isn't a mesh example discover
tingo@tipi5-linux:~/personal/projects/2025/rust/btleplug $ target/debug/examples/discover_adapters_peripherals --help Starting scan on hci0 (usb:v1D6Bp0246d0542)... Peripheral "DELL-52280-LATI" is connected: false Connecting to peripheral "DELL-52280-LATI"... Error connecting to peripheral, skipping: Timeout waiting for reply Peripheral "(peripheral name unknown)" is connected: false Connecting to peripheral "(peripheral name unknown)"... Error connecting to peripheral, skipping: Timeout waiting for reply Peripheral "(peripheral name unknown)" is connected: false Connecting to peripheral "(peripheral name unknown)"... Error connecting to peripheral, skipping: le-connection-abort-by-local Peripheral "JBL Xtreme 3" is connected: false Connecting to peripheral "JBL Xtreme 3"... Error connecting to peripheral, skipping: Timeout waiting for reply Peripheral "(peripheral name unknown)" is connected: false Connecting to peripheral "(peripheral name unknown)"... Error connecting to peripheral, skipping: Timeout waiting for reply Peripheral "(peripheral name unknown)" is connected: false Connecting to peripheral "(peripheral name unknown)"... Error connecting to peripheral, skipping: Timeout waiting for reply Peripheral "43\" Crystal UHD" is connected: false Connecting to peripheral "43\" Crystal UHD"... Error connecting to peripheral, skipping: Timeout waiting for reply Peripheral "(peripheral name unknown)" is connected: false Connecting to peripheral "(peripheral name unknown)"... Error connecting to peripheral, skipping: Timeout waiting for reply Peripheral "(peripheral name unknown)" is connected: false Connecting to peripheral "(peripheral name unknown)"... Error connecting to peripheral, skipping: Timeout waiting for reply Peripheral "(peripheral name unknown)" is connected: false Connecting to peripheral "(peripheral name unknown)"... Error connecting to peripheral, skipping: Timeout waiting for reply Error: Other(DbusError(D-Bus error: Method "GetAll" with signature "s" on interface "org.freedesktop.DBus.Properties" doesn't exist (org.freedesktop.DBus.Error.UnknownObject)))
lights
tingo@tipi5-linux:~/personal/projects/2025/rust/btleplug $ target/debug/examples/lights thread 'main' panicked at examples/lights.rs:54:44: No lights found note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
event driven discovery
tingo@tipi5-linux:~/personal/projects/2025/rust/btleplug $ cargo run --example event_driven_discovery Compiling btleplug v0.11.7 (/home/tingo/personal/projects/2025/rust/btleplug) Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.88s Running `target/debug/examples/event_driven_discovery` CentralState: PoweredOn DeviceDiscovered: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_B8_B4_09_5F_1A_E1\0") }) Name: 43" Crystal UHD DeviceDiscovered: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_D8_37_3B_98_02_9E\0") }) Name: JBL Xtreme 3 DeviceDiscovered: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_6B_1A_9D_00_18_ED\0") }) DeviceDiscovered: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_52_C8_60_E0_0B_3D\0") }) ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_B8_B4_09_5F_1A_E1\0") }), {117: [66, 4, 1, 32, 103, 36, 13, 0, 2, 1, 43, 1, 1, 0, 1, 4, 127, 0, 0, 0, 0, 0, 0, 28]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_6B_1A_9D_00_18_ED\0") }), {76: [12, 14, 0, 83, 19, 20, 150, 162, 205, 116, 9, 16, 3, 97, 255, 7, 16, 5, 113, 28, 209, 10, 182]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_B8_B4_09_5F_1A_E1\0") }), {117: [2, 24, 52, 161, 152, 98, 170, 89, 89, 58, 79, 99, 255, 131, 53, 100, 110, 11, 6, 158, 73]} DeviceDiscovered: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_78_F2_53_96_6D_FA\0") }) ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_B8_B4_09_5F_1A_E1\0") }), {117: [66, 4, 1, 32, 103, 36, 13, 0, 2, 1, 43, 1, 1, 0, 1, 4, 127, 0, 0, 0, 0, 0, 0, 28]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_52_C8_60_E0_0B_3D\0") }), {6: [1, 9, 32, 2, 13, 135, 17, 177, 70, 126, 51, 76, 167, 102, 140, 150, 230, 112, 82, 132, 86, 244, 242, 33, 172, 187, 112]} DeviceDiscovered: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_F8_F9_FF_4B_DC_C1\0") }) ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_78_F2_53_96_6D_FA\0") }), {76: [16, 5, 13, 28, 222, 197, 46]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_52_C8_60_E0_0B_3D\0") }), {6: [1, 9, 32, 2, 13, 135, 17, 177, 70, 126, 51, 76, 167, 102, 140, 150, 230, 112, 82, 132, 86, 244, 242, 33, 172, 187, 112]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_52_C8_60_E0_0B_3D\0") }), {6: [1, 9, 32, 2, 13, 135, 17, 177, 70, 126, 51, 76, 167, 102, 140, 150, 230, 112, 82, 132, 86, 244, 242, 33, 172, 187, 112]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_78_F2_53_96_6D_FA\0") }), {76: [16, 5, 13, 28, 222, 197, 46]} DeviceDiscovered: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_10_2B_41_53_01_2F\0") }) ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_D8_37_3B_98_02_9E\0") }), {87: [47, 32, 1, 40, 78, 89]} ServiceDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_D8_37_3B_98_02_9E\0") }), {0000fddf-0000-1000-8000-00805f9b34fb: []} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_78_F2_53_96_6D_FA\0") }), {76: [16, 5, 13, 28, 222, 197, 46]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_78_F2_53_96_6D_FA\0") }), {76: [16, 5, 13, 28, 222, 197, 46]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_52_C8_60_E0_0B_3D\0") }), {6: [1, 9, 32, 2, 13, 135, 17, 177, 70, 126, 51, 76, 167, 102, 140, 150, 230, 112, 82, 132, 86, 244, 242, 33, 172, 187, 112]} DeviceDiscovered: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_CD_9E_BE_1F_F3_71\0") }) ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_52_C8_60_E0_0B_3D\0") }), {6: [1, 9, 32, 2, 13, 135, 17, 177, 70, 126, 51, 76, 167, 102, 140, 150, 230, 112, 82, 132, 86, 244, 242, 33, 172, 187, 112]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_B8_B4_09_5F_1A_E1\0") }), {117: [2, 24, 52, 161, 152, 98, 170, 89, 89, 58, 79, 99, 255, 131, 53, 100, 110, 11, 6, 158, 73]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_78_F2_53_96_6D_FA\0") }), {76: [16, 5, 13, 28, 222, 197, 46]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_52_C8_60_E0_0B_3D\0") }), {6: [1, 9, 32, 2, 13, 135, 17, 177, 70, 126, 51, 76, 167, 102, 140, 150, 230, 112, 82, 132, 86, 244, 242, 33, 172, 187, 112]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_D8_37_3B_98_02_9E\0") }), {87: [47, 32, 1, 40, 78, 89]} ServiceDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_D8_37_3B_98_02_9E\0") }), {0000fddf-0000-1000-8000-00805f9b34fb: []} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_78_F2_53_96_6D_FA\0") }), {76: [16, 5, 13, 28, 222, 197, 46]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_D8_37_3B_98_02_9E\0") }), {87: [47, 32, 1, 40, 78, 89]} ServiceDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_D8_37_3B_98_02_9E\0") }), {0000fddf-0000-1000-8000-00805f9b34fb: []} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_78_F2_53_96_6D_FA\0") }), {76: [16, 5, 13, 28, 222, 197, 46]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_52_C8_60_E0_0B_3D\0") }), {6: [1, 9, 32, 2, 13, 135, 17, 177, 70, 126, 51, 76, 167, 102, 140, 150, 230, 112, 82, 132, 86, 244, 242, 33, 172, 187, 112]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_B8_B4_09_5F_1A_E1\0") }), {117: [66, 4, 1, 1, 103, 184, 180, 9, 95, 26, 225, 186, 180, 9, 95, 26, 224, 1, 0, 0, 0, 0, 0, 0]} DeviceDiscovered: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_E2_60_B0_58_AC_67\0") }) Name: Stue ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_78_F2_53_96_6D_FA\0") }), {76: [16, 5, 13, 28, 222, 197, 46]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_D8_37_3B_98_02_9E\0") }), {87: [47, 32, 1, 40, 78, 89]} ServiceDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_D8_37_3B_98_02_9E\0") }), {0000fddf-0000-1000-8000-00805f9b34fb: []} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_CD_9E_BE_1F_F3_71\0") }), {76: [18, 2, 0, 3]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_52_C8_60_E0_0B_3D\0") }), {6: [1, 9, 32, 2, 13, 135, 17, 177, 70, 126, 51, 76, 167, 102, 140, 150, 230, 112, 82, 132, 86, 244, 242, 33, 172, 187, 112]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_B8_B4_09_5F_1A_E1\0") }), {117: [2, 24, 52, 161, 152, 98, 170, 89, 89, 58, 79, 99, 255, 131, 53, 100, 110, 11, 6, 158, 73]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_78_F2_53_96_6D_FA\0") }), {76: [16, 5, 13, 28, 222, 197, 46]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_10_2B_41_53_01_2F\0") }), {117: [66, 4, 1, 1, 126, 16, 43, 65, 83, 1, 47, 18, 43, 65, 83, 1, 46, 1, 24, 84, 227, 0, 0, 0]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_B8_B4_09_5F_1A_E1\0") }), {117: [2, 24, 52, 161, 152, 98, 170, 89, 89, 58, 79, 99, 255, 131, 53, 100, 110, 11, 6, 158, 73]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_6B_1A_9D_00_18_ED\0") }), {76: [16, 6, 113, 30, 209, 10, 182, 56]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_CD_9E_BE_1F_F3_71\0") }), {76: [18, 2, 0, 3]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_B8_B4_09_5F_1A_E1\0") }), {117: [66, 4, 1, 1, 103, 184, 180, 9, 95, 26, 225, 186, 180, 9, 95, 26, 224, 1, 0, 0, 0, 0, 0, 0]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_78_F2_53_96_6D_FA\0") }), {76: [16, 5, 13, 28, 222, 197, 46]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_6B_1A_9D_00_18_ED\0") }), {76: [16, 6, 113, 30, 209, 10, 182, 56]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_52_C8_60_E0_0B_3D\0") }), {6: [1, 9, 32, 2, 13, 135, 17, 177, 70, 126, 51, 76, 167, 102, 140, 150, 230, 112, 82, 132, 86, 244, 242, 33, 172, 187, 112]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_52_C8_60_E0_0B_3D\0") }), {6: [1, 9, 32, 2, 13, 135, 17, 177, 70, 126, 51, 76, 167, 102, 140, 150, 230, 112, 82, 132, 86, 244, 242, 33, 172, 187, 112]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_78_F2_53_96_6D_FA\0") }), {76: [16, 5, 13, 28, 222, 197, 46]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_D8_37_3B_98_02_9E\0") }), {87: [47, 32, 1, 40, 78, 89]} ServiceDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_D8_37_3B_98_02_9E\0") }), {0000fddf-0000-1000-8000-00805f9b34fb: []} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_52_C8_60_E0_0B_3D\0") }), {6: [1, 9, 32, 2, 13, 135, 17, 177, 70, 126, 51, 76, 167, 102, 140, 150, 230, 112, 82, 132, 86, 244, 242, 33, 172, 187, 112]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_78_F2_53_96_6D_FA\0") }), {76: [16, 5, 13, 28, 222, 197, 46]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_52_C8_60_E0_0B_3D\0") }), {6: [1, 9, 32, 2, 13, 135, 17, 177, 70, 126, 51, 76, 167, 102, 140, 150, 230, 112, 82, 132, 86, 244, 242, 33, 172, 187, 112]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_D8_37_3B_98_02_9E\0") }), {87: [47, 32, 1, 40, 78, 89]} ServiceDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_D8_37_3B_98_02_9E\0") }), {0000fddf-0000-1000-8000-00805f9b34fb: []} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_78_F2_53_96_6D_FA\0") }), {76: [16, 5, 13, 28, 222, 197, 46]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_B8_B4_09_5F_1A_E1\0") }), {117: [2, 24, 52, 161, 152, 98, 170, 89, 89, 58, 79, 99, 255, 131, 53, 100, 110, 11, 6, 158, 73]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_52_C8_60_E0_0B_3D\0") }), {6: [1, 9, 32, 2, 13, 135, 17, 177, 70, 126, 51, 76, 167, 102, 140, 150, 230, 112, 82, 132, 86, 244, 242, 33, 172, 187, 112]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_B8_B4_09_5F_1A_E1\0") }), {117: [2, 24, 52, 161, 152, 98, 170, 89, 89, 58, 79, 99, 255, 131, 53, 100, 110, 11, 6, 158, 73]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_52_C8_60_E0_0B_3D\0") }), {6: [1, 9, 32, 2, 13, 135, 17, 177, 70, 126, 51, 76, 167, 102, 140, 150, 230, 112, 82, 132, 86, 244, 242, 33, 172, 187, 112]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_CD_9E_BE_1F_F3_71\0") }), {76: [18, 2, 0, 3]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_78_F2_53_96_6D_FA\0") }), {76: [16, 5, 13, 28, 222, 197, 46]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_6B_1A_9D_00_18_ED\0") }), {76: [16, 6, 113, 30, 209, 10, 182, 56]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_10_2B_41_53_01_2F\0") }), {117: [66, 4, 1, 1, 126, 16, 43, 65, 83, 1, 47, 18, 43, 65, 83, 1, 46, 1, 24, 84, 227, 0, 0, 0]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_52_C8_60_E0_0B_3D\0") }), {6: [1, 9, 32, 2, 13, 135, 17, 177, 70, 126, 51, 76, 167, 102, 140, 150, 230, 112, 82, 132, 86, 244, 242, 33, 172, 187, 112]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_B8_B4_09_5F_1A_E1\0") }), {117: [2, 24, 52, 161, 152, 98, 170, 89, 89, 58, 79, 99, 255, 131, 53, 100, 110, 11, 6, 158, 73]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_78_F2_53_96_6D_FA\0") }), {76: [16, 5, 13, 28, 222, 197, 46]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_52_C8_60_E0_0B_3D\0") }), {6: [1, 9, 32, 2, 13, 135, 17, 177, 70, 126, 51, 76, 167, 102, 140, 150, 230, 112, 82, 132, 86, 244, 242, 33, 172, 187, 112]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_F8_F9_FF_4B_DC_C1\0") }), {76: [18, 2, 0, 0]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_78_F2_53_96_6D_FA\0") }), {76: [16, 5, 13, 28, 222, 197, 46]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_52_C8_60_E0_0B_3D\0") }), {6: [1, 9, 32, 2, 13, 135, 17, 177, 70, 126, 51, 76, 167, 102, 140, 150, 230, 112, 82, 132, 86, 244, 242, 33, 172, 187, 112]} DeviceDiscovered: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_E0_6F_59_28_F9_EF\0") }) DeviceDiscovered: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_FD_62_32_40_6E_11\0") }) ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_10_2B_41_53_01_2F\0") }), {117: [66, 4, 1, 1, 126, 16, 43, 65, 83, 1, 47, 18, 43, 65, 83, 1, 46, 1, 24, 84, 227, 0, 0, 0]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_78_F2_53_96_6D_FA\0") }), {76: [16, 5, 13, 28, 222, 197, 46]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_52_C8_60_E0_0B_3D\0") }), {6: [1, 9, 32, 2, 13, 135, 17, 177, 70, 126, 51, 76, 167, 102, 140, 150, 230, 112, 82, 132, 86, 244, 242, 33, 172, 187, 112]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_78_F2_53_96_6D_FA\0") }), {76: [16, 5, 13, 28, 222, 197, 46]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_6B_1A_9D_00_18_ED\0") }), {76: [16, 6, 113, 30, 209, 10, 182, 56]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_B8_B4_09_5F_1A_E1\0") }), {117: [66, 4, 1, 1, 103, 184, 180, 9, 95, 26, 225, 186, 180, 9, 95, 26, 224, 1, 0, 0, 0, 0, 0, 0]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_78_F2_53_96_6D_FA\0") }), {76: [16, 5, 13, 28, 222, 197, 46]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_6B_1A_9D_00_18_ED\0") }), {76: [16, 6, 113, 30, 209, 10, 182, 56]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_CD_9E_BE_1F_F3_71\0") }), {76: [18, 2, 0, 3]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_78_F2_53_96_6D_FA\0") }), {76: [16, 5, 13, 28, 222, 197, 46]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_6B_1A_9D_00_18_ED\0") }), {76: [16, 6, 113, 30, 209, 10, 182, 56]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_52_C8_60_E0_0B_3D\0") }), {6: [1, 9, 32, 2, 13, 135, 17, 177, 70, 126, 51, 76, 167, 102, 140, 150, 230, 112, 82, 132, 86, 244, 242, 33, 172, 187, 112]} DeviceDiscovered: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_D4_6A_6A_8F_D5_E2\0") }) Name: DELL-52280-LATI ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_B8_B4_09_5F_1A_E1\0") }), {117: [2, 24, 52, 161, 152, 98, 170, 89, 89, 58, 79, 99, 255, 131, 53, 100, 110, 11, 6, 158, 73]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_52_C8_60_E0_0B_3D\0") }), {6: [1, 9, 32, 2, 13, 135, 17, 177, 70, 126, 51, 76, 167, 102, 140, 150, 230, 112, 82, 132, 86, 244, 242, 33, 172, 187, 112]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_78_F2_53_96_6D_FA\0") }), {76: [16, 5, 13, 28, 222, 197, 46]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_52_C8_60_E0_0B_3D\0") }), {6: [1, 9, 32, 2, 13, 135, 17, 177, 70, 126, 51, 76, 167, 102, 140, 150, 230, 112, 82, 132, 86, 244, 242, 33, 172, 187, 112]} ServiceDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_E2_60_B0_58_AC_67\0") }), {0000fe0f-0000-1000-8000-00805f9b34fb: [102, 16, 255, 255, 2]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_78_F2_53_96_6D_FA\0") }), {76: [16, 5, 13, 28, 222, 197, 46]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_6B_1A_9D_00_18_ED\0") }), {76: [16, 6, 113, 30, 209, 10, 182, 56]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_78_F2_53_96_6D_FA\0") }), {76: [16, 5, 13, 28, 222, 197, 46]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_52_C8_60_E0_0B_3D\0") }), {6: [1, 9, 32, 2, 13, 135, 17, 177, 70, 126, 51, 76, 167, 102, 140, 150, 230, 112, 82, 132, 86, 244, 242, 33, 172, 187, 112]} ManufacturerDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_D8_37_3B_98_02_9E\0") }), {87: [47, 32, 1, 40, 78, 89]} ServiceDataAdvertisement: PeripheralId(DeviceId { object_path: Path("/org/bluez/hci0/dev_D8_37_3B_98_02_9E\0") }), {0000fddf-0000-1000-8000-00805f9b34fb: []}
2025-02-09: mmcblk0p2 - rust - try the BluetoothMeshRust project. First checkout the rpository, then update the submodules
tingo@tipi5-linux:~/personal/projects/2025/rust $ git clone https://github.com/AndrewGi/BluetoothMeshRust.git Cloning into 'BluetoothMeshRust'... remote: Enumerating objects: 2251, done. remote: Counting objects: 100% (2/2), done. remote: Compressing objects: 100% (2/2), done. remote: Total 2251 (delta 0), reused 0 (delta 0), pack-reused 2249 (from 1) Receiving objects: 100% (2251/2251), 1.17 MiB | 642.00 KiB/s, done. Resolving deltas: 100% (1571/1571), done. tingo@tipi5-linux:~/personal/projects/2025/rust/BluetoothMeshRust $ git submodule update --init Submodule 'async_driver' (https://github.com/AndrewGi/async_driver.git) registered for path 'async_driver' Submodule 'btle' (https://github.com/AndrewGi/btle.git) registered for path 'btle' Cloning into '/home/tingo/personal/projects/2025/rust/BluetoothMeshRust/async_driver'... Cloning into '/home/tingo/personal/projects/2025/rust/BluetoothMeshRust/btle'... Submodule path 'async_driver': checked out '4f26ee7eaf591ca691140c5dfd684b5d32a539a8' Submodule path 'btle': checked out '9a9aee942c4ad470f7c43cb0afb17ddfa2d822d9'
try to build it
tingo@tipi5-linux:~/personal/projects/2025/rust/BluetoothMeshRust $ cargo build Updating crates.io index Locking 65 packages to latest compatible versions Adding aead v0.3.2 (available: v0.5.2) Adding aes v0.6.0 (available: v0.8.4) Adding block-modes v0.7.0 (available: v0.9.1) Adding cmac v0.5.1 (available: v0.7.2) Adding generic-array v0.14.7 (available: v1.2.0) Adding rand v0.7.3 (available: v0.9.0) Adding subtle v2.4.1 (available: v2.6.1) Downloaded aead v0.3.2 Downloaded block-padding v0.2.1 Downloaded cipher v0.2.5 Downloaded opaque-debug v0.3.1 Downloaded dbl v0.3.2 Downloaded cc v1.2.13 Downloaded block-modes v0.7.0 Downloaded crypto-mac v0.10.1 Downloaded subtle v2.4.1 Downloaded rand_core v0.5.1 Downloaded rand_chacha v0.2.2 Downloaded getrandom v0.1.16 Downloaded aes v0.6.0 Downloaded aes-soft v0.6.4 Downloaded rand v0.7.3 Downloaded cmac v0.5.1 Downloaded tokio v0.3.7 Downloaded 17 crates (980.9 KB) in 1.43s Compiling proc-macro2 v1.0.93 Compiling typenum v1.17.0 Compiling version_check v0.9.5 Compiling libc v0.2.169 Compiling autocfg v1.4.0 Compiling unicode-ident v1.0.16 Compiling generic-array v0.14.7 Compiling slab v0.4.9 Compiling cfg-if v1.0.0 Compiling quote v1.0.38 Compiling syn v2.0.98 Compiling getrandom v0.1.16 Compiling pin-project-lite v0.2.16 Compiling futures-core v0.3.31 Compiling futures-task v0.3.31 Compiling cipher v0.2.5 Compiling byteorder v1.5.0 Compiling pin-utils v0.1.0 Compiling shlex v1.3.0 Compiling futures-util v0.3.31 Compiling cc v1.2.13 Compiling tokio v0.3.7 Compiling rand_core v0.5.1 Compiling num_cpus v1.16.0 Compiling serde v1.0.217 Compiling subtle v2.4.1 Compiling opaque-debug v0.3.1 Compiling aes-soft v0.6.4 Compiling crypto-mac v0.10.1 Compiling ring v0.17.8 Compiling futures-executor v0.3.31 Compiling dbl v0.3.2 Compiling getrandom v0.2.15 Compiling zerocopy-derive v0.7.35 Compiling serde_derive v1.0.217 Compiling untrusted v0.9.0 Compiling spin v0.9.8 Compiling futures-sink v0.3.31 Compiling futures-io v0.3.31 Compiling zerocopy v0.7.35 Compiling block-padding v0.2.1 Compiling block-modes v0.7.0 Compiling driver_async v0.0.3 (/home/tingo/personal/projects/2025/rust/BluetoothMeshRust/async_driver) warning: struct `ConversionError` is never constructed --> async_driver/src/lib.rs:8:8 | 8 | struct ConversionError(pub ()); | ^^^^^^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default warning: `driver_async` (lib) generated 1 warning Compiling cmac v0.5.1 Compiling btle v0.1.4 (/home/tingo/personal/projects/2025/rust/BluetoothMeshRust/btle) warning: unexpected `cfg` condition value: `bluez_dbus` --> btle/src/lib.rs:35:7 | 35 | #[cfg(feature = "bluez_dbus")] | ^^^^^^^^^^^^^^^^^^^^^^ | = note: expected values for `feature` are: `bluez_socket`, `classic`, `default`, `hci`, `hci_usb`, `libc`, `nix`, `remote`, `serde`, `serde-1`, `std`, `tokio`, `usbw`, `winrt`, `winrt_bluetooth_bindings`, and `winrt_drivers` = help: consider adding `bluez_dbus` as a feature in `Cargo.toml` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration = note: `#[warn(unexpected_cfgs)]` on by default Compiling ppv-lite86 v0.2.20 Compiling rand_chacha v0.2.2 Compiling rand v0.7.3 Compiling aes v0.6.0 Compiling aead v0.3.2 warning: `btle` (lib) generated 1 warning Compiling bluetooth_mesh v0.1.4 (/home/tingo/personal/projects/2025/rust/BluetoothMeshRust) warning: elided lifetime has a name --> src/net.rs:574:10 | 569 | impl<'a> PrivateHeader<'a> { | -- lifetime `'a` declared here ... 574 | ) -> PrivateHeader { | ^^^^^^^^^^^^^ this elided lifetime gets resolved as `'a` | = note: `#[warn(elided_named_lifetimes)]` on by default error[E0277]: expected a `FnOnce(&[u8])` closure, found `ecdh::Error` --> src/crypto/ecdh.rs:66:13 | 63 | ring::agreement::agree_ephemeral( | -------------------------------- required by a bound introduced by this call ... 66 | Error::EarlyPublicKeyAgreementKey, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected an `FnOnce(&[u8])` closure, found `ecdh::Error` | = help: the trait `for<'a> FnOnce(&'a [u8])` is not implemented for `ecdh::Error` note: required by a bound in `agree_ephemeral` --> /home/tingo/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ring-0.17.8/src/agreement.rs:248:15 | 245 | pub fn agree_ephemeral<B: AsRef<[u8]>, R>( | --------------- required by a bound in this function ... 248 | kdf: impl FnOnce(&[u8]) -> R, | ^^^^^^^^^^^^^^^^^^ required by this bound in `agree_ephemeral` error[E0061]: this function takes 3 arguments but 4 arguments were supplied --> src/crypto/ecdh.rs:63:9 | 63 | ring::agreement::agree_ephemeral( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ... 67 | |b| Ok(kdf(b)), | -------------- unexpected argument #4 of type `{closure@src/crypto/ecdh.rs:67:13: 67:16}` | note: function defined here --> /home/tingo/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ring-0.17.8/src/agreement.rs:245:8 | 245 | pub fn agree_ephemeral<B: AsRef<[u8]>, R>( | ^^^^^^^^^^^^^^^ help: remove the extra argument | 66 - Error::EarlyPublicKeyAgreementKey, 67 - |b| Ok(kdf(b)), 66 + Error::EarlyPublicKeyAgreementKey, | error[E0308]: mismatched types --> src/crypto/ecdh.rs:63:9 | 57 | ) -> Result<D, Error> { | ---------------- expected `Result<D, ecdh::Error>` because of return type ... 63 | / ring::agreement::agree_ephemeral( 64 | | self.key, 65 | | &ring::agreement::UnparsedPublicKey::new(&ring::agreement::ECDH_P256, p_key.as_ref()), 66 | | Error::EarlyPublicKeyAgreementKey, 67 | | |b| Ok(kdf(b)), 68 | | ) | |_________^ expected `Result<D, Error>`, found `Result<_, Unspecified>` | = note: expected enum `Result<D, ecdh::Error>` found enum `Result<_, Unspecified>` help: use the `?` operator to extract the `Result<_, Unspecified>` value, propagating a `Result::Err` value to the caller | 68 | )? | + Some errors have detailed explanations: E0061, E0277, E0308. For more information about an error, try `rustc --explain E0061`. warning: `bluetooth_mesh` (lib) generated 1 warning error: could not compile `bluetooth_mesh` (lib) due to 3 previous errors; 1 warning emitted
2025-02-09: mmcblk0p2 - rust - BlueR - try to build the mesh examples - provisioner
tingo@tipi5-linux:~/personal/projects/2025/rust/bluer/bluer $ cargo build --features="mesh" --example mesh_provisioner Compiling bluer v0.17.3 (/home/tingo/personal/projects/2025/rust/bluer/bluer) error[E0433]: failed to resolve: use of undeclared crate or module `btmesh_models` --> bluer/examples/mesh_provisioner.rs:20:5 | 20 | use btmesh_models::{ | ^^^^^^^^^^^^^ use of undeclared crate or module `btmesh_models` error[E0432]: unresolved imports `bluer::mesh::provisioner::ProvisionerControlHandle`, `bluer::mesh::provisioner::ProvisionerEvent` --> bluer/examples/mesh_provisioner.rs:16:36 | 16 | provisioner::{Provisioner, ProvisionerControlHandle, ProvisionerEvent}, | ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ | | | | | no `ProvisionerEvent` in `mesh::provisioner` | | help: a similar name exists in the module: `Provisioner` | no `ProvisionerControlHandle` in `mesh::provisioner` error[E0432]: unresolved import `btmesh_models` --> bluer/examples/mesh_provisioner.rs:20:5 | 20 | use btmesh_models::{ | ^^^^^^^^^^^^^ use of undeclared crate or module `btmesh_models` error[E0061]: this function takes 0 arguments but 1 argument was supplied --> bluer/examples/mesh_provisioner.rs:50:45 | 50 | let (element_control, element_handle) = element_control(5); | ^^^^^^^^^^^^^^^ - unexpected argument of type `{integer}` | note: function defined here --> /home/tingo/personal/projects/2025/rust/bluer/bluer/src/mesh/element.rs:346:8 | 346 | pub fn element_control() -> (ElementControl, ElementControlHandle) { | ^^^^^^^^^^^^^^^ help: remove the extra argument | 50 - let (element_control, element_handle) = element_control(5); 50 + let (element_control, element_handle) = element_control(); | error[E0063]: missing fields `_non_exhaustive` and `vendor_models` in initializer of `bluer::mesh::element::Element` --> bluer/examples/mesh_provisioner.rs:57:24 | 57 | elements: vec![Element { | ^^^^^^^ missing `_non_exhaustive` and `vendor_models` error[E0560]: struct `Provisioner` has no field named `control_handle` --> bluer/examples/mesh_provisioner.rs:63:13 | 63 | control_handle: ProvisionerControlHandle { messages_tx: prov_tx }, | ^^^^^^^^^^^^^^ `Provisioner` does not have this field | = note: available fields are: `net_index` error[E0560]: struct `bluer::mesh::application::Application` has no field named `events_tx` --> bluer/examples/mesh_provisioner.rs:66:9 | 66 | events_tx: app_tx, | ^^^^^^^^^ `bluer::mesh::application::Application` does not have this field | = note: all struct fields are already assigned error[E0624]: method `application` is private --> bluer/examples/mesh_provisioner.rs:71:27 | 71 | let registered = mesh.application(sim.clone()).await?; | ^^^^^^^^^^^ private method | ::: /home/tingo/personal/projects/2025/rust/bluer/bluer/src/mesh/network.rs:40:5 | 40 | async fn application(&self, app: Application) -> Result<ApplicationHandle> { | -------------------------------------------------------------------------- private method defined here error[E0599]: no method named `clone` found for struct `bluer::mesh::application::Application` in the current scope --> bluer/examples/mesh_provisioner.rs:71:43 | 71 | let registered = mesh.application(sim.clone()).await?; | ^^^^^ method not found in `Application` error[E0599]: no method named `clone` found for struct `bluer::mesh::application::Application` in the current scope --> bluer/examples/mesh_provisioner.rs:72:32 | 72 | let node = mesh.attach(sim.clone(), &args.token).await?; | ^^^^^ method not found in `Application` error[E0308]: mismatched types --> bluer/examples/mesh_provisioner.rs:72:41 | 72 | let node = mesh.attach(sim.clone(), &args.token).await?; | ------ ^^^^^^^^^^^ expected `u64`, found `&String` | | | arguments to this method are incorrect | note: method defined here --> /home/tingo/personal/projects/2025/rust/bluer/bluer/src/mesh/network.rs:90:18 | 90 | pub async fn attach(&self, app: Application, token: u64) -> Result<Node> { | ^^^^^^ error[E0615]: attempted to take value of method `management` on type `Node` --> bluer/examples/mesh_provisioner.rs:74:10 | 74 | node.management.add_node(Uuid::parse_str(&args.uuid)?).await?; | ^^^^^^^^^^ method, not a field | help: use parentheses to call the method | 74 | node.management().add_node(Uuid::parse_str(&args.uuid)?).await?; | ++ error[E0308]: mismatched types --> bluer/examples/mesh_provisioner.rs:90:50 | 90 | ... node.add_app_key(0, unicast, 0, 0, false).await?; | ----------- ^ expected `&ElementRef`, found integer | | | arguments to this method are incorrect | note: method defined here --> /home/tingo/personal/projects/2025/rust/bluer/bluer/src/mesh/node.rs:110:18 | 110 | pub async fn add_app_key( | ^^^^^^^^^^^ error[E0609]: no field `opcode` on type `ReceivedDevKeyMessage` --> bluer/examples/mesh_provisioner.rs:124:76 | 124 | ... match ConfigurationServer::parse(&received.opcode, &received.parameters).map_err(|_| std::fmt::Error)? { | ^^^^^^ unknown field | = note: available fields are: `source`, `remote`, `net_index`, `data` error[E0609]: no field `parameters` on type `ReceivedDevKeyMessage` --> bluer/examples/mesh_provisioner.rs:124:94 | 124 | ... match ConfigurationServer::parse(&received.opcode, &received.parameters).map_err(|_| std::fmt::Error)? { | ^^^^^^^^^^ unknown field | = note: available fields are: `source`, `remote`, `net_index`, `data` error[E0308]: mismatched types --> bluer/examples/mesh_provisioner.rs:60:29 | 60 | control_handle: Some(element_handle), | ^^^^^^^^^^^^^^^^^^^^ expected `ElementControlHandle`, found `Option<ElementControlHandle>` | = note: expected struct `ElementControlHandle` found enum `Option<ElementControlHandle>` Some errors have detailed explanations: E0061, E0063, E0308, E0432, E0433, E0560, E0599, E0609, E0615... For more information about an error, try `rustc --explain E0061`. error: could not compile `bluer` (example "mesh_provisioner") due to 16 previous errors
mesh_sensor_server
tingo@tipi5-linux:~/personal/projects/2025/rust/bluer/bluer $ cargo build --features="mesh" --example mesh_sensor_server Compiling bluer v0.17.3 (/home/tingo/personal/projects/2025/rust/bluer/bluer) error[E0433]: failed to resolve: use of undeclared crate or module `btmesh_common` --> bluer/examples/mesh_sensor_server.rs:17:5 | 17 | use btmesh_common::{opcode::Opcode, CompanyIdentifier, InsufficientBuffer, ModelIdentifier, ParseError}; | ^^^^^^^^^^^^^ use of undeclared crate or module `btmesh_common` error[E0432]: unresolved import `bluer::mesh::application::ApplicationMessage` --> bluer/examples/mesh_sensor_server.rs:13:32 | 13 | application::{Application, ApplicationMessage}, | ^^^^^^^^^^^^^^^^^^ | | | no `ApplicationMessage` in `mesh::application` | help: a similar name exists in the module: `ApplicationHandle` error[E0433]: failed to resolve: use of undeclared crate or module `btmesh_models` --> bluer/examples/mesh_sensor_server.rs:18:5 | 18 | use btmesh_models::{ | ^^^^^^^^^^^^^ use of undeclared crate or module `btmesh_models` error[E0432]: unresolved import `btmesh_common` --> bluer/examples/mesh_sensor_server.rs:17:5 | 17 | use btmesh_common::{opcode::Opcode, CompanyIdentifier, InsufficientBuffer, ModelIdentifier, ParseError}; | ^^^^^^^^^^^^^ use of undeclared crate or module `btmesh_common` error[E0432]: unresolved import `btmesh_models` --> bluer/examples/mesh_sensor_server.rs:18:5 | 18 | use btmesh_models::{ | ^^^^^^^^^^^^^ use of undeclared crate or module `btmesh_models` error[E0404]: expected trait, found struct `Model` --> bluer/examples/mesh_sensor_server.rs:191:6 | 191 | impl Model for VendorModel { | ^^^^^ not a trait warning: unexpected `cfg` condition value: `defmt` --> bluer/examples/mesh_sensor_server.rs:201:12 | 201 | #[cfg_attr(feature = "defmt", derive(defmt::Format))] | ^^^^^^^^^^^^^^^^^ | = note: expected values for `feature` are: `bluetoothd`, `custom_debug`, `dbus`, `dbus-crossroads`, `dbus-tokio`, `default`, `displaydoc`, `full`, `id`, `l2cap`, `lazy_static`, `mesh`, `pin-project`, `rfcomm`, `serde`, and `tokio-stream` = help: consider adding `defmt` as a feature in `Cargo.toml` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration = note: `#[warn(unexpected_cfgs)]` on by default error[E0433]: failed to resolve: use of undeclared crate or module `heapless` --> bluer/examples/mesh_sensor_server.rs:175:42 | 175 | &self, _: PropertyId, xmit: &mut heapless::Vec<u8, N>, | ^^^^^^^^ use of undeclared crate or module `heapless` error[E0433]: failed to resolve: use of undeclared crate or module `heapless` --> bluer/examples/mesh_sensor_server.rs:210:28 | 210 | &self, _xmit: &mut heapless::Vec<u8, N>, | ^^^^^^^^ use of undeclared crate or module `heapless` Some errors have detailed explanations: E0404, E0432, E0433. For more information about an error, try `rustc --explain E0404`. warning: `bluer` (example "mesh_sensor_server") generated 1 warning error: could not compile `bluer` (example "mesh_sensor_server") due to 8 previous errors; 1 warning emitted
2025-02-06: mmcblk0p2 - apt - install bluez-meshd
tingo@tipi5-linux:~ $ sudo apt install bluez-meshd Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: libell0 The following NEW packages will be installed: bluez-meshd libell0 0 upgraded, 2 newly installed, 0 to remove and 16 not upgraded. Need to get 552 kB of archives. After this operation, 1,549 kB of additional disk space will be used. [..] Setting up bluez-meshd (5.66-1+rpt1+deb12u2) ... Processing triggers for libc-bin (2.36-9+rpt2+deb12u9) ... Processing triggers for man-db (2.11.2-2) ... Processing triggers for dbus (1.14.10-1~deb12u1) ...
2025-02-06: mmcblk0p2 - rust - add target
tingo@tipi5-linux:~ $ rustup target add thumbv7em-none-eabihf info: downloading component 'rust-std' for 'thumbv7em-none-eabihf' info: installing component 'rust-std' for 'thumbv7em-none-eabihf'
2025-02-06: mmcblk0p2 - rust - install probe-rs
tingo@tipi5-linux:~ $ cargo install probe-rs-tools --locked Updating crates.io index [..] Finished `release` profile [optimized] target(s) in 10m 01s Installing /home/tingo/.cargo/bin/cargo-embed Installing /home/tingo/.cargo/bin/cargo-flash Installing /home/tingo/.cargo/bin/probe-rs Installed package `probe-rs-tools v0.26.0` (executables `cargo-embed`, `cargo-flash`, `probe-rs`)
mesh_sensor_client
tingo@tipi5-linux:~/personal/projects/2025/rust/bluer/bluer $ cargo build --features="mesh" --example mesh_sensor_client Compiling bluer v0.17.3 (/home/tingo/personal/projects/2025/rust/bluer/bluer) error[E0433]: failed to resolve: use of undeclared crate or module `btmesh_common` --> bluer/examples/mesh_sensor_client.rs:16:5 | 16 | use btmesh_common::{opcode::Opcode, CompanyIdentifier, InsufficientBuffer, ModelIdentifier, ParseError}; | ^^^^^^^^^^^^^ use of undeclared crate or module `btmesh_common` error[E0432]: unresolved import `bluer::mesh::application::ApplicationMessage` --> bluer/examples/mesh_sensor_client.rs:13:32 | 13 | application::{Application, ApplicationMessage}, | ^^^^^^^^^^^^^^^^^^ | | | no `ApplicationMessage` in `mesh::application` | help: a similar name exists in the module: `ApplicationHandle` error[E0433]: failed to resolve: use of undeclared crate or module `btmesh_models` --> bluer/examples/mesh_sensor_client.rs:17:5 | 17 | use btmesh_models::{ | ^^^^^^^^^^^^^ use of undeclared crate or module `btmesh_models` error[E0432]: unresolved import `btmesh_common` --> bluer/examples/mesh_sensor_client.rs:16:5 | 16 | use btmesh_common::{opcode::Opcode, CompanyIdentifier, InsufficientBuffer, ModelIdentifier, ParseError}; | ^^^^^^^^^^^^^ use of undeclared crate or module `btmesh_common` error[E0432]: unresolved import `btmesh_models` --> bluer/examples/mesh_sensor_client.rs:17:5 | 17 | use btmesh_models::{ | ^^^^^^^^^^^^^ use of undeclared crate or module `btmesh_models` error[E0404]: expected trait, found struct `Model` --> bluer/examples/mesh_sensor_client.rs:170:6 | 170 | impl Model for VendorModel { | ^^^^^ not a trait warning: unexpected `cfg` condition value: `defmt` --> bluer/examples/mesh_sensor_client.rs:180:12 | 180 | #[cfg_attr(feature = "defmt", derive(defmt::Format))] | ^^^^^^^^^^^^^^^^^ | = note: expected values for `feature` are: `bluetoothd`, `custom_debug`, `dbus`, `dbus-crossroads`, `dbus-tokio`, `default`, `displaydoc`, `full`, `id`, `l2cap`, `lazy_static`, `mesh`, `pin-project`, `rfcomm`, `serde`, and `tokio-stream` = help: consider adding `defmt` as a feature in `Cargo.toml` = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration = note: `#[warn(unexpected_cfgs)]` on by default error[E0433]: failed to resolve: use of undeclared crate or module `heapless` --> bluer/examples/mesh_sensor_client.rs:157:42 | 157 | &self, _: PropertyId, xmit: &mut heapless::Vec<u8, N>, | ^^^^^^^^ use of undeclared crate or module `heapless` error[E0433]: failed to resolve: use of undeclared crate or module `heapless` --> bluer/examples/mesh_sensor_client.rs:189:28 | 189 | &self, _xmit: &mut heapless::Vec<u8, N>, | ^^^^^^^^ use of undeclared crate or module `heapless` Some errors have detailed explanations: E0404, E0432, E0433. For more information about an error, try `rustc --explain E0404`. warning: `bluer` (example "mesh_sensor_client") generated 1 warning error: could not compile `bluer` (example "mesh_sensor_client") due to 8 previous errors; 1 warning emitted
2025-02-06: mmcblk0p2 - rust - check version
tingo@tipi5-linux:~ $ rustup check stable-aarch64-unknown-linux-gnu - Up to date : 1.84.1 (e71f9a9a9 2025-01-27) rustup - Up to date : 1.27.1
2025-02-06: mmcblk0p2 - install Rust, via
$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
the install
Welcome to Rust! This will download and install the official compiler for the Rust programming language, and its package manager, Cargo. Rustup metadata and toolchains will be installed into the Rustup home directory, located at: /home/tingo/.rustup This can be modified with the RUSTUP_HOME environment variable. The Cargo home directory is located at: /home/tingo/.cargo This can be modified with the CARGO_HOME environment variable. The cargo, rustc, rustup and other commands will be added to Cargo's bin directory, located at: /home/tingo/.cargo/bin This path will then be added to your PATH environment variable by modifying the profile files located at: /home/tingo/.profile /home/tingo/.bashrc You can uninstall at any time with rustup self uninstall and these changes will be reverted. Current installation options: default host triple: aarch64-unknown-linux-gnu default toolchain: stable (default) profile: default modify PATH variable: yes 1) Proceed with standard installation (default - just press enter) 2) Customize installation 3) Cancel installation >1 [..] stable-aarch64-unknown-linux-gnu updated - rustc 1.84.1 (e71f9a9a9 2025-01-27) (from rustc 1.83.0 (90b35a623 2024-11-26)) Rust is installed now. Great! To get started you may need to restart your current shell. This would reload your PATH environment variable to include Cargo's bin directory ($HOME/.cargo/bin). To configure your current shell, you need to source the corresponding env file under $HOME/.cargo. This is usually done by running one of the following (note the leading DOT): . "$HOME/.cargo/env" # For sh/bash/zsh/ash/dash/pdksh source "$HOME/.cargo/env.fish" # For fish
2025-02-06: mmcblk0p2 - add Expose key (
mousepad .config/wayfire.ini
and adding the following lines
[expo] toggle=<super> KEY_SPACE
the I can use Win + Space to Expose all 9 workspaces.
2025-02-06: mmcblk0p2 - Bitraf build night, I set up the Pi 5 with the XtendTouch monitor, using the included mini HDMI cable.
2025-02-02: mmcblk0p2 - reboot, Debian 12.9 is in
tingo@tipi5-linux:~ $ cat /etc/debian_version 12.9
and a new kernel
tingo@tipi5-linux:~ $ uname -a Linux tipi5-linux 6.6.74+rpt-rpi-2712 #1 SMP PREEMPT Debian 1:6.6.74-1+rpt1 (2025-01-27) aarch64 GNU/Linux
2025-02-02: mmcblk0p2 - apt - upgrade
tingo@tipi5-linux:~ $ sudo apt upgrade Reading package lists... Done Building dependency tree... Done Reading state information... Done Calculating upgrade... Done The following package was automatically installed and is no longer required: libcamera0.3 Use 'sudo apt autoremove' to remove it. The following NEW packages will be installed: libcamera0.4 linux-headers-6.6.74+rpt-common-rpi linux-headers-6.6.74+rpt-rpi-2712 linux-headers-6.6.74+rpt-rpi-v8 linux-image-6.6.74+rpt-rpi-2712 linux-image-6.6.74+rpt-rpi-v8 linux-kbuild-6.6.74+rpt The following packages will be upgraded: avahi-daemon avahi-utils base-files dnsmasq-base firefox git git-man gstreamer1.0-alsa gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-x initramfs-tools initramfs-tools-core labwc libavahi-client3 libavahi-common-data libavahi-common3 libavahi-core7 libavahi-glib1 libcamera-ipa libcamera-tools libebml5 libgstreamer-gl1.0-0 libgstreamer-plugins-base1.0-0 libkpathsea6 libliftoff0 libnfsidmap1 libopenjp2-7 libpam-systemd libpipewire-0.3-0 libpipewire-0.3-common libpipewire-0.3-modules libpisp-common libpisp1 libpython3.11 libpython3.11-dev libpython3.11-minimal libpython3.11-stdlib libsoup2.4-1 libsoup2.4-common libspa-0.2-bluetooth libspa-0.2-libcamera libspa-0.2-modules libsrt1.5-gnutls libsynctex2 libsystemd-shared libsystemd0 libtiff6 libudev-dev libudev1 libwlroots-0.18 linux-headers-rpi-2712 linux-headers-rpi-v8 linux-image-rpi-2712 linux-image-rpi-v8 linux-libc-dev nfs-common openssh-client openssh-server openssh-sftp-server pipewire pipewire-bin pipewire-libcamera pipewire-pulse python3-av python3-jinja2 python3-libcamera python3-picamera2 python3-pidng python3-pkg-resources python3-setuptools python3-setuptools-whl python3-urllib3 python3-werkzeug python3.11 python3.11-dev python3.11-minimal python3.11-venv raspi-config realvnc-vnc-server rpi-connect rpi-eeprom rpicam-apps rsync ssh systemd systemd-sysv systemd-timesyncd ucf udev 90 upgraded, 7 newly installed, 0 to remove and 0 not upgraded. Need to get 239 MB of archives. After this operation, 144 MB of additional disk space will be used. [..] Processing triggers for initramfs-tools (0.142+rpt3+deb12u1) ... update-initramfs: Generating /boot/initrd.img-6.6.74+rpt-rpi-v8 '/boot/initrd.img-6.6.74+rpt-rpi-v8' -> '/boot/firmware/initramfs8' update-initramfs: Generating /boot/initrd.img-6.6.74+rpt-rpi-2712 '/boot/initrd.img-6.6.74+rpt-rpi-2712' -> '/boot/firmware/initramfs_2712' update-initramfs: Generating /boot/initrd.img-6.6.62+rpt-rpi-v8 update-initramfs: Generating /boot/initrd.img-6.6.62+rpt-rpi-2712 update-initramfs: Generating /boot/initrd.img-6.6.51+rpt-rpi-v8 update-initramfs: Generating /boot/initrd.img-6.6.51+rpt-rpi-2712
apt - autoremove
tingo@tipi5-linux:~ $ sudo apt autoremove Reading package lists... Done Building dependency tree... Done Reading state information... Done The following packages will be REMOVED: libcamera0.3 linux-headers-6.6.51+rpt-common-rpi linux-headers-6.6.51+rpt-rpi-2712 linux-headers-6.6.51+rpt-rpi-v8 linux-image-6.6.51+rpt-rpi-2712 linux-image-6.6.51+rpt-rpi-v8 linux-kbuild-6.6.51+rpt 0 upgraded, 0 newly installed, 7 to remove and 0 not upgraded. After this operation, 124 MB disk space will be freed. [..] Removing libcamera0.3:arm64 (0.3.2+rpt20241119-1) ... Removing linux-headers-6.6.51+rpt-rpi-2712 (1:6.6.51-1+rpt3) ... Removing linux-headers-6.6.51+rpt-rpi-v8 (1:6.6.51-1+rpt3) ... Removing linux-headers-6.6.51+rpt-common-rpi (1:6.6.51-1+rpt3) ... Removing linux-image-6.6.51+rpt-rpi-2712 (1:6.6.51-1+rpt3) ... /etc/kernel/postrm.d/initramfs-tools: update-initramfs: Deleting /boot/initrd.img-6.6.51+rpt-rpi-2712 Removing linux-image-6.6.51+rpt-rpi-v8 (1:6.6.51-1+rpt3) ... /etc/kernel/postrm.d/initramfs-tools: update-initramfs: Deleting /boot/initrd.img-6.6.51+rpt-rpi-v8 Removing linux-kbuild-6.6.51+rpt (1:6.6.51-1+rpt3) ... Processing triggers for libc-bin (2.36-9+rpt2+deb12u9) ...
2025-01-14: mmcblk0p2 - build 8086tiny, then test it:
tingo@tipi5-linux:~/personal/projects/8086tiny $ ./runme FreeDOS kernel - SVN (build 2040 OEM:0xfd) [compiled Apr 7 2012] Kernel compatibility 7.10 - WATCOMC - FAT32 support (C) Copyright 1995-2011 Pasquale J. Villani and The FreeDOS Project. All Rights Reserved. This is free software and comes with ABSOLUTELY NO WARRANTY; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. - InitDiskno hard disks detected FreeCom version 0.82 pl 3 XMS_Swap [Dec 10 2003 06:49:21] type HELP to get support on commands and navigation A:\>ver FreeCom version 0.82 pl 3 XMS_Swap [Dec 10 2003 06:49:21] A:\>quitemu tingo@tipi5-linux:~/personal/projects/8086tiny $
very nice.
2025-01-13: mmcblk0p2 - apt - install libsdl2-dev
tingo@tipi5-linux:~/personal/projects/2024/rust/webcam/scanner $ sudo apt install libsdl2-dev Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: bsdextrautils bsdutils eject fdisk gir1.2-ibus-1.0 libasound2-dev libblkid-dev libblkid1 libdbus-1-dev libdecor-0-dev libdrm-dev libdrm-etnaviv1 libdrm-freedreno1 libdrm-tegra0 libfdisk1 libffi-dev libgbm-dev libglib2.0-0 libglib2.0-bin libglib2.0-data libglib2.0-dev libglib2.0-dev-bin libibus-1.0-5 libibus-1.0-dev libmount-dev libmount1 libpciaccess-dev libpcre2-32-0 libpcre2-dev libpcre2-posix3 libpulse-dev libpulse-mainloop-glib0 libsamplerate0-dev libselinux1-dev libsepol-dev libsmartcols1 libsndio-dev libuuid1 libwayland-bin libwayland-dev libxcursor-dev libxfixes-dev libxi-dev libxinerama-dev libxkbcommon-dev libxrandr-dev libxrender-dev libxss-dev libxv-dev libxxf86vm-dev mount rfkill util-linux util-linux-extra uuid-dev Suggested packages: libasound2-doc low-memory-monitor libgirepository1.0-dev libglib2.0-doc libxml2-utils cryptsetup-bin libwayland-doc util-linux-locales Recommended packages: uuid-runtime The following NEW packages will be installed: gir1.2-ibus-1.0 libasound2-dev libblkid-dev libdbus-1-dev libdecor-0-dev libdrm-dev libdrm-etnaviv1 libdrm-freedreno1 libdrm-tegra0 libffi-dev libgbm-dev libglib2.0-dev libglib2.0-dev-bin libibus-1.0-5 libibus-1.0-dev libmount-dev libpciaccess-dev libpcre2-32-0 libpcre2-dev libpcre2-posix3 libpulse-dev libpulse-mainloop-glib0 libsamplerate0-dev libsdl2-dev libselinux1-dev libsepol-dev libsndio-dev libwayland-bin libwayland-dev libxcursor-dev libxfixes-dev libxi-dev libxinerama-dev libxkbcommon-dev libxrandr-dev libxrender-dev libxss-dev libxv-dev libxxf86vm-dev uuid-dev The following packages will be upgraded: bsdextrautils bsdutils eject fdisk libblkid1 libfdisk1 libglib2.0-0 libglib2.0-bin libglib2.0-data libmount1 libsmartcols1 libuuid1 mount rfkill util-linux util-linux-extra 16 upgraded, 40 newly installed, 0 to remove and 60 not upgraded. Need to get 12.6 MB of archives. After this operation, 37.3 MB of additional disk space will be used. [..] Setting up libsdl2-dev:arm64 (2.26.5+dfsg-1) ...
apt - install libsdl1.2-dev
tingo@tipi5-linux:~/personal/projects/8086tiny $ sudo apt install libsdl1.2-dev Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: libcaca-dev libpng-dev libpng-tools libslang2-dev The following NEW packages will be installed: libcaca-dev libpng-dev libpng-tools libsdl1.2-dev libslang2-dev 0 upgraded, 5 newly installed, 0 to remove and 60 not upgraded. Need to get 2,606 kB of archives. After this operation, 10.4 MB of additional disk space will be used. [..] Setting up libsdl1.2-dev (1.2.15+dfsg2-8) ... Processing triggers for man-db (2.11.2-2) ...
2024-12-28: mmcblk0p2 - rust- get source for mxw fork
tingo@tipi5-linux:~/personal/projects/2024/rust/mice $ git clone https://github.com/dxbednarczyk/mxw.git Cloning into 'mxw'... remote: Enumerating objects: 489, done. remote: Counting objects: 100% (160/160), done. remote: Compressing objects: 100% (85/85), done. remote: Total 489 (delta 90), reused 121 (delta 70), pack-reused 329 (from 1) Receiving objects: 100% (489/489), 123.54 KiB | 1.21 MiB/s, done. Resolving deltas: 100% (277/277), done.
build it
tingo@tipi5-linux:~/personal/projects/2024/rust/mice/mxw $ cargo build Compiling hidapi v2.6.1 Compiling rustversion v1.0.17 Compiling clap_derive v4.5.4 Compiling lazy_static v1.4.0 Compiling cfg-if v1.0.0 Compiling colored v2.1.0 Compiling anyhow v1.0.86 Compiling strum_macros v0.26.3 Compiling strum v0.26.2 Compiling clap v4.5.4 Compiling mxw v0.1.2 (/home/tingo/personal/projects/2024/rust/mice/mxw) Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.48s
see if it runs
tingo@tipi5-linux:~/personal/projects/2024/rust/mice/mxw $ cargo run Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.04s Running `target/debug/mxw` Cross platform CLI tool for Glorious' wireless mice. Originally reverse engineered using USB packet logs sniffed with WireShark and USBPcap, as well as a decompilation of the official Windows program (Glorious Core). Usage: mxw <COMMAND> Commands: report Retrieve information about the device config Change the device's various settings Options: -h, --help Print help -V, --version Print version
try it
tingo@tipi5-linux:~/personal/projects/2024/rust/mice/mxw $ cargo run report battery Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.03s Running `target/debug/mxw report battery` 31%
nice. build a release version
tingo@tipi5-linux:~/personal/projects/2024/rust/mice/mxw $ cargo build --release Compiling proc-macro2 v1.0.85 Compiling unicode-ident v1.0.12 Compiling utf8parse v0.2.1 Compiling pkg-config v0.3.30 Compiling anstyle-parse v0.2.4 Compiling colorchoice v1.0.1 Compiling anstyle-query v1.0.3 Compiling cc v1.0.98 Compiling heck v0.5.0 Compiling is_terminal_polyfill v1.70.0 Compiling libc v0.2.155 Compiling rustversion v1.0.17 Compiling anstyle v1.0.7 Compiling quote v1.0.36 Compiling anstream v0.6.14 Compiling syn v2.0.66 Compiling clap_lex v0.7.0 Compiling strsim v0.11.1 Compiling anyhow v1.0.86 Compiling hidapi v2.6.1 Compiling clap_builder v4.5.2 Compiling cfg-if v1.0.0 Compiling lazy_static v1.4.0 Compiling colored v2.1.0 Compiling strum v0.26.2 Compiling clap_derive v4.5.4 Compiling strum_macros v0.26.3 Compiling clap v4.5.4 Compiling mxw v0.1.2 (/home/tingo/personal/projects/2024/rust/mice/mxw) Finished `release` profile [optimized] target(s) in 26.88s
copied to ~/bin/
(I had to create it first) for easy access
tingo@tipi5-linux:~ $ which mxw /home/tingo/bin/mxw tingo@tipi5-linux:~ $ mxw --version mxw 0.1.2 tingo@tipi5-linux:~ $ mxw report battery 31% tingo@tipi5-linux:~ $ mxw report firmware 0.3.8.0
2024-12-28: mmcblk0p2 - add udev rules for the Glorious O- mouse
# 2024-12-28 Torfinn Ingolfsen, I have a Glorious O- mouse, so different product ids: 2013, 2024 # # Edited by vlk on 12/02/22 # Here's the guide I followed: # https://github.com/libusb/hidapi/blob/master/udev/69-hid.rules # Line that lets me access Glorous Model O- Wireless SUBSYSTEMS=="usb", ATTRS{idVendor}=="258a", ATTRS{idProduct}=="2013", TAG+="uaccess" # Line that lets me access Glorious Model O- Wireless when unplugged SUBSYSTEMS=="usb", ATTRS{idVendor}=="258a", ATTRS{idProduct}=="2024", TAG+="uaccess"
load the new rules
tingo@tipi5-linux:~/personal/projects/2024/rust/mice/mxw $ sudo udevadm control --reload-rules && sudo udevadm trigger
2024-12-28: mmcblk0p2 - apt - install libudev-dev
tingo@tipi5-linux:~ $ sudo apt install libudev-dev Reading package lists... Done Building dependency tree... Done Reading state information... Done The following NEW packages will be installed: libudev-dev 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 52.7 kB of archives. After this operation, 144 kB of additional disk space will be used. [..] Setting up libudev-dev:arm64 (252.31-1~deb12u1) ... Processing triggers for man-db (2.11.2-2) ...
2024-12-28: mmcblk0p2 - try to install npm thing for scanner
tingo@tipi5-linux:~/personal/projects/2024/rust/webcam/scanner $ npm install npm WARN deprecated stable@0.1.8: Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility added 256 packages, and audited 257 packages in 1m 100 packages are looking for funding run `npm fund` for details 50 vulnerabilities (1 moderate, 49 high) To address all issues, run: npm audit fix Run `npm audit` for details.
and this
tingo@tipi5-linux:~/personal/projects/2024/rust/webcam/scanner $ npx parcel build src/index.html --public-url . ⠴ Building index.html... Browserslist: caniuse-lite is outdated. Please run: npx update-browserslist-db@latest parcel-transformer-pwa-manifest: Generating icons for Document Scanner... parcel-transformer-pwa-manifest: Generating shortcut icons... parcel-transformer-pwa-manifest: Generating favicons... 🚨 Build failed. @parcel/core: Failed to resolve '../../pkg/scanner' from './src/workers/process.ts' /home/tingo/personal/projects/2024/rust/webcam/scanner/src/workers/process.ts:1:73 > 1 | import init, { find_document, extract_document, Quad as WasmQuad } from '../../pkg/scanner'; > | ^^^^^^^^^^^^^^^^^^^ 2 | import { Message, Messages } from './ipc' 3 | @parcel/resolver-default: Cannot load file '../../pkg/scanner' in './src/workers'. 💡 Did you mean '../../.vscode'? 💡 Did you mean '../../package'?
or this
Server running at http://localhost:1234 🚨 Build failed. unknown: Entry /home/tingo/personal/projects/2024/rust/webcam/scanner/run does not exist
fix the caniuse-lite thing
tingo@tipi5-linux:~/personal/projects/2024/rust/webcam/scanner $ npx update-browserslist-db@latest Need to install the following packages: update-browserslist-db@1.1.1 Ok to proceed? (y) y Latest version: 1.0.30001690 Installed version: 1.0.30001532 Removing old caniuse-lite from lock file Installing new caniuse-lite version $ npm install caniuse-lite Cleaning package.json dependencies from caniuse-lite $ npm uninstall caniuse-lite caniuse-lite has been successfully updated No target browser changes
try this way then
tingo@tipi5-linux:~/personal/projects/2024/rust/webcam/scanner $ npm run Lifecycle scripts included in scanner@0.0.1: start parcel src/index.html available via `npm run-script`: build-wasm wasm-pack build --target web build tsc && tsc -p src/workers/tsconfig.json && parcel build src/index.html --public-url .
ok, try npm start then
tingo@tipi5-linux:~/personal/projects/2024/rust/webcam/scanner $ npm start > scanner@0.0.1 start > parcel src/index.html Server running at http://localhost:1234 🚨 Build failed. @parcel/core: Failed to resolve '../../pkg/scanner' from './src/workers/process.ts' /home/tingo/personal/projects/2024/rust/webcam/scanner/src/workers/process.ts:1:73 > 1 | import init, { find_document, extract_document, Quad as WasmQuad } from '../../pkg/scanner'; > | ^^^^^^^^^^^^^^^^^^^ 2 | import { Message, Messages } from './ipc' 3 | @parcel/resolver-default: Cannot load file '../../pkg/scanner' in './src/workers'. 💡 Did you mean '../../.vscode'? 💡 Did you mean '../../package'?
check the scanner.wasm
tingo@tipi5-linux:~/personal/projects/2024/rust/webcam/scanner $ file target/wasm32-unknown-unknown/release/scanner.wasm target/wasm32-unknown-unknown/release/scanner.wasm: WebAssembly (wasm) binary module version 0x1 (MVP)
ok, make a pkg, and copy it there
tingo@tipi5-linux:~/personal/projects/2024/rust/webcam/scanner $ mkdir pkg tingo@tipi5-linux:~/personal/projects/2024/rust/webcam/scanner $ cp target/wasm32-unknown-unknown/release/scanner.wasm pkg/scanner
do a npm start again
tingo@tipi5-linux:~/personal/projects/2024/rust/webcam/scanner $ npm start > scanner@0.0.1 start > parcel src/index.html Server running at http://localhost:1234 🚨 Build failed. @parcel/core: No transformers found for pkg/scanner. /home/tingo/personal/projects/2024/rust/webcam/scanner/node_modules/parcel-config-pwa-manifest/index.json:2:3 1 | { > 2 | "transformers": { > | ^^^^^^^^^^^^^^^^^ > 3 | "*.{htm,html}": ["...", "parcel-transformer-pwa-manifest"], > | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > 4 | "__ptpm_raw:*": ["@parcel/transformer-raw"], > | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > 5 | "__ptpm_process:*": ["parcel-transformer-pwa-manifest"] > | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > 6 | } > | ^^^ 7 | } /home/tingo/personal/projects/2024/rust/webcam/scanner/node_modules/@parcel/config-default/index.json:3:3 2 | "bundler": "@parcel/bundler-default", > 3 | "transformers": { > | ^^^^^^^^^^^^^^^^^ > 4 | "types:*.{ts,tsx}": ["@parcel/transformer-typescript-types"], > | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > 5 | "bundle-text:*": ["...", "@parcel/transformer-inline-string"], > | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > 6 | "data-url:*": ["...", "@parcel/transformer-inline-string"], > | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > 7 | "worklet:*.{js,mjs,jsm,jsx,es6,cjs,ts,tsx}": [ > | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > 8 | "@parcel/transformer-worklet", > | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > 9 | "..." > | ^^^^^^^^^^^ > 10 | ], > | ^^^^^^ > 11 | "*.{js,mjs,jsm,jsx,es6,cjs,ts,tsx}": [ > | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > 12 | "@parcel/transformer-babel", > | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > 13 | "@parcel/transformer-js", > | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
nope, doesn't work.
2024-12-28: mmcblk0p2 - apt - install npm
tingo@tipi5-linux:~ $ sudo apt install npm Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: eslint gyp handlebars libc-ares2 libjs-async libjs-events libjs-inherits libjs-is-typedarray libjs-prettify libjs-regenerate libjs-source-map libjs-sprintf-js libjs-typedarray-to-buffer libjs-util libnode-dev libnode108 libnotify-bin libssl-dev libuv1 libuv1-dev node-abbrev node-acorn node-agent-base node-ajv node-ajv-keywords node-ampproject-remapping node-ansi-escapes node-ansi-regex node-ansi-styles node-anymatch node-aproba node-archy node-are-we-there-yet node-argparse node-arrify node-assert node-async node-async-each node-auto-bind node-babel-helper-define-polyfill-provider node-babel-plugin-add-module-exports node-babel-plugin-lodash node-babel-plugin-polyfill-corejs2 node-babel-plugin-polyfill-corejs3 node-babel-plugin-polyfill-regenerator node-babel7 node-babel7-runtime node-balanced-match node-base node-base64-js node-binary-extensions node-brace-expansion node-braces node-browserslist node-builtins node-busboy node-cacache node-cache-base node-camelcase node-caniuse-lite node-chalk node-chokidar node-chownr node-chrome-trace-event node-ci-info node-cjs-module-lexer node-cli-boxes node-cli-cursor node-cli-table node-cli-truncate node-cliui node-clone node-clone-deep node-collection-visit node-color-convert node-color-name node-colors node-columnify node-commander node-commondir node-concat-stream node-console-control-strings node-convert-source-map node-copy-concurrently node-core-js node-core-js-compat node-core-js-pure node-core-util-is node-coveralls node-css-loader node-css-selector-tokenizer node-data-uri-to-buffer node-debbundle-es-to-primitive node-debug node-decamelize node-decompress-response node-deep-equal node-deep-is node-defaults node-define-properties node-define-property node-defined node-del node-delegates node-depd node-diff node-doctrine node-electron-to-chromium node-encoding node-end-of-stream node-enhanced-resolve node-err-code node-errno node-error-ex node-es-abstract node-es-module-lexer node-es6-error node-escape-string-regexp node-escodegen node-eslint-scope node-eslint-utils node-eslint-visitor-keys node-espree node-esprima node-esquery node-esrecurse node-estraverse node-esutils node-events node-fancy-log node-fast-deep-equal node-fast-levenshtein node-fetch node-file-entry-cache node-fill-range node-find-cache-dir node-find-up node-flat-cache node-flatted node-for-in node-for-own node-foreground-child node-fs-readdir-recursive node-fs-write-stream-atomic node-fs.realpath node-function-bind node-functional-red-black-tree node-gauge node-get-caller-file node-get-stream node-get-value node-glob node-glob-parent node-globals node-globby node-got node-graceful-fs node-growl node-gyp node-has-flag node-has-unicode node-has-value node-has-values node-hosted-git-info node-https-proxy-agent node-iconv-lite node-icss-utils node-ieee754 node-iferr node-ignore node-imurmurhash node-indent-string node-inflight node-inherits node-ini node-interpret node-ip node-ip-regex node-is-arrayish node-is-binary-path node-is-buffer node-is-descriptor node-is-extendable node-is-extglob node-is-glob node-is-number node-is-path-cwd node-is-path-inside node-is-plain-obj node-is-plain-object node-is-primitive node-is-stream node-is-typedarray node-is-windows node-isarray node-isexe node-isobject node-istanbul node-jest-debbundle node-jest-worker node-js-tokens node-js-yaml node-jsesc node-json-buffer node-json-parse-better-errors node-json-schema node-json-schema-traverse node-json-stable-stringify node-json5 node-jsonify node-jsonparse node-kind-of node-lcov-parse node-levn node-loader-runner node-locate-path node-lodash node-lodash-packages node-log-driver node-lowercase-keys node-lru-cache node-make-dir node-map-visit node-memfs node-memory-fs node-merge-stream node-micromatch node-mime node-mime-types node-mimic-response node-minimatch node-minimist node-minipass node-mixin-deep node-mkdirp node-move-concurrently node-ms node-mute-stream node-n3 node-negotiator node-neo-async node-nopt node-normalize-package-data node-normalize-path node-npm-bundled node-npm-package-arg node-npm-run-path node-npmlog node-object-assign node-object-inspect node-object-visit node-once node-opener node-optimist node-optionator node-osenv node-p-cancelable node-p-limit node-p-locate node-p-map node-parse-json node-pascalcase node-path-dirname node-path-exists node-path-is-absolute node-path-is-inside node-path-type node-picocolors node-pify node-pkg-dir node-postcss node-postcss-modules-extract-imports node-postcss-modules-values node-postcss-value-parser node-prelude-ls node-process-nextick-args node-progress node-promise-inflight node-promise-retry node-promzard node-prr node-pump node-punycode node-quick-lru node-randombytes node-read node-read-package-json node-read-pkg node-readable-stream node-readdirp node-rechoir node-regenerate node-regenerate-unicode-properties node-regenerator-runtime node-regenerator-transform node-regexpp node-regexpu-core node-regjsgen node-regjsparser node-repeat-string node-require-directory node-resolve node-resolve-cwd node-resolve-from node-restore-cursor node-resumer node-retry node-rimraf node-run-queue node-safe-buffer node-schema-utils node-sellside-emitter node-semver node-serialize-javascript node-set-blocking node-set-immediate-shim node-set-value node-shebang-command node-shebang-regex node-shell-quote node-signal-exit node-slash node-slice-ansi node-source-list-map node-source-map node-source-map-support node-spdx-correct node-spdx-exceptions node-spdx-expression-parse node-spdx-license-ids node-sprintf-js node-ssri node-stack-utils node-string-decoder node-string-width node-strip-ansi node-strip-bom node-strip-json-comments node-supports-color node-tap node-tap-mocha-reporter node-tap-parser node-tapable node-tape node-tar node-terser node-text-table node-through node-time-stamp node-to-fast-properties node-to-regex-range node-tslib node-type-check node-typedarray node-typedarray-to-buffer node-undici node-unicode-canonical-property-names-ecmascript node-unicode-match-property-ecmascript node-unicode-match-property-value-ecmascript node-unicode-property-aliases-ecmascript node-union-value node-unique-filename node-unset-value node-uri-js node-util node-util-deprecate node-uuid node-v8-compile-cache node-v8flags node-validate-npm-package-license node-validate-npm-package-name node-watchpack node-wcwidth.js node-webassemblyjs node-webpack-sources node-which node-wide-align node-widest-line node-wordwrap node-wrap-ansi node-wrappy node-write node-write-file-atomic node-ws node-xtend node-y18n node-yallist node-yaml node-yargs node-yargs-parser nodejs nodejs-doc terser webpack Suggested packages: node-babel-eslint node-esprima-fb node-inquirer libjs-angularjs libssl-doc node-babel-plugin-polyfill-es-shims node-babel7-debug livescript chai node-jest-diff The following NEW packages will be installed: eslint gyp handlebars libc-ares2 libjs-async libjs-events libjs-inherits libjs-is-typedarray libjs-prettify libjs-regenerate libjs-source-map libjs-sprintf-js libjs-typedarray-to-buffer libjs-util libnode-dev libnode108 libnotify-bin libssl-dev libuv1 libuv1-dev node-abbrev node-acorn node-agent-base node-ajv node-ajv-keywords node-ampproject-remapping node-ansi-escapes node-ansi-regex node-ansi-styles node-anymatch node-aproba node-archy node-are-we-there-yet node-argparse node-arrify node-assert node-async node-async-each node-auto-bind node-babel-helper-define-polyfill-provider node-babel-plugin-add-module-exports node-babel-plugin-lodash node-babel-plugin-polyfill-corejs2 node-babel-plugin-polyfill-corejs3 node-babel-plugin-polyfill-regenerator node-babel7 node-babel7-runtime node-balanced-match node-base node-base64-js node-binary-extensions node-brace-expansion node-braces node-browserslist node-builtins node-busboy node-cacache node-cache-base node-camelcase node-caniuse-lite node-chalk node-chokidar node-chownr node-chrome-trace-event node-ci-info node-cjs-module-lexer node-cli-boxes node-cli-cursor node-cli-table node-cli-truncate node-cliui node-clone node-clone-deep node-collection-visit node-color-convert node-color-name node-colors node-columnify node-commander node-commondir node-concat-stream node-console-control-strings node-convert-source-map node-copy-concurrently node-core-js node-core-js-compat node-core-js-pure node-core-util-is node-coveralls node-css-loader node-css-selector-tokenizer node-data-uri-to-buffer node-debbundle-es-to-primitive node-debug node-decamelize node-decompress-response node-deep-equal node-deep-is node-defaults node-define-properties node-define-property node-defined node-del node-delegates node-depd node-diff node-doctrine node-electron-to-chromium node-encoding node-end-of-stream node-enhanced-resolve node-err-code node-errno node-error-ex node-es-abstract node-es-module-lexer node-es6-error node-escape-string-regexp node-escodegen node-eslint-scope node-eslint-utils node-eslint-visitor-keys node-espree node-esprima node-esquery node-esrecurse node-estraverse node-esutils node-events node-fancy-log node-fast-deep-equal node-fast-levenshtein node-fetch node-file-entry-cache node-fill-range node-find-cache-dir node-find-up node-flat-cache node-flatted node-for-in node-for-own node-foreground-child node-fs-readdir-recursive node-fs-write-stream-atomic node-fs.realpath node-function-bind node-functional-red-black-tree node-gauge node-get-caller-file node-get-stream node-get-value node-glob node-glob-parent node-globals node-globby node-got node-graceful-fs node-growl node-gyp node-has-flag node-has-unicode node-has-value node-has-values node-hosted-git-info node-https-proxy-agent node-iconv-lite node-icss-utils node-ieee754 node-iferr node-ignore node-imurmurhash node-indent-string node-inflight node-inherits node-ini node-interpret node-ip node-ip-regex node-is-arrayish node-is-binary-path node-is-buffer node-is-descriptor node-is-extendable node-is-extglob node-is-glob node-is-number node-is-path-cwd node-is-path-inside node-is-plain-obj node-is-plain-object node-is-primitive node-is-stream node-is-typedarray node-is-windows node-isarray node-isexe node-isobject node-istanbul node-jest-debbundle node-jest-worker node-js-tokens node-js-yaml node-jsesc node-json-buffer node-json-parse-better-errors node-json-schema node-json-schema-traverse node-json-stable-stringify node-json5 node-jsonify node-jsonparse node-kind-of node-lcov-parse node-levn node-loader-runner node-locate-path node-lodash node-lodash-packages node-log-driver node-lowercase-keys node-lru-cache node-make-dir node-map-visit node-memfs node-memory-fs node-merge-stream node-micromatch node-mime node-mime-types node-mimic-response node-minimatch node-minimist node-minipass node-mixin-deep node-mkdirp node-move-concurrently node-ms node-mute-stream node-n3 node-negotiator node-neo-async node-nopt node-normalize-package-data node-normalize-path node-npm-bundled node-npm-package-arg node-npm-run-path node-npmlog node-object-assign node-object-inspect node-object-visit node-once node-opener node-optimist node-optionator node-osenv node-p-cancelable node-p-limit node-p-locate node-p-map node-parse-json node-pascalcase node-path-dirname node-path-exists node-path-is-absolute node-path-is-inside node-path-type node-picocolors node-pify node-pkg-dir node-postcss node-postcss-modules-extract-imports node-postcss-modules-values node-postcss-value-parser node-prelude-ls node-process-nextick-args node-progress node-promise-inflight node-promise-retry node-promzard node-prr node-pump node-punycode node-quick-lru node-randombytes node-read node-read-package-json node-read-pkg node-readable-stream node-readdirp node-rechoir node-regenerate node-regenerate-unicode-properties node-regenerator-runtime node-regenerator-transform node-regexpp node-regexpu-core node-regjsgen node-regjsparser node-repeat-string node-require-directory node-resolve node-resolve-cwd node-resolve-from node-restore-cursor node-resumer node-retry node-rimraf node-run-queue node-safe-buffer node-schema-utils node-sellside-emitter node-semver node-serialize-javascript node-set-blocking node-set-immediate-shim node-set-value node-shebang-command node-shebang-regex node-shell-quote node-signal-exit node-slash node-slice-ansi node-source-list-map node-source-map node-source-map-support node-spdx-correct node-spdx-exceptions node-spdx-expression-parse node-spdx-license-ids node-sprintf-js node-ssri node-stack-utils node-string-decoder node-string-width node-strip-ansi node-strip-bom node-strip-json-comments node-supports-color node-tap node-tap-mocha-reporter node-tap-parser node-tapable node-tape node-tar node-terser node-text-table node-through node-time-stamp node-to-fast-properties node-to-regex-range node-tslib node-type-check node-typedarray node-typedarray-to-buffer node-undici node-unicode-canonical-property-names-ecmascript node-unicode-match-property-ecmascript node-unicode-match-property-value-ecmascript node-unicode-property-aliases-ecmascript node-union-value node-unique-filename node-unset-value node-uri-js node-util node-util-deprecate node-uuid node-v8-compile-cache node-v8flags node-validate-npm-package-license node-validate-npm-package-name node-watchpack node-wcwidth.js node-webassemblyjs node-webpack-sources node-which node-wide-align node-widest-line node-wordwrap node-wrap-ansi node-wrappy node-write node-write-file-atomic node-ws node-xtend node-y18n node-yallist node-yaml node-yargs node-yargs-parser nodejs nodejs-doc npm terser webpack 0 upgraded, 395 newly installed, 0 to remove and 0 not upgraded. Need to get 29.7 MB of archives. After this operation, 175 MB of additional disk space will be used. [..] Setting up npm (9.2.0~ds1-1) ... Processing triggers for libc-bin (2.36-9+rpt2+deb12u9) ... Processing triggers for man-db (2.11.2-2) ...
2024-12-28: mmcblk0p2 - rust - build scanner on RaspiOS needs wasm target
tingo@tipi5-linux:~/personal/projects/2024/rust/webcam/scanner $ rustup target add wasm32-unknown-unknown info: downloading component 'rust-std' for 'wasm32-unknown-unknown' info: installing component 'rust-std' for 'wasm32-unknown-unknown' 18.9 MiB / 18.9 MiB (100 %) 12.4 MiB/s in 1s ETA: 0s
build it
tingo@tipi5-linux:~/personal/projects/2024/rust/webcam/scanner $ cargo build Compiling quote v1.0.14 Compiling cfg-if v1.0.0 Compiling wasm-bindgen v0.2.78 Compiling syn v1.0.84 Compiling wasm-bindgen-backend v0.2.78 Compiling wasm-bindgen-macro-support v0.2.78 Compiling wasm-bindgen-macro v0.2.78 Compiling js-sys v0.3.55 Compiling console_error_panic_hook v0.1.7 Compiling web-sys v0.3.55 Compiling scanner v0.1.0 (/home/tingo/personal/projects/2024/rust/webcam/scanner) warning: unused imports: `GradientVotesResult`, `Line`, and `Point` --> src-rs/image/mod.rs:7:20 | 7 | pub use document::{GradientVotesResult, Line, Point, Quad, ScoredQuad}; | ^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^ | = note: `#[warn(unused_imports)]` on by default warning: `scanner` (lib) generated 1 warning (run `cargo fix --lib -p scanner` to apply 1 suggestion) Finished `dev` profile [unoptimized + debuginfo] target(s) in 14.67s warning: the following packages contain code that will be rejected by a future version of Rust: wasm-bindgen v0.2.78 note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
2024-12-28: mmcblk0p2 - Xorg / Wayland - keyboard layout was back to gb after the update. I had to fix it in ~/.config/wayfire.ini
tingo@tipi5-linux:~ $ grep xkb_layout ~/.config/wayfire.ini #xkb_layout=gb xkb_layout=no
and logout / login.
2024-12-28: mmcblk0p2 - install rust viua rustup
$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh [..] default host triple: aarch64-unknown-linux-gnu default toolchain: stable (default) profile: default modify PATH variable: yes [..] info: profile set to 'default' info: default host triple is aarch64-unknown-linux-gnu info: syncing channel updates for 'stable-aarch64-unknown-linux-gnu' info: latest update on 2024-11-28, rust version 1.83.0 (90b35a623 2024-11-26) info: downloading component 'cargo' info: default toolchain set to 'stable-aarch64-unknown-linux-gnu' stable-aarch64-unknown-linux-gnu installed - rustc 1.83.0 (90b35a623 2024-11-26) Rust is installed now. Great! To get started you may need to restart your current shell. This would reload your PATH environment variable to include Cargo's bin directory ($HOME/.cargo/bin). To configure your current shell, you need to source the corresponding env file under $HOME/.cargo. This is usually done by running one of the following (note the leading DOT): . "$HOME/.cargo/env" # For sh/bash/zsh/ash/dash/pdksh source "$HOME/.cargo/env.fish" # For fish
2024-12-28: mmcblk0p2 - apt - autoremove
tingo@tipi5-linux:~ $ sudo apt autoremove Reading package lists... Done Building dependency tree... Done Reading state information... Done The following packages will be REMOVED: chromium-browser chromium-browser-l10n chromium-codecs-ffmpeg-extra edid-decode libqt5qmlworkerscript5 libqt5quickcontrols2-5 libqt5quicktemplates2-5 libwlroots12 linux-headers-6.6.31+rpt-common-rpi linux-headers-6.6.31+rpt-rpi-2712 linux-headers-6.6.31+rpt-rpi-v8 linux-image-6.6.31+rpt-rpi-2712 linux-image-6.6.31+rpt-rpi-v8 linux-kbuild-6.6.31+rpt python3-gi-cairo qml-module-qtgraphicaleffects qml-module-qtquick-controls2 qml-module-qtquick-layouts qml-module-qtquick-templates2 qml-module-qtquick-window2 qml-module-qtquick2 0 upgraded, 0 newly installed, 21 to remove and 0 not upgraded. After this operation, 138 MB disk space will be freed. [..] Processing triggers for man-db (2.11.2-2) ... Processing triggers for libc-bin (2.36-9+rpt2+deb12u9) ...
apt - reinstall chromium-browser
tingo@tipi5-linux:~ $ sudo apt install chromium-browser Reading package lists... Done Building dependency tree... Done Reading state information... Done The following NEW packages will be installed: chromium-browser 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 97.6 kB of archives. After this operation, 344 kB of additional disk space will be used. [..] Setting up chromium-browser (1:130.0.6723.116-1~deb12u1+rpt1) ...
2024-12-28: mmcblk0p2 - apt - upgrade raspberrypi-ui-mods
tingo@tipi5-linux:~ $ sudo apt install raspberrypi-ui-mods Reading package lists... Done Building dependency tree... Done Reading state information... Done The following packages were automatically installed and are no longer required: chromium-browser chromium-browser-l10n chromium-codecs-ffmpeg-extra edid-decode libqt5qmlworkerscript5 libqt5quickcontrols2-5 libqt5quicktemplates2-5 libwlroots12 linux-headers-6.6.31+rpt-common-rpi linux-headers-6.6.31+rpt-rpi-2712 linux-headers-6.6.31+rpt-rpi-v8 linux-image-6.6.31+rpt-rpi-2712 linux-image-6.6.31+rpt-rpi-v8 linux-kbuild-6.6.31+rpt python3-gi-cairo qml-module-qtgraphicaleffects qml-module-qtquick-controls2 qml-module-qtquick-layouts qml-module-qtquick-templates2 qml-module-qtquick-window2 qml-module-qtquick2 Use 'sudo apt autoremove' to remove them. The following additional packages will be installed: raindrop rasputin The following packages will be REMOVED: arandr lxinput The following NEW packages will be installed: raindrop rasputin The following packages will be upgraded: raspberrypi-ui-mods 1 upgraded, 2 newly installed, 2 to remove and 0 not upgraded. Need to get 1,176 kB of archives. After this operation, 98.3 kB disk space will be freed. [..]
2024-12-28: mmcblk0p2 - reboot, a new kernel is in
tingo@tipi5-linux:~ $ uname -a Linux tipi5-linux 6.6.62+rpt-rpi-2712 #1 SMP PREEMPT Debian 1:6.6.62-1+rpt1 (2024-11-25) aarch64 GNU/Linux
2024-12-28: mmcblk0p2 - apt - update and upgrade
tingo@tipi5-linux:~ $ sudo apt upgrade Reading package lists... Done Building dependency tree... Done Reading state information... Done Calculating upgrade... Done The following packages were automatically installed and are no longer required: chromium-browser chromium-browser-l10n chromium-codecs-ffmpeg-extra libqt5qmlworkerscript5 libqt5quickcontrols2-5 libqt5quicktemplates2-5 libwlroots12 qml-module-qtgraphicaleffects qml-module-qtquick-controls2 qml-module-qtquick-layouts qml-module-qtquick-templates2 qml-module-qtquick-window2 qml-module-qtquick2 Use 'sudo apt autoremove' to remove them. The following NEW packages will be installed: libwlroots-0.18 libxcb-errors0 linux-headers-6.6.62+rpt-common-rpi linux-headers-6.6.62+rpt-rpi-2712 linux-headers-6.6.62+rpt-rpi-v8 linux-image-6.6.62+rpt-rpi-2712 linux-image-6.6.62+rpt-rpi-v8 linux-kbuild-6.6.62+rpt The following packages have been kept back: raspberrypi-ui-mods The following packages will be upgraded: edid-decode firefox gstreamer1.0-alsa gstreamer1.0-plugins-base gstreamer1.0-x initramfs-tools initramfs-tools-core labwc libcamera-ipa libcamera-tools libcamera0.3 libgstreamer-gl1.0-0 libgstreamer-plugins-base1.0-0 libgstreamer1.0-0 libjavascriptcoregtk-4.1-0 libliftoff0 libpixman-1-0 librados2 librbd1 libwebkit2gtk-4.1-0 linux-headers-rpi-2712 linux-headers-rpi-v8 linux-image-rpi-2712 linux-image-rpi-v8 linux-libc-dev lxde lxde-core pcmanfm piwiz python3-libcamera python3-picamera2 raspberrypi-net-mods raspberrypi-sys-mods raspi-config raspi-firmware rc-gui rpi-eeprom rpicam-apps tzdata wfplug-connect 40 upgraded, 8 newly installed, 0 to remove and 1 not upgraded. Need to get 231 MB of archives. After this operation, 125 MB of additional disk space will be used. [..] Processing triggers for initramfs-tools (0.142+rpt2+deb12u1) ... update-initramfs: Generating /boot/initrd.img-6.6.62+rpt-rpi-v8 '/boot/initrd.img-6.6.62+rpt-rpi-v8' -> '/boot/firmware/initramfs8' update-initramfs: Generating /boot/initrd.img-6.6.62+rpt-rpi-2712 '/boot/initrd.img-6.6.62+rpt-rpi-2712' -> '/boot/firmware/initramfs_2712' update-initramfs: Generating /boot/initrd.img-6.6.51+rpt-rpi-v8 update-initramfs: Generating /boot/initrd.img-6.6.51+rpt-rpi-2712 update-initramfs: Generating /boot/initrd.img-6.6.31+rpt-rpi-v8 update-initramfs: Generating /boot/initrd.img-6.6.31+rpt-rpi-2712
2024-12-01: c2 - when avahi works, I can ping and ssh into the machine with name. Like this
tingo@kg-core2:~ $ ping tipi5-linux.local PING tipi5-linux.local (10.1.161.39): 56 data bytes 64 bytes from 10.1.161.39: icmp_seq=0 ttl=64 time=13.662 ms 64 bytes from 10.1.161.39: icmp_seq=1 ttl=64 time=0.907 ms 64 bytes from 10.1.161.39: icmp_seq=2 ttl=64 time=20.611 ms ^C --- tipi5-linux.local ping statistics --- 3 packets transmitted, 3 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 0.907/11.726/20.611/8.160 ms
and ssh
tingo@kg-core2:~ $ ssh tipi5-linux.local Linux tipi5-linux 6.6.51+rpt-rpi-2712 #1 SMP PREEMPT Debian 1:6.6.51-1+rpt3 (2024-10-08) aarch64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Sun Dec 1 12:18:59 2024 from 10.1.150.52
most of the time it doesn't work, then I have to ssh into it via ip address first
tingo@kg-core2:~ $ ping tipi5-linux.local ping: cannot resolve tipi5-linux.local: Name does not resolve tingo@kg-core2:~ $ ssh 10.1.161.39 Linux tipi5-linux 6.6.51+rpt-rpi-2712 #1 SMP PREEMPT Debian 1:6.6.51-1+rpt3 (2024-10-08) aarch64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Sun Nov 24 17:49:15 2024 from 10.1.150.52
I wish I knew how to fix this.
2024-11-24: mmcblk0p2 - reboot, Debian 12.8 is in
tingo@tipi5-linux:~ $ cat /etc/debian_version 12.8
kernel
tingo@tipi5-linux:~ $ uname -a Linux tipi5-linux 6.6.51+rpt-rpi-2712 #1 SMP PREEMPT Debian 1:6.6.51-1+rpt3 (2024-10-08) aarch64 GNU/Linux
2024-11-24: mmcblk0p2 - apt - upgrade
tingo@tipi5-linux:~ $ sudo apt upgrade Reading package lists... Done Building dependency tree... Done Reading state information... Done Calculating upgrade... Done The following packages were automatically installed and are no longer required: chromium-browser chromium-browser-l10n chromium-codecs-ffmpeg-extra libqt5qmlworkerscript5 libqt5quickcontrols2-5 libqt5quicktemplates2-5 qml-module-qtgraphicaleffects qml-module-qtquick-controls2 qml-module-qtquick-layouts qml-module-qtquick-templates2 qml-module-qtquick-window2 qml-module-qtquick2 Use 'sudo apt autoremove' to remove them. The following NEW packages will be installed: autotouch chromium chromium-common chromium-l10n chromium-sandbox dconf-cli fonts-liberation labwc-prompt libc++1-16 libc++abi1-16 libconfig++9v5 libffado2 libfuse2 libharfbuzz-subset0 libminizip1 libspa-0.2-libcamera libunwind-16 libupower-glib3 libxml++2.6-2v5 linux-headers-6.6.51+rpt-common-rpi linux-headers-6.6.51+rpt-rpi-2712 linux-headers-6.6.51+rpt-rpi-v8 linux-image-6.6.51+rpt-rpi-2712 linux-image-6.6.51+rpt-rpi-v8 linux-kbuild-6.6.51+rpt notification-daemon python3-attr python3-json-pointer python3-jsonschema python3-libarchive-c python3-pyrsistent python3-rfc3987 python3-tqdm python3-uritemplate python3-webcolors raspi-utils-core raspi-utils-dt raspi-utils-eeprom raspi-utils-otp raspinfo upower wfplug-connect wfplug-squeek xmlstarlet The following packages will be upgraded: agnostics base-files bluez bsdextrautils bsdutils bubblewrap chromium-browser chromium-browser-l10n chromium-codecs-ffmpeg-extra cups cups-browsed cups-client cups-common cups-core-drivers cups-daemon cups-filters cups-filters-core-drivers cups-ipp-utils cups-ppdc cups-server-common curl distro-info-data eject fdisk ffmpeg firefox firmware-atheros firmware-brcm80211 firmware-libertas firmware-misc-nonfree firmware-realtek ghostscript gir1.2-gtk-3.0 git git-man gstreamer1.0-alsa gstreamer1.0-plugins-base gstreamer1.0-x gtk-update-icon-cache gtk2-engines-pixbuf gui-pkinst gui-updater imagemagick-6-common initramfs-tools initramfs-tools-core iputils-ping labwc libaom3 libarchive13 libavcodec59 libavdevice59 libavfilter8 libavformat59 libavutil57 libblkid1 libbluetooth3 libc-bin libc-dev-bin libc-devtools libc-l10n libc6 libc6-dbg libc6-dev libcamera-ipa libcamera-tools libcamera0.3 libcjson1 libcups2 libcupsfilters1 libcupsimage2 libcurl3-gnutls libcurl4 libdrm-amdgpu1 libdrm-common libdrm-nouveau2 libdrm-radeon1 libdrm2 libexpat1 libexpat1-dev libfdisk1 libfm-data libfm-extra4 libfm-gtk-data libfm-gtk4 libfm-modules libfm4 libfontembed1 libglib2.0-0 libglib2.0-bin libglib2.0-data libgs-common libgs10 libgs10-common libgssapi-krb5-2 libgstreamer-gl1.0-0 libgstreamer-plugins-base1.0-0 libgtk-3-0 libgtk-3-common libgtk2.0-0 libgtk2.0-bin libgtk2.0-common libheif1 libjavascriptcoregtk-4.1-0 libk5crypto3 libkrb5-3 libkrb5support0 liblightdm-gobject-1-0 libmagickcore-6.q16-6 libmagickcore-6.q16-6-extra libmagickwand-6.q16-6 libmount1 libmpg123-0 libneatvnc0 libnghttp2-14 libnss3 libntfs-3g89 libpam-systemd libpipewire-0.3-0 libpipewire-0.3-common libpipewire-0.3-modules libpisp-common libpisp1 libpostproc56 libpython3.11 libpython3.11-dev libpython3.11-minimal libpython3.11-stdlib libsmartcols1 libspa-0.2-bluetooth libspa-0.2-modules libsqlite3-0 libssl3 libswresample4 libswscale6 libsystemd-shared libsystemd0 libudev1 libuuid1 libvlc-bin libvlc5 libvlccore9 libwayland-client0 libwayland-cursor0 libwayland-egl1 libwayland-server0 libwebkit2gtk-4.1-0 libwlroots12 lightdm linux-headers-rpi-2712 linux-headers-rpi-v8 linux-image-rpi-2712 linux-image-rpi-v8 linux-libc-dev locales lxinput lxpanel lxpanel-data lxplug-bluetooth lxplug-ejecter lxplug-menu lxplug-netman lxplug-updater lxplug-volumepulse lxtask mount ninja-build ntfs-3g openssl pcmanfm pi-greeter piclone pipanel pipewire pipewire-bin pipewire-libcamera pipewire-pulse pishutdown piwiz pixflat-icons pixflat-theme pprompt python3-cryptography python3-gpiozero python3-libcamera python3-numpy python3-picamera2 python3-renderpm python3-reportlab python3-reportlab-accel python3-v4l2 python3.11 python3.11-dev python3.11-minimal python3.11-venv raspberrypi-net-mods raspberrypi-sys-mods raspberrypi-ui-mods raspi-config raspi-firmware raspi-utils rc-gui rfkill rp-bookshelf rp-prefapps rpd-plym-splash rpi-chromium-mods rpi-connect rpi-eeprom rpi-imager rpicam-apps systemd systemd-sysv systemd-timesyncd udev usb.ids userconf-pi util-linux util-linux-extra vlc vlc-bin vlc-data vlc-l10n vlc-plugin-access-extra vlc-plugin-base vlc-plugin-notify vlc-plugin-qt vlc-plugin-samba vlc-plugin-skins2 vlc-plugin-video-output vlc-plugin-video-splitter vlc-plugin-visualization wayvnc wf-panel-pi wpasupplicant xserver-common xserver-xorg-core xwayland zlib1g zlib1g-dev 239 upgraded, 44 newly installed, 0 to remove and 0 not upgraded. Need to get 715 MB of archives. After this operation, 127 MB of additional disk space will be used. [..] Setting up piwiz (0.85) ... Processing triggers for mailcap (3.70+nmu1) ... Processing triggers for fontconfig (2.14.1-4) ... Processing triggers for desktop-file-utils (0.26-1) ... Processing triggers for hicolor-icon-theme (0.17-2) ... Processing triggers for gnome-menus (3.36.0-1.1) ... Processing triggers for libc-bin (2.36-9+rpt2+deb12u9) ... Processing triggers for man-db (2.11.2-2) ... Processing triggers for dbus (1.14.10-1~deb12u1) ... Processing triggers for shared-mime-info (2.2-1) ... Processing triggers for initramfs-tools (0.142+rpt1+deb12u1) ... update-initramfs: Generating /boot/initrd.img-6.6.51+rpt-rpi-v8 '/boot/initrd.img-6.6.51+rpt-rpi-v8' -> '/boot/firmware/initramfs8' update-initramfs: Generating /boot/initrd.img-6.6.51+rpt-rpi-2712 '/boot/initrd.img-6.6.51+rpt-rpi-2712' -> '/boot/firmware/initramfs_2712' update-initramfs: Generating /boot/initrd.img-6.6.31+rpt-rpi-v8 update-initramfs: Generating /boot/initrd.img-6.6.31+rpt-rpi-2712 Processing triggers for libvlc-bin:arm64 (1:3.0.21-0+rpt3+deb12u1) ...
2024-11-24: mmcblk0p2 - lsblk info
tingo@tipi5-linux:~ $ lsblk -f NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS mmcblk0 ├─mmcblk0p1 vfat FAT32 bootfs 9BE2-1346 435.4M 15% /boot/firmware └─mmcblk0p2 ext4 1.0 rootfs 12974fe2-889e-4060-b497-1d6ac3fbbb4b 49.3G 8% /
2024-08-18: mmcblk0p2 - eeprom status
tingo@tipi5-linux:~ $ rpi-eeprom-update *** UPDATE AVAILABLE *** BOOTLOADER: update available CURRENT: Fri 5 Jan 15:57:40 UTC 2024 (1704470260) LATEST: Wed 5 Jun 15:41:49 UTC 2024 (1717602109) RELEASE: default (/lib/firmware/raspberrypi/bootloader-2712/default) Use raspi-config to change the release.
2024-08-18: mmcblk0p2 - lsblk info
tingo@tipi5-linux:~ $ lsblk -f NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS mmcblk0 ├─mmcblk0p1 vfat FAT32 bootfs 9BE2-1346 435.4M 15% /boot/firmware └─mmcblk0p2 ext4 1.0 rootfs 12974fe2-889e-4060-b497-1d6ac3fbbb4b 49.3G 8% /
2024-08-18: tested the Micro-HDMI adapter (61308) - it works.
2024-08-16: wired up the Pi 5 with a monitor (using a micro-HDMI adapter), usb keyboard and mouse, and plugged in an ethernet cable (I forgot that I had entered wireless details). Plugged in the power supply. Pi 5 booted, restarted a few times, and showed the desktop. From ssh
tingo@kg-core2:~ $ ssh tipi5-linux.local Linux tipi5-linux 6.6.31+rpt-rpi-2712 #1 SMP PREEMPT Debian 1:6.6.31-1+rpt1 (2024-05-29) aarch64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Thu Jul 4 02:17:05 2024
os info
tingo@tipi5-linux:~ $ cat /etc/os-release PRETTY_NAME="Debian GNU/Linux 12 (bookworm)" NAME="Debian GNU/Linux" VERSION_ID="12" VERSION="12 (bookworm)" VERSION_CODENAME=bookworm ID=debian HOME_URL="https://www.debian.org/" SUPPORT_URL="https://www.debian.org/support" BUG_REPORT_URL="https://bugs.debian.org/"
kernel
tingo@tipi5-linux:~ $ uname -a Linux tipi5-linux 6.6.31+rpt-rpi-2712 #1 SMP PREEMPT Debian 1:6.6.31-1+rpt1 (2024-05-29) aarch64 GNU/Linux
2024-08-16: I created this page.