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

Duet 3 and jetson Nano?

Scheduled Pinned Locked Moved
General Discussion
8
111
8.9k
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.
  • undefined
    gtj0 @chrishamm
    last edited by 14 Jan 2020, 21:15

    @chrishamm Yeah I know which one he needs to use.

    1 Reply Last reply Reply Quote 0
    • undefined
      gtj0
      last edited by 14 Jan 2020, 21:16

      And yeah, 13 is the right pin on the nano

      1 Reply Last reply Reply Quote 0
      • undefined
        chrishamm administrators
        last edited by 14 Jan 2020, 21:18

        AFAIR I used this guide to figure out the right gpiochip index. You can further diagnose why DCS cannot connect by launching it with the --log-level debug parameter.

        Duet software engineer

        1 Reply Last reply Reply Quote 0
        • undefined
          gtj0
          last edited by 14 Jan 2020, 21:18

          @jpomo10 Turn on debug from the command line or the "LogLevel" in config.json

          1 Reply Last reply Reply Quote 0
          • undefined
            HebigT
            last edited by 14 Jan 2020, 21:34

            @chrishamm @gtj0

            jpomo@jpomo-desktop:~$ sudo /opt/dsf/bin/DuetControlServer
            Duet Control Server v1.2.3.0
            Written by Christian Hammacher for Duet3D
            Licensed under the terms of the GNU Public License Version 3
            
            [info] Settings loaded
            [info] Environment initialized
            [debug] Lost connection to Duet
               System.OperationCanceledException: Board is not available (no header)
               at DuetControlServer.SPI.DataTransfer.ExchangeHeader() in /home/christian/duet/DuetSoftwareFramework/src/DuetControlServer/SPI/DataTransfer.cs:line 965
               at DuetControlServer.SPI.DataTransfer.PerformFullTransfer(Boolean mustSucceed) in /home/christian/duet/DuetSoftwareFramework/src/DuetControlServer/SPI/DataTransfer.cs:line 154
            [error] Duet is not available
            
            undefined 1 Reply Last reply 14 Jan 2020, 22:43 Reply Quote 0
            • undefined
              gtj0
              last edited by 14 Jan 2020, 22:20

              Hmmm. Your SpiFrequency is actually on the low side. Try increasing it to 2000000 (2MHz)

              1 Reply Last reply Reply Quote 0
              • undefined
                chrishamm administrators @HebigT
                last edited by 14 Jan 2020, 22:43

                @jpomo10 Check the SPI connection. This error message indicates that DCS could not receive any data over SPI.

                Duet software engineer

                undefined 1 Reply Last reply 14 Jan 2020, 23:46 Reply Quote 0
                • undefined
                  HebigT @chrishamm
                  last edited by 14 Jan 2020, 23:46

                  @chrishamm @gtj0

                  OK, I increased SPI to 2MHz but no change.

                  To rule-out hardware problems, I set-up a raspberry pi according to the instructions in the getting started guide.

                  I was able to connect to the Duet3 (thermistors and endstops were reading correctly) but the Duet never responds to gcode sent through the console. e.g. M122 just hangs forever with no response.

                  I had the exact same problem with the Jetson before I did my fresh install.

                  1 Reply Last reply Reply Quote 0
                  • undefined
                    chrishamm administrators
                    last edited by 15 Jan 2020, 09:58

                    Do you have RRF 3.0 (non-beta) installed on the Duet 3? If yes, please share your config.g.

                    Duet software engineer

                    undefined 1 Reply Last reply 15 Jan 2020, 15:23 Reply Quote 0
                    • undefined
                      HebigT @chrishamm
                      last edited by HebigT 15 Jan 2020, 15:23

                      @chrishamm

                      Yes, I'm running 3.0 I'll downgrade today to see if that fixes the issue.

                      M115
                      FIRMWARE_NAME: RepRapFirmware for Duet 3 MB6HC v0.6 or 1.0 FIRMWARE_VERSION: 3.0 ELECTRONICS: Duet 3 MB6HC FIRMWARE_DATE: 2020-01-03b3<LF>ok<LF>
                      
                      ; Configuration file for Duet 3 (firmware version 3)
                      ; executed by the firmware on start-up
                      ;
                      ; generated by RepRapFirmware Configuration Tool v2.1.5 on Thu Jan 09 2020 15:58:52 GMT-0700 (Mountain Standard Time)
                      
                      ; General preferences
                      G90                                                              ; send absolute coordinates...
                      M83                                                              ; ...but relative extruder moves
                      M550 P"Duet 3"                                                   ; set printer name
                      
                      M667 S1                                                          ; select CoreXY mode
                      
                      ; Drives
                      M569 P0.0 S1                                                     ; physical drive 0.0 goes forwards
                      M569 P0.2 S1                                                     ; physical drive 0.2 goes forwards
                      M569 P0.1 S1                                                     ; physical drive 0.1 goes forwards
                      M569 P0.5 S1                                                     ; physical drive 0.5 goes forwards
                      M569 P0.3 S1                                                     ; physical drive 0.3 goes forwards
                      M569 P0.4 S1                                                     ; physical drive 0.4 goes forwards
                      M584 X0.0 Y0.2 Z0.1 E0.5:0.3:0.4                                 ; set drive mapping
                      M350 X16 Y16 Z16 E16:16:16 I1                                    ; configure microstepping with interpolation
                      M92 X100.00 Y100.00 Z1600.00 E409.00:409.00:100.00               ; set steps per mm
                      M566 X900.00 Y900.00 Z12.00 E120.00:120.00:120.00                ; set maximum instantaneous speed changes (mm/min)
                      M203 X30000.00 Y30000.00 Z1200.00 E300000.00:300000.00:300000.00 ; set maximum speeds (mm/min)
                      M201 X6000.00 Y6000.00 Z400.00 E2500.00:2500.00:500.00           ; set accelerations (mm/s^2)
                      M906 X1400 Y1400 Z1000 E1000:1000:400 I30                        ; set motor currents (mA) and motor idle factor in per cent
                      M84 S120                                                         ; Set idle timeout
                      
                      ; Axis Limits
                      M208 X-35 Y-49 Z0 S1                                             ; set axis minima
                      M208 X328.5 Y243 Z300 S0                                         ; set axis maxima
                      
                      ; Endstops
                      M574 X1 S0 P"io6.in"                                             ; configure active-low endstop for low end on X via pin io6.in
                      M574 Y1 S0 P"io7.in"                                             ; configure active-low endstop for low end on Y via pin io7.in
                      M574 Z1 S1 P"io8.in"                                             ; configure active-high endstop for low end on Z via pin io8.in
                      
                      ; Z-Probe
                      M558 P5 C"io5.in" H5 F120 T6000                                  ; set Z probe type to switch and the dive height + speeds
                      G31 P500 X0 Y0 Z2.5                                              ; set Z probe trigger value, offset and trigger height
                      M557 X-20:215 Y-34:195 S20                                       ; define mesh grid
                      
                      ; Heaters
                      M308 S0 P"temp0" Y"thermistor" T100000 B4138                     ; configure sensor 0 as thermistor on pin temp0
                      M950 H0 C"out0" T0                                               ; create bed heater output on out0 and map it to sensor 0
                      M143 H0 S210                                                     ; set temperature limit for heater 0 to 210C
                      M307 H0 B1 S1.00                                                 ; enable bang-bang mode for the bed heater and set PWM limit
                      M140 H0                                                          ; map heated bed to heater 0
                      M308 S1 P"temp1" Y"thermistor" T100000 B4725                     ; configure sensor 1 as thermistor on pin temp1
                      M950 H1 C"out1" T1                                               ; create nozzle heater output on out1 and map it to sensor 1
                      M143 H1 S300                                                     ; set temperature limit for heater 1 to 300C
                      M307 H1 B0 S1.00                                                 ; disable bang-bang mode for the nozzle heater and set PWM limit
                      M308 S2 P"temp2" Y"thermistor" T100000 B4725                     ; configure sensor 2 as thermistor on pin temp2
                      M950 H2 C"out2" T2                                               ; create nozzle heater output on out2 and map it to sensor 2
                      M143 H2 S300                                                     ; set temperature limit for heater 2 to 300C
                      M307 H2 B0 S1.00                                                 ; disable bang-bang mode for the nozzle heater and set PWM limit
                      
                      ; Fans
                      M950 F0 C"out4" Q500                                             ; create fan 0 on pin out4 and set its frequency
                      M106 P0 S0 H-1                                                   ; set fan 0 value. Thermostatic control is turned off
                      M950 F1 C"out5" Q500                                             ; create fan 1 on pin out5 and set its frequency
                      M106 P1 S0 H-1                                                   ; set fan 1 value. Thermostatic control is turned off
                      M950 F2 C"out7" Q500                                             ; create fan 2 on pin out7 and set its frequency
                      M106 P2 S1 H1 T45                                                ; set fan 2 value. Thermostatic control is turned on
                      M950 F3 C"out8" Q500                                             ; create fan 3 on pin out8 and set its frequency
                      M106 P3 S1 H2 T45                                                ; set fan 3 value. Thermostatic control is turned on
                      
                      ; Tools
                      M563 P0 S"L-Hemera" D0 H1 F0                                     ; define tool 0
                      G10 P0 X0 Y0 Z0                                                  ; set tool 0 axis offsets
                      G10 P0 R0 S0                                                     ; set initial tool 0 active and standby temperatures to 0C
                      M563 P1 S"R-Hemera" D1 H2 F1                                     ; define tool 1
                      G10 P1 X0 Y0 Z0                                                  ; set tool 1 axis offsets
                      G10 P1 R0 S0                                                     ; set initial tool 1 active and standby temperatures to 0C
                      
                      ; Custom settings are not defined
                      
                      ; Miscellaneous
                      M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000"               ; set voltage thresholds and actions to run on power loss
                      
                      
                      1 Reply Last reply Reply Quote 0
                      • undefined
                        chrishamm administrators
                        last edited by 15 Jan 2020, 15:51

                        @jpomo10 Don't downgrade, the recommended RRF version is still 3.0. I just tried to use your config.g on my Duet 3 / Raspi and I can still execute commands when config.g has been processed. Also make sure the diag LED on the Duet 3 blinks when powered on.

                        If the error message in the DCS log remains "no header" then I can only say that the Jetson does not receive any SPI data. Perhaps it's best to check your SPI connection once more.

                        Duet software engineer

                        1 Reply Last reply Reply Quote 0
                        • undefined
                          gtj0
                          last edited by 15 Jan 2020, 16:13

                          @jpomo10 are you using the original 26pin to 40pin cable provided with the Duet3 or did you make one of your own?

                          1 Reply Last reply Reply Quote 0
                          • undefined
                            HebigT
                            last edited by HebigT 15 Jan 2020, 17:10

                            @chrishamm

                            Thank you for testing my config.g on your set-up.

                            For what it's worth, I've now tried this with a Rasp Pi running DuetPi & a Rasp Pi running Rasbian.

                            In both cases, I can connect to the Duet3 but cannot send gcode through DWC. That's more than I can say for the Jetson Nano, since it will not connect to the Duet at all, so I'll adjust the SPI frequency some more, as you suggested.

                            I also reflashed with the latest stable release of RRF 3.0. I used the binary file called "Duet3Firmware_MB6HC.bin". Communication with the board through YAT seems fine.

                            @gtj0

                            I'm using the original (26 to 40pin). Just to make sure I didn't somehow damage it at some point, I'll make a replacement.

                            UPDATE: Swapping the cable didn't make a difference

                            1 Reply Last reply Reply Quote 0
                            • undefined
                              gtj0
                              last edited by 15 Jan 2020, 18:18

                              I'm beginning to think bad cable or bad Duet3.

                              1 Reply Last reply Reply Quote 1
                              • undefined
                                gtj0
                                last edited by 6 Feb 2021, 16:16

                                @hanshogeland and I were just chatting about upgrading a Nano so...

                                Here's the latest device tree overlay file for the "b00" version of the Nano.

                                • Download the file to "/boot" removing the ".stl" extension.
                                • Run /opt/nvidia/jetson-io/jetson-io.py from a command prompt
                                • Select "Configure Jetson for compatible hardware"
                                • Select "Dual SPIDEV"
                                • Select "Save and exit without rebooting"
                                • Double check that a new "Dual SPIDEV" entry was placed in /boot/extlinux/extlinux.conf
                                • Edit or move the entry as needed.
                                • Reboot

                                tegra210-p3448-0000-p3449-0000-b00-dual-spidev.dtbo.stl

                                1 Reply Last reply Reply Quote 2
                                • hanshogelandundefined
                                  hanshogeland
                                  last edited by hanshogeland 2 Jul 2021, 20:41 7 Feb 2021, 07:35

                                  Thank you verry much!

                                  *Updated this post, since I hade the wrong config for the ready pin so Iǘe changed to pin 13 as it should be.

                                  I have ran the .py and verified the .conf however I get an error starting the DCS stating:

                                  hans@hans-desktop:~$ sudo /opt/dsf/bin/DuetControlServer -l debug
                                  Duet Control Server v3.2.0
                                  Written by Christian Hammacher for Duet3D
                                  Licensed under the terms of the GNU Public License Version 3
                                  
                                  [info] Settings loaded
                                  [info] Environment initialized
                                  [fatal] Could not connect to Duet (Timeout while waiting for transfer ready pin)
                                  [debug] System.OperationCanceledException: Timeout while waiting for transfer ready pin
                                     at DuetControlServer.SPI.DataTransfer.WaitForTransfer(Boolean inTransfer) in /home/christian/Duet3D/DuetSoftwareFramework/src/DuetControlServer/SPI/DataTransfer.cs:line 1086
                                     at DuetControlServer.SPI.DataTransfer.ExchangeHeader() in /home/christian/Duet3D/DuetSoftwareFramework/src/DuetControlServer/SPI/DataTransfer.cs:line 1148
                                     at DuetControlServer.SPI.DataTransfer.PerformFullTransfer(Boolean connecting) in /home/christian/Duet3D/DuetSoftwareFramework/src/DuetControlServer/SPI/DataTransfer.cs:line 162
                                     at DuetControlServer.SPI.DataTransfer.Init() in /home/christian/Duet3D/DuetSoftwareFramework/src/DuetControlServer/SPI/DataTransfer.cs:line 104
                                     at DuetControlServer.Program.Main(String[] args) in /home/christian/Duet3D/DuetSoftwareFramework/src/DuetControlServer/Program.cs:line 113
                                  
                                  

                                  This is how it looks like in the Jetson IO

                                  
                                    =================== Jetson Expansion Header Tool ===================
                                   |                                                                    |
                                   |                                                                    |
                                   |                        3.3V ( 1)  ( 2) 5V                          |
                                   |                        i2c2 ( 3)  ( 4) 5V                          |
                                   |                        i2c2 ( 5)  ( 6) GND                         |
                                   |                      unused ( 7)  ( 8) uartb                       |
                                   |                         GND ( 9)  (10) uartb                       |
                                   |                      unused (11)  (12) unused                      |
                                   |                        spi2 (13)  (14) GND                         |
                                   |                      unused (15)  (16) spi2                        |
                                   |                        3.3V (17)  (18) spi2                        |
                                   |                        spi1 (19)  (20) GND                         |
                                   |                        spi1 (21)  (22) spi2                        |
                                   |                        spi1 (23)  (24) spi1                        |
                                   |                         GND (25)  (26) spi1                        |
                                   |                        i2c1 (27)  (28) i2c1                        |
                                   |                      unused (29)  (30) GND                         |
                                   |                      unused (31)  (32) unused                      |
                                   |                      unused (33)  (34) GND                         |
                                   |                      unused (35)  (36) unused                      |
                                   |                        spi2 (37)  (38) unused                      |
                                   |                         GND (39)  (40) unused                      |
                                   |                                                                    |
                                   |                                                                    |
                                   |                                                                    |
                                   |                Select one of the following options:                |
                                   |                                                                    |
                                   |              Configure Jetson for compatible hardware              |
                                   |                 Configure 40-pin expansion header                  |
                                   |                                Exit                                |
                                   |                                                                    |
                                   |                                                                    |
                                   |                                                                    |
                                   |                                                                    |
                                   |                                                                    |
                                   |                                                                    |
                                    ====================================================================
                                  
                                  
                                  

                                  The extlinux,conf

                                  TIMEOUT 30
                                  DEFAULT Dual SPIDEV
                                  
                                  MENU TITLE L4T boot options
                                  
                                  LABEL primary
                                        MENU LABEL primary kernel
                                        LINUX /boot/Image
                                        INITRD /boot/initrd
                                        APPEND ${cbootargs} quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 
                                  
                                  # When testing a custom kernel, it is recommended that you create a backup of
                                  # the original kernel and add a new entry to this file so that the device can
                                  # fallback to the original kernel. To do this:
                                  #
                                  # 1, Make a backup of the original kernel
                                  #      sudo cp /boot/Image /boot/Image.backup
                                  #
                                  # 2, Copy your custom kernel into /boot/Image
                                  #
                                  # 3, Uncomment below menu setting lines for the original kernel
                                  #
                                  # 4, Reboot
                                  
                                  # LABEL backup
                                  #    MENU LABEL backup kernel
                                  #    LINUX /boot/Image.backup
                                  #    INITRD /boot/initrd
                                  #    APPEND ${cbootargs}
                                  
                                  LABEL MCP251x CAN Controller
                                  	MENU LABEL MCP251x CAN Controller
                                  	LINUX /boot/Image
                                  	FDT /boot/kernel_tegra210-p3448-0000-p3449-0000-b00-mcp251x-can-controller.dtb
                                  	INITRD /boot/initrd
                                  	APPEND ${cbootargs} quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0
                                  
                                  LABEL FE-PI Audio V1 and Z V2
                                  	MENU LABEL FE-PI Audio V1 and Z V2
                                  	LINUX /boot/Image
                                  	FDT /boot/kernel_tegra210-p3448-0000-p3449-0000-b00-fe-pi-audio-v1-and-z-v2.dtb
                                  	INITRD /boot/initrd
                                  	APPEND ${cbootargs}
                                  
                                  LABEL Dual SPIDEV
                                  	MENU LABEL Dual SPIDEV
                                  	LINUX /boot/Image
                                  	FDT /boot/kernel_tegra210-p3448-0000-p3449-0000-b00-dual-spidev.dtb
                                  	INITRD /boot/initrd
                                  	APPEND ${cbootargs}
                                  

                                  The Config.json

                                  {
                                    "PluginsFilename": "/opt/dsf/conf/plugins.txt",
                                    "InstallPackageCommand": "/usr/bin/apt-get",
                                    "InstallPackageArguments": "install -y {package}",
                                    "LogLevel": "debug",
                                    "SocketDirectory": "/var/run/dsf",
                                    "SocketFile": "dcs.sock",
                                    "Backlog": 4,
                                    "SocketPollInterval": 2000,
                                    "BaseDirectory": "/opt/dsf/sd",
                                    "PluginDirectory": "/opt/dsf/plugins",
                                    "NoTerminateOnReset": false,
                                    "HostUpdateInterval": 4000,
                                    "MaxMessageAge": 60,
                                    "SpiDevice": "/dev/spidev0.0",
                                    "SpiBufferSize": 8192,
                                    "SpiTransferMode": 0,
                                    "SpiFrequency": 500000,
                                    "SpiConnectTimeout": 500,
                                    "SpiTransferTimeout": 500,
                                    "SpiConnectionTimeout": 4000,
                                    "MaxSpiRetries": 3,
                                    "SpiPollDelay": 25,
                                    "GpioChipDevice": "/dev/gpiochip0",
                                    "TransferReadyPin": 13,
                                    "BufferedPrintCodes": 32,
                                    "BufferedMacroCodes": 16,
                                    "MaxBufferSpacePerChannel": 1536,
                                    "MaxCodeBufferSize": 256,
                                    "MaxMessageLength": 4096,
                                    "FirmwareComments": [
                                      "printing object",
                                      "MESH",
                                      "process",
                                      "stop printing object",
                                      "layer",
                                      "LAYER",
                                      "BEGIN_LAYER_OBJECT z=",
                                      "HEIGHT"
                                    ],
                                    "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
                                      }
                                    ]
                                  }
                                  

                                  I noticed in the dtbo file the Tri-state value are ending with 0 is this ok?

                                  **** fdtdump is a low-level debugging tool, not meant for general use.
                                  **** If you want to decompile a dtb, you probably want
                                  ****     dtc -I dtb -O dts <filename>
                                  
                                  /dts-v1/;
                                  // magic:		0xd00dfeed
                                  // totalsize:		0xb06 (2822)
                                  // off_dt_struct:	0x38
                                  // off_dt_strings:	0xa14
                                  // off_mem_rsvmap:	0x28
                                  // version:		17
                                  // last_comp_version:	16
                                  // boot_cpuid_phys:	0x0
                                  // size_dt_strings:	0xf2
                                  // size_dt_struct:	0x9dc
                                  
                                  / {
                                      overlay-name = "Dual SPIDEV";
                                      compatible = "nvidia,p3449-0000-b00+p3448-0000-b00", "nvidia,p3449-0000-a02+p3448-0000-a02";
                                      fragment@pinmux {
                                          target = <0xffffffff>;
                                          __overlay__ {
                                              pinctrl-names = "default";
                                              pinctrl-0 = <0x00000001>;
                                              header-40pin-pinmux {
                                                  phandle = <0x00000001>;
                                                  pin19 {
                                                      nvidia,function = "spi1";
                                                      nvidia,pins = "spi1_mosi_pc0";
                                                      nvidia,pull = <0x00000001>;
                                                      nvidia,tristate = <0x00000000>;
                                                      nvidia,enable-input = <0x00000000>;
                                                  };
                                                  pin21 {
                                                      nvidia,function = "spi1";
                                                      nvidia,pins = "spi1_miso_pc1";
                                                      nvidia,pull = <0x00000000>;
                                                      nvidia,tristate = <0x00000001>;
                                                      nvidia,enable-input = <0x00000001>;
                                                  };
                                                  pin23 {
                                                      nvidia,function = "spi1";
                                                      nvidia,pins = "spi1_sck_pc2";
                                                      nvidia,pull = <0x00000001>;
                                                      nvidia,tristate = <0x00000000>;
                                                      nvidia,enable-input = <0x00000000>;
                                                  };
                                                  pin24 {
                                                      nvidia,function = "spi1";
                                                      nvidia,pins = "spi1_cs0_pc3";
                                                      nvidia,pull = <0x00000002>;
                                                      nvidia,tristate = <0x00000000>;
                                                      nvidia,enable-input = <0x00000000>;
                                                  };
                                                  pin26 {
                                                      nvidia,function = "spi1";
                                                      nvidia,pins = "spi1_cs1_pc4";
                                                      nvidia,pull = <0x00000002>;
                                                      nvidia,tristate = <0x00000000>;
                                                      nvidia,enable-input = <0x00000000>;
                                                  };
                                                  pin37 {
                                                      nvidia,function = "spi2";
                                                      nvidia,pins = "spi2_mosi_pb4";
                                                      nvidia,pull = <0x00000001>;
                                                      nvidia,tristate = <0x00000000>;
                                                      nvidia,enable-input = <0x00000000>;
                                                  };
                                                  pin22 {
                                                      nvidia,function = "spi2";
                                                      nvidia,pins = "spi2_miso_pb5";
                                                      nvidia,pull = <0x00000000>;
                                                      nvidia,tristate = <0x00000001>;
                                                      nvidia,enable-input = <0x00000001>;
                                                  };
                                                  pin13 {
                                                      nvidia,function = "spi2";
                                                      nvidia,pins = "spi2_sck_pb6";
                                                      nvidia,pull = <0x00000001>;
                                                      nvidia,tristate = <0x00000000>;
                                                      nvidia,enable-input = <0x00000000>;
                                                  };
                                                  pin18 {
                                                      nvidia,function = "spi2";
                                                      nvidia,pins = "spi2_cs0_pb7";
                                                      nvidia,pull = <0x00000002>;
                                                      nvidia,tristate = <0x00000000>;
                                                      nvidia,enable-input = <0x00000000>;
                                                  };
                                                  pin16 {
                                                      nvidia,function = "spi2";
                                                      nvidia,pins = "spi2_cs1_pdd0";
                                                      nvidia,pull = <0x00000002>;
                                                      nvidia,tristate = <0x00000000>;
                                                      nvidia,enable-input = <0x00000000>;
                                                  };
                                              };
                                          };
                                      };
                                      fragment@spi0 {
                                          target = <0xffffffff>;
                                          __overlay__ {
                                              status = "okay";
                                              nvidia,polling-mode;
                                              prod-settings {
                                                  status = "disabled";
                                                  prod {
                                                      prod;
                                                  };
                                              };
                                              spi@0 {
                                                  compatible = "spidev";
                                                  status = "okay";
                                                  reg = <0x00000000>;
                                                  spi-max-frequency = <0x0337f980>;
                                                  controller-data {
                                                      nvidia,enable-hw-based-cs;
                                                  };
                                              };
                                              spi@1 {
                                                  compatible = "spidev";
                                                  status = "okay";
                                                  reg = <0x00000001>;
                                                  spi-max-frequency = <0x0337f980>;
                                                  controller-data {
                                                      nvidia,enable-hw-based-cs;
                                                  };
                                              };
                                          };
                                      };
                                      fragment@spi1 {
                                          target = <0xffffffff>;
                                          __overlay__ {
                                              status = "okay";
                                              nvidia,polling-mode;
                                              prod-settings {
                                                  status = "disabled";
                                                  prod {
                                                      prod;
                                                  };
                                              };
                                              spi@0 {
                                                  compatible = "spidev";
                                                  status = "okay";
                                                  reg = <0x00000000>;
                                                  spi-max-frequency = <0x0337f980>;
                                                  controller-data {
                                                      nvidia,enable-hw-based-cs;
                                                  };
                                              };
                                              spi@1 {
                                                  compatible = "spidev";
                                                  status = "okay";
                                                  reg = <0x00000001>;
                                                  spi-max-frequency = <0x0337f980>;
                                                  controller-data {
                                                      nvidia,enable-hw-based-cs;
                                                  };
                                              };
                                          };
                                      };
                                      __symbols__ {
                                          hdr40_pinmux = "/fragment@pinmux/__overlay__/header-40pin-pinmux";
                                      };
                                      __fixups__ {
                                          pinmux = "/fragment@pinmux:target:0";
                                          spi0 = "/fragment@spi0:target:0";
                                          spi1 = "/fragment@spi1:target:0";
                                      };
                                      __local_fixups__ {
                                          fragment@pinmux {
                                              __overlay__ {
                                                  pinctrl-0 = <0x00000000>;
                                              };
                                          };
                                      };
                                  };
                                  
                                  

                                  Any idea if there is something more I need to configure?

                                  undefined 1 Reply Last reply 9 Feb 2021, 15:23 Reply Quote 0
                                  • undefined
                                    gtj0 @hanshogeland
                                    last edited by 9 Feb 2021, 15:23

                                    @hanshogeland I'm investigating.

                                    undefined 1 Reply Last reply 9 Feb 2021, 15:30 Reply Quote 1
                                    • undefined
                                      gtj0 @gtj0
                                      last edited by 9 Feb 2021, 15:30

                                      @gtj0 This is really odd. I'm getting the same error now. Should have it fixed shortly.

                                      1 Reply Last reply Reply Quote 1
                                      • undefined
                                        gtj0
                                        last edited by 9 Feb 2021, 19:28

                                        I think this'll fix it. ..
                                        tegra210-p3448-0000-p3449-0000-b00-single-spidev.dtbo.stl
                                        tegra210-p3448-0000-p3449-0000-a02-single-spidev.dtbo.stl

                                        Use the appropriate one for your board and double check extlinux.conf after you use jetson-io.py.

                                        hanshogelandundefined 1 Reply Last reply 9 Feb 2021, 20:14 Reply Quote 1
                                        • hanshogelandundefined
                                          hanshogeland @gtj0
                                          last edited by 9 Feb 2021, 20:14

                                          @gtj0
                                          Thx, I tried with the b00 however I got the issue again:

                                          Duet Control Server v3.2.0
                                          Written by Christian Hammacher for Duet3D
                                          Licensed under the terms of the GNU Public License Version 3
                                          
                                          [info] Settings loaded
                                          [info] Environment initialized
                                          [fatal] Could not connect to Duet (Timeout while waiting for transfer ready pin)
                                          [debug] System.OperationCanceledException: Timeout while waiting for transfer ready pin
                                             at DuetControlServer.SPI.DataTransfer.WaitForTransfer(Boolean inTransfer) in /home/christian/Duet3D/DuetSoftwareFramework/src/DuetControlServer/SPI/DataTransfer.cs:line 1086
                                             at DuetControlServer.SPI.DataTransfer.ExchangeHeader() in /home/christian/Duet3D/DuetSoftwareFramework/src/DuetControlServer/SPI/DataTransfer.cs:line 1148
                                             at DuetControlServer.SPI.DataTransfer.PerformFullTransfer(Boolean connecting) in /home/christian/Duet3D/DuetSoftwareFramework/src/DuetControlServer/SPI/DataTransfer.cs:line 162
                                             at DuetControlServer.SPI.DataTransfer.Init() in /home/christian/Duet3D/DuetSoftwareFramework/src/DuetControlServer/SPI/DataTransfer.cs:line 104
                                             at DuetControlServer.Program.Main(String[] args) in /home/christian/Duet3D/DuetSoftwareFramework/src/DuetControlServer/Program.cs:line 113
                                          
                                          

                                          I have double checked the config, and I think the GPIO group settings rights where sat by DCS now.

                                          undefined 1 Reply Last reply 10 Feb 2021, 02:44 Reply Quote 0
                                          • First post
                                            Last post
                                          Unless otherwise noted, all forum content is licensed under CC-BY-SA