Announcement

Collapse
No announcement yet.

Community Build Radio Firmware

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    #16
    Originally posted by ralphy View Post
    Amazing. Knowing that you have the settings, makes researching alsaequals performance on the radio a worthwhile next step.
    Bonkers rather than amazing, I think.

    But Ghidra was released at around the same time as I was interested in the inner workings of the DSP plugin, so it seemed rude not to give it a try. I'm not sure that I'd repeat the exercise.

    I have attached an 'octave' script that captures my calculations and notes on methodology, etc. It might be useful to have in the tool box. Run by 'sourcing' it.

    It's worth being aware that the TI codec chip has DSP capabilities that are not being used. DSP coefficients can be set by way of an Alsa control.

    I haven't tinkered with it, and I suspect (unverified) that its quality may not match that of the DSP plugin. I have had in mind a project to use it to add a bit of bass cut to quell some of the "baritone boom" inherent in speech. Perhaps I'll look at that again, now that I have refreshed my memory on DSP processing.
    Attached Files

    Comment


      #17
      Maybe this thread is mostly about audio quality/tweaks, but if you are planning on releasing a new generic firmware it could be valuable to add support for WiFi channel 12-13. There's a simple fix here: https://forums.slimdevices.com/showt...l=1#post618694

      It's usually the access point that restricts WiFi frequencies.

      Comment


        #18
        Originally posted by robho View Post
        Maybe this thread is mostly about audio quality/tweaks, but if you are planning on releasing a new generic firmware it could be valuable to add support for WiFi channel 12-13. There's a simple fix here: https://forums.slimdevices.com/showt...l=1#post618694

        It's usually the access point that restricts WiFi frequencies.
        At least for me, this thread isn't mostly about audio tweaks, but updating the outdated software components in the radio/touch/controller firmware.

        Thanks I was aware of the wlan script changes to enable all wifi channels. My plan is to add the setrd flag based on the wpa_supplicant country code setting from a new country code setup applet.
        Ralphy

        1-Touch, 5-Classics, 3-Booms, 2-UE Radio
        Squeezebox client builds donations always appreciated.

        Comment


          #19
          Just a quick update.

          I've been successfully using the new firmware for the last 6 weeks as the changes have progressed.
          I've updated the ssh client/server and wpa_supplicant components, enabled cron, applied a few bug fixes and native LMS 8.0 support.
          As I indicated in my previous post, I'm working on an applet to set the wpa_supplicant.conf country code from the US default set in the new firmware.

          Here's a itemized list from my squeezeos github repos of the firmware changes to date.

          From https://github.com/ralph-irving/squeezeos changelog

          Code:
          Update wpasupplicant to v2.9.
          Enable busybox telnet command.
          Add baby kernel patch to fix (WE) : Wireless Event too big (33) messages.
          Update dropbear ssh server/client to 2019.78 release.
          Enable busybox cron daemon.
          Remove unused dropbear init.d script.
          Apply busybox patch to prevent zombie processes.
          Enable busybox last command.
          Fix lastlog no such file or directory remote login error messages.
          Remove libspotify LD_PRELOAD in init.d squeezeplay script.
          Add fdk-aac dependency to squeezeplay recipe.
          Add the Fraunhofer FDK AAC Codec Library recipe.
          Use baby dsp alsa module from logitech firmware 7.7.3r16676 as original source code is private.
          From https://github.com/ralph-irving/logitech-squeezeplay changlog.

          Code:
          Fix up misaligned and/or jittery text after horizontal scrolling. Squeezeplay often fails to properly "home" horizontally scrolled text when scrolling has paused. On a Squeezebox Controller, this fault may also result in "jittering" of the text.  Thanks to mrw for the patch.
          Remove obsolete libspotify based Spotify Applet.
          Add High-Efficiency Advanced Audio Coding (AAC) support.
          Always start at the first item in the Random Albums menu.
          Baby only - ignore firmware older than SR to SB migration firmware (7.7.3 r16667)
          Ralphy

          1-Touch, 5-Classics, 3-Booms, 2-UE Radio
          Squeezebox client builds donations always appreciated.

          Comment


            #20
            Originally posted by ralphy View Post
            Code:
            Fix up misaligned and/or jittery text after horizontal scrolling. Squeezeplay often fails to properly "home" horizontally scrolled text when scrolling has paused. On a Squeezebox Controller, this fault may also result in "jittering" of the text.  Thanks to mrw for the patch.
            I also made an alternative source code patch, which I think may be a better approach for SqueezePlay generally. The lua script "hacky patch" is the only way to fix the firmware without a change to the binary. Better to fix the root problem, I think.

            But... I haven't tested it for real, as I am not (yet) in a position to use modified jive binaries on my Controller or Radios. Would you be prepared to take on the testing challenge ?

            Patch attached.
            Attached Files

            Comment


              #21
              Community Build Radio Firmware

              Is the only way to test your work to build myself? Or do you have any
              binaries to give a try?

              --

              Michael
              Michael

              "It doesn't work - what shall I do?" - "Please check your server.log and/or scanner.log file!"
              (LMS: Settings/Information)

              Comment


                #22
                Originally posted by mherger View Post
                Is the only way to test your work to build myself? Or do you have any
                binaries to give a try?
                I have no binaries to try, and won't for quite a while. Hence my "request" to ralphy.

                On the other hand, if your interest is purely practical, you can install the alternative lua "hacky" patch through erland's patch installer.

                My repo is: http://downloads.sourceforge.net/project/mrw-applets/repo.xml

                Look for: Fix up misaligned and/or jittery text after horizontal scrolling, and you can join the very exclusive club of users whose Controller scrolling menus don't jitter.

                Warning: the repo xml is on sourceforge. To quote myself from another context:
                I have found that occasionally the applet does not show up in the offered list. In this case, simply back out of the menu and retry. I believe that LMS (or sourceforge) is occasionally a bit tardy in assembling the list of applets.
                You may get the same problem with the patch. FWIW, I think the problem is sourceforge's tardiness, not LMS.

                Comment


                  #23
                  Originally posted by mrw View Post
                  I have no binaries to try, and won't for quite a while. Hence my "request" to ralphy.

                  On the other hand, if your interest is purely practical, you can install the alternative lua "hacky" patch through erland's patch installer.

                  My repo is: http://downloads.sourceforge.net/pro...plets/repo.xml

                  Look for: Fix up misaligned and/or jittery text after horizontal scrolling, and you can join the very exclusive club of users whose Controller scrolling menus don't jitter.

                  Warning: the repo xml is on sourceforge. To quote myself from another context:


                  You may get the same problem with the patch. FWIW, I think the problem is sourceforge's tardiness, not LMS.
                  I can't say I have ever noticed misaligned or jittery text after scrolling on the Controller. Scrolling isn't particularly smooth but the text always looks OK. In some of the menus it sometimes "bounces" for a time after scrolling. Is that related?

                  Edit. Just tried setting scroll mode to "scroll once and stop" but it still scrolls continuously.
                  Sent from my Pixel 3a using Tapatalk
                  Last edited by slartibartfast; 2020-04-09, 11:35.
                  Living Room: Touch or Squeezelite (Pi3B) > Topping E30 > Audiolab 8000A > Monitor Audio S5 + BK200-XLS DF
                  Bedroom: Radio
                  Bathroom: Radio

                  Comment


                    #24
                    Originally posted by slartibartfast View Post
                    In some of the menus it sometimes "bounces" for a time after scrolling. Is that related?
                    Yes, "bounce" is, perhaps, a better description than "jittery".
                    Edit:
                    Regarding slight misalignment, apparent on all SqueezePlay. You may need to be suffering from OCD to observe it.
                    I became aware of the misalignment when finding the cure for bounce/jitter.
                    Last edited by mrw; 2020-04-09, 12:28.

                    Comment


                      #25
                      Originally posted by mrw View Post
                      I also made an alternative source code patch, which I think may be a better approach for SqueezePlay generally. The lua script "hacky patch" is the only way to fix the firmware without a change to the binary. Better to fix the root problem, I think.

                      But... I haven't tested it for real, as I am not (yet) in a position to use modified jive binaries on my Controller or Radios. Would you be prepared to take on the testing challenge ?

                      Patch attached.
                      Yes I can/will test your change. I can also build a regular squeezeplay package with the patch if you'd like. Just let me know what OS platform you'd prefer.
                      Ralphy

                      1-Touch, 5-Classics, 3-Booms, 2-UE Radio
                      Squeezebox client builds donations always appreciated.

                      Comment


                        #26
                        Originally posted by mherger View Post
                        Is the only way to test your work to build myself? Or do you have any
                        binaries to give a try?

                        --

                        Michael
                        You don't need to build it. I've sent you an email with download details.
                        Ralphy

                        1-Touch, 5-Classics, 3-Booms, 2-UE Radio
                        Squeezebox client builds donations always appreciated.

                        Comment


                          #27
                          Community Build Radio Firmware

                          > You don't need to build it. I've sent you an email with download
                          > details.


                          Thanks a lot! Got it up and running. And it immediately showed a flaw in
                          my LMS8 compatibility check: your firmware would still trigger the
                          warning in LMS8 about using an incompatible firmware. That should be
                          fixed now.

                          --

                          Michael
                          Michael

                          "It doesn't work - what shall I do?" - "Please check your server.log and/or scanner.log file!"
                          (LMS: Settings/Information)

                          Comment


                            #28
                            Originally posted by ralphy View Post
                            Yes I can/will test your change. I can also build a regular squeezeplay package with the patch if you'd like. Just let me know what OS platform you'd prefer.
                            Thank you. The "obvious" platform is the Controller, meaning 'jive' as opposed to 'baby', I suppose. I've never tinkered with the Controller firmware, though.

                            Comment


                              #29
                              Originally posted by mrw View Post
                              Thank you. The "obvious" platform is the Controller, meaning 'jive' as opposed to 'baby', I suppose. I've never tinkered with the Controller firmware, though.
                              Yes, but I wasn't sure. I've sent you a PM with download details.

                              While testing the controller firmware in qemu, as I don't own a controller, I noticed that wpa_supplicant was still even an older version than what was originally included with the radio so didn't recognize the country= setting in wpa_supplicant.conf. For now, I've removed the setting in git and controller firmware.

                              Listing the versions of wpa supplicant available to bitbake reveals two package names. The touch and controller recipes are using wpa-supplicant whereas the radio uses wpasupplicant.

                              Code:
                              bitbake --show-versions | grep ^wpa
                              wpa-supplicant                           0:0.5.8-r5                     
                              wpasupplicant                              0:2.9-r0
                              The jive_7.8.0_r16785 firmware still has the original 0.5.7 wpa_* binaries and includes your patch. Once I track down why the different packages perhaps you can try replacing just the wpa_supplicant and wpa_cli binaries with 2.9 to confirm they work okay. I'll dig my touch out of storage and try the updated ones there first.

                              At this point all my firmware builds have both ssh and telnet login access enabled by default. I did that while testing the dropbear updates in case they failed I could still login to the radio via telnet. I haven't pushed those changes as I intend to remove telnetd and disable remote login (ssh) by default as it is today in the official logitech firmware builds.
                              Last edited by ralphy; 2020-04-11, 16:14. Reason: wpa_supplicant is v0.5.7 not 0.5.8
                              Ralphy

                              1-Touch, 5-Classics, 3-Booms, 2-UE Radio
                              Squeezebox client builds donations always appreciated.

                              Comment


                                #30
                                Originally posted by ralphy View Post
                                Yes, but I wasn't sure. I've sent you a PM with download details.
                                Saw this after your PM.

                                To confirm: the patch works as expected, Controller bouncing/jittery scrolling menus are now gone, and a scrolling menu homes itself properly.

                                I'll look over your wpa observations and other points when time permits.

                                Comment

                                Working...
                                X