Skip to content

7. Bugs and Annoyances

Steve Magnuson edited this page Apr 25, 2023 · 13 revisions

Bugs and Workarounds

Audio problems with raspberrypi-kernel 1:1.20230317-1 (March 2023)

As of this release, the Fe-Pi sound hat does not work properly with the PulseAudio. If you're making a new image using the bootstrap scripts described earlier, then you don't need to take any special action. The bootstrap process removes the Fe-Pi from PulseAudio and sets up Fldigi accordingly.

If you are upgrading March 2023 or later to this or later kernel, you'll need to do the following to remove the Fe-Pi from PulseAudio and set up Fldigi to use Port Audio instead of PulseAudio. You can do this before or after upgrading raspbian using Nexus Updater or using sudo apt on the command line if you are familiar with that process, or clicking the update icon if it's present in the system tray on your Pi's desktop. You only need to do this once. Subsequent OS updates do not require you to do these steps again.

  1. Close all applications on your Pi

  2. Open a Terminal and run this command:

     nexus-updater.sh nexus-utils,nexus-audio
    
  3. When that finishes, run this command:

     pulse_to_alsa.sh
    
  4. Reboot your Pi.

Kernel bug prevents consecutive ax25 connections

Affects

Rapsbian OS kernels newer than 5.15.32 (kernels released after March 31, 2022) and before 6.1.19 (kernels released before March 17, 2023) running RMS Gateway or Direwolf packet. The following does not apply as of raspberrypi-kernel 1:1.20230317-1.

If you applied the workaround described below, to return to normal kernel updates run this command in the Terminal:

sudo apt-mark unhold raspberrypi-kernel-headers raspberrypi-kernel

then upgrade the OS as per usual (via Nexus Updater or sudo apt or whatever other method you use to do OS upgrades)

I'm including the no-longer-needed workaround here for posterity:

Workaround

  • Install last known working kernel by issuing these commands in the Terminal:

    cd ~
    wget -O kernel-headers_armhf.deb http://archive.raspberrypi.org/debian/pool/main/r/raspberrypi-firmware/raspberrypi-kernel-headers_1.20220331-1_armhf.deb
    wget -O kernel_armhf.deb http://archive.raspberrypi.org/debian/pool/main/r/raspberrypi-firmware/raspberrypi-kernel_1.20220331-1_armhf.deb
    sudo dpkg -i kernel-headers_armhf.deb kernel_armhf.deb
    
  • Prevent future upgrades from upgrading the kernel:

    sudo apt-mark hold raspberrypi-kernel-headers raspberrypi-kernel
    
  • Reboot to activate the kernel:

    sudo reboot
    

Background

An AX25 station (like pat via direwolf) cannot connect to another AX25 station (like an RMS Gateway) after the first successful connection unless another client connects after the first one. Then that other client can’t connect, etc. The following example is from an affected Linux RMS Gateway.

  • Here’s the output of netstat --ax25 on the W7ECG-10 RMS Gateway. Initially, all looks good:

    pi@sarpi2:~ $ netstat --ax25
    Active AX.25 sockets
    Dest       Source     Device  State        Vr/Vs    Send-Q  Recv-Q
    *          W7ECG-10   ax0     LISTENING    000/000  0       0     
    
  • The client AG7GN-0 connects successfully:

    pi@sarpi2:~ $ netstat --ax25
    Active AX.25 sockets
    Dest       Source     Device  State        Vr/Vs    Send-Q  Recv-Q
    AG7GN-0    W7ECG-10   ax0     ESTABLISHED  000/002  4928    0     
    *          W7ECG-10   ax0     LISTENING    000/000  0       0     
    
  • Connection closes after transaction is finished (all normal so far):

    pi@sarpi2:~ $ netstat --ax25
    Active AX.25 sockets
    Dest       Source     Device  State        Vr/Vs    Send-Q  Recv-Q
    AG7GN-0    W7ECG-10   ax0     DISC SENT    002/001  0       0     
    *          W7ECG-10   ax0     LISTENING    000/000  0       0     
    
  • Client has fully disconnected, yet state has incorrectly transitioned to LISTENING.

    pi@sarpi2:~ $ netstat --ax25
    Active AX.25 sockets
    Dest       Source     Device  State        Vr/Vs    Send-Q  Recv-Q
    AG7GN-0    W7ECG-10   ax0     LISTENING    002/001  0       0     
    *          W7ECG-10   ax0     LISTENING    000/000  0       0     
    
  • At this point, AG7GN-0 cannot connect again to W7ECG-10. The RMS Gateway does not respond at all to SABMs from the client.

  • If the RMS Gateway is stopped the '*' listener goes away as expected, but the AG7GN-0 listener remains:

    pi@sarpi2:~ $ netstat --ax25
    Active AX.25 sockets
    Dest       Source     Device  State        Vr/Vs    Send-Q  Recv-Q
    AG7GN-0    W7ECG-10   ax0     LISTENING    002/001  0       0     
    
  • Starting the gateway the '*' ax0 listener reappears as expected, but the AG7GN-0 transitions to Device ??? LISTENING:

    pi@sarpi2:~ $ netstat --ax25
    Active AX.25 sockets
    Dest       Source     Device  State        Vr/Vs    Send-Q  Recv-Q
    *          W7ECG-10   ax0     LISTENING    000/000  0       0     
    AG7GN-0    W7ECG-10   ???     LISTENING    002/001  0       0     
    
  • At this point, AG7GN-0 can connect again, but that ‘???’ listener stays in the list until the Pi is rebooted. A busy RMS Gateway can accumulate a long list of '???' entries.

  • There is similar behavior on the client computer running an affected kernel even if that client connects to a Windows or other RMS Gateway.

  • The above was fixed in raspberrypi-kernel 1:1.20230317-1. To return to normal kernel updates (if you applied the hold mentioned above), run this command in the Terminal:

    sudo apt-mark unhold raspberrypi-kernel-headers raspberrypi-kernel
    

    then upgrade the OS as per usual (via Nexus Updater or sudo apt or whatever other method you use to do OS upgrades)

Update problem: "Error installing packages...trying to overwrite /usr/include/netax25/ax25.h..."

On rare occasions when you click the update icon on the Desktop to install updates, you'll see this error message:

libc6 error

This happens whenever libc6 and related packages are updated by the Raspbian OS maintainers. libc6 shares a file with the libax25 package, which is used by pat and other apps. This causes a conflict. To fix:

  • Click OK to close the above error window
  • Run Raspberry > Hamradio > Nexus Updater (and re-run it if prompted because the Updater was updated). The Updater will check for libc6 conflicts and fix them if they exist.
  • When the Nexus Updater GUI finally appears, you can close it; You don't have to select any apps to update unless you want to.
  • Click the update icon on the Desktop again to install the remaining Raspbian OS and other package updates.

Annoyances

Fldigi does not activate PTT via GPIO

Fldigi sometimes does not activate PTT via GPIO pins

Disable Flrig trace logging to save wear and tear on your microSD card

Disable Flrig Trace Logging

No HDMI video

Some Raspberry Pi users have reported that with Pi 3 models and certain monitors, there's no video once the Pi has fully booted with Bullseye. If you experience this and can VNC into your Pi, some users suggest this might fix it:

  • Open a Terminal and run these commands:

      sudo cp /boot/config.txt /boot/config.txt.backup
      sudo sed -i 's/^dtoverlay=vc4-kms-v3d/#dtoverlay=vc4-kms-v3d/' /boot/config.txt
    
  • Reboot

To revert back to the original setting:

  • Run this in Terminal:

     sudo cp /boot/config.txt.backup /boot/config.txt
    
  • Reboot

VNC only shows a small window of the remote Pi

This affects Raspberry Pi 3B/3B+ models. KM4ACK documents a fix here (YouTube)

Does your VNC session look like this when connecting to your Pi 3B or 3B+?

VNC Problem

The fix, summarized from KM4ACK's video applies to Raspberry Pi 3B/3B+ models only.

IMPORTANT: If you have a monitor attached to your Pi and the monitor does not support 1920x1080, the monitor may not display the desktop after making these modifications!

  • Open a Terminal

  • Use your favorite editor to open /boot/config.txt as root (sudo).

    • Example using nano editor:

        sudo nano /boot/config.txt
      
    • USE EXTREME CAUTION - making a mistake in editing this file will cause problems!

  • Locate these 2 lines:

      #framebuffer_width=1280
      #framebuffer_height=720
    

    and change them to:

      framebuffer_width=1920
      framebuffer_height=1080
    

    and immediately after those lines, add these 2 lines:

      hdmi_group=2
      hdmi_mode=16
    
  • Locate this line:

     hdmi_force_hotplug=1
    

    If there is a # in front of that line, remove the #. The line should look like as shown above.

  • Locate this line:

     dtoverlay=vc4-kms-v3d
    

    and comment it out by preceding it with a #:

     #dtoverlay=vc4-kms-v3d
    
  • Save your changes

  • Reboot your Pi

  • Try VNC access. Also make sure your attached 1920x1080 monitor still works if you have one.


<< PulseAudio Information