Welcome to the Pycom forum Forum
    • \[\[global:header.categories\]\]
    • \[\[global:header.recent\]\]
    • \[\[global:header.tags\]\]
    • \[\[global:header.popular\]\]
    • Login

    Explore Pybytes | Official Documentation | Report a Firmware Bug/Issue | GitHub

    V3.1 Expansion board and Debian Linux

    Scheduled Pinned Locked Moved Expansion Board
    11 Posts 2 Posters 111 Views 2 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • N Offline
      netskink
      last edited by

      I'm new to pycom. I wonder if this is a good decision given I use linux, but oh well.

      I am using this website as a reference. https://docs.pycom.io/gettingstarted/installation/firmwaretool/

      I use glibc 2.28. I downloaded the pycom-fwtool for 2.18 and higher. ie. pycom_firmware_update_1.16.2-amd64.tar.gz

      I attempted to run the pycom-fwtool but it segfaults. There aren't any usage instructions on this page so I have no idea how it works. It gives an error about "Cannot load default config file." There is another tool in the tgz file given on that page for linux. The other tool is pycom-fwtool-cli. There are no usage instructions on this tool either.

      The remaining documentation on this page is for V3 and V2 expansion boards.

      With that said, if you read the Expansion Board 3.0 documentation, which I am not sure applies to me since I have V3.1 board there is a reference which says you should visit this website https://docs.pycom.io/pytrackpysense/installation/firmware/ to update the pysense/pytrack/pyscan exanpansion board V3.

      This website is also confusing. For Debian linux it says to install dfu-util which I did. It also mentions pressing the S1 button and plugin and then install pytrack. This fails. Ditto for pysense. This command does work. sudo dfu-util -VD expansion31_0.0.11.dfu

      lsusb shows

      Bus 003 Device 030: ID 04d8:ef98 Microchip Technology, Inc.

      This does not match the docs which says

      For exemple, a Pytrack board is visible as either:

      Bus 020 Device 004: ID 04d8:f014 Microchip Technology Inc. Application Specific Device
      this is bootloader mode (f014 is USB PID), active just for 7-8 seconds, if the reset button was just pressed before plugging USB connector.
      Bus 020 Device 005: ID 04d8:f013 Microchip Technology Inc. Pytrack Serial: Pyabcde0
      this is normal, application mode (f013 is USB PID), this means the bootloader verified application partition and it boot-up correctly.

      Is pytrack or pysense a board similar to an expansion board or something which is part of an expansion board?

      With that said any idea how to get the pycom-fwtool working with the latest stable Debian?

      robert-hhR 1 Reply Last reply Reply Quote 0
      • robert-hhR Offline
        robert-hh @netskink
        last edited by

        @netskink I use the Ubuntu version of pyupgrade on my debian 10 system. The command line versions which I used before seem to be broken. There is also a python script call updater.py, which is used for uploading in the build environment. It is here: https://github.com/pycom/pycom-micropython-sigfox/tree/Dev/esp32/tools/fw_updater. You will need also the other scripts in that directory. For Usage, call python2 updater.py --help
        Updating the expansion boards is tricky. You have to be fast and you need at least three hands.

        1 Reply Last reply Reply Quote 0
        • N Offline
          netskink
          last edited by

          @robert-hh Hmm. I tried using the ubuntu 18 debian package you mentioned.

          which pycom-fwtool
          /usr/local/bin/pycom-fwtool
          

          As you can see, its not the one I downloaded via the .tgz file. Sadly it also segfaults.

          Here is some of the error log.

          Fontconfig warning: "/etc/fonts/fonts.conf", line 5: unknown element "its:rules"
          Fontconfig warning: "/etc/fonts/fonts.conf", line 6: unknown element "its:translateRule"
          ....
          Fontconfig error: "/etc/fonts/conf.d/90-synthetic.conf", line 5: invalid attribute 'translate'
          Fontconfig error: "/etc/fonts/conf.d/90-synthetic.conf", line 5: invalid attribute 'selector'
          Fontconfig error: "/etc/fonts/conf.d/90-synthetic.conf", line 6: invalid attribute 'xmlns:its'
          Fontconfig error: "/etc/fonts/conf.d/90-synthetic.conf", line 6: invalid attribute 'version'
          Fontconfig error: Cannot load config file from /etc/fonts/fonts.conf
          Segmentation fault
          

          I understand now that pysense, pytrack and expansion board are all boards. And, the docs for that page are on how you can update either of these boards using the dfu-util tool. So hey, that is a good thing, right? I'm making progress with this tool. ;-)

          1 Reply Last reply Reply Quote 0
          • N Offline
            netskink
            last edited by

            Hmm. I talked to the #debian channel on openprojects.net. It appears that my errors are because the tool is using an older version of fontconfig. Do you have fontconfig loaded?

            Lastly, I am trying to use the github repot you specified. I'm working on that now.

            1 Reply Last reply Reply Quote 0
            • N Offline
              netskink
              last edited by

              hmm.

              I have used esp32 before with a regular esp32 chip so the repo you mentioned is interesting.

              With that said, I did as documented on the sigfox repo you gave. I tried to flash the tool using the commands they give for a lopy4. ie. make BOARD=LOPY4 flash however I don't have a /dev/ttyUSB0 device. If I am in atom it shows its connecting via /dev/ttyACM0.

              Interesting if I try to run the updater script you mentioned, it seems to be very terse. I can list the device, but nothing else.

              davis@twenty:~/progs/notmine/forpycom/pycom-micropython-sigfox/esp32/tools/fw_updater$ python updater.py list
              /dev/ttyACM0  [Expansion3 - Expansion3] [USB VID:PID=04D8:EF98 SER=Pycb57e4 LOCATION=1-1:1.0]
              

              This shows the board is present on the /dev/ttyACM0 also, but it only shows the expansion board and not the LOPY4.

              Any info on how to update the flash using this tool or where to file a bug on the regular fw update tool for Debian 10?

              robert-hhR 1 Reply Last reply Reply Quote 0
              • N Offline
                netskink
                last edited by

                @robert-hh said in V3.1 Expansion board and Debian Linux:

                https://github.com/pycom/pycom-micropython-sigfox/tree/Dev/esp32/tools/fw_updater

                FWIW, I tried this on OSX. With OSX, I can connect atom. I played with the LED. I tried to use the firmware update tool 1.16.2 to update the firmware. I played with legacy vs pybytes. I played with usb connection speed settings. I could never get the firmware to update. I kept getting this message.

                Changed baud rate to 230400
                
                Read 4 KiB from config in 0.18 seconds
                
                Device ID : FCF5C40E185C
                

                Any advice is appreciated.

                1 Reply Last reply Reply Quote 0
                • N Offline
                  netskink
                  last edited by

                  Ok some other info regarding osx and the firmware upgrade utility. I have two expansions boards, one fypy and one lopy4 and two USB cables. The firmware upgrade utility will update the firmware on the fypy board with either expansion board using either USB cable. The lopy4 board will not update the firmware using either expansion board or USB cable. Also, one of the expansion boards has updated firmware and the other is fresh from the factory.

                  robert-hhR 1 Reply Last reply Reply Quote 0
                  • robert-hhR Offline
                    robert-hh @netskink
                    last edited by

                    @netskink If updating works with the FiPy, then the expansion boards and cables are fine. Then something might be wrong with the LoPy4 board. With respect to firmware updates, all Pycom development boards behave identical (at least: the should). Besides not updating, does it work?
                    Sometimes

                    N 1 Reply Last reply Reply Quote 0
                    • robert-hhR Offline
                      robert-hh @netskink
                      last edited by

                      @netskink You can specify the USB port in the make command, e.g.:
                      make ESPPORT=/dev/ttyACM0 BOARD=LOPY4 flash
                      You can also edit Makefile to change the default BOARD and edit application.mk to change the default ESPPORT and ESPBAUD setting.

                      1 Reply Last reply Reply Quote 0
                      • N Offline
                        netskink
                        last edited by

                        Hmm. So I finally got that code to build for the fypy.

                        davis@twenty:~/progs/notmine/forpycom/pycom-micropython-sigfox/esp32$ make ESPPORT=/dev/ttyACM0 flash
                        Use make SECURE=on [optionally SECURE_KEY ?= secure_boot_signing_key.pem] to enable Secure Boot and Flash Encryption mechanisms.
                        Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.
                        BASE Variant
                        IDF Version OK!
                        checking size of image
                        1822368 bytes => Size OK
                        Creating release package in /home/davis/progs/notmine/forpycom/pycom-micropython-sigfox/esp32/build
                        Release package FiPy-1.20.2.rc6.tar.gz created successfully.
                        checking size of image
                        1822368 bytes => Size OK
                        Flashing project
                        python ./tools/fw_updater/updater.py --port /dev/ttyACM0 --speed 921600 flash -t build/FiPy-1.20.2.rc6.tar.gz
                        Running in PIC mode
                        Script Version: 2.1
                        Flash operation successful.

                        1 Reply Last reply Reply Quote 0
                        • N Offline
                          netskink @robert-hh
                          last edited by

                          @robert-hh I was able to flash both expansion boards using the dfu-util tool. I was able on osx to only update firmware with the pycom gui prebuilt code. Later I managed to get the github repo code to work for flashing both modules. I truly appreciate you showing me this repo. Many thanks.

                          1 Reply Last reply Reply Quote 0

                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                          With your input, this post could be even better 💗

                          Register Login
                          • 1 / 1
                          • First post
                            Last post

                          Pycom on Twitter

                          Pycom