HQPlayer Embedded Discussion

You can check the hashes and cryptographic signature if you prefer (all the packages are signed). But the error is about wget not understanding the web server’s headers correctly.

But you are downloading from the backup server, why not download from the primary server instead?

Not sure how I ended up with the backup server in my wget URL. Redid with primary server, no timestamp issue, all good now, thanks!

1 Like

I set up a Raspberry Pi 4 with HQPlayer OS, and it seems to work.
This will be for my study, and I need only up to PCM 192/24.
I will have a Digi One Hat adaptor delivered tomorrow so that I will be able to use the coaxial digital output with the Pi 4.
I’ve just tested as trial, and I wonder whether it is possible to group music with the existing HQPe and the new HQP OS, possibly on roon.

Let me know if there’s a way.
If things work, I’ll purchase another license for the second device. :wink:

You can certainly have multiple HQPlayer zones in Roon, I have. But it is not possible to play to those simultaneously. So no multi-room that way from Roon side.

HQPlayer can play to multiple NAA’s though, but these need to use a common output format.

I see.
So, if I want to sync music with roon in some way, I’ll have to do it manually.
I’ll think about it. Thanks!

Here’s what I’d love to be able to do. I have one HQPlayer Embedded server. I’d like to have two NAA endpoints for two different DACs, with different HQPlayer configurations. Switching between the two endpoints would automatically switch HQPlayer configurations. Even better it would be if the HQPlayer server could present two different IP/port choices to Roon, so that the whole thing could be controlled by switching output devices on Roon.

Maybe too much to ask :grin:

That is already what you get with HQPlayer configuration profiles. When you switch the configuration, all configuration items are switched (including all matrix profiles). But the library remains the same.

Just a tip to everybody encountering dropouts and other issues like that. I have spent months tracking these… tested a ton of deferent hardware, the outcome is meh. Some distributions, particularly ubuntu 24.04 LTS do not have flow control enabled by default on the ethernet interface, can anyone believe that ? :roll_eyes:
Even if the entire network is IEEE 802.3x enabled, manual checking every ethernet interface would be a wise move.

1 Like

Default setting for the flow control depends on the particular Ethernet interface driver. For example Intel drivers on Linux and Intel enable it by default. But not necessarily all others.

It is also good to remember that for the feature to become enabled, both ends of each cable must correctly participate on the low level hardware negotiation of the feature. For example if it is disabled from the switch settings, then computers connected to the switch won’t have the feature enabled since the negotiation fails.

Most common issue audiophiles encounter on this are misconfigured smart switches and optical SFP modules that lack support for the feature.

I am experiencing intermittent dropouts since I switched over to using an opticalrendu. How can I find out if this is being caused by my sfp modules?
Thanks

I bought a used optical rendu a few years ago. I would get random network drops. I tried different sfp cards, cables, switches, network tweaking etc. I gave up and it now sits unused in a closet. The Ultrarendu on the other hand works perfectly as NAA in the same spot.
It’s my contention that the earlier optical models had problems, not sure about newer ones. I ran the optical rendu on v2.8 and v2.9 software, no change to flakey network drops.

I even got root on the optical rendu to monitor things. From what I can recall, it seems it would reset it’s sfp/network after a period of time/usage indicating saturation of some type.
This is only my opinion and I spent way too much time looking at the issue.

Thanks for your reply. Part of my problem is that the stuttering dropouts are completely unpredictable. I am using HQPlayer so thought it might be related to the specific settings I am using but then I still get the dropouts without HQPlayer in the equation just as a Roon endpoint. Then this morning HQPlayer has been playing fine for about three hours after a short stutter after 15 minutes and a change of HQPlayer settings.
According to the above there may be some sort of flow control problem but I’m not sure what I could do about this. I have an unmanaged switch in the equation and I gather that the sfp modules cannot be altered. Your response has made me think about returning the orendu. I only purchased it before Christmas but surely we are not the only two people with this problem. Btw mine is the newest version hardware with 2.9 software. Anyone got any suggestions?

It is important to check that the SFP modules in question support 802.3x flow control handshake. Not all modules do, if the handshake fails the feature doesn’t work and causes network packet buffer overflows in Rendu, which in turn requires retransmission of the data, which increases amount of traffic, which increases packet buffer overflows, which in turn requires more retransmissions… This goes on until the connection stalls and then starts again from fresh.

The local bus inside the SoC used in Rendu that connects ethernet interface to the CPU is capable of max 400 Mbps bandwidth. While the ethernet controller is 1 Gbps. So it cannot pass full 1 Gbps worth of traffic to the CPU. Only hardware flow control inside the ethernet controller (802.3x) can avoid packet loss at this point, as it knows how many packets it has on buffer and can ask the switch to stop sending when it sees it’s buffer becoming full. It is also capable of reacting within the ethernet frame timing.

This same applies RJ45 copper ethernet connections, but there the Rendu’s ethernet controller doesn’t have SFP modules in between. So 802.3x flow control is equally important. Unmanaged switches quite systematically support 802.3x.

1 Like

Ok, I got the optical rendu out of storage, set it up and am now using it usb out to AH90 → SDM 256. 5.1.5 NAA, OS up to date, Cisco switch, HQPe 5.16.1
Having used it for a couple of songs I got my first network drop and restart.
I notice RX errors slowly increasing and then a drop and reset. It didn’t take long, had two drops in 10 mins.

[root@OR ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.2.90 netmask 255.255.255.0 broadcast 192.168.2.255
inet6 fe80::e7e1:1c4c:1ba4:de3b prefixlen 64 scopeid 0x20
inet6 fd1a:6362:9aea:e3d2:35f0:66f7:ab73:89c2 prefixlen 64 scopeid 0x0
ether d0:63:b4:02:7e:cd txqueuelen 1000 (Ethernet)
RX packets 1123513 bytes 1693176714 (1.5 GiB)
RX errors 128 dropped 0 overruns 0 frame 128
TX packets 27896 bytes 2430429 (2.3 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

[root@OR ~]# dmesg
[ 1638.461760] fec 2188000.ethernet eth0: Link is Down
[ 1641.533863] fec 2188000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx

Back into storage it goes unless you have any ideas.
You can see flow control is active and I am using their recommended sfp card.
After last drop its playing fine but ifconfig now says:
RX errors 163 dropped 0 overruns 34 frame 129
It will eventually drop again.

If the link goes down and then comes back again, it is some bigger issue than flow control…

Jussi thanks for your reply. I think my fsp modules are ok but I am checking further. The system has played faultlessly all day from 8 am this morning but then this afternoon I switched on Roon radio and a little later my mini dropouts, stuttering occurred so I tried to record them which I did. Normally I have been stopping playback as soon as this occurs but I let them continue through to the next track at which point there was a long pause and then the next track played perfectly. I think there may be a problem when the system is asked to change formats. I shall prepare a playlist with all sorts of different resolutions and see if that triggers the problem, if so any suggestions for settings in Roon or HQPlayer that might help resolve the problem?

System is Sonicorbiter - ee16 switch - fibre to optical converter- opticalrendu - src-dx - dual BNC - chord Hugo tt2
I only use pcm conversion to 705/768 and usually lns15 with sinc m & sincL
Hope this helps

Whats the dmesg output for your opticalrendu? Might see something there.
Add diag to the end of web url of rendu

http://ip-address-of-rendu/diag

Hi Deano thanks for your time and trouble. I have gone into orendu diag but don’t really know what I’m looking for, sorry can you help a bit more?

Sorry I think I’ve understood now
Can you interpret anything from this?

[   35.844168] systemd[1]: Listening on systemd-initctl.socket - initctl Compatibility Named Pipe.
[   35.879945] systemd[1]: Listening on systemd-oomd.socket - Userspace Out-Of-Memory (OOM) Killer Socket.
[   35.918296] systemd[1]: Listening on systemd-udevd-control.socket - udev Control Socket.
[   35.948316] systemd[1]: Listening on systemd-udevd-kernel.socket - udev Kernel Socket.
[   35.978968] systemd[1]: Listening on systemd-userdbd.socket - User Database Manager Socket.
[   36.009109] systemd[1]: dev-hugepages.mount - Huge Pages File System was skipped because of a failed condition check (ConditionPathExists=/sys/kernel/mm/hugepages).
[   36.056672] systemd[1]: Mounting dev-mqueue.mount - POSIX Message Queue File System...
[   36.105665] systemd[1]: Mounting sys-kernel-debug.mount - Kernel Debug File System...
[   36.155697] systemd[1]: Mounting sys-kernel-tracing.mount - Kernel Trace File System...
[   36.187079] systemd[1]: auth-rpcgss-module.service - Kernel Module supporting RPCSEC_GSS was skipped because of a failed condition check (ConditionPathExists=/etc/krb5.keytab).
[   36.233681] systemd[1]: Starting kmod-static-nodes.service - Create List of Static Device Nodes...
[   36.285590] systemd[1]: Starting modprobe@configfs.service - Load Kernel Module configfs...
[   36.339606] systemd[1]: Starting modprobe@drm.service - Load Kernel Module drm...
[   36.386942] systemd[1]: Starting modprobe@fuse.service - Load Kernel Module fuse...
[   36.442029] systemd[1]: Starting nfs-convert.service - Preprocess NFS configuration convertion...
[   36.475310] systemd[1]: Stopped systemd-journald.service - Journal Service.
[   36.499637] fuse: init (API version 7.36)
[   36.565635] systemd[1]: Starting systemd-journald.service - Journal Service...
[   36.629649] systemd[1]: Starting systemd-modules-load.service - Load Kernel Modules...
[   36.688928] systemd[1]: Starting systemd-network-generator.service - Generate network units from Kernel command line...
[   36.761516] systemd[1]: Starting systemd-remount-fs.service - Remount Root and Kernel File Systems...
[   36.814036] systemd[1]: systemd-repart.service - Repartition Root Disk was skipped because all trigger condition checks failed.
[   36.893004] EXT4-fs (mmcblk1p3): re-mounted. Quota mode: none.
[   36.912816] systemd[1]: Starting systemd-udev-trigger.service - Coldplug All udev Devices...
[   37.007997] systemd[1]: Started systemd-journald.service - Journal Service.
[   37.555111] systemd-journald[454]: Received client request to flush runtime journal.
[   37.629441] systemd-journald[454]: File /var/log/journal/10add2cf293243a1b8f766d4942e79b5/system.journal corrupted or uncleanly shut down, renaming and replacing.
[   40.568311] kauditd_printk_skb: 34 callbacks suppressed
[   40.568333] audit: type=1130 audit(1675296034.113:117): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=modprobe@configfs comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[   40.622810] audit: type=1131 audit(1675296034.113:118): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=modprobe@configfs comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[   41.015636] Registered IR keymap rc-empty
[   41.031486] rc rc0: gpio_ir_recv as /devices/platform/ir-receiver/rc/rc0
[   41.052732] rc rc0: lirc_dev: driver gpio_ir_recv registered at minor = 0, raw IR receiver, no transmitter
[   41.163433] input: gpio_ir_recv as /devices/platform/ir-receiver/rc/rc0/input0
[   41.266035] imx-ipuv3 2400000.ipu: IPUv3H probed
[   41.461469] mc: Linux media interface: v0.10
[   41.806342] videodev: Linux video capture interface: v2.00
[   42.263081] etnaviv etnaviv: bound 130000.gpu (ops gpu_ops [etnaviv])
[   42.312116] etnaviv etnaviv: bound 134000.gpu (ops gpu_ops [etnaviv])
[   42.323497] etnaviv-gpu 130000.gpu: model: GC880, revision: 5106
[   42.416403] etnaviv-gpu 134000.gpu: model: GC320, revision: 5007
[   42.504688] dwhdmi-imx 120000.hdmi: Detected HDMI TX controller v1.31a with HDCP (DWC HDMI 3D TX PHY)
[   42.524055] imx_media_common: module is from the staging directory, the quality is unknown, you have been warned.
[   42.558460] [drm] Initialized etnaviv 1.3.0 20151214 for etnaviv on minor 1
[   42.599536] imx-drm display-subsystem: bound imx-ipuv3-crtc.2 (ops ipu_crtc_ops [imxdrm])
[   42.702486] imx-drm display-subsystem: bound imx-ipuv3-crtc.3 (ops ipu_crtc_ops [imxdrm])
[   42.722296] imx-drm display-subsystem: bound 120000.hdmi (ops dw_hdmi_imx_ops [dw_hdmi_imx])
[   42.784342] CAN device driver interface
[   42.861381] imx6_media: module is from the staging directory, the quality is unknown, you have been warned.
[   42.917595] [drm] Initialized imx-drm 1.0.0 20120507 for display-subsystem on minor 2
[   42.962151] imx-drm display-subsystem: [drm] Cannot find any crtc or sizes
[   43.128483] coda 2040000.vpu: Direct firmware load for vpu_fw_imx6d.bin failed with error -2
[   43.155295] coda 2040000.vpu: Direct firmware load for vpu/vpu_fw_imx6d.bin failed with error -2
[   43.180240] coda 2040000.vpu: Direct firmware load for v4l-coda960-imx6dl.bin failed with error -2
[   43.193815] coda 2040000.vpu: firmware request failed
[   44.378937] pps pps0: new PPS source ptp0
[   44.418694] imx_thermal 20c8000.anatop:tempmon: Commercial CPU temperature grade - max:125C critical:120C passive:115C
[   44.635756] mdio_bus 2188000.ethernet-1: MDIO device at address 4 is missing.
[   44.699082] fec 2188000.ethernet eth0: registered PHC device 0
[   45.090723] zram0: detected capacity change from 0 to 2023424
[   45.376249] audit: type=1130 audit(1675296038.917:119): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=systemd-zram-setup@zram0 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[   45.517599] Adding 1011708k swap on /dev/zram0.  Priority:100 extents:1 across:1011708k SSDscFS
[   46.905274] imx6_media_csi: module is from the staging directory, the quality is unknown, you have been warned.
[   46.988597] imx6_media_csi: module is from the staging directory, the quality is unknown, you have been warned.
[   47.019064] imx-ipuv3-csi imx-ipuv3-csi.0: Registered ipu1_csi0 capture as /dev/video0
[   47.096923] usb 2-1: 1:4 : unsupported format bits 0x100000000
[   47.155620] imx-ipuv3 2400000.ipu: Registered ipu1_ic_prpenc capture as /dev/video1
[   47.181704] imx-ipuv3 2400000.ipu: Registered ipu1_ic_prpvf capture as /dev/video2
[   47.200339] video-mux 20e0000.iomuxc-gpr:ipu1_csi0_mux: Consider updating driver video-mux to match on endpoints
[   47.229350] imx-ipuv3-csi imx-ipuv3-csi.1: Registered ipu1_csi1 capture as /dev/video3
[   47.265128] usbcore: registered new interface driver snd-usb-audio
[   47.283881] video-mux 20e0000.iomuxc-gpr:ipu1_csi1_mux: Consider updating driver video-mux to match on endpoints
[   47.417544] imx-media: Registered ipu_ic_pp csc/scaler as /dev/video4
[   47.542223] Registered IR keymap rc-cec
[   47.589268] rc rc1: dw_hdmi as /devices/platform/soc/120000.hdmi/rc/rc1
[   47.647261] input: dw_hdmi as /devices/platform/soc/120000.hdmi/rc/rc1/input1
[   49.242020] audit: type=1130 audit(1675296042.786:120): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=systemd-udev-settle comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[   49.673551] audit: type=1130 audit(1675296043.218:121): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=systemd-fsck@dev-disk-by\x2duuid-1d007082\x2dae6e\x2d4f98\x2db54e\x2d58d4d784ef86 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[   49.863262] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Quota mode: none.
[   49.923889] audit: type=1130 audit(1675296043.468:122): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=systemd-fsck@dev-disk-by\x2duuid-CD4B\x2d166C comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[   50.935396] audit: type=1130 audit(1675296044.480:123): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=systemd-tmpfiles-setup comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[   51.105108] audit: type=1334 audit(1675296044.650:124): prog-id=39 op=LOAD
[   51.140007] audit: type=1334 audit(1675296044.651:125): prog-id=40 op=LOAD
[   51.198976] audit: type=1334 audit(1675296044.651:126): prog-id=41 op=LOAD
[   51.229010] audit: type=1334 audit(1675296044.728:127): prog-id=42 op=LOAD
[   51.297309] audit: type=1334 audit(1675296044.842:128): prog-id=43 op=LOAD
[   51.316310] audit: type=1334 audit(1675296044.842:129): prog-id=44 op=LOAD
[   51.445371] RPC: Registered named UNIX socket transport module.
[   51.455193] RPC: Registered udp transport module.
[   51.463962] RPC: Registered tcp transport module.
[   51.472883] RPC: Registered tcp NFSv4.1 backchannel transport module.
[   55.920861] Qualcomm Atheros AR8035 2188000.ethernet-1:00: attached PHY driver (mii_bus:phy_addr=2188000.ethernet-1:00, irq=POLL)
[   60.004983] fec 2188000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[   60.005276] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   68.323022] systemd-journald[454]: Oldest entry in /var/log/journal/10add2cf293243a1b8f766d4942e79b5/system.journal is older than the configured file retention duration (1month), suggesting rotation.
[   68.328276] systemd-journald[454]: /var/log/journal/10add2cf293243a1b8f766d4942e79b5/system.journal: Journal header limits reached or header out-of-date, rotating.
[2629755.461535] systemd-journald[454]: Oldest entry in /var/log/journal/10add2cf293243a1b8f766d4942e79b5/system.journal is older than the configured file retention duration (1month), suggesting rotation.
[2629755.461619] systemd-journald[454]: /var/log/journal/10add2cf293243a1b8f766d4942e79b5/system.journal: Journal header limits reached or header out-of-date, rotating.
[2923823.661932] SGI XFS with ACLs, security attributes, scrub, quota, no debug enabled
[2923823.860792] JFS: nTxBlock = 7904, nTxLock = 63235

@jussi_laako

For some reason, poly-sinc-xtr-short-lp and -mp are not working when trying to convert 44.1 → 512x48 in my setup. 48 → 512x44.1 works fine as do other integral and non-integral ratios.

All other 1x filters I tried work fine for 44.1 → 512x48, including ext2-xx, gauss-long, as well as the -2s two stage versions of poly-sinc-xtr-short-

As per below logs, it just hangs for a minute and then HQPe restarts. Am I missing something obvious here or is there a bug?!

+ 2026/01/13 15:12:29 NAA output network engine starting...
  2026/01/13 15:12:29 NAA output network format: 24576000/1/2 [sdm]
  2026/01/13 15:12:29 NAA output network SDM streaming
  2026/01/13 15:12:29 NAA output sampling rate: 24576000 (24576000)
  2026/01/13 15:12:29 NAA output channels: 2 (2)
+ 2026/01/13 15:12:29 NAA output network engine started at: 24576000
& 2026/01/13 15:12:42 Idle
& 2026/01/13 15:12:43 Playlist clear
& 2026/01/13 15:12:43 Playlist add URI: http://192.168.1.223:30000
& 2026/01/13 15:12:43 Play (-1/0)
  2026/01/13 15:12:43 Offload: resampler=enabled convolution=enabled
  2026/01/13 15:12:43 IntegratorM: FIR2
  2026/01/13 15:12:43 Engine reinit, rate or blocksize change triggered
  2026/01/13 15:12:43 Rate: 44100, block size: 2352, frame size: 588
  2026/01/13 15:12:43 Block size: 2352 (sample: 2)
  2026/01/13 15:12:43 Analysis initialized
  2026/01/13 15:12:43 Oversampling: min phase short extreme poly
  2026/01/13 15:12:43 Modulator: adaptive seventh order 1-bit fast 512+fs
  2026/01/13 15:12:43 Integrator: FIR2

* 2026/01/13 15:13:52 Signalyst HQPlayer Embedded 5.16.1
+ 2026/01/13 15:13:52 Engine starting...