Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    rfm - RepRapFirmware FileManager [duetbackup successor]

    Scheduled Pinned Locked Moved
    General Discussion
    24
    83
    10.3k
    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.
    • wilrikerundefined
      wilriker @fma
      last edited by wilriker

      @fma This happens if the Duet responded with an HTML error page instead of a JSON error. I've seen this happen more often recently but so far have not found the cause.

      Are you using the latest v1.1.0 final release above?

      Also which sub-command does this happen for? Also you can use the parameter -debug to see the actual response coming from the Duet. This might give a hint what's going wrong.

      Manuel
      Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
      with probably always latest firmware/DWC (incl. betas or self-compiled)
      My Tool Collection

      1 Reply Last reply Reply Quote 0
      • fmaundefined
        fma
        last edited by

        Yes, I'm using the final release.

        The error happens with all commands, and -debug does not give much info:

        ./rfm ls 0:/ -debug
        
        0::
        2019/08/18 12:52:40 invalid character '<' looking for beginning of value
        

        BTW, does it require a specific version of RRF? Im' running 2.02RC2...

        Frédéric

        wilrikerundefined 1 Reply Last reply Reply Quote 0
        • wilrikerundefined
          wilriker @fma
          last edited by wilriker

          @fma It should work with any version of RRF. Though the -debug parameter has to come before the location to list (in this case) or more general: before any parameter that does not have its own -something prefix.

          Manuel
          Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
          with probably always latest firmware/DWC (incl. betas or self-compiled)
          My Tool Collection

          1 Reply Last reply Reply Quote 0
          • fmaundefined
            fma
            last edited by

            My bad, I made a mistake in the device name! All seems to work fine 🙂

            Thanks for your help.

            Frédéric

            wilrikerundefined 1 Reply Last reply Reply Quote 0
            • wilrikerundefined
              wilriker @fma
              last edited by

              @fma I'm glad it was that simple. 🙂

              Manuel
              Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
              with probably always latest firmware/DWC (incl. betas or self-compiled)
              My Tool Collection

              1 Reply Last reply Reply Quote 0
              • wilrikerundefined
                wilriker
                last edited by

                Release v1.1.1

                v1.1.1 has been release and can be found at GitHub Releases page.

                Changes

                • New -debug option to output the HTTP requests being sent to RRF
                • Add CRC32 checksum as HTTP header to file uploads (supported by RRF 2.04RC3 and newer).

                Manuel
                Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                with probably always latest firmware/DWC (incl. betas or self-compiled)
                My Tool Collection

                1 Reply Last reply Reply Quote 3
                • PaulHewundefined
                  PaulHew
                  last edited by PaulHew

                  This post is deleted!
                  1 Reply Last reply Reply Quote 0
                  • PCRundefined
                    PCR
                    last edited by

                    @wilriker Is it possibble to upload a file and start the print?

                    Best

                    wilrikerundefined 1 Reply Last reply Reply Quote 0
                    • wilrikerundefined
                      wilriker @PCR
                      last edited by

                      @PCR No, this is not a feature of rfm. It was and is intended to manage files on the SD card but not further interaction with the RepRapFirmware.

                      Manuel
                      Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                      with probably always latest firmware/DWC (incl. betas or self-compiled)
                      My Tool Collection

                      1 Reply Last reply Reply Quote 0
                      • PCRundefined
                        PCR
                        last edited by

                        Ah OK. Thank you! BTW will it work with an DUET3 with a PI?

                        Best

                        wilrikerundefined 1 Reply Last reply Reply Quote 0
                        • wilrikerundefined
                          wilriker @PCR
                          last edited by

                          @PCR said in rfm - RepRapFirmware FileManager [duetbackup successor]:

                          BTW will it work with an DUET3 with a PI?

                          No, it won't because in that setup the files are located on the RPi and for Linux there are much better file managers than I could ever come up with. 😉

                          Manuel
                          Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                          with probably always latest firmware/DWC (incl. betas or self-compiled)
                          My Tool Collection

                          1 Reply Last reply Reply Quote 1
                          • oliofundefined
                            oliof
                            last edited by

                            It would be nice to have rfm support RRF3 with SBC for consistency's sake though (-:

                            <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

                            tristanryerparkeundefined 1 Reply Last reply Reply Quote 1
                            • tristanryerparkeundefined
                              tristanryerparke @oliof
                              last edited by

                              @oliof I second this

                              1 Reply Last reply Reply Quote 1
                              • laelundefined
                                lael
                                last edited by lael

                                I was just directed to RFM for backing up our Duet. Thank you to @wilriker it's amazing!

                                However, getting it started was a little slower than it needed to be. If you are on Windows and looking for a way to backup your Duet, here is a quickstart guide / manual that might help speed things up for you. (The guide may help if you aren't on Windows, but you'll need to adapt file paths etc as appropriate).

                                Download and unzip to C:\Users\YourUserName and name the folder 'DuetBackupRFM'
                                  
                                Open Command prompt (Start - cmd - enter) which will open at c:\Users\YourUserName
                                
                                Chang the cmd prompt folder to the one you just unzipped to: 
                                Type: cd DuetBackupRFM 		; and hit enter
                                
                                Now you are ready to use RFM to backup your Duet. Read below. 
                                
                                
                                RFM Duet Backup Commands: 
                                
                                **note: must use program name, command name, then can use options and parameters/arguments.  
                                **ONCE a device has been specified (a device profile is created on first use), you can refer to the device without networking options by using the device name. 
                                
                                
                                RFM Command Syntax Explanation: 
                                
                                Valid Example command: 
                                	rfm backup -device YourPrinterName sys 0:/sys
                                
                                Explanation: 
                                	rfm 		backup 		-device 	YourPrinterName 	sys 			0:/sys
                                	program name	command name	option name	parameter for option	local comp. folder to save to	Duet folder to do command to
                                
                                
                                Things you likely want to do: 
                                
                                STEP 1. connect to the Duet (creates a config for the Duet as the -device name) and list The Duet's root directory: 
                                	rfm ls -domain 192.168.1.12 -port 80 -password YourDuetPassword -device YourPrinterName
                                
                                STEP 2. Backup the sys folder on your duet (already created in step 1 in RFM) into a folder on your computer called 'sys' (which will be located in the same folder RFM.exe is located). 
                                Note: RFM will create the folder on your computer if it does not exist. RFM will also use UNC / absolute paths if preferred (so you can redirect outside of the RFM folder - see examples at end). 
                                 
                                	rfm backup -device YourPrinterName sys 0:/sys
                                
                                STEP 3. Backup the macros folder for your duet (already created in RFM) to a local 'macros' folder: 
                                	rfm backup -device YourPrinterName macros 0:/macros
                                
                                STEP 4. Backup the filaments folder for your duet ((already created in RFM) to a local 'filaments' folder: 
                                	rfm backup -device YourPrinterName filaments 0:/filaments
                                
                                STEP 5. Backup the gcode files on your duet (already created in RFM) to a local 'macros' folder: 
                                	rfm backup -device YourPrinterName gcodes 0:/gcodes
                                
                                
                                - - Some other Examples: - - 
                                List all the files in the folders in the root of your duet: 
                                	rfm backup -device YourPrinterName
                                
                                List all the files in the sys folder on your duet: 
                                	rfm backup -device YourPrinterName 0:/sys
                                
                                List all the files in a folder on duet with spaces in its name: 
                                	rfm ls -device YourPrinterName "0:/macros/calibration/bed leveling"
                                
                                If you are using spaces in your RFM backup path or on duet - enclose in quotation marks: 
                                	rfm backup -device YourPrinterName "C:users/yourusername/DUET BACKUP RFM"  "0:/macros/calibration/bed leveling"
                                
                                1 Reply Last reply Reply Quote 2
                                • demonlibraundefined
                                  demonlibra
                                  last edited by

                                  Write script for bash (GNU/Linux) to backup all files.

                                  #!/bin/bash
                                  
                                  # ---------------------------------- Parameters -------------------------------------
                                  temp="temp"											# Temp folder for backup
                                  output="backup_rrf_$(date +%F_%H-%M-%S).tgz"		# Archive name for backup
                                  
                                  # -----------------------------------------------------------------------------------
                                  mkdir -p $temp										# Create temp folder
                                  
                                  ./rfm ls | while read line							# Parse list of files and folders
                                  	do
                                  		if [[ `echo "$line" | grep "\[f\]"` ]]		# Processing files
                                  			then
                                  				filename=`echo ${line##*	}`
                                  				./rfm download "$filename" "$temp/$filename"
                                  				echo "$filename - File downloaded"
                                  
                                  		elif [[ `echo "$line" | grep "\[d\]"` ]]	# Processing folders
                                  			then
                                  				foldername=`echo ${line##*	}`
                                  				./rfm backup -exclude overlays "$temp/$foldername" "$foldername"
                                  				echo -e "\n"
                                  
                                  		else echo "$line - Strange line"
                                  		fi
                                  	done
                                  		
                                  tar czPf "$output" "$temp"							# Create archive
                                  rm -rf "$temp"										# Delete temp folder
                                  
                                  
                                  1 Reply Last reply Reply Quote 0
                                  • Phaedruxundefined Phaedrux referenced this topic
                                  • Phaedruxundefined Phaedrux referenced this topic
                                  • jens55undefined
                                    jens55
                                    last edited by

                                    I am trying out rfm. I go into the folder that has rfm in it and do:
                                    ./rfm backup -domain 192.168.1.163
                                    this backs up the /sys folder on the duet card that is at 192.168.1.163.
                                    If I want to back up the macro folder on that Duet, what should the command look like? Based on the help section of rfm, I was trying ./rfm backup /macros -domain 192.168.1.163 but I get 'directory not found'.

                                    wilrikerundefined 1 Reply Last reply Reply Quote 0
                                    • Nightowlundefined
                                      Nightowl
                                      last edited by Nightowl

                                      Hi @wilriker

                                      This is a great project and I would like to implement it on my system, but I (generally) manage the system remotely.

                                      Specifically, I have a Mac (in the house) and use the Microsoft Remote Desktop (RD) app to connect to my Surface Pro (in the shed), via a wired network, which is hard-wired to the Duet3 MB6HC control board running my CNC machine (I don't run the CNC machine remotely, before anyone asks!)

                                      The first question I have is, should I install rfm on the Mac and run it from there, or install it on the Surface Pro and run rfm from the Mac (via RD), and the second question is, which version should I use if it's installed on the Mac?

                                      I'm running RRF version 3.4.4

                                      Thank you

                                      Few things are more dangerous than taking the advice of someone who thinks he knows what he's doing.
                                      I'm still on my learning curve, so take everything I say with caution!

                                      RatRig 1075, Duet3 MB6HC, Sorotec SFM 1000 PV-ER milling motor, Hobbyist

                                      wilrikerundefined 1 Reply Last reply Reply Quote 0
                                      • wilrikerundefined
                                        wilriker @jens55
                                        last edited by

                                        @jens55 said in rfm - RepRapFirmware FileManager [duetbackup successor]:

                                        If I want to back up the macro folder on that Duet, what should the command look like? Based on the help section of rfm, I was trying ./rfm backup /macros -domain 192.168.1.163 but I get 'directory not found'.

                                        You need to switch the order of parameters:

                                        rfm backup -domain 192.168.1.163 <local-path> 0:/macros
                                        

                                        Note that local-path is mandatory if you specify a remote path.

                                        Manuel
                                        Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                                        with probably always latest firmware/DWC (incl. betas or self-compiled)
                                        My Tool Collection

                                        jens55undefined 1 Reply Last reply Reply Quote 1
                                        • wilrikerundefined
                                          wilriker @Nightowl
                                          last edited by

                                          @Nightowl said in rfm - RepRapFirmware FileManager [duetbackup successor]:

                                          The first question I have is, should I install rfm on the Mac and run it from there, or install it on the Surface Pro and run rfm from the Mac (via RD), and the second question is, which version should I use if it's installed on the Mac?

                                          Actually this just depends on what is more convenient for you. As long as rfm is able to connect to RRF via network this does not matter.

                                          I personally would probably install it on the Surface Pro just because it is closer. But again, it just boils down to what is more convenient for you. Mine is installed on a Raspberry Pi that is lingering around somewhere in the house and runs a background task that periodically checks if it can backup anything or not.

                                          If you want to install it an the Mac use darwin binary. Although this will not work on a M1 MacBook. When I compiled rfm the last time there were not M1's around AFAIR.

                                          Manuel
                                          Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                                          with probably always latest firmware/DWC (incl. betas or self-compiled)
                                          My Tool Collection

                                          Nightowlundefined 2 Replies Last reply Reply Quote 1
                                          • Nightowlundefined
                                            Nightowl @wilriker
                                            last edited by

                                            Thank you, @wilriker

                                            Mine's an i5, so that would be OK - but logic, and your comments, tell me I should install it on the PC!

                                            Thank you 👍

                                            Few things are more dangerous than taking the advice of someone who thinks he knows what he's doing.
                                            I'm still on my learning curve, so take everything I say with caution!

                                            RatRig 1075, Duet3 MB6HC, Sorotec SFM 1000 PV-ER milling motor, Hobbyist

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA