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

    Duet 2 Ethernet and SBC

    Scheduled Pinned Locked Moved
    Beta Firmware
    29
    302
    33.2k
    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
      last edited by

      So building IAP is fixed on dev-wilriker branch in DuetIAP repo.

      @smoki3 First of all you can ignore the error at the end of your log excerpt. That will be fixed in the next DSF version and has nothing to do with resets. The Bad checksum statements on the other hand really are the cause of the reboot.

      Can you please post again which resistors you use on which line and also both your DCS config.json as well as (if you use an actual Raspberry Pi) it's /boot/config.txt.

      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

      smoki3undefined 1 Reply Last reply Reply Quote 0
      • smoki3undefined
        smoki3 @wilriker
        last edited by smoki3

        @wilriker

        I use 360 Ohms in MISO MOSI and SPCK. No additional resistors on NPSC0 and EDR because the duet 2 already have 2.2kOhms on board.

        I am using a RPI 3:

        Boot config:

          GNU nano 3.2                    /boot/config.txt                              
        
        # For more options and information see
        # http://rpf.io/configtxt
        # Some settings may impact device functionality. See link above for details
        
        # uncomment if you get no picture on HDMI for a default "safe" mode
        #hdmi_safe=1
        
        # uncomment this if your display has a black border of unused pixels visible
        # and your display can output without overscan
        #disable_overscan=1
        
        # uncomment the following to adjust overscan. Use positive numbers if console
        # goes off screen, and negative if there is too much border
        #overscan_left=16
        #overscan_right=16
        #overscan_top=16
        #overscan_bottom=16
        
        # uncomment to force a console size. By default it will be display's size minus
        # overscan.
        #framebuffer_width=1280
        #framebuffer_height=720
        
        # uncomment if hdmi display is not detected and composite is being output
        #hdmi_force_hotplug=1
        
        # uncomment to force a specific HDMI mode (this will force VGA)
        #hdmi_group=1
        #hdmi_mode=1
        
        # uncomment to force a HDMI mode rather than DVI. This can make audio work in
        # DMT (computer monitor) modes
        #hdmi_drive=2
        
        # uncomment to increase signal to HDMI, if you have interference, blanking, or
        # no display
        #config_hdmi_boost=4
        
        # uncomment for composite PAL
        #sdtv_mode=2
        
        #uncomment to overclock the arm. 700 MHz is the default.
        #arm_freq=800
        
        # Uncomment some or all of these to enable the optional hardware interfaces
        #dtparam=i2c_arm=on
        #dtparam=i2s=on
        dtparam=spi=on
        
        # Uncomment this to enable infrared communication.
        #dtoverlay=gpio-ir,gpio_pin=17
        #dtoverlay=gpio-ir-tx,gpio_pin=18
        
        # Additional overlays and parameters are documented /boot/overlays/README
        
        # Enable audio (loads snd_bcm2835)
        dtparam=audio=on
        
        [pi4]
        # Enable DRM VC4 V3D driver on top of the dispmanx display stack
        dtoverlay=vc4-fkms-v3d
        max_framebuffers=2
        
        [all]
        #dtoverlay=vc4-fkms-v3d
        

        /opt/dsf/conf/config.json:

        {
          "LogLevel": "info",
          "SocketDirectory": "/var/run/dsf",
          "SocketFile": "dcs.sock",
          "Backlog": 4,
          "SocketPollInterval": 2000,
          "BaseDirectory": "/opt/dsf/sd",
          "NoTerminateOnReset": false,
          "HostUpdateInterval": 4000,
          "MaxMessageAge": 60,
          "SpiDevice": "/dev/spidev0.0",
          "SpiFrequency": 8000000,
          "SpiTransferTimeout": 500,
          "MaxSpiRetries": 3,
          "SpiPollDelay": 25,
          "GpioChipDevice": "/dev/gpiochip0",
          "TransferReadyPin": 25,
          "BufferedPrintCodes": 32,
          "BufferedMacroCodes": 16,
          "MaxBufferSpacePerChannel": 1536,
          "ModelUpdateInterval": 250,
          "MaxMachineModelLockTime": -1,
          "FileBufferSize": 8192,
          "FileInfoReadLimitHeader": 12288,
          "FileInfoReadLimitFooter": 262144,
          "MaxLayerHeight": 0.9,
          "LayerHeightFilters": [
            {
              "Pattern": "^\\s*layer_height\\D+(?<mm>(\\d+\\.?\\d*))",
              "Options": 17
            },
            {
              "Pattern": "Layer height\\D+(?<mm>(\\d+\\.?\\d*))",
              "Options": 17
            },
            {
              "Pattern": "layerHeight\\D+(?<mm>(\\d+\\.?\\d*))",
              "Options": 17
            },
            {
              "Pattern": "layer_thickness_mm\\D+(?<mm>(\\d+\\.?\\d*))",
              "Options": 17
            },
            {
              "Pattern": "layerThickness\\D+(?<mm>(\\d+\\.?\\d*))",
              "Options": 17
            }
          ],
          "FilamentFilters": [
            {
              "Pattern": "filament used\\D+(((?<mm>\\d+\\.?\\d*)mm)(\\D+)?)+",
              "Options": 17
            },
            {
              "Pattern": "filament used\\D+(((?<m>\\d+\\.?\\d*)m([^m]|$))(\\D+)?)+",
              "Options": 17
            },
            {
              "Pattern": "filament length\\D+(((?<mm>\\d+\\.?\\d*)\\s*mm)(\\D+)?)+",
              "Options": 17
            },
            {
              "Pattern": "filament used \\[mm\\]\\D+((?<mm>\\d+\\.?\\d*)(\\D+)?)+",
              "Options": 17
            {
              "Pattern": "material\\#\\d+\\D+(?<mm>\\d+\\.?\\d*)",
              "Options": 17
            },
            {
              "Pattern": "Filament used per extruder:\\r\\n;\\s*(?<name>.+)\\s+=\\s*(?<mm>[0-9.]+)",
              "Options": 17
            }
          ],
          "GeneratedByFilters": [
            {
              "Pattern": "generated by\\s+(.+)",
              "Options": 17
            },
            {
              "Pattern": "Sliced by\\s+(.+)",
              "Options": 17
            },
            {
              "Pattern": "(KISSlicer.*)",
              "Options": 17
            },
            {
              "Pattern": "Sliced at:\\s*(.+)",
              "Options": 17
            },
            {
              "Pattern": "Generated with\\s*(.+)",
              "Options": 17
            }
          ],
          "PrintTimeFilters": [
            {
              "Pattern": "estimated printing time .*= ((?<h>(\\d+))h\\s*)?((?<m>(\\d+))m\\s*)?((?<s>(\\d+))s)?",
              "Options": 17
            },
            {
              "Pattern": "TIME:(?<s>(\\d+\\.?\\d*))",
              "Options": 17
            },
            {
              "Pattern": "Build time: ((?<h>\\d+) hour(s)?\\s*)?((?<m>\\d+) minute(s)?\\s*)?((?<s>(\\d+) second(s)?))?",
              "Options": 17
            },
            {
              "Pattern": "Estimated Build Time:\\s+((?<h>(\\d+\\.?\\d*)) hour(s)?\\s*)?((?<m>(\\d+\\.?\\d*)) minute(s)?\\s*)?((?<s>(\\d+\\.?\\d*)) second(s)?)?",
              "Options": 17
            }
          ],
          "SimulatedTimeFilters": [
            {
              "Pattern": "Simulated print time\\D+(?<s>(\\d+\\.?\\d*))",
              "Options": 17
            }
          ]
        }
        

        Where do I find the config jsons ?

        A Former User? 1 Reply Last reply Reply Quote 0
        • A Former User?
          A Former User @smoki3
          last edited by

          @smoki3 said in Duet 2 Ethernet and SBC:

          Where do I find the config jsons

          in /opt/dsf/conf/config.json

          smoki3undefined 1 Reply Last reply Reply Quote 0
          • smoki3undefined
            smoki3 @A Former User
            last edited by

            @bearer but the have to be two as far I got it right

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

              @smoki3 The second file http.json is for the DWS (Duet Web Server) not relevant for the problem here.

              This is a shot in the dark but please try adding

              # Fix core frequency to have constant SPI clock speed
              core_freq=250
              core_freq_min=250
              

              to your /boot/config.txt and reboot the RPi. It might be that Duet 2 does not like RPi's default SPI frequency shenanigans (neither do I 😂 )

              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

              smoki3undefined 1 Reply Last reply Reply Quote 0
              • smoki3undefined
                smoki3 @wilriker
                last edited by smoki3

                @wilriker said in Duet 2 Ethernet and SBC:

                @smoki3 The second file http.json is for the DWS (Duet Web Server) not relevant for the problem here.

                This is a shot in the dark but please try adding

                # Fix core frequency to have constant SPI clock speed
                core_freq=250
                core_freq_min=250
                

                to your /boot/config.txt and reboot the RPi. It might be that Duet 2 does not like RPi's default SPI frequency shenanigans (neither do I 😂 )

                So this doesn't help. Same behaviour as before
                It wired because it only happens while homing.

                1 Reply Last reply Reply Quote 0
                • smoki3undefined
                  smoki3
                  last edited by

                  If I try to flash the firmware over DWC I also get checksum error

                  ed
                  [warn] Bad header checksum (expected 0x40cc, got 0xe30e)
                  [warn] Note: RepRapFirmware didn't receive valid data either (code 0x00000004)
                  [warn] Bad header checksum (expected 0xc340, got 0xa71d)
                  [warn] Note: RepRapFirmware didn't receive valid data either (code 0x00000004)
                  [warn] Bad header checksum (expected 0x40cc, got 0xcdbd)
                  [warn] Note: RepRapFirmware didn't receive valid data either (code 0x00000004)
                  [warn] Restarting transfer because the number of maximum retries has been exceeded
                  [warn] Bad header checksum (expected 0x0040, got 0x5620)
                  [warn] Note: RepRapFirmware didn't receive valid data either (code 0x0002005f)
                  [warn] Bad header checksum (expected 0x0000, got 0x4260)
                  [warn] Note: RepRapFirmware didn't receive valid data either (code 0x0002005f)
                  [warn] Bad header checksum (expected 0x0000, got 0x4260)
                  [warn] Note: RepRapFirmware didn't receive valid data either (code 0x0002005f)
                  [warn] Restarting transfer because the number of maximum retries has been exceeded
                  [info] Flashing RepRapFirmware
                  [info] Verifying checksum
                  [error] Firmware checksum verification failed
                  [info] Flashing RepRapFirmware
                  [info] Verifying checksum
                  [error] Firmware checksum verification failed
                  [info] Flashing RepRapFirmware
                  [info] Verifying checksum
                  [error] Could not flash the firmware binary after 3 attempts. Please install it manually via bossac.
                  [warn] Bad header checksum (expected 0x80ac, got 0xbe3b)
                  [warn] Note: RepRapFirmware didn't receive valid data either (code 0x0002005f)
                  [info] Application has shut down
                  
                  
                  wilrikerundefined 1 Reply Last reply Reply Quote 0
                  • A Former User?
                    A Former User
                    last edited by

                    how long is the cable used, and what type of cable is it?

                    smoki3undefined 1 Reply Last reply Reply Quote 0
                    • smoki3undefined
                      smoki3 @A Former User
                      last edited by

                      @bearer it's a normal ribbon cable with a length of 8cm

                      A Former User? 1 Reply Last reply Reply Quote 0
                      • A Former User?
                        A Former User @smoki3
                        last edited by

                        @smoki3 said in Duet 2 Ethernet and SBC:

                        8cm

                        should be okay, still try lowering "SpiFrequency": 8000000, to say 2000000 in /opt/dsf/conf/config.json and restart DCS (sudo systemctl restart duetcontrolserver) ?

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

                          IAP is fixed now also on master branch.

                          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

                          A Former User? 1 Reply Last reply Reply Quote 0
                          • A Former User?
                            A Former User @wilriker
                            last edited by

                            @wilriker said in Duet 2 Ethernet and SBC:

                            IAP is fixed now also on master branch.

                            btw i think there was a slight hickup with it refusing M997 S0 - but can't reproduce it after it did update with both DWC asking to update and M997 without S0.

                            wilrikerundefined 1 Reply Last reply Reply Quote 0
                            • wilrikerundefined
                              wilriker @A Former User
                              last edited by

                              @bearer Since there is only one type of firmware to update it is unnecessary to provide a Snnn parameter to M997 in the first place but I agree that it should not result in either a warning or worse an error. If you can reproduce it, please post here.

                              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 @smoki3
                                last edited by

                                @smoki3 said in Duet 2 Ethernet and SBC:

                                If I try to flash the firmware over DWC I also get checksum error

                                If everything is working as expected you should not get any checksum errors at all. If you get them more than once something is still wrong.
                                Have you made sure that both the Duet 2 and the Raspberry Pi share a common ground connection?

                                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

                                smoki3undefined 1 Reply Last reply Reply Quote 0
                                • smoki3undefined
                                  smoki3 @A Former User
                                  last edited by

                                  @bearer said in Duet 2 Ethernet and SBC:

                                  8000000

                                  This doesn't help

                                  1 Reply Last reply Reply Quote 0
                                  • smoki3undefined
                                    smoki3 @wilriker
                                    last edited by

                                    @wilriker said in Duet 2 Ethernet and SBC:

                                    @smoki3 said in Duet 2 Ethernet and SBC:

                                    If I try to flash the firmware over DWC I also get checksum error

                                    If everything is working as expected you should not get any checksum errors at all. If you get them more than once something is still wrong.
                                    Have you made sure that both the Duet 2 and the Raspberry Pi share a common ground connection?

                                    Yes both are connected directly to ground

                                    1 Reply Last reply Reply Quote 0
                                    • smoki3undefined
                                      smoki3
                                      last edited by smoki3

                                      I tried now different cables, direct wiring without PCB and 470ohm resistors.

                                      But always the same issue.

                                      Also tried now without resistors, same issue

                                      1 Reply Last reply Reply Quote 0
                                      • A Former User?
                                        A Former User @T3P3Tony
                                        last edited by A Former User

                                        @T3P3Tony said in Duet 2 Ethernet and SBC:

                                        We are considering a small hardware board to provide the physical interfacing and signal buffering.

                                        if the series resistance is deemed all that is needed, then a few crimps and a printed part goes a long way:
                                        IMG_20200701_003825487_BURST000_COVER_TOP.jpg IMG_20200630_123735333.jpg
                                        Btw, is there a part# for the nylon stand offs? gonna try a pogo-pin version for the Wifi

                                        1 Reply Last reply Reply Quote 2
                                        • gtj0undefined
                                          gtj0
                                          last edited by

                                          Jeez. I take some time off and this happens. 🙂

                                          1 Reply Last reply Reply Quote 0
                                          • smoki3undefined
                                            smoki3
                                            last edited by

                                            @wilriker
                                            Today I am back from holidays. I tried to investigate a bit more but it does not help. I disassembled the Duet 2 Ethernet from my printer so I have no other cables in the near of the board. I also made a new cable out of a shielded ethernet cable to avoid any EMC troubles. But still the same. If I try to flash the firmware for example I get many checksum errors.

                                            @bearer
                                            are you now able to flash the firmware over DWC? I always get checksum error.

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