Duet 3 and jetson Nano?



  • @hanshogeland It looks like you've done everything right but there are some issues with jetson-io I think.

    jetson-io should create the file /boot/tegra210-p3448-0000-p3449-0000-b00-single-spidev.dtb from /boot/tegra210-p3448-0000-p3449-0000-b00-single-spidev.dtbo

    Double check that there IS a file in boot named tegra210-p3448-0000-p3449-0000-b00-single-spidev.dtb

    In /boot/extlinux/extlinux.conf, the FDT entry should match the file name but it looks like in your conf file there's an extra kernel_ prepended to the name...
    FDT /boot/kernel_tegra210-p3448-0000-p3449-0000-b00-single-spidev.dtb
    The kernel_ should NOT be there. It should be:
    FDT /boot/tegra210-p3448-0000-p3449-0000-b00-single-spidev.dtb

    The name itself doesn't really matter as long as the FDT entry points to the correct file.

    To use the full dtb I attached, just copy it to /boot/ and make sure the FDT entry points to it.



  • @gtj0
    Ok, so I tried to remove the kernel_ prexif and I checked that the dtb exist however it will not boot up using that dtb.
    So I am thinking what are controlling or setting the name in the second column in the gpioinfo for pin 13 ( "dcs-trp-13" )? Since I cant find that anywhere in any dtb or dtbo.

    Thx again
    //Hans



  • This is really bizarre. I just rebooted a b00 unit with that exact dtb file.

    Run...

    $ md5sum tegra210-p3448-0000-p3449-0000-b00-single-spidev.dtb
    bee35cc5ec5f1bb5eaafab30f1fbfea4  tegra210-p3448-0000-p3449-0000-b00-single-spidev.dtb
    

    Do you get that same md5 hash?

    Try placing the FDT line in the top entry (primary) of extlinux.conf and and remove the whole "Single SPIDEV" at the bottom. Then change the default entry to primary. Your extlinux.conf should now look like this...

    TIMEOUT 30
    DEFAULT primary
     
    MENU TITLE L4T boot options
     
    LABEL primary
          MENU LABEL primary kernel
          LINUX /boot/Image
          INITRD /boot/initrd
          FDT /boot/tegra210-p3448-0000-p3449-0000-b00-single-spidev.dtb
          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}
    

    If that doesn't work, the only thing I can suggest as a next step is to connect to the serial console and watch the messages.

    " dcs-trp-13" will only get placed there if the DCS can actually open that gpio so that's no big deal.



  • Thx for you effort, yes it was the same hash - so I take the .DTB and just put in the the boot/ dir and changed the exif to match the one you sent. Still it would not boot. Or do I need to flash?
    However I tried again with the single DBTO file and I am thinking since I get the line 19: in the GPIOINFO to match the line 19 of yours with [used], it would be the case that the DBTO is actually read in. So are there any additional changes one could make to enable the line 13 like yours? I tried to look into the pinmux spreasheet however I am not there yet to be near to understand the configuration.

    	line  12:  "SPI1_MOSI"       unused   input  active-high 
    	line  13:  "SPI1_MISO"       unused   input  active-high 
    	line  14:   "SPI1_SCK"       unused   input  active-high 
    	line  15:   "SPI1_CS0"       unused   input  active-high 
    	line  16:  "SPI0_MOSI"       unused   input  active-high 
    	line  17:  "SPI0_MISO"       unused   input  active-high 
    	line  18:   "SPI0_SCK"       unused   input  active-high 
    	line  19:   "SPI0_CS0"    "cs_gpio"  output  active-high [used]
    	line  20:   "SPI0_CS1"       unused   input  active-high 
    


  • @hanshogeland Sorry! I didn't see your reply until just now.

    This is really weird and I do not understand. You do NOT have to flash anything. You'll only get the "dcs-trp-13" and [used] if the duet control server is actually running and successfully opens that pin.

    I'm retrying a few things with the latest 32.5.0 release of Linux for Tegra.



  • @hanshogeland OK, try this dtb...

    tegra210-p3448-0000-p3449-0000-b00-user-custom.dtb.stl

    I've tested it so it should work. Now I have to clean up all my tries and make sure I can reproduce it. πŸ™‚



  • @gtj0 thx again! to rule out any Duet board issue I tested with a RPI3B+ and it turns out I get an error there also. So I checked the cable, and that seems to be ok. I have reset and flashed the board with the latest firmware - and there was my verry stupid mistake I had not flashed with the correct BOSSA settings! So I flashed it correct and now It’s working on the RPI - I will get back for the result about the Jetson. And thx again for your help!



  • @hanshogeland No problem! Let me know how it goes.



  • @gtj0 yes So the Dual did not work, but the Single DTBO worked I did not need to make any additional changes than just using the Jetson IO configuration. Thank you so much!
    f3b5d24c-802f-4b50-8f2b-3f813068104c-image.png



  • @hanshogeland Excellent! So the one from this post worked?... https://forum.duet3d.com/post/212653



  • @gtj0 yes from this

    gtj0 9 Feb 2021, 20:28
    tegra210-p3448-0000-p3449-0000-b00-single-spidev.dtbo.stl
    tegra210-p3448-0000-p3449-0000-a02-single-spidev.dtbo.stl

    I just followed my previous described steps πŸ™‚





  • @gtj0 thx again for you help!


Log in to reply