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

    SOLVED: Struggling with firmware update

    Scheduled Pinned Locked Moved LoPy
    lopyfirmware update
    9 Posts 3 Posters 2.8k Views 3 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.
    • guyG Offline
      guy
      last edited by guy

      Hi,

      Just got my first Pycom product - the LoPy. Plugged it in to expansion board, connected to USB and the blue pixel is flashing once per 4s as described in the documentation.

      Then I tried the firmware update as follows:

      • Unplugged USB (power down device)
      • Connect G23 to GND with patch wire
      • Plugged in USB (power on)
      • Run Mac OS firmware update (downloaded today)
      • Only port it listed is dev/cu.Bluetooth-Incoming-Port
      • After a few seconds of Please wait, reading information ... I get the following error message:
      Connecting.........................
      
      Failure!
      

      Any ideas?


      Also, some feedback as a newbie so far:

      1. The pin labelling on the LoPy differs significantly to the port labelling on the expansion board. This is very confusing - I'm assuming it's a labelling fail on the expansion board?
      2. When the firmware updater fails, it would be nice if I could copy and paste the error message.
      robert-hhR 1 Reply Last reply Reply Quote 0
      • robert-hhR Offline
        robert-hh @guy
        last edited by

        @guy You should see a device cu.usbserial-xxxxx. If not, either the VCP device driver is not installed or you have a bad USB cable. Unless you do not see a device of that type, you cannot proceed.

        guyG 1 Reply Last reply Reply Quote 0
        • guyG Offline
          guy @robert-hh
          last edited by

          @robert-hh I've been using the same USB cable with arduino and various other boards so as far as I know it isn't the problem.

          Likewise, as far as I know there is a VCP driver built in to Mac OS (what I've been using to update arduino and various adafruit boards?).

          I'm not sure how to check whether I have the right VCP driver installed or how to install/update to the required VCP driver.

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

            @guy As far as I recall, I had not to install a driver on my mac. but in case of, the drivers are here: http://www.ftdichip.com/Drivers/VCP.htm
            In any case, as long as you do not see the proper device in /dev, USB communication will not work. And the only two causes are cable and driver. If you see the driver, it can still fail, if some of the jumpers are missing.
            You can open a terminal window and issue the command:
            ls /dev/cu*
            to tell, whether the board is detected.

            1 Reply Last reply Reply Quote 0
            • guyG Offline
              guy
              last edited by guy

              Found a related topic...

              $ kextstat -b com.FTDI.driver.FTDIUSBSerialDriver
              Index Refs Address            Size       Wired      Name (Version) UUID <Linked Against>
                152    0 0xffffff7f83ab5000 0x7000     0x7000     com.FTDI.driver.FTDIUSBSerialDriver (2.3) ECC3AF36-431D-370D-86F2-5237785E9CF8 <137 42 5 4 3 1>
              
              $ ls -l /dev/cu.*
              crw-rw-rw-  1 root  wheel   19,   1 21 Apr 16:37 /dev/cu.Bluetooth-Incoming-Port
              
              $ kextfind -case-insensitive -bundle-id -substring 'FTDI' -print
              /System/Library/Extensions/AppleUSBFTDI.kext
              /Library/Extensions/FTDIUSBSerialDriver.kext
              

              I tried sudo kextload -bundle-id com.FTDI.driver.FTDIUSBSerialDriver but doesn't seem to have changed anything. Will try rebooting, bbiab.

              1 Reply Last reply Reply Quote 0
              • guyG Offline
                guy
                last edited by

                Made some progress (seems it was conflicting with a USB microscope), now it's showing up in the list:

                $ ls -l /dev/cu.*
                crw-rw-rw-  1 root  wheel   19,   3 21 Apr 17:50 /dev/cu.Bluetooth-Incoming-Port
                crw-rw-rw-  1 root  wheel   19,   1 21 Apr 17:50 /dev/cu.usbserial-DO0038RI
                

                Still get a failure message when selecting the cu.usbserial-DO0038RI in the updater. I'm as sure as possible that my USB cable is valid as I've used it for dozens of other devices over the past few months.

                1 Reply Last reply Reply Quote 0
                • guyG Offline
                  guy
                  last edited by guy

                  Looks like the driver wasn't getting automatically loaded.

                  $ kextstat -b com.FTDI.driver.FTDIUSBSerialDriver
                  Index Refs Address            Size       Wired      Name (Version) UUID <Linked Against>
                  

                  So manually loaded it:

                  $ sudo kextload -bundle-id com.FTDI.driver.FTDIUSBSerialDriver
                  
                  $ kextstat -b com.FTDI.driver.FTDIUSBSerialDriver
                  Index Refs Address            Size       Wired      Name (Version) UUID <Linked Against>
                    155    0 0xffffff7f83aae000 0x7000     0x7000     com.FTDI.driver.FTDIUSBSerialDriver (2.3) ECC3AF36-431D-370D-86F2-5237785E9CF8 <137 42 5 4 3 1>
                  

                  But was still getting update failure.

                  On the 2nd screen of the updater app, it states:

                  Notes: Looking at the device with the LED on the top side
                  G23 is the 4th pin from the top on the left side
                  GND is the 2nd pin from top on the right side

                  It's confusing for the following reasons:

                  1. When I was first getting confused about the labelling on the LoPy not matching with the labelling on the expansion board, I'd noticed that 23 on the LoPy is 2 pins over from GND.
                  2. My brain was assuming (wrongly) that instructions were referring to the LEDs on the expansion board, not the LED on the LoPy (I was attaching the wire on the expansion board, so that framed my interpretation of instructions)

                  So, I had this situation:

                  • I was holding the expansion board with its LEDs on top (so the LoPy LED was on the left)
                  • I connected expansion GND to expansion G10 (which is adjacent to LoPy 23)
                  • ...as per the instructions (or my interpretation of them) in the updater app

                  Once I connected GND to G23 it all started working and I'm now updated. Hope this helps anyone else with same issue :)

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

                    @guy I'm glad you solved your problems. Have fun!

                    1 Reply Last reply Reply Quote 0
                    • W Offline
                      webwiseguys
                      last edited by

                      I spent a great deal of time getting this to work on a Mac:

                      1. Power off the board and put the jumper on
                      2. Install the FTDIUSBSerialDriver_v...dmg
                      3. Run this in the terminal: kextstat -b com.FTDI.driver.FTDIUSBSerialDriver
                        you may have to run it a few times to get an output like this:
                        Index Refs Address Size Wired Name (Version) UUID <Linked Against>
                        91 0 0xffffff7f80e43000 0x7000 0x7000 com.FTDI.driver.FTDIUSBSerialDriver (2.4.2) E16D9540-AF63-36AD-94C4-B1164FBD6078 <90 42 5 4 3 1>
                      4. After that, reboot your machine.
                      5. Once up, run the Pycom Firmware Update again.
                        This time you'll see another port eg. /dev/cu.usbserial-DQ00DQIT
                        Select the serial port and click 'continue'
                        This time it'll run the whole process to update your firmware.
                      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