Announcement

Collapse
No announcement yet.

ANNOUNCE: Squeezelite-ESP32 (dedicated thread)

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

    Originally posted by CJS View Post
    I did an attempt to update the Recovery FW of my SqueezeAMP to: v0.5.668-IDFv3.1.5-SqueezeAmp4M. But sofar without succes. Luckily nothing is broken. After my failed attempt the SqueezeAMP still has the Recovery FW version quoted above.

    - TX (ftdi) to RX (sa)
    - RX (ftdi) to TX (sa)
    - DTR (ftdi) to DWL (sa)
    - CTS (ftdi) to RST (sa)
    - GND (ftdi) to GND (sa)
    - VCC (ftdi) and 3.3 (sa) not connected.

    Is something wrong with these settings? I selected 32Mbit Flash Size (32Mbit=4MByte). Is this correct? COM14 is the serial port number of the FTDI board.
    After pressing START the FLASH process seems to start OK (SYNC status stays green), but the FLASH process seems to take forever. After circa half an hour I presssed the STOP button since I assumed that something was wrong. The terminal window shows an endless ....._____ pattern. Is this normal? Hints or suggestions are welcome!
    This is RTS that goes to RST, not CTS
    LMS 8.2 on Odroid-C4 - SqueezeAMP!, 5xRadio, 5xBoom, 2xDuet, 1xTouch, 1xSB3. Sonos PLAY:3, PLAY:5, Marantz NR1603, Foobar2000, ShairPortW, 2xChromecast Audio, Chromecast v1 and v2, Squeezelite on Pi, Yamaha WX-010, AppleTV 4, Airport Express, GGMM E5, RivaArena 1 & 3

    Comment


      Update of Recovery FW now successful

      Originally posted by sle118 View Post
      This is an indication that the esp32 isn't responding. The serial flash process should take a minute or two.
      If you are using an FTDI adapter that can reset the chip and set it in flash mode, check your connection.
      Originally posted by philippe_44 View Post
      This is RTS that goes to RST, not CTS
      Hi sle118 and Philippe, thank you both for your clues. The connection from CTS (ftdi) to RST (sa) was indeed the problem. CTS and RST are both inputs that both have an internal pullup to 3.3V. To start the Flash process the RST input of the SqueezeAMP board must be temporarily pulled to GND, and that never happened => So the FLASH process never started.

      My FT232RL (FTDI) board does not provide an RTS output on its pin header. I then assumed that the CTS pin on the pin header was just a different name for RTS, but that assumption was clearly wrong. Now I know better.

      Originally posted by philippe_44 View Post
      - RTS to RST (reset) - or press the tiny reset button on the board, or jump DST to GND shortly
      .....
      Erase the board (optional), then click on start and after you click, jump wires/press reset button if your FTDI board did not provide RTS
      (btw @Philippe: there is a small typo in the first sentence: "or jump DST to GND shortly" should read "or jump RST to GND shortly", right?)

      This is the instruction that I should have followed in the first place! So I removed the connection between CTS (ftdi) and RST (sa). Then after clicking on START in the Espressif download tool I pressed the tiny RST button on the SqueezeAMP board. => Now the Recovery FW was sucessfully flashed. The FLASH process took less than a minute with 921600 baud rate. Only now I noticed that there is a progress bar at the bottom of the Flash tool GUI, that was stuck at 0 in my first failed attempt. Thanks again sle118 and Philippe for your help!

      EDIT: Now I see that the FTDI board does have an RTS output, but this signal is not available on the 6-pins pin header. Alternatively an extra pin can be soldered on the RTS output of the FTDI board, that can then be connected to the RST input of the SqueezeAMP board. Then it should not be neccesary anymore to press the reset button to start the firmware download. Note that I have not tested this.
      Last edited by CJS; 2020-09-20, 12:46.
      | LMS 8.3.2 on Linux Mint | Squeezebox Boom | RPi0W + pCP 8.2.0 + HiFiBerry DAC Zero | SqueezeAMP | ESP Muse Luxe |

      Comment


        Originally posted by CJS View Post
        Now I see that the FTDI board does have an RTS output, but this signal is not available on the 6-pins pin header. Alternatively an extra pin can be soldered on the RTS output of the FTDI board, that can then be connected to the RST input of the SqueezeAMP board. Then it should not be neccesary anymore to press the reset button to start the firmware download. Note that I have not tested this.
        This is exactly what I did on my adapter. Then I connected to the SqueezeAmp using a row of jumper cables and when they were aligned, I used not glue to form a dedicated header. This allows painless flashing/serial monitoring.
        LMS 7.9 - 1xRadio, 1xBoom, 5xDuet,3xTouch, 1 SB2. Sony PlayStation, Emby, Chromecast v1 and v2 and...
        6xSqueezeAmp, several other ESP32-Wrover boards with jumper wires flying around, some with ethernet!

        Comment


          Originally posted by CJS View Post
          EDIT: Now I see that the FTDI board does have an RTS output, but this signal is not available on the 6-pins pin header. Alternatively an extra pin can be soldered on the RTS output of the FTDI board, that can then be connected to the RST input of the SqueezeAMP board. Then it should not be neccesary anymore to press the reset button to start the firmware download. Note that I have not tested this.
          I have now tested this and as already confirmed by sle118, it works.

          Picture of FTDI USB to Serial adapter board with an extra pin soldered on the RTS output. The five pins that need to be connected to the SqueezeAMP board are indicated in red text.
          Click image for larger version

Name:	USB_to_Serial_FTDI.jpg
Views:	1
Size:	167.2 KB
ID:	1569896

          Picture showing connections between FTDI board and SqueezeAMP board:
          Click image for larger version

Name:	FTDI_to_SqueezeAMP_connections.jpg
Views:	1
Size:	170.7 KB
ID:	1569897

          Following five connections are needed between FTDI board and SqueezeAMP (sa) board:
          - TX (ftdi) to RX (sa)
          - RX (ftdi) to TX (sa)
          - DTR (ftdi) to DWL (sa)
          - RTS (ftdi) to RST (sa), via extra pin soldered on FTDI board
          - GND (ftdi) to GND (sa)
          With this setup firmware can be flashed without pressing the RST button on the SA board.

          Screenshot showing Espressif download tool GUI after an succesful flash of the SqueezeAMP Recovery FW:
          Click image for larger version

Name:	ESP32_download_tool_GUI_MAC_obscured.png
Views:	1
Size:	31.2 KB
ID:	1571990
          Last edited by CJS; 2021-04-18, 10:56. Reason: MAC addresses obscured to avoid abuse
          | LMS 8.3.2 on Linux Mint | Squeezebox Boom | RPi0W + pCP 8.2.0 + HiFiBerry DAC Zero | SqueezeAMP | ESP Muse Luxe |

          Comment


            Hi. I'm a forum newbie, so please be gentle!

            I have an Esp32 audio kit V2.2 board which I have made into a little portable squeezebox player.
            I am loving the firmware and the board.

            Being a 'portable' device, I thought I would take it to work to use as a Bluetooth player. Here is where things got interesting! With no WiFi and no LMS, the board would broadcast its AP and I could connect to the Webpage, and link to the Bluetooth to play music. However as the board couldn't find a WiFi network to connect to, it periodically resets itself, which then makes listening to music a tad sporadic!
            My question is whether this behaviour can be modified to allow Bluetooth or airplay playback without the board connecting to a WiFi network?

            Comment


              Originally posted by funkybassman View Post
              Hi. I'm a forum newbie, so please be gentle!

              I have an Esp32 audio kit V2.2 board which I have made into a little portable squeezebox player.
              I am loving the firmware and the board.

              Being a 'portable' device, I thought I would take it to work to use as a Bluetooth player. Here is where things got interesting! With no WiFi and no LMS, the board would broadcast its AP and I could connect to the Webpage, and link to the Bluetooth to play music. However as the board couldn't find a WiFi network to connect to, it periodically resets itself, which then makes listening to music a tad sporadic!
              My question is whether this behaviour can be modified to allow Bluetooth or airplay playback without the board connecting to a WiFi network?
              @funkybassman, the firmware is actually built to support bluetooth playback regardless of its WiFi connection state. Could you please provide more details on the issue? For example, which version of the firmware you are running, including build number, if you have activated Airplay, telnet, etc. Also, are you connecting to the access point to turn on bluetooth when away? I'm wondering why you are connecting there in the first place.
              LMS 7.9 - 1xRadio, 1xBoom, 5xDuet,3xTouch, 1 SB2. Sony PlayStation, Emby, Chromecast v1 and v2 and...
              6xSqueezeAmp, several other ESP32-Wrover boards with jumper wires flying around, some with ethernet!

              Comment


                Originally posted by sle118 View Post
                @funkybassman, the firmware is actually built to support bluetooth playback regardless of its WiFi connection state. Could you please provide more details on the issue? For example, which version of the firmware you are running, including build number, if you have activated Airplay, telnet, etc. Also, are you connecting to the access point to turn on bluetooth when away? I'm wondering why you are connecting there in the first place.
                Doh! I've browsed enough of these forums to know that!
                The firmware version is v0.5.668-IDFv3.1.5-ESP32-A1S,
                I have an i2c SSD1306 oled display and a rotary Encoder connected to the board.
                I have not activated telnet.
                Initially, I could not connect to the Bluetooth, so I connected to the AP, then was able to connect via Bluetooth pairing.
                I will try and emulated the scenario and post my findings...

                Comment


                  Originally posted by funkybassman View Post
                  Doh! I've browsed enough of these forums to know that!
                  The firmware version is v0.5.668-IDFv3.1.5-ESP32-A1S,
                  I have an i2c SSD1306 oled display and a rotary Encoder connected to the board.
                  I have not activated telnet.
                  Initially, I could not connect to the Bluetooth, so I connected to the AP, then was able to connect via Bluetooth pairing.
                  I will try and emulated the scenario and post my findings...
                  It's a bug, not really a feature , that I've introduced with auto-reboot to try to workaround the issue of players being unable to connect although WiFi is good and a LMS server is available. Logic is the following (a connection/discovery attempt lasts 5 seconds)

                  - At startup, if no LMS server is found, it will keep trying forever (whether a server is manually set or not) - no reboot will happen
                  - If at last one connection to a server has been successful but fails later, two behaviors are possible
                  1- if the server has been manually set, 25 re-connection attempts ware made then the device is rebooted
                  2- if the server has been auto-discovered, 5 re-connection attempts to that same server are made, then 5 server discovery attempts are performed and if they all fails, device is rebooted.
                  - The reboot is further delayed by 30s so that, if there is a reboot loop (wrong NVS parameters), user has enough time to access the web UI and fix his/her mess
                  - Obviously, after first reboot, device is in fresh startup state so it has no "memory" of a previously connected server, so there is no further reboot (no loop).

                  So in your case, when you carry the device outside, there WILL BE a reboot if it has been connected to a LMS server once. That reboot will happen 60~160 seconds after first connection loss. If you switch it on with no WiFi, then it will go in AP mode but search for a LMS server forever thus BT should be available.

                  NB: issue fixed in latest release

                  PLEASE NOTE THAT I'M NOT BACKPORTING ANYMORE TO "MAKE" VERSION, SO YOU HAVE TO SWITCH TO "CMAKE"
                  Last edited by philippe_44; 2020-09-26, 08:53.
                  LMS 8.2 on Odroid-C4 - SqueezeAMP!, 5xRadio, 5xBoom, 2xDuet, 1xTouch, 1xSB3. Sonos PLAY:3, PLAY:5, Marantz NR1603, Foobar2000, ShairPortW, 2xChromecast Audio, Chromecast v1 and v2, Squeezelite on Pi, Yamaha WX-010, AppleTV 4, Airport Express, GGMM E5, RivaArena 1 & 3

                  Comment


                    OK.
                    I have had a chance to check the issue.
                    The reset seems to be consistent at around 4min 30sec.
                    I updated the firmware to development.140-ESP32-A1S.
                    The telnet was checked as on, but switching off made no difference.
                    I attach the nvs-config file which hopefully gives enough information about my setup?
                    Attached Files

                    Comment


                      Originally posted by philippe_44 View Post
                      It's a bug, not really a feature , that I've introduced with auto-reboot to try to workaround the issue of players being unable to connect although WiFi is good and a LMS server is available. Logic is the following (a connection/discovery attempt lasts 5 seconds)

                      - At startup, if no LMS server is found, it will keep trying forever (whether a server is manually set or not) - no reboot will happen
                      - If at last one connection to a server has been successful but fails later, two behaviors are possible
                      1- if the server has been manually set, 25 re-connection attempts ware made then the device is rebooted
                      2- if the server has been auto-discovered, 5 re-connection attempts to that same server are made, then 5 server discovery attempts are performed and if they all fails, device is rebooted.
                      - The reboot is further delayed by 30s so that, if there is a reboot loop (wrong NVS parameters), user has enough time to access the web UI and fix his/her mess
                      - Obviously, after first reboot, device is in fresh startup state so it has no "memory" of a previously connected server, so there is no further reboot (no loop).

                      So in your case, when you carry the device outside, there WILL BE a reboot if it has been connected to a LMS server once. That reboot will happen 60~160 seconds after first connection loss. If you switch it on with no WiFi, then it will go in AP mode but search for a LMS server forever thus BT should be available.

                      NB: issue fixed in latest release

                      PLEASE NOTE THAT I'M NOT BACKPORTING ANYMORE TO "MAKE" VERSION, SO YOU HAVE TO SWITCH TO "CMAKE"
                      Forgive me for asking, what is the latest release? I thought I'd running the latest firmware.

                      Comment


                        I suspect that the new build has not been published as binaries yet because the newest that I see on Github is
                        development.140.master-cmake 2020-09-13
                        Paul Webster
                        Author of "Now Playing" plugins covering Radio France (FIP etc), PlanetRadio (Bauer - Kiss, Absolute, Scala, JazzFM etc), KCRW, ABC Australia and CBC/Radio-Canada
                        and, via the extra "Radio Now Playing" plugin lots more - see https://forums.slimdevices.com/showt...Playing-plugin

                        Comment


                          Originally posted by philippe_44 View Post
                          .....
                          PLEASE NOTE THAT I'M NOT BACKPORTING ANYMORE TO "MAKE" VERSION, SO YOU HAVE TO SWITCH TO "CMAKE"
                          @philippe_44 and @sle118:
                          CMAKE fw works nicely for me since a while.

                          However, if I open the wifi-manager gui, i find the infomation bubbles of the log details a bit annoying - especailly, if errors are reported, these bubbles can go on for minutes....
                          (And the infomation in there is not different from what I get in the status tab, I think?)
                          -> Would it be possible to make these bubbles optional?

                          Other than that I can only repeat my self: Such a great project you guys put together!!!
                          SqueezeAmp w/ Squeezelite-ESP32 has become my main listening device. Its rock-solid.
                          LMS 8.x on RasPi4 (running along with OMV and AdGuard)
                          Player: 5 x Squeezebox Classic, Slimp3, SqueezeAmp
                          2nd System: PiCorePlayer (and LMS) on Pi Zero

                          Comment


                            Originally posted by slimhase View Post
                            CMAKE fw works nicely for me since a while.

                            -> Would it be possible to make these bubbles optional?
                            +1
                            Ralphy

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

                            Comment


                              Originally posted by slimhase View Post
                              @philippe_44 and @sle118:
                              CMAKE fw works nicely for me since a while.

                              However, if I open the wifi-manager gui, i find the infomation bubbles of the log details a bit annoying - especailly, if errors are reported, these bubbles can go on for minutes....
                              (And the infomation in there is not different from what I get in the status tab, I think?)
                              -> Would it be possible to make these bubbles optional?

                              Other than that I can only repeat my self: Such a great project you guys put together!!!
                              SqueezeAmp w/ Squeezelite-ESP32 has become my main listening device. Its rock-solid.
                              I am currently working on a UI revamp. I am thinking of using an indicator (counter, for example) on the tab button to indicate new messages.
                              LMS 7.9 - 1xRadio, 1xBoom, 5xDuet,3xTouch, 1 SB2. Sony PlayStation, Emby, Chromecast v1 and v2 and...
                              6xSqueezeAmp, several other ESP32-Wrover boards with jumper wires flying around, some with ethernet!

                              Comment


                                Originally posted by sle118 View Post
                                I am currently working on a UI revamp. I am thinking of using an indicator (counter, for example) on the tab button to indicate new messages.
                                That sounds great - thanks sle118!
                                LMS 8.x on RasPi4 (running along with OMV and AdGuard)
                                Player: 5 x Squeezebox Classic, Slimp3, SqueezeAmp
                                2nd System: PiCorePlayer (and LMS) on Pi Zero

                                Comment

                                Working...
                                X