Sample Header Ad - 728x90

Unix & Linux Stack Exchange

Q&A for users of Linux, FreeBSD and other Unix-like operating systems

Latest Questions

2 votes
1 answers
11454 views
How to change desktop environment in Raspbian?
I'm running Raspbian “wheezy”, a Debian based Linux distribution for the Raspberry Pi and I would like to know where I can change the desktop environment that boots with the OS. In particular, how can I replace LXDE with a custom QT or Java program?
I'm running Raspbian “wheezy”, a Debian based Linux distribution for the Raspberry Pi and I would like to know where I can change the desktop environment that boots with the OS. In particular, how can I replace LXDE with a custom QT or Java program?
Eduardo Oliveira (121 rep)
Aug 9, 2012, 02:11 PM • Last activity: Aug 5, 2025, 12:08 AM
5 votes
1 answers
4831 views
How do I properly add Chromium to my Yocto Project Linux distribution
Built [**Yocto**][1] (Poky fido branch) Linux distro for **Raspberry Pi 2** following this excellent tutorial [Part 1](http://www.embarcados.com.br/raspberry-pi-2-qt5-yocto-parte-1/). Now trying to run Chromium. Added [meta-browser](http://layers.openembedded.org/layerindex/branch/master/layer/meta-...
Built **Yocto** (Poky fido branch) Linux distro for **Raspberry Pi 2** following this excellent tutorial [Part 1](http://www.embarcados.com.br/raspberry-pi-2-qt5-yocto-parte-1/). Now trying to run Chromium. Added [meta-browser](http://layers.openembedded.org/layerindex/branch/master/layer/meta-browser/) to my bblayers.conf Added chromium recipes to my .bb image file. Was able to compile and build my image but getting these errors when trying to run: root@raspberrypi2:/usr/bin/chromium# ./chrome [527:527:0624/195537:FATAL:browser_main_loop.cc(161)] Running without the SUID sandbox! See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for more information on developing with the sandbox on. Aborted ### --no-sandbox root@raspberrypi2:/usr/bin/chromium# ./chrome --no-sandbox [528:528:0624/195641:ERROR:browser_main_loop.cc(164)] Running without the SUID sandbox! See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for more information on developing with the sandbox on. [528:528:0624/195641:ERROR:browser_main_loop.cc(210)] Gtk: cannot open display: root@raspberrypi2:/usr/bin/chromium# [530:530:0624/195641:ERROR:image_metadata_extractor.cc(111)] Couldn't load libexif. [530:530:0100/000000:ERROR:zygote_linux.cc(587)] write: Broken pipe ^C ### DISPLAY=:0.0 root@raspberrypi2:/usr/bin/chromium# export DISPLAY=:0.0 && ./chrome --no-sandbox [531:531:0624/195652:ERROR:browser_main_loop.cc(164)] Running without the SUID sandbox! See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for more information on developing with the sandbox on. [531:531:0624/195652:ERROR:browser_main_loop.cc(210)] Gtk: cannot open display: :0.0 root@raspberrypi2:/usr/bin/chromium# [533:533:0624/195652:ERROR:image_metadata_extractor.cc(111)] Couldn't load libexif. [533:533:0100/000000:ERROR:zygote_linux.cc(587)] write: Broken pipe ^C ### --use-gl=egl > *I'd be very interested to have it working with hardware acceleration* root@raspberrypi2:/usr/bin/chromium# export DISPLAY=:0.0 && ./chrome --no-sandbox --use-gl=egl [534:534:0624/195901:ERROR:browser_main_loop.cc(164)] Running without the SUID sandbox! See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for more information on developing with the sandbox on. [534:534:0624/195901:ERROR:browser_main_loop.cc(210)] Gtk: cannot open display: :0.0 root@raspberrypi2:/usr/bin/chromium# [536:536:0624/195901:ERROR:image_metadata_extractor.cc(111)] Couldn't load libexif. [536:536:0100/000000:ERROR:zygote_linux.cc(587)] write: Broken pipe ^C Any pointers are welcome.
zabumba (954 rep)
Jun 24, 2015, 10:00 PM • Last activity: Jul 29, 2025, 03:08 PM
0 votes
0 answers
17 views
Why doesn't org.bluez.MediaPlayer1 appear when my Raspberry Pi connects to my iPhone via Bluetooth?
I'm using a Raspberry Pi with BlueZ 5.66 and Linux 6.6. I want to use the Pi as a Bluetooth audio sink (A2DP) and AVRCP controller so I can stream audio from an iPhone and control playback (play/pause/next/etc) via D-Bus using the `org.bluez.MediaPlayer1` interface. This works correctly when the iPh...
I'm using a Raspberry Pi with BlueZ 5.66 and Linux 6.6. I want to use the Pi as a Bluetooth audio sink (A2DP) and AVRCP controller so I can stream audio from an iPhone and control playback (play/pause/next/etc) via D-Bus using the org.bluez.MediaPlayer1 interface. This works correctly when the iPhone initiates the Bluetooth connection to the Pi. I can see the MediaPlayer1 interface under the device path on D-Bus, and playback control works. However, if I initiate the connection from the Pi using:
bluetoothctl connect XX:XX:XX:XX:XX:XX
…the connection succeeds, but org.bluez.MediaPlayer1 never appears. Even if I start playback on the iPhone afterward, the interface is still missing. I'm using BlueZ as the Bluetooth stack and BlueALSA for audio. I'm not using PulseAudio and would prefer to avoid it due to its complexity. From what I understand, MediaPlayer1 is exposed by BlueZ when acting as an AVRCP controller and detecting a remote media player. Is there a way to force or trigger org.bluez.MediaPlayer1 to appear when the Pi initiates the Bluetooth connection to the iPhone? Are there any known limitations, timing issues, or configuration-based workarounds that would allow this to work more reliably (ideally without switching to PulseAudio)? **Steps to reproduce:** 1. Pair and trust the iPhone:
bluetoothctl
   power on
   agent on
   default-agent
   pair XX:XX:XX:XX:XX:XX
   trust XX:XX:XX:XX:XX:XX
   connect XX:XX:XX:XX:XX:XX
2. Start music playback on the iPhone. 3. Check D-Bus for /player0:
busctl tree org.bluez
**Expected:** A /org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX/player0 path should appear, with org.bluez.MediaPlayer1 exposed. **Actual:** That path and interface only appear if the iPhone initiates the Bluetooth connection to the Pi. They never appear if the Pi initiates the connection.
joeyvanlierop (1 rep)
Jul 28, 2025, 07:05 PM
2 votes
1 answers
2693 views
udev rule not working on Raspberry Pi 3
I'm trying to separate some keyboards so they're not read by Qt on a Raspberry Pi. I'm using a `udev` rule to do so, but it doesn't seem to be working. I'm trying to direct `/dev/input/event3` into `/dev/input/ccreader` and `/dev/input/event4` into `/dev/input/barcode`. Could anyone point me in the...
I'm trying to separate some keyboards so they're not read by Qt on a Raspberry Pi. I'm using a udev rule to do so, but it doesn't seem to be working. I'm trying to direct /dev/input/event3 into /dev/input/ccreader and /dev/input/event4 into /dev/input/barcode. Could anyone point me in the right direction? I'll post all info below: Contents of /etc/udev/rules.d/99-com.rules (IMPORTANT 2 AT TOP): KERNEL=="event*", ATTRS{idVendor}=="0801", ATTRS{idProduct}=="0001", MODE:="0660", NAME:="input/ccreader%n" KERNEL=="event*", ATTRS{idVendor}=="05fe", ATTRS{idProduct}=="1010", MODE:="0660", NAME:="input/barcode%n" SUBSYSTEM=="input", GROUP="input", MODE="0660" SUBSYSTEM=="i2c-dev", GROUP="i2c", MODE="0660" SUBSYSTEM=="spidev", GROUP="spi", MODE="0660" SUBSYSTEM=="bcm2835-gpiomem", GROUP="gpio", MODE="0660" SUBSYSTEM=="gpio*", PROGRAM="/bin/sh -c '\ chown -R root:gpio /sys/class/gpio && chmod -R 770 /sys/class/gpio;\ chown -R root:gpio /sys/devices/virtual/gpio && chmod -R 770 /sys/devices/virtual/gpio;\ chown -R root:gpio /sys$devpath && chmod -R 770 /sys$devpath\ '" KERNEL=="ttyAMA", PROGRAM="/bin/sh -c '\ ALIASES=/proc/device-tree/aliases; \ if cmp -s $ALIASES/uart0 $ALIASES/serial0; then \ echo 0;\ elif cmp -s $ALIASES/uart0 $ALIASES/serial1; then \ echo 1; \ else \ exit 1; \ fi\ '", SYMLINK+="serial%c" KERNEL=="ttyS0", PROGRAM="/bin/sh -c '\ ALIASES=/proc/device-tree/aliases; \ if cmp -s $ALIASES/uart1 $ALIASES/serial0; then \ echo 0; \ elif cmp -s $ALIASES/uart1 $ALIASES/serial1; then \ echo 1; \ else \ exit 1; \ fi \ '", SYMLINK+="serial%c" ***************************************************************** # udevadm info --attribute-walk --name /dev/input/event4 Udevadm info starts with the device specified by the devpath and then walks up the chain of parent devices. It prints for every device found, all possible attributes in the udev rules key format. A rule to match, can be composed by the attributes of the device and the attributes from one single parent device. looking at device '/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4/1-1.4:1.0/0003:0801:0001.0005/input/input4/event4': KERNEL=="event4" SUBSYSTEM=="input" DRIVER=="" looking at parent device '/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4/1-1.4:1.0/0003:0801:0001.0005/input/input4': KERNELS=="input4" SUBSYSTEMS=="input" DRIVERS=="" ATTRS{name}=="HID 0801:0001" ATTRS{phys}=="usb-3f980000.usb-1.4/input0" ATTRS{uniq}=="" ATTRS{properties}=="0" looking at parent device '/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4/1-1.4:1.0/0003:0801:0001.0005': KERNELS=="0003:0801:0001.0005" SUBSYSTEMS=="hid" DRIVERS=="hid-generic" ATTRS{country}=="00" looking at parent device '/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4/1-1.4:1.0': KERNELS=="1-1.4:1.0" SUBSYSTEMS=="usb" DRIVERS=="usbhid" ATTRS{bInterfaceClass}=="03" ATTRS{bInterfaceSubClass}=="01" ATTRS{bInterfaceProtocol}=="01" ATTRS{bNumEndpoints}=="01" ATTRS{authorized}=="1" ATTRS{supports_autosuspend}=="1" ATTRS{bAlternateSetting}==" 0" ATTRS{bInterfaceNumber}=="00" looking at parent device '/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4': KERNELS=="1-1.4" SUBSYSTEMS=="usb" DRIVERS=="usb" ATTRS{bDeviceSubClass}=="00" ATTRS{bDeviceProtocol}=="00" ATTRS{devpath}=="1.4" ATTRS{idVendor}=="0801" ATTRS{speed}=="12" ATTRS{bNumInterfaces}==" 1" ATTRS{bConfigurationValue}=="1" ATTRS{bMaxPacketSize0}=="64" ATTRS{busnum}=="1" ATTRS{devnum}=="6" ATTRS{configuration}=="" ATTRS{bMaxPower}=="100mA" ATTRS{authorized}=="1" ATTRS{bmAttributes}=="80" ATTRS{bNumConfigurations}=="1" ATTRS{maxchild}=="0" ATTRS{bcdDevice}=="0100" ATTRS{avoid_reset_quirk}=="0" ATTRS{quirks}=="0x0" ATTRS{version}==" 1.10" ATTRS{urbnum}=="40" ATTRS{ltm_capable}=="no" ATTRS{removable}=="removable" ATTRS{idProduct}=="0001" ATTRS{bDeviceClass}=="00" looking at parent device '/devices/platform/soc/3f980000.usb/usb1/1-1': KERNELS=="1-1" SUBSYSTEMS=="usb" DRIVERS=="usb" ATTRS{bDeviceSubClass}=="00" ATTRS{bDeviceProtocol}=="02" ATTRS{devpath}=="1" ATTRS{idVendor}=="0424" ATTRS{speed}=="480" ATTRS{bNumInterfaces}==" 1" ATTRS{bConfigurationValue}=="1" ATTRS{bMaxPacketSize0}=="64" ATTRS{busnum}=="1" ATTRS{devnum}=="2" ATTRS{configuration}=="" ATTRS{bMaxPower}=="2mA" ATTRS{authorized}=="1" ATTRS{bmAttributes}=="e0" ATTRS{bNumConfigurations}=="1" ATTRS{maxchild}=="5" ATTRS{bcdDevice}=="0200" ATTRS{avoid_reset_quirk}=="0" ATTRS{quirks}=="0x0" ATTRS{version}==" 2.00" ATTRS{urbnum}=="72" ATTRS{ltm_capable}=="no" ATTRS{removable}=="unknown" ATTRS{idProduct}=="9514" ATTRS{bDeviceClass}=="09" looking at parent device '/devices/platform/soc/3f980000.usb/usb1': KERNELS=="usb1" SUBSYSTEMS=="usb" DRIVERS=="usb" ATTRS{bDeviceSubClass}=="00" ATTRS{bDeviceProtocol}=="01" ATTRS{devpath}=="0" ATTRS{idVendor}=="1d6b" ATTRS{speed}=="480" ATTRS{bNumInterfaces}==" 1" ATTRS{bConfigurationValue}=="1" ATTRS{bMaxPacketSize0}=="64" ATTRS{authorized_default}=="1" ATTRS{busnum}=="1" ATTRS{devnum}=="1" ATTRS{configuration}=="" ATTRS{bMaxPower}=="0mA" ATTRS{authorized}=="1" ATTRS{bmAttributes}=="e0" ATTRS{bNumConfigurations}=="1" ATTRS{maxchild}=="1" ATTRS{interface_authorized_default}=="1" ATTRS{bcdDevice}=="0404" ATTRS{avoid_reset_quirk}=="0" ATTRS{quirks}=="0x0" ATTRS{serial}=="3f980000.usb" ATTRS{version}==" 2.00" ATTRS{urbnum}=="26" ATTRS{ltm_capable}=="no" ATTRS{manufacturer}=="Linux 4.4.26-v7+ dwc_otg_hcd" ATTRS{removable}=="unknown" ATTRS{idProduct}=="0002" ATTRS{bDeviceClass}=="09" ATTRS{product}=="DWC OTG Controller" looking at parent device '/devices/platform/soc/3f980000.usb': KERNELS=="3f980000.usb" SUBSYSTEMS=="platform" DRIVERS=="dwc_otg" ATTRS{hnp}=="HstNegScs = 0x0" ATTRS{srp}=="SesReqScs = 0x1" ATTRS{regvalue}=="invalid offset" ATTRS{hsic_connect}=="HSIC Connect = 0x1" ATTRS{guid}=="GUID = 0x2708a000" ATTRS{mode}=="Mode = 0x1" ATTRS{srpcapable}=="SRPCapable = 0x1" ATTRS{regdump}=="Register Dump" ATTRS{gpvndctl}=="GPVNDCTL = 0x00000000" ATTRS{ggpio}=="GGPIO = 0x00000000" ATTRS{hprt0}=="HPRT0 = 0x00001005" ATTRS{wr_reg_test}=="Time to write GNPTXFSIZ reg 10000000 times: 380 msecs (38 jiffies)" ATTRS{driver_override}=="(null)" ATTRS{hcd_frrem}=="HCD Dump Frame Remaining" ATTRS{mode_ch_tim_en}=="Mode Change Ready Timer Enable = 0x0" ATTRS{gnptxfsiz}=="GNPTXFSIZ = 0x01000306" ATTRS{remote_wakeup}=="Remote Wakeup Sig = 0 Enabled = 0 LPM Remote Wakeup = 0" ATTRS{busconnected}=="Bus Connected = 0x1" ATTRS{hcddump}=="HCD Dump" ATTRS{gotgctl}=="GOTGCTL = 0x001c0001" ATTRS{spramdump}=="SPRAM Dump" ATTRS{grxfsiz}=="GRXFSIZ = 0x00000306" ATTRS{gsnpsid}=="GSNPSID = 0x4f54280a" ATTRS{gusbcfg}=="GUSBCFG = 0x20001700" ATTRS{hptxfsiz}=="HPTXFSIZ = 0x02000406" ATTRS{devspeed}=="Device Speed = 0x0" ATTRS{fr_interval}=="Frame Interval = 0x1d4c" ATTRS{rem_wakeup_pwrdn}=="" ATTRS{bussuspend}=="Bus Suspend = 0x0" ATTRS{buspower}=="Bus Power = 0x1" ATTRS{hnpcapable}=="HNPCapable = 0x1" ATTRS{rd_reg_test}=="Time to read GNPTXFSIZ reg 10000000 times: 940 msecs (94 jiffies)" ATTRS{enumspeed}=="Device Enumeration Speed = 0x1" ATTRS{inv_sel_hsic}=="Invert Select HSIC = 0x0" ATTRS{regoffset}=="0xffffffff" looking at parent device '/devices/platform/soc': KERNELS=="soc" SUBSYSTEMS=="platform" DRIVERS=="" ATTRS{driver_override}=="(null)" looking at parent device '/devices/platform': KERNELS=="platform" SUBSYSTEMS=="" DRIVERS=="" ******************************************************** # udevadm info --attribute-walk --name /dev/input/event3 Udevadm info starts with the device specified by the devpath and then walks up the chain of parent devices. It prints for every device found, all possible attributes in the udev rules key format. A rule to match, can be composed by the attributes of the device and the attributes from one single parent device. looking at device '/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:1.0/0003:05FE:1010.0004/input/input3/event3': KERNEL=="event3" SUBSYSTEM=="input" DRIVER=="" looking at parent device '/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:1.0/0003:05FE:1010.0004/input/input3': KERNELS=="input3" SUBSYSTEMS=="input" DRIVERS=="" ATTRS{name}=="WIT Electron Company WIT 122-UFS V7.03" ATTRS{phys}=="usb-3f980000.usb-1.3/input0" ATTRS{uniq}=="" ATTRS{properties}=="0" looking at parent device '/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:1.0/0003:05FE:1010.0004': KERNELS=="0003:05FE:1010.0004" SUBSYSTEMS=="hid" DRIVERS=="hid-generic" ATTRS{country}=="21" looking at parent device '/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:1.0': KERNELS=="1-1.3:1.0" SUBSYSTEMS=="usb" DRIVERS=="usbhid" ATTRS{bInterfaceClass}=="03" ATTRS{bInterfaceSubClass}=="01" ATTRS{bInterfaceProtocol}=="01" ATTRS{bNumEndpoints}=="01" ATTRS{authorized}=="1" ATTRS{supports_autosuspend}=="1" ATTRS{bAlternateSetting}==" 0" ATTRS{bInterfaceNumber}=="00" looking at parent device '/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3': KERNELS=="1-1.3" SUBSYSTEMS=="usb" DRIVERS=="usb" ATTRS{bDeviceSubClass}=="00" ATTRS{bDeviceProtocol}=="00" ATTRS{devpath}=="1.3" ATTRS{idVendor}=="05fe" ATTRS{speed}=="1.5" ATTRS{bNumInterfaces}==" 1" ATTRS{bConfigurationValue}=="1" ATTRS{bMaxPacketSize0}=="8" ATTRS{busnum}=="1" ATTRS{devnum}=="5" ATTRS{configuration}=="" ATTRS{bMaxPower}=="500mA" ATTRS{authorized}=="1" ATTRS{bmAttributes}=="a0" ATTRS{bNumConfigurations}=="1" ATTRS{maxchild}=="0" ATTRS{bcdDevice}=="0001" ATTRS{avoid_reset_quirk}=="0" ATTRS{quirks}=="0x0" ATTRS{version}==" 1.10" ATTRS{urbnum}=="13" ATTRS{ltm_capable}=="no" ATTRS{manufacturer}=="WIT Electron Company" ATTRS{removable}=="removable" ATTRS{idProduct}=="1010" ATTRS{bDeviceClass}=="00" ATTRS{product}=="WIT 122-UFS V7.03" looking at parent device '/devices/platform/soc/3f980000.usb/usb1/1-1': KERNELS=="1-1" SUBSYSTEMS=="usb" DRIVERS=="usb" ATTRS{bDeviceSubClass}=="00" ATTRS{bDeviceProtocol}=="02" ATTRS{devpath}=="1" ATTRS{idVendor}=="0424" ATTRS{speed}=="480" ATTRS{bNumInterfaces}==" 1" ATTRS{bConfigurationValue}=="1" ATTRS{bMaxPacketSize0}=="64" ATTRS{busnum}=="1" ATTRS{devnum}=="2" ATTRS{configuration}=="" ATTRS{bMaxPower}=="2mA" ATTRS{authorized}=="1" ATTRS{bmAttributes}=="e0" ATTRS{bNumConfigurations}=="1" ATTRS{maxchild}=="5" ATTRS{bcdDevice}=="0200" ATTRS{avoid_reset_quirk}=="0" ATTRS{quirks}=="0x0" ATTRS{version}==" 2.00" ATTRS{urbnum}=="72" ATTRS{ltm_capable}=="no" ATTRS{removable}=="unknown" ATTRS{idProduct}=="9514" ATTRS{bDeviceClass}=="09" looking at parent device '/devices/platform/soc/3f980000.usb/usb1': KERNELS=="usb1" SUBSYSTEMS=="usb" DRIVERS=="usb" ATTRS{bDeviceSubClass}=="00" ATTRS{bDeviceProtocol}=="01" ATTRS{devpath}=="0" ATTRS{idVendor}=="1d6b" ATTRS{speed}=="480" ATTRS{bNumInterfaces}==" 1" ATTRS{bConfigurationValue}=="1" ATTRS{bMaxPacketSize0}=="64" ATTRS{authorized_default}=="1" ATTRS{busnum}=="1" ATTRS{devnum}=="1" ATTRS{configuration}=="" ATTRS{bMaxPower}=="0mA" ATTRS{authorized}=="1" ATTRS{bmAttributes}=="e0" ATTRS{bNumConfigurations}=="1" ATTRS{maxchild}=="1" ATTRS{interface_authorized_default}=="1" ATTRS{bcdDevice}=="0404" ATTRS{avoid_reset_quirk}=="0" ATTRS{quirks}=="0x0" ATTRS{serial}=="3f980000.usb" ATTRS{version}==" 2.00" ATTRS{urbnum}=="26" ATTRS{ltm_capable}=="no" ATTRS{manufacturer}=="Linux 4.4.26-v7+ dwc_otg_hcd" ATTRS{removable}=="unknown" ATTRS{idProduct}=="0002" ATTRS{bDeviceClass}=="09" ATTRS{product}=="DWC OTG Controller" looking at parent device '/devices/platform/soc/3f980000.usb': KERNELS=="3f980000.usb" SUBSYSTEMS=="platform" DRIVERS=="dwc_otg" ATTRS{hnp}=="HstNegScs = 0x0" ATTRS{srp}=="SesReqScs = 0x1" ATTRS{regvalue}=="invalid offset" ATTRS{hsic_connect}=="HSIC Connect = 0x1" ATTRS{guid}=="GUID = 0x2708a000" ATTRS{mode}=="Mode = 0x1" ATTRS{srpcapable}=="SRPCapable = 0x1" ATTRS{regdump}=="Register Dump" ATTRS{gpvndctl}=="GPVNDCTL = 0x00000000" ATTRS{ggpio}=="GGPIO = 0x00000000" ATTRS{hprt0}=="HPRT0 = 0x00001005" ATTRS{wr_reg_test}=="Time to write GNPTXFSIZ reg 10000000 times: 360 msecs (36 jiffies)" ATTRS{driver_override}=="(null)" ATTRS{hcd_frrem}=="HCD Dump Frame Remaining" ATTRS{mode_ch_tim_en}=="Mode Change Ready Timer Enable = 0x0" ATTRS{gnptxfsiz}=="GNPTXFSIZ = 0x01000306" ATTRS{remote_wakeup}=="Remote Wakeup Sig = 0 Enabled = 0 LPM Remote Wakeup = 0" ATTRS{busconnected}=="Bus Connected = 0x1" ATTRS{hcddump}=="HCD Dump" ATTRS{gotgctl}=="GOTGCTL = 0x001c0001" ATTRS{spramdump}=="SPRAM Dump" ATTRS{grxfsiz}=="GRXFSIZ = 0x00000306" ATTRS{gsnpsid}=="GSNPSID = 0x4f54280a" ATTRS{gusbcfg}=="GUSBCFG = 0x20001700" ATTRS{hptxfsiz}=="HPTXFSIZ = 0x02000406" ATTRS{devspeed}=="Device Speed = 0x0" ATTRS{fr_interval}=="Frame Interval = 0x1d4c" ATTRS{rem_wakeup_pwrdn}=="" ATTRS{bussuspend}=="Bus Suspend = 0x0" ATTRS{buspower}=="Bus Power = 0x1" ATTRS{hnpcapable}=="HNPCapable = 0x1" ATTRS{rd_reg_test}=="Time to read GNPTXFSIZ reg 10000000 times: 920 msecs (92 jiffies)" ATTRS{enumspeed}=="Device Enumeration Speed = 0x1" ATTRS{inv_sel_hsic}=="Invert Select HSIC = 0x0" ATTRS{regoffset}=="0xffffffff" looking at parent device '/devices/platform/soc': KERNELS=="soc" SUBSYSTEMS=="platform" DRIVERS=="" ATTRS{driver_override}=="(null)" looking at parent device '/devices/platform': KERNELS=="platform" SUBSYSTEMS=="" DRIVERS==""
Nick (121 rep)
Feb 18, 2017, 02:11 PM • Last activity: Jul 27, 2025, 06:03 PM
0 votes
0 answers
21 views
Linux and diy connection to DAC
I’ve wanted to connect a raspberry pi to a DAC for a while. I just bought a fosi k5 DAC which has USB, optical and coax inputs. But what’s the protocol that USB would stream the data in? How do you just start sending data down a USB? I imagine pulsing the gpio pins is probably not that difficult, bu...
I’ve wanted to connect a raspberry pi to a DAC for a while. I just bought a fosi k5 DAC which has USB, optical and coax inputs. But what’s the protocol that USB would stream the data in? How do you just start sending data down a USB? I imagine pulsing the gpio pins is probably not that difficult, but I’d rather just USB.
1toneboy (465 rep)
Jul 26, 2025, 03:55 AM • Last activity: Jul 26, 2025, 12:11 PM
0 votes
0 answers
16 views
How to config uboot loglevel to get debug logs on boot
The problem is while booting up rasbberry pi with uboot as boot loader not able to decrypt encrypted rootfs partition with initramfs,to debug and analyse what happening want to enable uboot debug logs. When checked with current loglevel in Kconfig it show default i.e. CONFIG_LOGLEVEL=4 these are boo...
The problem is while booting up rasbberry pi with uboot as boot loader not able to decrypt encrypted rootfs partition with initramfs,to debug and analyse what happening want to enable uboot debug logs. When checked with current loglevel in Kconfig it show default i.e. CONFIG_LOGLEVEL=4 these are boot logs : U-Boot 2024.04 (Apr 02 2024 - 10:58:58 +0000) DRAM: 948 MiB (effective 7.9 GiB) RPI 4 Model B (0xd03114) Core: 213 devices, 16 uclasses, devicetree: board MMC: mmcnr@7e300000: 1, mmc@7e340000: 0 Loading Environment from MMC... *** Warning - bad CRC, using default environment In: serial,usbkbd Out: serial,vidconsole Err: serial,vidconsole Net: eth0: ethernet@7d580000 PCIe BRCM: link up, 5.0 Gbps x1 (SSC) starting USB... Bus xhci_pci: Register 5000420 NbrPorts 5 Starting the controller USB XHCI 1.00 scanning bus xhci_pci for devices... 2 USB Device(s) found scanning usb for storage devices... 0 Storage Device(s) found Hit any key to stop autoboot: 0 Card did not respond to voltage select! : -110 ethernet@7d580000 Waiting for PHY auto negotiation to complete......... TIMEOUT! bcmgenet: PHY startup failed: -110 ethernet@7d580000 Waiting for PHY auto negotiation to complete......... TIMEOUT! bcmgenet: PHY startup failed: -110 U-Boot> updated the common/Kconfig default to 7 still cannot see any change in the logs kconfig snippet: config LOGLEVEL int "loglevel" default 7 range 0 10 help All Messages with a loglevel smaller than the console loglevel will be compiled in. The loglevels are defined as follows: 0 - emergency 1 - alert 2 - critical 3 - error 4 - warning 5 - note 6 - info 7 - debug 8 - debug content 9 - debug hardware I/O don't know if im able to config it correctly or are there other config parameters need to configure and which are those please let me know if any one has done this before.
URegal (1 rep)
Jul 26, 2025, 07:58 AM
2 votes
1 answers
2500 views
USB Drive sometimes changes the Drive name
I have two USB Drives. I created partitions and formatted them to ext4. Running `fdisk -l` shows that I have /dev/sda1 and /dev/sdb1 Device Boot Start End Sectors Size Id Type /dev/sda1 /dev/sdb1 Then I mounted both on boot by running `sudo nano /etc/fstab` I use Samba to access them from the differ...
I have two USB Drives. I created partitions and formatted them to ext4. Running fdisk -l shows that I have /dev/sda1 and /dev/sdb1 Device Boot Start End Sectors Size Id Type /dev/sda1 /dev/sdb1 Then I mounted both on boot by running sudo nano /etc/fstab I use Samba to access them from the different computer and most of the time it is working fine, but sometime I can't access the files via samba and running fdisk -l shows the the device for my drives changed to for example /dev/sdc1. Sometimes it changes only per one drive and sometimes it changes both. I have no idea why this is happening. Any help is much appreciated.
Greg (123 rep)
May 2, 2022, 07:35 AM • Last activity: Jul 22, 2025, 02:06 PM
0 votes
1 answers
2188 views
lighttpd reverse proxy
I have two raspberry pi servers running. These were set up with DietPi. The one server is used as a NextCloud server. The other (new) server is running weewx. Both use lighttpd as the webserver. Each operates under a different domain my.domain.com and my.otherdomain.com. My router has a single IP ad...
I have two raspberry pi servers running. These were set up with DietPi. The one server is used as a NextCloud server. The other (new) server is running weewx. Both use lighttpd as the webserver. Each operates under a different domain my.domain.com and my.otherdomain.com. My router has a single IP address and I use port forwarding to access both servers. The NextCloud server (my.domain.com) has SSL enabled using dietpi-letsencrypt. I cannot run certbot on my.otherdomain.com because I only have one public IP address. I enabled mod-proxy on my Nextcloud machine (my.domain.com) and it forwards requests to my.otherdomain.com to the weewx machine. I disabled port forwarding on the router to the weewx machine. However, dietpi-letsencrypt cannot generate a SSL certificate for the weewx machine - the challenges fail. I tried to run certbot on both machines. Here is the attempt for my Nextcloud machine (used as my proxy server):
Do you want to expand and replace this existing certificate with the new
certificate?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(E)xpand/(C)ancel: E 
Renewing an existing certificate for my.domain.com and my.otherdomain.com
Performing the following challenges:
http-01 challenge for aws.andrewterhorst.com
Using the webroot path /var/www for all unmatched domains.
Waiting for verification...
Challenge failed for domain my.otherdomain.com
http-01 challenge for my.otherdomain.com
Cleaning up challenges
Some challenges have failed.

IMPORTANT NOTES:
 - The following errors were reported by the server:

   Domain: my.otherdomain.com
   Type:   unauthorized
   Detail: Invalid response from
   http://my.otherdomain.com/.well-known/acme-challenge/p16SmhyufIGQ75fnhWQ4zxf49TCLfnX4SoWRmBqAHBg 

server.feature-flags       += ("server.h2c"     => "enable")
server.feature-flags       += ("server.graceful-shutdown-timeout" => 5)
#server.feature-flags       += ("server.graceful-restart-bg" => "enable")

# strict parsing and normalization of URL for consistency and security
# https://redmine.lighttpd.net/projects/lighttpd/wiki/Server_http-parseoptsDetails 
# (might need to explicitly set "url-path-2f-decode" = "disable"
#  if a specific application is encoding URLs inside url-path)
server.http-parseopts = (
  "header-strict"           => "enable",# default
  "host-strict"             => "enable",# default
  "host-normalize"          => "enable",# default
  "url-normalize-unreserved"=> "enable",# recommended highly
  "url-normalize-required"  => "enable",# recommended
  "url-ctrls-reject"        => "enable",# recommended
  "url-path-2f-decode"      => "enable",# recommended highly (unless breaks app)
 #"url-path-2f-reject"      => "enable",
  "url-path-dotseg-remove"  => "enable",# recommended highly (unless breaks app)
 #"url-path-dotseg-reject"  => "enable",
 #"url-query-20-plus"       => "enable",# consistency in query string
)

index-file.names            = ( "index.php", "index.html" )
url.access-deny             = ( "~", ".inc" )
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )

# default listening port for IPv6 falls back to the IPv4 port
include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port
include_shell "/usr/share/lighttpd/create-mime.conf.pl"
include "/etc/lighttpd/conf-enabled/*.conf"

#server.compat-module-load   = "disable"
server.modules += (
	"mod_dirlisting",
	"mod_staticfile",
)


# proxy settings
$HTTP["host"]=~ "my.otherdomain.com"  {
        proxy.balance = "fair"
        proxy.server =  ("" =>
                                (
                                        ( "host" => "192.168.0.261", "port" => 80 ),
                                        ( "host" => "192.168.0.261", "port" => 443 )
                                ))
                        }
Technically, the proxy settings should be in 10-proxy.conf. I need to run this command:
lighty-enable-mod proxy
This creates a symbolic link in /etc/lighttpd/conf-enabled to 10-proxy.conf in /etc/lighttpd/conf-available. I read I could simply add proxy settings in lighttpd.conf - it was not necessary to use 10-proxy.conf. The current set-up means incoming traffic to my.otherdomain.com ends up on the second weewx machine. However, certbot needs to communicate out. I am confused about where I should run certbot - from my weewx machine or from my NextCloud machine? I am not a Linux boffin and need some guidance on how to set up lighttpd to do forward and reverse proxies so my weewx machine can be secure. Most of the posts touching on this refer to Apache, nginx, or some specific web application setup. The syntax of the lighttpd conf settings is rather confusing using regex like notation. For example:
$HTTP['host'] =~ '^(www.example.com)$' {
        url.rewrite-once = ('^/(.*)' => '/vhost/http/%0/$1')
        # In lighttpd we alter the path manually using rewrite rule. %0
        # refers to the hostname and $1 is the path.
        proxy.server = ( '' =>
                ( (
                'host' => '127.0.0.1',
                'port' => 8080
                ) )
        )
}
There is no step by step tutorial in plain simple English for simpletons such as me.
aterhorst (101 rep)
Sep 11, 2021, 11:26 AM • Last activity: Jul 22, 2025, 01:05 PM
0 votes
0 answers
33 views
How to Revert to Kernel 6.1.63 and Compile xtrx-dkms on Raspberry Pi 4 (Bookworm) After apt upgrade?
I am a cybersecurity student with what is seeming like at this point some lofty goals. I’m building an RF detector/locator on a Raspberry Pi 4 (8GB) with a SanDisk 32GB microSD card running Raspberry Pi OS Bookworm (64-bit, Desktop), using XTRX (SDR) and other components. **Problem:** After running...
I am a cybersecurity student with what is seeming like at this point some lofty goals. I’m building an RF detector/locator on a Raspberry Pi 4 (8GB) with a SanDisk 32GB microSD card running Raspberry Pi OS Bookworm (64-bit, Desktop), using XTRX (SDR) and other components. **Problem:** After running sudo apt update and sudo apt upgrade, my kernel is 6.12.34+rpt-v8 (uname -r), and xtrx-dkms (0.0.1+git20190320.5ae3a3e-3.2) fails to compile. **What I Did:**
sudo apt update
sudo apt upgrade
sudo apt install xtrx-dkms
**Error (from /var/lib/dkms/xtrx/*/build/make.log):**
error: ‘vm_flags’ undeclared
error: ‘uart_state’ has no member named ‘xmit’
error: ‘class_create’ undeclared
**Output:**
$ uname -r
6.12.34+rpt-v8
$ dpkg --print-architecture
arm64
**What I Expected:** apt upgrade to maintain a compatible kernel (e.g., 6.1.x), and xtrx-dkms to compile and load (lsmod | grep xtrx). **Actual Behavior:** apt upgrade updated to 6.12.34+rpt-v8, causing xtrx-dkms compilation to fail with: E: Sub-process /usr/bin/dpkg returned an error code (1) **Goal:** Revert to kernel 6.1.63-rpi-v8, pin it, and compile xtrx-dkms (possibly using [https://github.com/myriadrf/xtrx_linux_pcie_drv](https://github.com/myriadrf/xtrx_linux_pcie_drv) patch). **Question:** How do I revert to kernel 6.1.63-rpi-v8, pin it, and compile xtrx-dkms on Raspberry Pi OS Bookworm? Is the GitHub patch sufficient? **Planned Steps:**
sudo apt install linux-image-rpi-v8=1:6.1.63-1+rpt1 linux-headers-rpi-v8=1:6.1.63-1+rpt1
sudo nano /boot/firmware/config.txt
**Add:**
[all]
kernel=vmlinuz-6.1.63-rpi8-rpi-v8
initramfs initrd.img-6.1.63-rpi8-rpi-v8 followkernel
auto_initramfs=1
sudo apt-mark hold linux-image-rpi-v8 linux-headers-rpi-v8
sudo reboot
Any help would be appreciated! Thanks!
MendoBud (1 rep)
Jul 18, 2025, 08:25 PM • Last activity: Jul 19, 2025, 07:06 AM
0 votes
1 answers
1986 views
socat - multiple connection attempts fail to pass through serial
I'm using socat to route serial input over a network to allow me to control an Arduino device over a virtual COM port setup. My command to start socat is: socat /dev/serial0,b500000,raw,echo=0 TCP-LISTEN:9876,nodelay,fork& This works the first time a device connects to the :9876 port perfectly fine....
I'm using socat to route serial input over a network to allow me to control an Arduino device over a virtual COM port setup. My command to start socat is: socat /dev/serial0,b500000,raw,echo=0 TCP-LISTEN:9876,nodelay,fork& This works the first time a device connects to the :9876 port perfectly fine. However, if the connection is dropped from the other end (which is using com2tcp on Windows), any further connections will send serial up the network to the RasPi hosting socat and out the serial device, but data will not be received in from /dev/serial0. I have to kill the original socat process, wait for the port to be released, and then re-run socat. Given the RasPi operates headless, this is an annoyance I'd rather avoid. Is there any way to allow multiple, non-simultaneous connections to work in this manner? I'm assuming there's some sort of setting to put in after the echo=0, but I can't figure out which one. (Further notes: the 500000 baud rate is required, as this is the rate required for the software I'm using, called GIMX. The purpose of this setup is to allow me to connect to a game console with devices in another room, using the remote play functionality to play the game. I have this command set in /etc/rc.local to start socat on boot, as the RasPi is also used as a media player using Volumio; this is simply running in the background.) ---------------------------------------------------- EDIT: I ended up abandoning the socat/com2tcp route, and implementing an RFC2247-compliant connection. This meant that I didn't have to worry about manually setting the baud rate as necessary, and seems to work in a more stable manner to boot. I based it on the information from https://robosavvy.com/forum/viewtopic.php?t=7578 which basically gives a full overview of setting it up. Although a couple of the links are dead, it has the information needed to get a connection going. I believe the command I was looking for was "end-close", however I did not test this before having committed to the new setup.
DragRedSim (1 rep)
Jan 9, 2020, 05:43 AM • Last activity: Jul 16, 2025, 01:07 PM
0 votes
1 answers
2834 views
Can’t see files on an USB stick attached to a Raspberry PI 2
I have formated an USB stick from my Raspberry in `VFAT` and use it with Syncthing which works fine (dropping files from Windows 10, store them on the stick and access them on an Android Tablet). But when on my RPI and trying to store files from it to the USB stick, I don’t see any file or directory...
I have formated an USB stick from my Raspberry in VFAT and use it with Syncthing which works fine (dropping files from Windows 10, store them on the stick and access them on an Android Tablet). But when on my RPI and trying to store files from it to the USB stick, I don’t see any file or directory. Just prints System Volume Information. What have I done wrong?
Roland (11 rep)
Jul 24, 2016, 01:25 PM • Last activity: Jul 16, 2025, 09:04 AM
1 votes
1 answers
5902 views
ssh_exchange_identification: read: Connection timed out
I connecting into a Raspberry PI using ssh from my windows machine and getting the following message : PS C:\Users\user> ssh pi@172.16.20.100 -vvv OpenSSH_for_Windows_7.7p1, LibreSSL 2.6.5 debug1: Reading configuration data C:\\Users\\user/.ssh/config debug1: Reading configuration data __PROGRAMDATA...
I connecting into a Raspberry PI using ssh from my windows machine and getting the following message : PS C:\Users\user> ssh pi@172.16.20.100 -vvv OpenSSH_for_Windows_7.7p1, LibreSSL 2.6.5 debug1: Reading configuration data C:\\Users\\user/.ssh/config debug1: Reading configuration data __PROGRAMDATA__\\ssh/ssh_config debug2: resolve_canonicalize: hostname 172.16.20.100 is address debug2: ssh_connect_direct: needpriv 0 debug1: Connecting to 172.16.20.100 [172.16.20.100] port 22. debug1: Connection established. debug1: identity file C:\\Users\\user/.ssh/id_rsa type 0 debug3: Failed to open file:C:/Users/user/.ssh/id_rsa-cert error:2 debug3: Failed to open file:C:/Users/user/.ssh/id_rsa-cert.pub error:2 debug1: key_load_public: No such file or directory debug1: identity file C:\\Users\\user/.ssh/id_rsa-cert type -1 debug3: Failed to open file:C:/Users/user/.ssh/id_dsa error:2 debug3: Failed to open file:C:/Users/user/.ssh/id_dsa.pub error:2 debug1: key_load_public: No such file or directory debug1: identity file C:\\Users\\user/.ssh/id_dsa type -1 debug3: Failed to open file:C:/Users/user/.ssh/id_dsa-cert error:2 debug3: Failed to open file:C:/Users/user/.ssh/id_dsa-cert.pub error:2 debug1: key_load_public: No such file or directory debug1: identity file C:\\Users\\user/.ssh/id_dsa-cert type -1 debug3: Failed to open file:C:/Users/user/.ssh/id_ecdsa error:2 debug3: Failed to open file:C:/Users/user/.ssh/id_ecdsa.pub error:2 debug1: key_load_public: No such file or directory debug1: identity file C:\\Users\\user/.ssh/id_ecdsa type -1 debug3: Failed to open file:C:/Users/user/.ssh/id_ecdsa-cert error:2 debug3: Failed to open file:C:/Users/user/.ssh/id_ecdsa-cert.pub error:2 debug1: key_load_public: No such file or directory debug1: identity file C:\\Users\\user/.ssh/id_ecdsa-cert type -1 debug3: Failed to open file:C:/Users/user/.ssh/id_ed25519 error:2 debug3: Failed to open file:C:/Users/user/.ssh/id_ed25519.pub error:2 debug1: key_load_public: No such file or directory debug1: identity file C:\\Users\\user/.ssh/id_ed25519 type -1 debug3: Failed to open file:C:/Users/user/.ssh/id_ed25519-cert error:2 debug3: Failed to open file:C:/Users/user/.ssh/id_ed25519-cert.pub error:2 debug1: key_load_public: No such file or directory debug1: identity file C:\\Users\\user/.ssh/id_ed25519-cert type -1 debug3: Failed to open file:C:/Users/user/.ssh/id_xmss error:2 debug3: Failed to open file:C:/Users/user/.ssh/id_xmss.pub error:2 debug1: key_load_public: No such file or directory debug1: identity file C:\\Users\\user/.ssh/id_xmss type -1 debug3: Failed to open file:C:/Users/user/.ssh/id_xmss-cert error:2 debug3: Failed to open file:C:/Users/user/.ssh/id_xmss-cert.pub error:2 debug1: key_load_public: No such file or directory debug1: identity file C:\\Users\\user/.ssh/id_xmss-cert type -1 debug1: Local version string SSH-2.0-OpenSSH_for_Windows_7.7 debug3: recv - from CB(2) ERROR:138, io:000001A90E8E96E0 ssh_exchange_identification: read: Connection timed out On the raspberry pi (server side) I type: sudo /usr/sbin/sshd -d debug1: sshd version OpenSSH_7.9, OpenSSL 1.1.1d 10 Sep 2019 debug1: private host key #0: ssh-rsa SHA256:aXZ4Le7wCYPTbrCbVJ0rFrIlTcXKAllLJ9BgFgtwDEA debug1: private host key #1: ecdsa-sha2-nistp256 SHA256:LCjd0igPxbcFfN+9wK7m2C4SykVPK7scQxrUnwYJyDQ debug1: private host key #2: ssh-ed25519 SHA256:C+fhR3x/Vj7W4VY5ZeQhFoSJkhGWAkdgK2baFJ0IJcM debug1: rexec_argv='/usr/sbin/sshd' debug1: rexec_argv='-d' debug1: Set /proc/self/oom_score_adj from 0 to -1000 debug1: Bind to port 22 on 0.0.0.0. Bind to port 22 on 0.0.0.0 failed: Address already in use. debug1: Bind to port 22 on ::. Bind to port 22 on :: failed: Address already in use. Cannot bind any address. how do i get connected?
resolver101 (641 rep)
May 25, 2021, 12:59 PM • Last activity: Jul 15, 2025, 02:04 PM
0 votes
0 answers
29 views
How to add init script with decrpt LUKS Logic in Initramfs without disturbing poky source?
Here is quick description what im trying to achieve, building this mender yocto image for raspberry pi want to encrypt the root partition, while secure boot, need to add the init script which can decrypt the LUKS encrypted rootfs partition. Poky layer already has core-image-minimal-initramfs which c...
Here is quick description what im trying to achieve, building this mender yocto image for raspberry pi want to encrypt the root partition, while secure boot, need to add the init script which can decrypt the LUKS encrypted rootfs partition. Poky layer already has core-image-minimal-initramfs which can be bundled in linux kernel, the problem is im not able to add the init script from custom layer, have no idea how to achieve it This is the poky layer content core-image-minimal-initramfs.bb # Simple initramfs image. Mostly used for live images. SUMMARY = "Small image capable of booting a device." DESCRIPTION = "Small image capable of booting a device. The kernel includes \ the Minimal RAM-based Initial Root Filesystem (initramfs), which finds the \ first 'init' program more efficiently." INITRAMFS_SCRIPTS ?= "\ initramfs-framework-base \ initramfs-module-setup-live \ initramfs-module-udev \ initramfs-module-install \ initramfs-module-install-efi \ " PACKAGE_INSTALL = "${INITRAMFS_SCRIPTS} ${VIRTUAL-RUNTIME_base-utils} udev base-passwd ${ROOTFS_BOOTSTRAP_INSTALL}" # Do not pollute the initrd image with rootfs features IMAGE_FEATURES = "" # Don't allow the initramfs to contain a kernel PACKAGE_EXCLUDE = "kernel-image-*" IMAGE_NAME_SUFFIX ?= "" IMAGE_LINGUAS = "" LICENSE = "MIT" IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}" inherit core-image IMAGE_ROOTFS_SIZE = "8192" IMAGE_ROOTFS_EXTRA_SPACE = "0" # Use the same restriction as initramfs-module-install COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*|loongarch64.*)-(linux.*|freebsd.*)' the is meta-mender/meta-mender-core/recipe-core tree, ihave added this core-image-minimal-initramfs.bbappend and initLUKSdecrpyt.sh /meta-mender/meta-mender-core/recipes-core$ tree . ├── initrdscripts │   ├── core-image-minimal-initramfs.bbappend │   ├── files │   │   ├── init-install-efi-mender.sh │   │   └── initLUKSdecrypt.sh │   ├── initramfs-module-install_%.bbappend │   ├── initramfs-module-install-efi_%.bbappend │   └── initramfs-module-install.inc 8 directories, 12 files this is code in core-image-minimal-initramfs.bbappend file,here the do_install is not getting called. FILESEXTRAPATHS:prepend := "${THISDIR}/files:" SRC_URI += "file://initLUKSdecrypt.sh" PACKAGE_INSTALL += "cryptsetup" do_install:append:mender-uboot(){ bbwarn "WorkDIR=${WORKDIR} Destination=${D}" install -m 0755 ${WORKDIR}/initLUKSdecrypt.sh ${D}/init.d/initLUKSdecrypt.sh } So add the code in initramfs-module-install_%.bbappend, the do_install gets called but while final pacakging gets error. require initramfs-module-install.inc do_install:append:mender-efi-boot() { install -m 0755 ${WORKDIR}/init-install-efi-mender-altered.sh ${D}/init.d/install.sh } FILESEXTRAPATHS:prepend := "${THISDIR}/files:" SRC_URI := " file://initLUKSdecrypt.sh " do_install() { bbwarn "WorkDIR=${WORKDIR} Destination=${D}" install -m 0755 ${WORKDIR}/initLUKSdecrypt.sh ${D}/../package/init.d/ } Error logs: ERROR: Task (/home/john/meta-mender-community/yocto-raspberrypi4/build/../../kas/demos/meta-mender-raspberrypi-wifi/recipes-raspberrypi/images/core-image-raspberrypi-wifi.bb:do_image_bootimg) failed with exit code '1' ERROR: core-image-minimal-initramfs-1.0-r0 do_rootfs: Unable to install packages. Command '/home/john/meta-mender-community/yocto-raspberrypi4/build/tmp/work/raspberrypi4_64-poky-linux/core-image-minimal-initramfs/1.0/recipe-sysroot-native/usr/bin/opkg --volatile-cache -f /home/john/meta-mender-community/yocto-raspberrypi4/build/tmp/work/raspberrypi4_64-poky-linux/core-image-minimal-initramfs/1.0/opkg.conf -t /home/john/meta-mender-community/yocto-raspberrypi4/build/tmp/work/raspberrypi4_64-poky-linux/core-image-minimal-initramfs/1.0/temp/ipktemp/ -o /home/john/meta-mender-community/yocto-raspberrypi4/build/tmp/work/raspberrypi4_64-poky-linux/core-image-minimal-initramfs/1.0/rootfs --force_postinstall --prefer-arch-to-version --add-exclude kernel-image-* --add-exclude kernel-image-* install base-passwd busybox cryptsetup initramfs-framework-base initramfs-module-install initramfs-module-install-efi initramfs-module-setup-live initramfs-module-udev run-postinsts udev' returned 255: * opkg_solver_install: No candidates to install initramfs-module-install (null)! ERROR: Logfile of failure stored in: /home/john/meta-mender-community/yocto-raspberrypi4/build/tmp/work/raspberrypi4_64-poky-linux/core-image-minimal-initramfs/1.0/temp/log.do_rootfs.10642 ERROR: Task (/home/john/meta-mender-community/yocto-raspberrypi4/build/../poky/meta/recipes-core/images/core-image-minimal-initramfs.bb:do_rootfs) failed with exit code '1' don't know what im missing.
URegal (1 rep)
Jul 15, 2025, 12:40 PM
1 votes
1 answers
42 views
Whenever audio is playing, I'd like to close a relay powering a speaker. Where and how can I attach a hook to do that?
I'd like to run 32-bit Raspberry Pi OS Bullseye on a Raspberry Pi 2B system headless, with it receiving audio from various sources (e.g. S/PDIF input from TV, through acting as a Bluetooth speaker, or via running Spotify), apply some filters and EQ (using PulseEffects for example), and output balanc...
I'd like to run 32-bit Raspberry Pi OS Bullseye on a Raspberry Pi 2B system headless, with it receiving audio from various sources (e.g. S/PDIF input from TV, through acting as a Bluetooth speaker, or via running Spotify), apply some filters and EQ (using PulseEffects for example), and output balanced audio to the XLR inputs of mains-powered studio monitors (using a Raspberry Pi DAC Pro for example). Hardware selection and software configuration for this is relatively straightforward. The speakers constantly draw a few watts from the mains, even when idle. It would be nice if I could automate switching power to them on or off depending on whether there's an audible signal being played or not. I could easily build an analog level detection circuit for the task, but I wonder if it's possible to achieve the same in software. I've looked into ALSA documentation (https://www.alsa-project.org/alsa-doc/alsa-lib/) for a few hours, but I'm in over my head. Searching for similar questions from the past revealed two old yet relevant threads, but unfortunately they lack a satisfactory answer. On this site: https://unix.stackexchange.com/questions/203963/detect-when-audio-card-is-powered-using-alsa On the Raspberry Pi forums: [Audio Activation Switch](https://forums.raspberrypi.com/viewtopic.php?t=57808)
jms (113 rep)
Jul 13, 2025, 09:01 PM • Last activity: Jul 14, 2025, 12:13 PM
1 votes
1 answers
3551 views
How to automatically run mkinitramfs on Debian after apt update for kernel packages?
What I am trying to achieve is to have an encrypted root file system on a Raspberry Pi (running Raspian Buster) that gets unlocked at boot via ssh. I got quite far by adapting [a tutorial for Kali linux][1] and got it working at least once, but it does not survive kernel updates yet. One of the prob...
What I am trying to achieve is to have an encrypted root file system on a Raspberry Pi (running Raspian Buster) that gets unlocked at boot via ssh. I got quite far by adapting a tutorial for Kali linux and got it working at least once, but it does not survive kernel updates yet. One of the problems is, that this setup is using an initramfs that is referenced in /boot/config.txt by
initramfs initramfs.gz followkernel
and that needs to be updated after an kernel update by manually calling e.g.
mkinitramfs -o /boot/initramfs.gz 4.19.118-v7+
where 4.19.118-v7+ depends on the current kernel version and the kind of Raspberry Pi hardware that is used. Of course, I want to have this automatically done whenever apt upgrade installs a new kernel. This is where I got stuck with 2 problems: - A) Where and how do I plug in that update process in a proper way? - B) How do I determine the correct kernel version to use? Regarding A) I came as far as learning that raspberrypi-kernel.postinst executes /etc/kernel/postinst.d/. This again calls /usr/sbin/update-initramfs which in the end will call mkinitramfs. Where I got confused was this code in /usr/sbin/update-initramfs:
set_initramfs()
{
        initramfs="${BOOTDIR}/initrd.img-${version}"
}
It determines the filename for the initramfs. No such file got ever generated during the update and I'm not sure if I am on the right track, as wikipedia says that the init.rd scheme was superseded by the initramfs scheme. However, I was not able to find a good documentation that describes how things are supposed to happen after a kernel module upgrade. (Good links appreciated). So my question is: Where is a good place to plug in a script that runs the mkinitramfs command? Should I modify /etc/kernel/postinst.d/? Will this solution be stable over the next few Debian versions? Regarding B), it is easy to get available kernel versions with
> ls -l /lib/modules/ | awk -F" " '{print $9}'`

5.4.51+
5.4.51-v7+
5.4.51-v7l+
5.4.51-v8+
But how do I automatically select the right one for the current hardware? For a Pi3B+ this would be 5.4.51-v7+. Is there a way to determine this automatically? Thank you very much for your help!
Alexander Lorz (11 rep)
Aug 14, 2020, 08:29 PM • Last activity: Jul 12, 2025, 05:03 PM
0 votes
2 answers
1907 views
How do I clean up packages that have been purged that are still showing up on "apt get update" command?
I am still learning linux and have been running into a slight issue with my Raspbian OS system. I have uninstalled software like docker and vs code to clear up memory for my OMV NAS; however, they still show up when I run apt-get update. To be clear, everything is functioning properly. I have alread...
I am still learning linux and have been running into a slight issue with my Raspbian OS system. I have uninstalled software like docker and vs code to clear up memory for my OMV NAS; however, they still show up when I run apt-get update. To be clear, everything is functioning properly. I have already tried the following commands: apt-get clean, apt-get autoremove, and reboot. I would like to clean up this part if at all possible. Cheers! enter image description here
Brent (1 rep)
Feb 24, 2021, 05:45 PM • Last activity: Jul 7, 2025, 02:03 PM
1 votes
2 answers
75 views
Why does /proc/vmallocinfo show userspace-like addreses?
I expected to see a list of address ranges starting with `0xffff...`, but `/proc/vmallocinfo` gives some crazy unpadded values. I'm cooking Mali GPU drivers for OrangePi Zero 2W, and was wondering why the driver can't `ioremap` the GPU register. Are these values correct? What does it mean to the ker...
I expected to see a list of address ranges starting with 0xffff..., but /proc/vmallocinfo gives some crazy unpadded values. I'm cooking Mali GPU drivers for OrangePi Zero 2W, and was wondering why the driver can't ioremap the GPU register. Are these values correct? What does it mean to the kernel config?
root@raspberrypi:/home/pi/Downloads/driver/product/kernel/drivers/gpu/arm/midgard# cat /proc/vmallocinfo |grep ioremap
0x0000000055eaf8a7-0x00000000680cafe7    8192 of_iomap+0x64/0xb8 phys=0x0000000003021000 ioremap
0x0000000093fa4f7c-0x00000000214cd459   12288 of_iomap+0x64/0xb8 phys=0x0000000003022000 ioremap
0x000000008eec5156-0x00000000c43cb5a6    8192 __devm_ioremap+0xb8/0x138 phys=0x0000000007010000 ioremap
0x00000000174c6b4f-0x000000009417e241    8192 __devm_ioremap+0xb8/0x138 phys=0x0000000003001000 ioremap
0x00000000fca5d78c-0x00000000d225ad14    8192 __devm_ioremap+0xb8/0x138 phys=0x0000000003002000 ioremap
0x00000000fea45371-0x00000000241ac42c    8192 __devm_ioremap+0xb8/0x138 phys=0x0000000003000000 ioremap
0x00000000f804cc7a-0x0000000020504d6e    8192 __devm_ioremap+0xb8/0x138 phys=0x0000000007000000 ioremap
0x00000000e57e5643-0x000000006a214d35    8192 __devm_ioremap+0xb8/0x138 phys=0x0000000007081000 ioremap
0x000000000f5b5f9e-0x00000000f80492c0    8192 __devm_ioremap+0xb8/0x138 phys=0x0000000003009000 ioremap
0x000000008c82c7bc-0x00000000c0c6ed56    8192 __devm_ioremap+0xb8/0x138 phys=0x0000000003006000 ioremap
0x00000000242d3c9a-0x00000000fc05ac58    8192 __devm_ioremap+0xb8/0x138 phys=0x0000000005096000 ioremap
0x0000000043081299-0x00000000bff3c2ad    8192 of_iomap+0x64/0xb8 phys=0x000000000300a000 ioremap
0x000000009dbe0019-0x00000000e27ad0b1    8192 __devm_ioremap+0xb8/0x138 phys=0x0000000001008000 ioremap
0x0000000050c3c171-0x00000000bcb5b6d7    8192 __devm_ioremap+0xb8/0x138 phys=0x0000000005100000 ioremap
0x000000007e5c4b8e-0x00000000c1db3d7c    8192 __devm_ioremap+0xb8/0x138 phys=0x0000000005101000 ioremap
0x000000003cb701c7-0x00000000955c3e4b    8192 __devm_ioremap+0xb8/0x138 phys=0x0000000005200000 ioremap
...
Also this from dmesg:
[    0.000000] Machine model: OrangePi Zero2 W
[    0.000000] NUMA: No NUMA configuration found
[    0.000000] NUMA: Faking a node at [mem 0x0000000040000000-0x000000013fffffff]
[    0.000000] NUMA: NODE_DATA [mem 0x13f7bf040-0x13f7c0fff]
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000040000000-0x00000000ffffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   [mem 0x0000000100000000-0x000000013fffffff]
[    0.000000] Movable zone start for each node
user758485 (23 rep)
Jul 4, 2025, 09:54 PM • Last activity: Jul 5, 2025, 04:51 PM
1 votes
1 answers
3553 views
Raspberry 4 stuck in initramfs
im new on this site so i hope im not making myself look super stupid (beside the fact that my english isnt that best) I got myself a Raspberry Pi 4B with an 64GB SDCard of Sandisk Ultra. Installed on it is an Ubuntu server 20.04 ARM Version. It usually runs 24/7 in my local network for research and...
im new on this site so i hope im not making myself look super stupid (beside the fact that my english isnt that best) I got myself a Raspberry Pi 4B with an 64GB SDCard of Sandisk Ultra. Installed on it is an Ubuntu server 20.04 ARM Version. It usually runs 24/7 in my local network for research and bit of education. What happen: After installing an Update with "Sudo apt update", "sudo apt upgrade" and finishing it with "reboot", i got stuck into initramfs. **The only message shown is:**
ext4
Thu Jan 1 00:00:06 UTC 1970
writable:recovering journal
writable: superblock need_recovery flas is clear, but journal has data.
writable: Run journal anyway

writable: UNEXPECRED INCONSISTENCY; RUN fsck MANUALLY.
          (i.e., without -a or -p options) 
fsck exited with status code 4
The root filesystem on /dev/mmcblk0p2 requieres a manual fsck


BusyBox v1.30.1 (Ubuntu 1:1.30.1-6ubuntu2) built in shell (ahs)
Enter 'help'for a list of built-in commands.


(initramfs)_
**I did what it says to me and tried to run it manually with the command:**
(initramfs) fsck /dev/mmcblk0p2
fsck from util-linux 2.36.1
e2fsck 1.45.7 (28-Jan-2021)
writable: recovering journal
Superblock needs_recovery flag is clear, but journal has data.
Run journal anyway? yes
fsck.ext4: unable to set superblock flags on writable

writable: ********** WARNING: Filesystem still has errors **********

(initramfs) _
After some research i found out it were problably the sd card soo i tried to reeinstall the ubuntu server on it again. But the sd card doesnt get wiped. not wiped in windows neither Linux. The files inside are set into read only, but trying to wipe it with sudo on an other device doesnt affect it in anyway. Trying to delete anything or make it writable on the initramfs gives me a "Permission Denied". because all my data is already save i would like to wipe it. But im still curios why this happens because i had it twice. in the first time it got fixed easy by just reeinstalling. And this is the second time. I hope some of u got any idea to fix it. I googled my way down and up, but didnt find anything.
sefikkaan (11 rep)
Sep 1, 2021, 08:46 PM • Last activity: Jul 3, 2025, 05:04 AM
0 votes
2 answers
2777 views
Access windows symbolic link from linux cifs
I have created symbolic link of the mapped drive (DOS share) on Windows 7 computer 200.90.12.25. The symbolic link was created using mklink command. Trying to access this from Linux (Raspberry PI) using CIFS command, I get `mount error(5): Input/output error`. CIFS command and dmesg attached below....
I have created symbolic link of the mapped drive (DOS share) on Windows 7 computer 200.90.12.25. The symbolic link was created using mklink command. Trying to access this from Linux (Raspberry PI) using CIFS command, I get mount error(5): Input/output error. CIFS command and dmesg attached below. I cannot access the DOS share from Linux because of NETBEUI. Line diagram shown below for reference. enter image description here **CIFS command** sudo mount -t cifs -o user=username,guest,vers=2.0 //200.90.12.25/DOSA /home/pi/myNAS/myShare **dmesg** (also on the Linux client) [1027098.510573] FS-Cache: Duplicate cookie detected [1027098.510583] FS-Cache: O-cookie c=c6d9fc6c [p=33027f2d fl=222 nc=2 na=1] [1027098.510588] FS-Cache: O-cookie d=e8ce4e52 n=203d934d [1027098.510592] FS-Cache: O-key= '020001bd0a090c12' [1027098.510606] FS-Cache: N-cookie c=435e27ec [p=33027f2d fl=2 nc=0 na=1] [1027098.510611] FS-Cache: N-cookie d=e8ce4e52 n=9f19c9a0 [1027098.510614] FS-Cache: N-key= '020001bd0a090c12' [1027098.515854] CIFS VFS: cifs_mount failed w/return code = -5 As per the suggested comments, i have tried below commands. I got the same mount error(5): Input/output error sudo mount -t cifs -o username=username,guest,vers=2.1,mfsymlinks //200.90.12.25/DOSA /home/pi/myNAS/myShare mount.cifs sudo mount.cifs //200.90.12.25/DOSA /home/pi/myNAS/myShare -o username=username,guest,domain=domain,mfsymlinks any alternative solution much appreciated.
Bhuvan Kumar (51 rep)
Aug 2, 2020, 09:33 AM • Last activity: Jun 30, 2025, 01:05 PM
0 votes
0 answers
84 views
How to secure boot raspberry pi4 with u-boot yocto image
**The goal is to sign the mender yocto image and run it on secure boot enabled raspberry pi**. I have raspberrypi-4 and the yocto image from mender (open source OTA platform). To give a quick try here is the link: **[Image and Modified Files][1]** of generated image flash to sd card using **[rasbper...
**The goal is to sign the mender yocto image and run it on secure boot enabled raspberry pi**. I have raspberrypi-4 and the yocto image from mender (open source OTA platform). To give a quick try here is the link: **Image and Modified Files ** of generated image flash to sd card using **rasbperry pi imager **, sign with private key and **step-2** flash secure-boot-recovery pieeprom via rpiboot and boot. Referred to **Secure Boot Example Readme ** enabled secure boot on rasberrypi-4. **Step-1 Generate private key for generating signed images** Source python virtual environment, install the pycryptodmex and generate private key, then export variable KEY_FILE. source path/to/python/virtual_env/activate pip install pycryptodomex openssl genrsa 2048 > private.pem export KEY_FILE=$(pwd)/private.pem **Step-2 Secure-boot-recovery for flashing signed pieeprom to raspberrypi-4** Once the private key is generated, cloned the secure boot git reposistory and complied to get rpiboot binary. git clone https://github.com/raspberrypi/usbboot secure-boot cd secure-boot git submodule update --init make To enabled rpiboot mode, updated the program_rpiboot_gpio=5 in secure-boot/secure-boot-recovery/config.txt and connected it GND pin, then connected the raspberrypi-4 to host with usb type-C updated config.txt Then in secure boot directory sign the pieeprom image with generate private key in step-1 and flash it to eeprom. cd secure-boot-recovery ../tools/update-pieeprom.sh -k "${KEY_FILE}" cd .. ./rpiboot -d secure-boot-recovery Now secure boot is enabled on raspberrypi-4 it will only run signed images and refereeing to document **Raspberry Pi 4 Boot Security ** raspberrypi4 expects singed boot.img. **Step-3 Process to create a signed mender yocto image** In this process the mender yocto image is modified, the mender yocto image create a sdcard flashable imagename.sdimg which contain boot partition, Root A/B partition and data parition, so to flash boot files to boot partition it creates imagename.bootimg and then it is packaged to imagename.sdimg, to make it work with rasberrypi-4 secure boot enabled i modified files two yocto recipe file **mender-bootimg.bbclass** and **mender-part-images.bbclass** from **classes ** here are the modified files **Image and Modified Files ** that made **imagename.bootimg** to **boot.img** also added the image signing code by refereeing **sign.sh** script secure-boot/secure-boot-example and **rpi-eeprom-digest.sh** script secure-boot/tools/rpi-eeprom. Dependencies: python virtual env and kas need to be installed source /path/to/python/venv/activate pip install kas mkdir mender-raspberrypi4 && cd mender-raspberrypi4 git clone https://github.com/theyoctojester/meta-mender-community -b scarthgap cd meta-mender-community mkdir my-raspberrypi4 && cd my-raspberrypi4 After modification of files to build image **Build Command** kas build ../kas/demos/raspberrypi4-64-wifi.yml After build is complete flash imagename.sdimg to sdcard using raspberry pi Imager, below are the boot logs captured serially where got the error complaining boot.img not found on sdcard, please let me know if anything I'm missing in it. **Errors Logs:** 2.62 RPi: BOOTLOADER release VERSION:69471177 DATE: 2025/05/08 TIME: 16:21:35 2.62 BOOTMODE: 0x06 partition 0 build-ts BUILD_TIMESTAMP=1746717695 serial 7c2 2.36 Unsupported boot order 6 2.61 Boot mode: SD (01) order f254 2.82 SD HOST: 200000000 CTL0: 0x00800000 BUS: 400000 Hz actual: 390625 HZ div6 2.83 SD HOST: 200000000 CTL0: 0x00800f00 BUS: 400000 Hz actual: 390625 HZ div6 2.98 OCR c0ff8000 CID: 000353444a554c494580d5b740550127 CSD: 400e00325b59000076b27f800a404000 2.98 SD: bus-width: 4 spec: 2 SCR: 0x02358043 0x00000000 2.99 SD HOST: 200000000 CTL0: 0x00800f04 BUS: 50000000 Hz actual: 50000000 HZ2 3.00 MBR: 0x0000c000, 206848 type: 0x0c 3.01 MBR: 0x00040000, 770048 type: 0x83 3.01 MBR: 0x000fc000, 770048 type: 0x83 3.01 MBR: 0x001b8000, 262144 type: 0x83 3.21 Trying partition: 0 3.49 type: 16 lba: 49152 'mkfs.fat' ' V ^ ' clusters 51603 (4) 3.05 rsc 4 fat-sectors 200 root dir cluster 1 sectors 32 entries 512 3.06 FAT16 clusters 51603 3.06 [sdcard] autoboot.txt not found 3.06 Select partition rsts 0 C(boot_partition) 0 EEPROM config 0 result 1 3.71 Trying partition: 1 3.76 type: 16 lba: 49152 'mkfs.fat' ' V ^ ' clusters 51603 (4) 3.08 rsc 4 fat-sectors 200 root dir cluster 1 sectors 32 entries 512 3.08 FAT16 clusters 51603 3.89 secure-boot 3.91 Loading boot.img ... 3.09 boot.sig 3.09 hash: b70a74e651e9bde92dd921ac6b26c9704077bcec431518c384aafd0c39f98fc7 3.10 ts: 1750829740 3.10 rsa2048: 7937a7eeacf12d1433011cc1fcbd57901e0d0796fafce03d811a44e54f255f8c 3.15 [sdcard] boot.img not found 3.53 Error 6 loading boot.img 3.55 Boot mode: USB-MSD (04) order f25 3.17 PCI0 init 3.17 PCI0 reset 3.34 PCIe scan 00001106:00003483 3.46 XHCI-STOP 3.46 xHC0 ver: 256 HCS: 05000420 fc000031 00e70004 HCC: 002841eb 3.47 USBSTS 11 3.47 xHC0 ver: 256 HCS: 05000420 fc000031 00e70004 HCC: 002841eb 3.48 xHC0 ports 5 slots 32 intrs 4 3.18 USB2[3] 400202e1 connected 3.33 USB2 root HUB port 1 init 3.53 DEV [01:00] 2.16 000000:01 class 9 VID 2109 PID 3431 3.53 HUB init [01:00] 2.16 000000:01
URegal (1 rep)
Jun 26, 2025, 05:46 AM • Last activity: Jun 28, 2025, 03:42 AM
Showing page 1 of 20 total questions