Having investigated the issue further over the last few months, somewhat
sporadically, I have pursued an alternative approach to the problem. It
appears to be effective, and has, in some form, been running on my
Radios for the last five months or so without any obvious adverse
effects.

This "solution" requires installation of a modified -jive_alsa- that
eliminates the possibility of ALSA subsystem under-runs. In my
experience a "Bass Amp problem" is invariably preceded by an ALSA
under-run, and I believe that some of these under-runs, for unknown
reasons, trigger the problem. So, eliminate the under-run and the
problem goes away.

There is a small downside, in that any time that an under-run would have
otherwise occurred, we will get an small, audible, click in the
playback. I haven't particularly become aware of this in "real use".

The replacement -jive_alsa- can be operated with or without adjusting
the ALSA buffer size. I have been running it with a buffer size set to
30 milliseconds for some months now, to good effect.

Unfortunately the "Patch Installer" applet cannot install this
replacement binary file, so manual installation is the only option at
present. In due course I shall endeavour to make up an "Installer
Applet" that will do the job.

It is possible that the replacement -jive_alsa-  may expose an
undiscovered defect in the firmware, or trigger an issue that I am
simply unaware of. I haven't become aware of any issues, but
installation is at your own risk.

MANUAL INSTALLATION

Enable Remote Login on your radio, note the password, and log in using
ssh or your tool of choice. On a Linux or macOS system this would be:

Code:
--------------------
    ssh -l root your_radio
--------------------


Then execute the following commands on the Radio. Lines preceded with
'#' are not intended to be executed, these are just comments:

Code:
--------------------
    
  # Fetch the replacement jive_alsa
  wget 
http://mrw-applets.s3-website-us-east-1.amazonaws.com/jive_alsa_fix_bass_dropout_1.0.zip
  unzip jive_alsa_fix_bass_dropout_1.0.zip
  
  # Verify checksum of extracted file
  echo "c14cb5b9ad789e53eb18c8dd3322a7d2  
jive_alsa_fix_bass_dropout_R_2020_04_11"|md5sum -c
  
  # Make executable
  chmod +x jive_alsa_fix_bass_dropout_R_2020_04_11
  
  # Check that it appears to work:
  ./jive_alsa_fix_bass_dropout_R_2020_04_11
  
  # If all ok:
  # Move existing jive_alsa to one side
  mv /usr/bin/jive_alsa /usr/bin/jive_alsa.original
  # Install new version
  mv jive_alsa_fix_bass_dropout_R_2020_04_11 /usr/bin/jive_alsa
  # Again, check that it appears to work:
  /usr/bin/jive_alsa
  
  # If ok, tidy up and restart the radio
  rm jive_alsa_fix_bass_dropout_1.0.zip
  sync
  reboot
  
--------------------

The expected dialogue is as follows:

Code:
--------------------
    
  # wget 
http://mrw-applets.s3-website-us-east-1.amazonaws.com/jive_alsa_fix_bass_dropout_1.0.zip
  Connecting to mrw-applets.s3-website-us-east-1.amazonaws.com (52.217.13.59:80)
  jive_alsa_fix_bass_d 100% 
|******************************************************************************************************************************************************************************************************************|
 28054  00:00:00 ETA
  # unzip jive_alsa_fix_bass_dropout_1.0.zip
  Archive:  jive_alsa_fix_bass_dropout_1.0.zip
  inflating: jive_alsa_fix_bass_dropout_R_2020_04_11
  # echo "c14cb5b9ad789e53eb18c8dd3322a7d2  
jive_alsa_fix_bass_dropout_R_2020_04_11"|md5sum -c
  jive_alsa_fix_bass_dropout_R_2020_04_11: OK
  # chmod +x jive_alsa_fix_bass_dropout_R_2020_04_11
  # ./jive_alsa_fix_bass_dropout_R_2020_04_11
  Usage: ./jive_alsa_fix_bass_dropout_R_2020_04_11 [-v] -d <playback_device> 
[-c <capture_device>] -b <buffer_time> -p <period_count> -s <sample_size:24|16> 
-f <flags>
  Patched to mitigate against 'bass drop out'. Release 11 April 2020.
  # mv /usr/bin/jive_alsa /usr/bin/jive_alsa.original
  # mv jive_alsa_fix_bass_dropout_R_2020_04_11 /usr/bin/jive_alsa
  # /usr/bin/jive_alsa
  Usage: /usr/bin/jive_alsa [-v] -d <playback_device> [-c <capture_device>] -b 
<buffer_time> -p <period_count> -s <sample_size:24|16> -f <flags>
  Patched to mitigate against 'bass drop out'. Release 11 April 2020.
  # rm jive_alsa_fix_bass_dropout_1.0.zip
  # sync
  # reboot
  
--------------------


The Radio will be restarting itself at this point.

To verify that the replacement -jive_alsa- is running, log into the
radio again, and look for the tell tale trace message in the log:

Code:
--------------------
    
  grep squeezeplay /var/log/messages
  Jul 10 13:19:44 squeezeplay: main:1265 This is a modified version of 
jive_alsa that mitigates against 'bass drop out'. Release version 11 April 2020.
  Jul 10 13:19:45 squeezeplay: pcm_test:855 max sample rate 48000
  Jul 10 13:19:45 squeezeplay: audio_thread_execute:882 audio_thread_execute
  
--------------------


To remove the replacement -jive_alsa-, either restore factory settings
by pressing the "MORE|+" key while powering up the Radio, or put back
the original -jive_alsa- that we saved during installation:


Code:
--------------------
    
  mv /usr/bin/jive_alsa.original /usr/bin/jive_alsa
  sync
  reboot
  
--------------------


Remember to disable remote login when you are all done.


THE CHANGES MADE TO JIVE_ALSA

I have published the changes that I have made to a forked version of
-Squeezeplay-. The changes are in a git tree named -baby_bass_drop_out- 
and may be found here:
https://github.com/mw9/squeezeplay/tree/baby_bass_drop_out/release/jive_alsa_fix_bass_drop_out_final

The binary was built using the same build system,-squeezeos-, as was
used to create the original firmware. As far as I can tell, it would
also work on a regular "UE" Radio firmware, but I haven't checked that.

I have converted the changes into -squeezeos- form, these may be found
here: https://github.com/mw9/squeezeos/tree/baby_bass_dropout


Any comments or feedback welcome.


------------------------------------------------------------------------
mrw's Profile: http://forums.slimdevices.com/member.php?userid=38299
View this thread: http://forums.slimdevices.com/showthread.php?t=104141

_______________________________________________
Radio mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/radio

Reply via email to