Lost sound output on pocket reform [Fixed itself?][broken again :/]

I haven’t checked my MNT Reform yet, but my pocket is currently soundless via either the headphone jack or the internal speaker. I can get sound to work via bluetooth, but it gets choppy and eventually drops after a few minutes – I am assuming that’s unrelated, but I thought I’d mention it.

Gnome reports only a single output, and in settings it’s called Analog Output - Built-in Audio and there are no other devices.

Previously, I was able to fix things via alsamixer, but that does not appear to be the case with whatever is going on right now – by default, it seems to show a very simple pipewire screen with a single volume slider. Selecting audio cards presents me with options for (default) -, hdmi1, and rk3588-tlv320aic3100, the latter of which has many devices, which seem to have zero impact on sound output. The single output Gnome is displaying seems to correspond to the (default) - output, which alsamixer is labelling PipeWire.

dmesg output has this:

[   50.273962] asoc-audio-graph-card analog-sound: ASoC: driver name too long 'rk3588-tlv320aic3100' -> 'rk3588-tlv320ai'

This appears to be a red herring (reform-hw-setup uses the name rk3588tlv320aic and changing it to the version without a c and adding a dash generates an error message).

reform-check output:

I: Contents of /proc/device-tree/model: MNT Pocket Reform with RCORE RK3588 Module
I: `uname -a` output: Linux pocket 6.17.7-mnt-reform-arm64 #1 SMP PREEMPT Debian 6.17.7-2+reform20251108T015458Z (2025-11-0 aarch64 GNU/Linux
I: Version of linux-image-mnt-reform-arm64: 6.17.7-2+reform20251108T015458Z
I: Version of reform-tools: 1.81-2+reform20251104T202417Z+1
I: Version of system image: System Image v4: 2024-12-16
I: Version of system controller firmware: "20250117"
I: Latest version of system controller firmware: RESULT: <release id="128381" version="20251001" timestamp="1759317444" urgency="high" install_duration="120">
  <location>66931c02c840c64e89346ec1540db13391d21201f7ffa495b41d6208c3b94aa7-sysctl.cab</location>
  <checksum type="sha1" filename="firmware.bin" target="content">4dce23e09e38f8bd064d94c5c0148c5444928ffc</checksum>
  <checksum type="sha256" filename="firmware.bin" target="content">06b8880865bf8639548a1a72840a839c01b84c4043b4b6d103c275bbaa523f3a</checksum>
  <description>
    <p>Release 20250623</p>
    <ul>
      <li>System Controller watchdog reset timeout increased to 10 seconds to avoid spurious resets of the device.</li>
    </ul>
  </description>
  <url type="source">https://source.mnt.re/reform/pocket-reform/-/tags/20251001</url>
  <artifacts>
    <artifact type="binary">
      <location>https://fwupd.org/downloads/66931c02c840c64e89346ec1540db13391d21201f7ffa495b41d6208c3b94aa7-sysctl.cab</location>
      <filename>sysctl.cab</filename>
      <checksum type="sha1">76beedeaabbdbd1c641c50f1d098c448695de92c</checksum>
      <checksum type="sha256">66931c02c840c64e89346ec1540db13391d21201f7ffa495b41d6208c3b94aa7</checksum>
      <size type="installed">104960</size>
      <size type="download">165275</size>
      <testing>
        <test_result date="2025-10-29">
          <vendor_name id="2550">MNT Research</vendor_name>
          <device>mntre MNT Pocket Reform with RCORE RK3588 Module</device>
          <os version="13">debian</os>
          <previous_version>0928</previous_version>
          <custom>
            <value key="RuntimeVersion(org.freedesktop.fwupd)">2.0.8</value>
            <value key="FromOEM">x</value>
          </custom>
        </test_result>
      </testing>
    </artifact>
  </artifacts>
</release>
I: Version of keyboard firmware: "20250117"
I: Version of U-Boot: 2024.10-g424c714eb247-dirty
I: Latest version of U-Boot: 2025-11-04
I: probably booting via /boot/boot.scr (/boot/extlinux/extlinux.conf does not exist)
I: Mount source of /: /dev/reformvg/root (LVM vg 'reformvg' on LUKS device 'reform_crypt' on SSD)
I: Mount source of /boot: /dev/mmcblk0p1 (eMMC)
I: Suggests of reform-desktop-minimal is not installed: firmware-iwlwifi
W: you do not seem to boot using tuigreet but you the following file sets your loglevel to 3: /etc/flash-kernel/ubootenv.d/00reform2_tuigreet_loglevel -- you may consider removing it and re-running 'sudo flash-kernel'
I: the following files differ from how they are shipped by reform-tools (ignore /var/lib/alsa/asound.state):
??5??????   /var/lib/alsa/asound.state
I: the reform-qcacld2 package is only required for wifi on the Pocket Reform with i.MX8MP, you can safely remove it unless you plan to go back to the imx8m+
I: kernel boot parameters your system does use but which are not the default:
 + loglevel=3
I: kernel boot parameters which are the default but your system doesn't use them:
 - console=ttyS2,1500000
I: eMMC contains the latest u-boot version 2025-11-04

I’ll keep poking at it – let me know if there’s anything specific I can do to help troubleshoot (or if I’ve done or missed something incredibly silly).

1 Like

Hm.

I ran an update (which updated 3 innocuous packages) and another reboot and now it’s back to working again. These were the newly upgraded packages:

2025-11-09 21:07:58 upgrade libpmix2t64:arm64 6.0.0+really5.0.9-1.1 6.0.0+really5.0.9-2
2025-11-09 21:07:58 upgrade libtidy58:arm64 2:5.8.0-2 2:5.8.0-2.1
2025-11-09 21:07:58 upgrade make:arm64 4.4.1-2 4.4.1-3

None of those seem likely to be related. This problem was durable over several reboots, so this seems weird. I did change what I had plugged into the microHDMI and USB ports, so it’s possible that was contributing. I’ll see if I can reproduce it. Sorry for the false alarm!

Aaaand it’s gone again.

dmesg does show this:

$ sudo dmesg | grep tlv
[   16.827876] asoc-audio-graph-card analog-sound: ASoC: driver name too long 'rk3588-tlv320aic3100' -> 'rk3588-tlv320ai'
[   21.392529] tlv320aic31xx-codec 6-0018: aic31xx_wait_bits: Failed! 0x25 was 0x98 expected 0x0 (0, 0x8, 500000 us)
[   21.392545] tlv320aic31xx-codec 6-0018: ASoC: POST_PMD: DAC Right event failed: -1

Reboots, varying what’s connected to the pocket, including nothing, do not seem to have helped any. :confused:

Aaand now it’s back. I “fixed” it by setting it aside powered off for like half an hour (battery on, though) and then booted again. Multiple simple reboots earlier did not clear it, so I’m stumped. I’m guessing some subsystem got into a weird state and letting it sit allowed it to uninitialize completely, but that is just a weird gut feeling. No real idea what’s going on.

Could be a connection issue with I2C pins on RCORE. You could try reseating it and screwing it down (it has 2 unused screw holes with corresponding threads on the mainboard).

2 Likes

I’ll give it a shot. Thanks, Lucie!