I am using an PI3B+ / HiFiBerry DAC + DSP card and HiFiBerryOS image for PI3. All seems to work nicely, except the 'store sound adjustments' which gives a failure message. Is this a known bug? any idea how to fix this?
12 comments
-
Tuomas Hi there,
sorry that you're having an issue with this feature. This is not a known bug, but I'll help you diagnose it and hopefully we can devise a fix.
Are you comfortable with using SSH to log into the product to check things for me? If not, just let me know and I'll help you get started.
1. Make sure Remote Login (SSH) is turned on for your product. You'll find this under the General menu, along with instructions on how to log in. Please do so.
2. Once logged in, we're going to try running the following command, which is what the "Store Sound Adjustments" button does behind the scenes:
dsptoolkit --timeout 60 store
Do you get errors from this?
Best,
Tuomas from Bang & Olufsen
-
Daansnijders62 Hi Tuomas, truly appreciate that!
I did run the command as you suggested.
see results below:
-----
# dsptoolkit --timeout 60 store
checking attribute tags from XML profile
storing balanceRegister
storing spdifTXUserDataSource
storing spdifTXUserDataL0
storing spdifTXUserDataL1
storing spdifTXUserDataL2
storing spdifTXUserDataL3
storing spdifTXUserDataL4
storing spdifTXUserDataL5
storing spdifTXUserDataR0
storing spdifTXUserDataR1
storing muteInvertRegister
storing enableSPDIFRegister
storing customFilterRegisterBankLeft
storing customFilterRegisterBankRight
storing toneControlRightRegisters
storing toneControlLeftRegisters
storing channelSelectDRegister
storing channelSelectCRegister
storing channelSelectBRegister
storing channelSelectARegister
storing invertDRegister
storing invertCRegister
storing invertBRegister
storing invertARegister
storing IIR_D
storing IIR_C
storing IIR_B
storing IIR_A
storing levelsARegister
storing levelsBRegister
storing levelsCRegister
storing levelsDRegister
storing volumeControlRegister
storing volumeLimitPiRegister
storing delayARegister
storing delayDRegister
storing delayCRegister
storing delayBRegister
storing volumeLimitSPDIFRegister
ERROR:root:0
ERROR:root:0
ERROR:root:1
ERROR:root:2
ERROR:root:0
ERROR:root:0
ERROR:root:0
ERROR:root:0
ERROR:root:0
ERROR:root:0
ERROR:root:0
ERROR:root:0
ERROR:root:0
ERROR:root:0
ERROR:root:0
ERROR:root:0
ERROR:root:0
ERROR:root:0
ERROR:root:0
ERROR:root:0
ERROR:root:0
ERROR:root:0
ERROR:root:0
Traceback (most recent call last):
File "/bin/dsptoolkit", line 29, in <module>
cmdline.main()
File "/usr/lib/python3.9/site-packages/hifiberrydsp/dsptoolkit.py", line 1017, in main
File "/usr/lib/python3.9/site-packages/hifiberrydsp/dsptoolkit.py", line 880, in cmd_store
File "/usr/lib/python3.9/site-packages/hifiberrydsp/dsptoolkit.py", line 981, in store_attributes
File "/usr/lib/python3.9/site-packages/hifiberrydsp/parser/xmlprofile.py", line 175, in replace_eeprom_cells
File "/usr/lib/python3.9/site-packages/hifiberrydsp/parser/xmlprofile.py", line 473, in replace_memory_data
File "/usr/lib/python3.9/site-packages/hifiberrydsp/parser/xmlprofile.py", line 111, in replace_in_memory_block
AssertionError
timeout waiting from response from server
Terminated
#
-----
-
HiFiBerry team Ok, this looks like some bug in DSP toolkit. What DSP profile are you using and what is the output of
dsptoolkit check-eeprom -
Daansnijders62 I am using DSP profile DAC + DSP Universal version 12 (think that is the default).
dsptoolkit check-eeprom gives me the following:
---
# dsptoolkit check-eeprom
EEPROM content matches running profile, checksum 7B03B17AD5B6B1A0E0DACB29BF31F024
#
---
-
Daansnijders62 any update / advise yet?
ps: I used the hifiberryos image for PI3:
-
HiFiBerry team No, I won't find time to look into this before next week. As you're using HBOS anyway, there is no need for this as the settings are restored in any case when starting HBOS.
-
Daansnijders62 Currently using HBOS because i have to, but like to use the DAC+ DSP standalone after storing config to internal memory. Hence my request....but not super urgent. I'll wait for your feedback after you did find some time to look into this. Have a great weekend!
-
HiFiBerry team Looks like a bug in the DSP profile. You can do the following workaround:
Edit /var/lib/hifiberry/dspprogram.xml and cange all the spdifTX registers to stroable="no":
<metadata type="spdifTXUserDataSource" storable="no">63135</metadata>
<metadata type="spdifTXUserDataL0" storable="no">63135</metadata>
<metadata type="spdifTXUserDataL1" storable="no">63168</metadata>
<metadata type="spdifTXUserDataL2" storable="no">63169</metadata>
<metadata type="spdifTXUserDataL3" storable="no">63170</metadata>
<metadata type="spdifTXUserDataL4" storable="no">63171</metadata>
<metadata type="spdifTXUserDataL5" storable="no">63172</metadata>
<metadata type="spdifTXUserDataR0" storable="no">63173</metadata>
<metadata type="spdifTXUserDataR1" storable="no">63185</metadata>Then restart the DSP server
systemctl restart sigmatcpThen run the dsptoolkit store command again.
-
Daansnijders62 Thanks, yes that works.
But what do we loose? Storing sound adjustments for optical source?
Optical input is the only source i can use with the PI/HBOS running.
Will you fix this in next iteration (vs 13) of the DSP profile?
Thanks again for your help.
-
HiFiBerry team No, these are user data that don't need to be stored at all. The next HBOS release will ignore these data (patch is already done).
Switching to the optical input is a functionality that's handled in HiFiBerryOS. If you want to use this with another system, you need to create a DSP profile that either simply mixes SPDIF and Pi audio or switches between these in a way you like it. -
Daansnijders62 ok, cool and clear.
what is the ETA for the next HBOS release/
Thanks for your help and have a nice day!
-
HiFiBerry team Can't say, probably not soon as the last release is just a week old.
But it won't change anything for you anyway as you already applied the fix by yourself.