Strange sysrq in dmesg when running gnuradio on pinephone pro

Hello all,

Not sure if this is the right topic to post under as it’s a strange occurance I’m seeing.

I have a python gnuradio script (no GUI) running on my PinePhone Pro running Phosh, using an official RTL-SDR USB stick via the USB-C dongle from pine64. It’s all running relatively well, but occassionally I see a dropped frame and the audio blips out. I also see some kernel sytemd oom proces flag up when this happens. top shows the python app is using 43% of one CPU, and pulseaudio another 12 or so percent.

dmesg shows these messages. The rockchip ones occassionally, the sysrq message every 70ms. When I stop the gnuradio python script these messages all immediately cease never to be seen again.

[ 1178.112476] dwmmc_rockchip fe310000.mmc: Unexpected interrupt latency
...
[ 1187.145199] dwmmc_rockchip fe320000.mmc: Unexpected interrupt latency
...
[ 1189.093427] rk3x-i2c ff3c0000.i2c: timeout, ipd: 0x10, state: 1
[ 1189.163831] rk3x-i2c ff3c0000.i2c: irq in STATE_IDLE, ipd = 0x1024b
...
[ 1191.519476] sysrq: This sysrq operation is disabled.
[ 1191.525511] sysrq: HELP : loglevel(0-9) reboot(b) crash(c) terminate-all-tasks(e) memory-full-oom-kill(f) kill-all-tasks(i) thaw-filesystems(j) sak(k) show-backtrace-all-active-cpus(l) show-memory-usage(m) nice-all-RT-tasks(n) poweroff(o) show-registers(p) show-all-timers(q) unraw(r) sync(s) show-task-states(t) unmount(u) force-fb(v) show-blocked-tasks(w)

Here’s the output of my gnuradio script:-

[manjaro@manjaro-arm Documents]$ python basicfm.py
Found Rafael Micro R820T/2 tuner
[INFO] Opening Generic RTL2832U OEM :: 00000001...
Found Rafael Micro R820T/2 tuner
Exact sample rate is: 1400000.018544 Hz
source :info: set_min_output_buffer on block 1 to 20000000
rational_resampler<IN_T,OUT_T,TAP_T> :info: set_min_output_buffer on block 2 to 20000000
fir_filter_blk<IN_T,OUT_T,TAP_T> :info: set_min_output_buffer on block 3 to 20000000
multiply_const_ff :info: set_min_output_buffer on block 4 to 20000000
quadrature_demod_cf :info: set_min_output_buffer on block 7 to 20000000
fir_filter_blk<IN_T,OUT_T,TAP_T> :info: set_min_output_buffer on block 10 to 20000000
[INFO] Using format CF32.
Press Enter to quit: Allocating 15 zero-copy buffers
aUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaUaU

The aU character is printed whenever a buffer underflow happens I think.

I’ve upped the buffers in each gnuradio block to 20M but it doesn’t really solve my issue.

cat /proc/sys/kernel/sysrq gives ‘16’.
Kernel via uname -a: Linux manjaro-arm 6.3.11-1-MANJARO-ARM #1 SMP PREEMPT Sun Jul 2 09:38:54 UTC 2023 aarch64 GNU/Linux
lsb-release -a: Manjaro Arm 23.02

Does anyone have any idea what the issue may be please? I was wondering if there limited buffers on the USB device, or in the kernel, or in pulseaudio that may be causing this. If anyone can explain the dmesg lines I was hoping these may lead me to a solution.

Thanks in advance.

That looks familiar. Seems like you have to play around with the ppm settings.

Additional:

I had to leave for a while. Those cheap dongles are very seldom on frequency. I have one that is and 2 others that are not. The ones that are not both seem to have to take negative ppm values. There is a program that will tell you how far one is off but I forget the name of it.

I have not messed with my dongles in a long time. I had a trunking radio scanner going at one time. I also played with HD radio which was cool. It showed album art, weather radar and traffic reports also with the music.

1 Like