SA30 build 969, version 1.51 (beta)

Changes

  • BUG 3955 - Browsing UPnP folder with long name crashes SA30
  • BUG 3961 - PM volume, Max Volume, Max On Volume, Max Net Volume remote adjustment goes the wrong way
  • BUG 3978 - Volume scaling broken with max volume set and using apps
  • BUG 3797 - Accented characters have stopped working
  • Menu: TV Audio changed to TV Volume
  • Implemented option “TV Audio” which powers down the ARC module when not in use.
  • SA30 in rare occasions restarts after playing FLAC for 20-30 minutes
  • Dirac: updated to the latest DSP release (February 2021) [SSDKARCAM-218]
  • Fix distortion issue with >48 kHz audio [SSDKARCAM-218]
  • Maximum volume settings: MAX NET VOLUME and MAX VOLUME settings are now independent. Previously MAX NET VOLUME was limited to MAX VOLUME setting.

Change to Maximum Volume

Maximum volume behaviour has changed subtly in this release. There are now two independant options:

  • Max Net Vol: affects only streaming inputs (UPnP, Cast, Airplay, TIDAL, Qobuz etc)
  • Maximum Vol: affects all other digital inputs

You may want to set both these to the same value.

Known Issues

Below are the current issues we are aware of, but haven’t been addressed yet.

SA30 cannot be powered on via CEC commands

When using ARC, you can turn the SA30 off from the TV remote, but not bring the unit out of standby. If you would rather the TV remote doesn’t turn off the SA30, disable TV Power from the Audio Settings menu.

ARC dropouts

Dropouts have not been resolved in this build. The engineering team know of this issue and are working towards resolution.

ARC/CEC volume commands require more presses when Maximum Vol in use

Using the TV remote to control the SA30 may require more presses when maximum volume has been set. To avoid this, use the SA30’s supplied remote control for volume.

Device reboots

This release ships with debug logging enabled at boot time. This allows our engineers to retrieve much more verbose logs from the unit. This has the downside of introducing device reboots when the unit becomes too ‘chatty’. This is most commonly encountered when switching inputs, or rapidly changing volume.

Future builds will ship with Debug Logging disabled.

Download link

A zip file containing the firmware, release notes and install instructions may be found here. Download link removed. Please install 1.62/v1027 instead.

This firmware must be installed over the top of the current public software, v1.41/867 available here.

Please ensure you read the release notes and installation guide included.

1 Like

Hello @beta_testers !

Please find further information about how to access these builds, and carefully check the above post to ensure you’re still happy to proceed.

I’d recommend before starting, that you download the current public release of firmware from the SA30 product page, in case you want to opt-out and go back to the current released software version.

A few members of the Arcam team are monitoring this thread in case you have any issues to report, or questions, that are not mentioned above.

I’d like to extend a thank you to you all for volunteering. I do want to make it clear that there is no expectation from our side about how thoroughly you test this firmware. The main goal is to check that this particular build is a net positive for your usual use case of the product.

2 Likes

Hi,

Thank you for making this happen. Let the testing begin…
My SA30 is updated now, will start testing later afternoon.

Net Reset causes an audible “pop” in the speakers, I didn’t notice this in earlier versions.
Net Reset triggers a power reboot, I didn’t notice this before either.
System Reset behaves as before, I hear nothing in the speakers, the power reboot is done.

My first thoughts about the new “TV Audio” function are positive. Until now, after changing the active input on the SA30, my TV (LG OLED) kept getting a message about the available HDMI ARC output, now it switches to the internal speakers. It was particularly annoying that after switching the SA30 to Standby, the TV still had the information about active ARC and it was necessary to manually switch the audio output from HDMI ARC to the internal speakers from the TV level.

Thanks, I’ll try and reproduce this now. Power reboot is likely to be because of ‘debug logging’. Chances are it’s trying to send a whole load of debug messages out, which crashes the system. As I mentioned above, we’re going to make sure future builds destined for this group have debug turned off.

I’ve done a net reset from web client and there was no pop or reboot.
Maybe pop is actually caused by a crash, caused by “debug logging”?

Don’t know. I’ve followed instructions attached to beta firmware:

  1. Once the update has finished as indicated by Update Complete on the front panel display perform a Factory Reset using the System Settings > Net Reset and System Settings > System Reset menu options *

Ok, I have loaded 969, all went smoothly with no noises or pops. I used the Web interface. I will note that I never hear the sounds sent to speakers via the Google Home app when setting up Chromecast on the SA 30. I just click that I heard the sounds and the wifi and Chromecast seem to be set up properly. Testing has begun!

Ken

ugh, having trouble. As soon as I engaged Dirac while playing a MQA 192 track in Roon,the SA 30 rebooted and Roon lost contact with the SA 30 and will no longer play to the SA 30. It continues to lose contact with the SA 30 no matter what I do. I switched to an analog source and as soon as I engage the Dirac filter that I loaded after resetting the net and system, silence . No Dirac. If I turn off dirac, the music comes back on. I may have to go back to 867 because as of right now I can no longer listen to anything but analog in direct mode or no Dirac. And Roon will not work at all. I am open to suggestions before I revert back.

Ken

Thanks @Ken I’ll get support to look at that. I presume this is Roon 1.8?

yes,1.8 build 764, Core running on a 64 bit Windows 10. I had noticed that in the last month Roon no longer displayed when Dirac was engaged in the signal path like it used to. In the past, when Dirac was engaged, there is a pause, then the music starts back with the filter either on or off. I was listening to a MQA 192 track when I decided to engage the Dirac filter, music paused, then Sa 30 rebooted. Then no ability to use Roon with the SA 30. I have tried all I know, rebooting the SA 30, switching Dirac off in all the other inputs etc. But no Roon now. But I am able to stream via MusicLife Tidal MQA’s.

I can confirm this behaviour to a point.
In my case:

  1. Started playing 88kHz MQA file from Roon 1.8
  2. Music played, volume control with Max Volume setting worked ok
  3. Engaged dirac. No reboot, but music stopped playing, and Roon started to show error messages, like “music playback not possible cause device refused connection”, “music playback not possible cause input switch”.
  4. However after a while playlist continued and it turnes out 44,1kHz non-MQA files played ok.
  5. After this volume control got messed up, as it was before the fix (multiple key-presses needed, max vol is 16, when 40 is set in Roon).
  6. Tried changing Roon MQA mode (SA30 to rendered only, than back Decoder and Rendered, with Roon’s core rendered disabled) to na avail. Still no playback of MQA hi-res
  7. Amp reboot - volume controls fixed, but MQA hi-res files are still not playing. Non-MQA 44.1kHz play ok.
  8. Disabling DL now doesn’t change anything.

Haven’t tested yet MusicLife.

One more small quirk i found. When setting Max Volume options with a know on the device, encoder seems to work strangely slow (like it was missing some steps) when setting up “Max Volume”, but works ok when setting “Max Net Volume”.

One more update - before trying Roon i have tried Net Reset from the amp menu. No pops and reboot for me.

I went into the SA 30 set up in roon and set the resync delay to max, 10,000ms. I then engaged Roon while Music Life was streaming and Roon locked and starting playing tracks. I have played both rebook upsampled to 172, and now playing a MQA 192. All without distortion. I have not tried to reengage the Dirac filter or play analog. I am letting Roon play for a while to see if it starts to mess up.

Ken

Update: Point 8 from my previous post is not valid.
Disabling DL works ok and MQA playback is restored. I forgot DL curve is per input, and when Roon was not working, it switched back to different input, where i have disabled DL.
Now Roon again works, but not with both DL and MQA files. Also again testing this caused Max Volume to misbehave and report different value to Roon, which messed up volume control. Amp reboot fixed it.

Have you tried DL with an analog input? My SA 30 goes silent on analog input and DL. So basically no Dirac Live. I may reset the system and net again and reload the Dirac filter .

No, i haven’t. Have no analogue sources.

You probably have no grey hair either! :laughing:

I do :frowning:
But i’m blonde, so not that visible :rofl:
But that’s kind of off topic :wink:

I had to check this with support, this should work providing DIRECT is off.

From my logs (nSDK log):
20210308 16:33:31.571 [2556.2571] DEBUG HostLink: Service ID: roon
20210308 16:33:31.571 [2556.2571] DEBUG HostLink: Audio input is internal now.
20210308 16:33:31.572 [2556.2571] DEBUG HostLink: MQA state: 1
20210308 16:33:31.572 [2556.2571] DEBUG HostLink: Sending out MQA status response 0
20210308 16:33:31.573 [2556.2571] DEBUG HostLinkTransportLayer: Sending Frame: 0x0004 - message id: StateChangedMessage 0x09 - count: 9 0x000b - tag: PlayerPlayStatus 0xcc - encoding: Uint8 0x02 - value: Playing 0x0014 - tag: MetaTrackLength 0xd3 - encoding: Int64 0x0000000000069780 - value: 432000 0x000c - tag: MetaTitle 0xc5 - encoding: Bin16 0x0010 - size: 16 0x000d - tag: MetaAlbum 0xc5 - encoding: Bin16 0x0021 - size: 33 0x000f - tag: MetaArtist 0xc5 - encoding: Bin16 0x0006 - size: 6 0x0010 - tag: MetaMimeType 0xc5 - encoding: Bin16 0x0000 - size: 0 0x0309 - tag: ArcamSampleRate 0xcc - encoding: Uint8 0x04 - value: 4 0x0304 - tag: ArcamChromecastAppName 0xc5 - encoding: Bin16 0x0000 - size: 0 0x0312 - tag: Unknown (786) 0xcc - encoding: Uint8 0x00 - value: 0
20210308 16:33:31.573 [2556.2571] DEBUG HostLinkTransportLayer: Sending Packet: 0xfeff - sop 0x0074 - length: 116 0x23 - flags: last message 0xba - frame id: 186 0x00 - packet id: 0 0x00 - padding
–8<-------------------- Stack --------------------8<–
20210308 16:33:31.647 [2875.2892] Program arguments: ./nsdk_streamer --serviceName com.ti.nsdk.streamer_app_default --objectPath /streamer_default --loggerConfig log.properties
20210308 16:33:31.647 Error: signal 11:
/usr/lib/libnsdk_api.so(_ZN14nsdkStacktrace9dumpStackEj+0x20)[0xf6db4dc8]
/usr/lib/libnsdk_api.so(_ZN14nsdkStacktrace14signal_handlerEi+0xe4)[0xf6db4f70]
/lib/libc.so.6(__default_sa_restorer+0x0)[0xf65a4a30]
–8<-----------------------------------------------8<–
20210308 16:33:31.663 [2584.2661] FATAL WatchDog: ==Report file:==Module crashed:streamer-default
20210308 16:33:31.664 [2584.2661] INFO WatchDog: Monitor: removeProcess: id=2875
20210308 16:33:31.828 [2556.2556] INFO CMSettingsWorker: written file: /media/settings/settings/mediaPlayer/playMode
20210308 16:33:31.847 [2556.2571] DEBUG HostLinkTransportLayer: Packet received: 0xfeff - sop 0x0011 - length: 17 0x23 - flags: last message 0xa2 - frame id: 162 0x00 - packet id: 0 0x00 - padding
20210308 16:33:31.847 [2556.2571] DEBUG HostLinkTransportLayer: Frame received: 0x0001 - message id: SetStateMessage 0x01 - count: 1 0x0009 - tag: PlayerVolume 0xcc - encoding: Uint8 0x10 - value: 16
20210308 16:33:31.847 [2556.2571] DEBUG HostLink: Incoming message id: 1
20210308 16:33:31.848 [2556.2571] DEBUG HostLink: received setStateMessage
20210308 16:33:31.848 [2556.2571] DEBUG HostLink: playerVolume: 16 m_displayedMaxVolume: 40
20210308 16:33:31.848 [2556.2571] DEBUG HostLink: playerVolume transfomedVal: 40
20210308 16:33:31.849 [2556.2571] DEBUG HostLinkTransportLayer: Sending Frame: 0x8001 - message id: SetStateResponseMessage 0x01 - count: 1 0x0009 - tag: PlayerVolume 0xcc - encoding: Uint8 0x01 - value: 1
20210308 16:33:31.849 [2556.2571] DEBUG HostLinkTransportLayer: Sending Packet: 0xfeff - sop 0x0011 - length: 17 0x23 - flags: last message 0xbd - frame id: 189 0x00 - packet id: 0 0x00 - padding
20210308 16:33:31.938 [2556.2571] DEBUG HostLinkTransportLayer: Packet received: 0xfeff - sop 0x0011 - length: 17 0x23 - flags: last message 0xa4 - frame id: 164 0x00 - packet id: 0 0x00 - padding
20210308 16:33:31.939 [2556.2571] DEBUG HostLinkTransportLayer: Frame received: 0x0001 - message id: SetStateMessage 0x01 - count: 1 0x0009 - tag: PlayerVolume 0xcc - encoding: Uint8 0x10 - value: 16
20210308 16:33:31.939 [2556.2571] DEBUG HostLink: Incoming message id: 1
20210308 16:33:31.939 [2556.2571] DEBUG HostLink: received setStateMessage
20210308 16:33:31.939 [2556.2571] DEBUG HostLink: playerVolume: 16 m_displayedMaxVolume: 40
20210308 16:33:31.939 [2556.2571] DEBUG HostLink: playerVolume transfomedVal: 40
20210308 16:33:31.940 [2556.2571] DEBUG HostLinkTransportLayer: Sending Frame: 0x8001 - message id: SetStateResponseMessage 0x01 - count: 1 0x0009 - tag: PlayerVolume 0xcc - encoding: Uint8 0x01 - value: 1
20210308 16:33:31.940 [2556.2571] DEBUG HostLinkTransportLayer: Sending Packet: 0xfeff - sop 0x0011 - length: 17 0x23 - flags: last message 0xc0 - frame id: 192 0x00 - packet id: 0 0x00 - padding
20210308 16:33:32.034 [2556.2571] DEBUG HostLinkTransportLayer: Packet received: 0xfeff - sop 0x0011 - length: 17 0x23 - flags: last message 0xa6 - frame id: 166 0x00 - packet id: 0 0x00 - padding
20210308 16:33:32.035 [2556.2571] DEBUG HostLinkTransportLayer: Frame received: 0x0001 - message id: SetStateMessage 0x01 - count: 1 0x0009 - tag: PlayerVolume 0xcc - encoding: Uint8 0x10 - value: 16
20210308 16:33:32.035 [2556.2571] DEBUG HostLink: Incoming message id: 1
20210308 16:33:32.036 [2556.2571] DEBUG HostLink: received setStateMessage
20210308 16:33:32.036 [2556.2571] DEBUG HostLink: playerVolume: 16 m_displayedMaxVolume: 40
20210308 16:33:32.036 [2556.2571] DEBUG HostLink: playerVolume transfomedVal: 40
20210308 16:33:32.037 [2556.2571] DEBUG HostLinkTransportLayer: Sending Frame: 0x8001 - message id: SetStateResponseMessage 0x01 - count: 1 0x0009 - tag: PlayerVolume 0xcc - encoding: Uint8 0x01 - value: 1
20210308 16:33:32.037 [2556.2571] DEBUG HostLinkTransportLayer: Sending Packet: 0xfeff - sop 0x0011 - length: 17 0x23 - flags: last message 0xc3 - frame id: 195 0x00 - packet id: 0 0x00 - padding
20210308 16:33:32.173 [2584.2661] INFO WatchDog: Monitor: addProcess: id=2895, name=nsdk_streamer
20210308 16:33:32.222 [2895.2895] INFO Streamer: Using serviceName=com.ti.nsdk.streamer_app_default, objectPath=/streamer_default
20210308 16:33:32.287 [2895.2895] INFO Streamer: MQA level set to ‘Full Decoder’, enabling MQA rendering
0:00:00.074243334 e[334m 2895e[00m 0x13e1a00 e[33;01mWARN e[00m e[00m audioresample gstaudioresample.c:1561:plugin_init:e[00m Orc disabled, can’t benchmark int vs. float resampler
0:00:00.074426959 e[334m 2895e[00m 0x13e1a00 e[33;01mWARN e[00m e[00;01;37;41m GST_PERFORMANCE gstaudioresample.c:1564:plugin_init:e[00m orc disabled, no benchmarking done

**(nsdk_streamer:2895): GStreamer-CRITICAL : range start is not smaller than end for `GstIntRange’
20210308 16:33:32.312 [2895.2895] WARN Streamer: Cannot use output settings - there is no audio sink, and the postprocessing object does not handle output
20210308 16:33:32.312 [2895.2895] INFO Streamer: initializing pipeline
20210308 16:33:32.313 [2895.2895] INFO Streamer: creating audio sink
20210308 16:33:32.316 [2895.2895] INFO Streamer: audio sink created
20210308 16:33:32.318 [2895.2895] INFO Streamer: Using a default network throttle sleep period of 8000 us
20210308 16:33:32.318 [2895.2895] INFO Streamer: pipeline initialized
20210308 16:33:32.322 [2895.2895] INFO Streamer: Setting network throttle sleep period to 8000 us
20210308 16:33:32.349 [2586.2663] WARN Roon: Streamer stopped unexpectedly, error name: , error: 0, message:
20210308 16:33:32.860 [2556.2556] INFO CMSettingsWorker: written file: /media/settings/settings/mediaPlayer/attenuation
Simple mixer control ‘Drift compensator TDM-C’,0
Capabilities: volume volume-joined
Playback channels: Mono
Capture channels: Mono
Limits: -500 - 500
Mono: 0 [50%]

Highlights are mine.