From 14143cfe6073178014d345e49e153099a52382e0 Mon Sep 17 00:00:00 2001 From: geens Date: Wed, 16 Jul 2025 10:17:40 +0200 Subject: [PATCH] Fixes for wifi and gui --- .../wifi-config/files/25-wireless.network | 2 +- .../wifi-config/wifi-config_1.0.bb | 23 +++++++++++++++++-- .../wayland/weston-init.bbappend | 13 ++++++++++- image/run | 3 ++- 4 files changed, 36 insertions(+), 5 deletions(-) diff --git a/image/meta-layers/meta-fcb-looper/recipes-connectivity/wifi-config/files/25-wireless.network b/image/meta-layers/meta-fcb-looper/recipes-connectivity/wifi-config/files/25-wireless.network index 81a8c8a..3827bd5 100644 --- a/image/meta-layers/meta-fcb-looper/recipes-connectivity/wifi-config/files/25-wireless.network +++ b/image/meta-layers/meta-fcb-looper/recipes-connectivity/wifi-config/files/25-wireless.network @@ -1,5 +1,5 @@ [Match] -Name=wlp2s0 +Name=wlp* [Network] DHCP=no diff --git a/image/meta-layers/meta-fcb-looper/recipes-connectivity/wifi-config/wifi-config_1.0.bb b/image/meta-layers/meta-fcb-looper/recipes-connectivity/wifi-config/wifi-config_1.0.bb index 29a13a6..e852e7e 100644 --- a/image/meta-layers/meta-fcb-looper/recipes-connectivity/wifi-config/wifi-config_1.0.bb +++ b/image/meta-layers/meta-fcb-looper/recipes-connectivity/wifi-config/wifi-config_1.0.bb @@ -17,13 +17,32 @@ do_install() { install -d ${D}${sysconfdir}/wpa_supplicant install -m 0600 ${WORKDIR}/wpa_supplicant-wlp2s0.conf ${D}${sysconfdir}/wpa_supplicant/ - # Create systemd service symlinks for auto-start + # Create systemd service for generic WiFi interface discovery + install -d ${D}${sysconfdir}/systemd/system + cat > ${D}${sysconfdir}/systemd/system/wifi-connect.service << EOF +[Unit] +Description=WiFi Auto-Connect Service +After=network.target +Wants=network.target + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/bin/sh -c 'for iface in /sys/class/net/wlp*; do [ -e "\$iface" ] && systemctl start wpa_supplicant@\$(basename \$iface).service; done' +ExecStop=/bin/sh -c 'for iface in /sys/class/net/wlp*; do [ -e "\$iface" ] && systemctl stop wpa_supplicant@\$(basename \$iface).service; done' + +[Install] +WantedBy=multi-user.target +EOF + + # Enable the generic WiFi service install -d ${D}${sysconfdir}/systemd/system/multi-user.target.wants - ln -sf ${systemd_system_unitdir}/wpa_supplicant@.service ${D}${sysconfdir}/systemd/system/multi-user.target.wants/wpa_supplicant@wlp2s0.service + ln -sf ${sysconfdir}/systemd/system/wifi-connect.service ${D}${sysconfdir}/systemd/system/multi-user.target.wants/wifi-connect.service } FILES:${PN} = "${sysconfdir}/systemd/network/* \ ${sysconfdir}/wpa_supplicant/* \ + ${sysconfdir}/systemd/system/wifi-connect.service \ ${sysconfdir}/systemd/system/multi-user.target.wants/*" RDEPENDS:${PN} = "systemd wpa-supplicant" \ No newline at end of file diff --git a/image/meta-layers/meta-fcb-looper/recipes-graphics/wayland/weston-init.bbappend b/image/meta-layers/meta-fcb-looper/recipes-graphics/wayland/weston-init.bbappend index ce46bc1..d06035c 100644 --- a/image/meta-layers/meta-fcb-looper/recipes-graphics/wayland/weston-init.bbappend +++ b/image/meta-layers/meta-fcb-looper/recipes-graphics/wayland/weston-init.bbappend @@ -6,8 +6,19 @@ do_install:append() { # Use kiosk shell for single-app embedded system sed -i '/^\[core\]/a shell=kiosk-shell.so' ${D}${sysconfdir}/xdg/weston/weston.ini - # Disable desktop shell features + # Add fallback backend configuration for hardware compatibility echo "" >> ${D}${sysconfdir}/xdg/weston/weston.ini + echo "# Try DRM first, fallback to headless if no graphics" >> ${D}${sysconfdir}/xdg/weston/weston.ini + echo "backend=drm-backend.so" >> ${D}${sysconfdir}/xdg/weston/weston.ini + echo "" >> ${D}${sysconfdir}/xdg/weston/weston.ini + + # DRM backend configuration + echo "[output]" >> ${D}${sysconfdir}/xdg/weston/weston.ini + echo "name=HDMI-A-1" >> ${D}${sysconfdir}/xdg/weston/weston.ini + echo "mode=1920x1080" >> ${D}${sysconfdir}/xdg/weston/weston.ini + echo "" >> ${D}${sysconfdir}/xdg/weston/weston.ini + + # Disable desktop shell features echo "[shell]" >> ${D}${sysconfdir}/xdg/weston/weston.ini echo "panel-position=none" >> ${D}${sysconfdir}/xdg/weston/weston.ini echo "locking=false" >> ${D}${sysconfdir}/xdg/weston/weston.ini diff --git a/image/run b/image/run index 3d98e89..7f335b6 100755 --- a/image/run +++ b/image/run @@ -16,7 +16,8 @@ export KVM_GID=$(getent group kvm | cut -d: -f3) if [ $# -eq 0 ]; then echo "Usage: $0 [additional args...]" echo "Available services:" - echo " yocto - Interactive Yocto development environment" + echo " disk-image - Yocto build environment, builds disk-image if no other arguments are provided" + echo " qemu-server - Starts the qemu VNC server" exit 1 fi