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

Network Port Not Working

Scheduled Pinned Locked Moved
Duet Hardware and wiring
5
24
1.5k
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
    GoremanX
    last edited by GoremanX 15 Feb 2021, 19:24

    The network port on my Duet 3 6HC seems to have stopped working, and I'm super confused about what changed to make that happen.

    When I plug a network cable into the Duet 3's network port, then plug the other end into a pi 4, nothing happens. No lights come on at either network port. It's like nothing is plugged in at all.

    I know the pi 4's network port works fine, I can plug my laptop into it and it works as expected (lights come on, communication happens).

    I've tried multiple network cables, all less than 3 feet in length, all different brands and grades. They all work with my laptop. None of them work with the Duet 3 (they used to).

    The Duet 3 seems to work fine, it boots up from its SD card and does all the things it's supposed to based on the config.g file. But since I can't connect to it and it doesn't have a paneldue hooked up, I can't interact with it or issue an M122 command.

    I tried powering the Duet 3 via the micro USB port (with int 5v disabled), and with the internal 5v converter enabled and no micro USB connected. No change.

    edit: I tried plugging it into a network switch, no difference. Running firmware 3.2

    edit 2: I tried the same SD card in a different Duet 3 6HC board that I have on hand, and its network port works fine. It's only the one on this specific board that appears to no longer work.

    Here's the contents of config.g:

    ; Configuration file for Duet 3 (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; Power On
    
    M80                                   ; Turn on secondary power supply (24v)
    
    ; General preferences
    
    G90                                   ; send absolute coordinates...
    M83                                   ; ...but relative extruder moves
    M550 P"skgo"                          ; set printer name
    M669 K1                               ; select CoreXY mode
    
    ; Network
    
    M552 P0.0.0.0 S1                      ; enable network and acquire dynamic address via DHCP
    M586 P0 S1                            ; enable HTTP
    M586 P1 S0                            ; disable FTP
    M586 P2 S0                            ; disable Telnet
    
    ; Drives
    
    M569 P0.0 S1                          ; physical drive 0.0 goes forwards
    M569 P0.1 S1                          ; physical drive 0.1 goes forwards
    M569 P0.2 S1                          ; physical drive 0.2 goes forwards
    M569 P0.3 S1                          ; physical drive 0.3 goes forwards
    M569 P0.4 S1                          ; physical drive 0.4 goes forwards
    M584 E0.0:0.1 X0.2 Y0.3 Z0.4          ; set drive mapping
    M350 X16 Y16 Z16 E16:16 I1            ; configure microstepping with interpolation
    M92 X100 Y100 Z4000 E685:685          ; set steps per mm
    M566 X1800 Y1800 Z60 E1200:1200       ; set maximum instantaneous speed changes (mm/min)
    M203 X12000 Y12000 Z180 E3600:3600    ; set maximum speeds (mm/min)
    M201 X1500 Y1500 Z20 E1500:1500       ; set accelerations (mm/s^2)
    M906 X1300 Y1300 Z1300 E600:600 I30   ; set motor currents (mA) and motor idle factor in per cent
    M84 S30                               ; Set idle timeout
    
    ; Axis Limits
    
    M208 X-150 Y-150 Z0 S1                ; set axis minima
    M208 X150 Y150 Z325 S0                ; set axis maxima
    
    ; Endstops
    
    M574 X1 S1 P"io0.in"                  ; configure active-high endstop for low end on X via pin P
    M574 Y2 S1 P"io1.in"                  ; configure active-high endstop for high end on Y via pin P
    M574 Z1 S2                            ; configure Z-probe endstop for low end on Z
    
    ; Z-Probe
    
    M950 S0 C"io7.out"                    ; create servo pin 0 for BLTouch
    M558 P9 C"^io7.in" H5 F120 T9000      ; set Z probe type to bltouch and the dive height + speeds
    G31 P500 X0 Y-52 Z2.5                 ; set Z probe trigger value, offset and trigger height
    M557 X-140:140 Y-98:98 S35:24         ; define mesh grid
    
    ; Heaters
    
    M308 S0 P"temp3" Y"thermistor" T100000 B4138 A"Bed Heater"      ; configure sensor S as type Y on pin P
    M950 H0 C"out0" T0                                              ; create bed heater output on pin C and map it to sensor T defined by M308
    M307 H0 B1 S1.00                                                ; enable bang-bang mode (H) for the bed heater and set PWM limit S
    M140 H0                                                         ; map heated bed to heater H
    M143 H0 S150                                                    ; set temperature limit for heater H to S
    
    M308 S1 P"temp0" Y"thermistor" T500000 B4723 C1.19622e-7 A"1st Nozzle Heater" ; configure sensor S as type Y on pin P
    M950 H1 C"out1" T1                                              ; create nozzle heater output on pin C and map it to sensor T defined by M308
    M307 H1 B0 S1.00                                                ; disable bang-bang mode (H) for heater and set PWM limit S
    M143 H1 S500                                                    ; set temperature limit for heater H to S
    
    M308 S2 P"temp1" Y"pt1000" R2200 A"2nd Nozzle Heater"             ; configure sensor S as type Y on pin P
    M950 H2 C"out2" T2                                              ; create nozzle heater output on pin C and map it to sensor T defined by M308
    M307 H2 B0 S1.00                                                ; disable bang-bang mode (H) for heater and set PWM limit S
    M143 H2 S500                                                    ; set temperature limit for heater H to S
    
    M308 S3 P"temp2" Y"thermistor" T100000 B4138 A"Chamber Heaters" ; configure sensor S as type Y on pin P
    M950 H3 C"out3" T3                                              ; create chamber heater output on pin C and map it to sensor T defined by M308
    M307 H3 B1 S1.00                                                ; enable bang-bang mode (H) for the chamber heater and set PWM limit S
    M141 H3                                                         ; map chamber to H
    M143 H3 S120                                                    ; set temperature limit for heater H to S
    
    M308 S4 Y"drivers" A"Drivers"                                   ; configure sensor S as temperature warning and overheat flags on the TMC2660 on Duet
    M308 S5 Y"mcu-temp" A"MCU"                                      ; configure sensor S as MCU temperature monitor
    
    ; Fans, Pumps and Accessories
    
    M950 F0 C"!out4" Q2500                                   ; create fan F on pin C and set its frequency Q
    M106 P0 H4:5 L0.30 X1 B0.3 T35:50 C"Electronics"         ; set fan P value. Thermostatic control is turned on
    
    M950 F1 C"out5" Q2500                                    ; create fan F on pin C and set its frequency
    M106 P1 S0 H1:2 T45 C"Water Pump"                        ; set fan P value. Thermostatic control at temperature T of heater(s) H
    
    M950 F2 C"out7" Q2500                                    ; create fan F on pin C and set its frequency
    M106 P2 S0 H-1 L0.35 C"Air Pump"                         ; set fan P value, minimum speed L, initial speed S
    
    M950 F3 C"out8" Q2500                                    ; create fan F on pin C and set its frequency
    M106 P3 S0 H-1 L0.35 C"Air Pump"                         ; set fan P value, minimum speed L, initial speed S
    
    M950 F4 C"out9"                                          ; create fan F on pin C and set its frequency
    M106 P4 H1:2 T45 L255 C"110v Outlet"                     ; set fan P value. Thermostatic control at temperature T of heater(s) H
    
    M950 P5 C"out6"                                          ; create output P on pin C
    M42 P5 S255 C"LED Lights"                                ; set output P initial value to S
    
    ; Tools
    
    M563 P0 D0 H1 F2 S"1st Hotend"                           ; define tool P
    G10 P0 X-10 Y0 Z0                                        ; set tool P axis offsets
    G10 P0 R0 S170                                           ; set initial tool P active (R) and standby (S) temperatures
    
    M563 P1 D1 H2 F3 S"2nd Hotend"                           ; define tool P
    G10 P1 X10 Y0 Z0                                         ; set tool P axis offsets
    G10 P1 R0 S170                                           ; set initial tool P active (R) and standby (S) temperatures
    
    ; Custom settings are not defined
    
    M207 S1.2 F3600                                          ; firmware retraction length (S) and speed (F)
    M376 H10                                                 ; taper off bed compensation by H height in mm
    M572 D0 S0.03                                            ; pressure advance
    
    ; Miscellaneous
    M501                                                     ; load saved parameters from non-volatile memory
    M911 S9 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000"        ; set voltage thresholds and actions to run on power loss
    T0                                                       ; select first tool
    
    
    
    1 Reply Last reply Reply Quote 0
    • undefined
      T3P3Tony administrators
      last edited by 15 Feb 2021, 22:30

      Try connecting over the USB with a terminal program (like YAT on windows) and send M552 to confirm the network status.

      www.duet3d.com

      undefined 1 Reply Last reply 16 Feb 2021, 00:36 Reply Quote 0
      • undefined
        GoremanX @T3P3Tony
        last edited by 16 Feb 2021, 00:36

        @T3P3Tony

        M552
        Ethernet is enabled, configured IP address: 0.0.0.0, actual IP address: 0.0.0.0

        1 Reply Last reply Reply Quote 0
        • undefined
          GoremanX
          last edited by 16 Feb 2021, 00:40

          M122
          === Diagnostics ===
          RepRapFirmware for Duet 3 MB6HC version 3.2 running on Duet 3 MB6HC v1.01 or later (standalone mode)
          Board ID: 08DJM-956BA-NA3TN-6J9D4-3SN6N-KB8AU
          Used output buffers: 1 of 40 (12 max)
          === RTOS ===
          Static ram: 149788
          Dynamic ram: 56004 of which 24 recycled
          Never used RAM 153016, free system stack 183 words
          Tasks: HEAT(blocked,296) CanReceiv(blocked,927) CanSender(blocked,371) CanClock(blocked,354) TMC(blocked,53) MAIN(running,1082) IDLE(ready,19)
          Owned mutexes: USB(MAIN)
          === Platform ===
          Last reset 00:05:12 ago, cause: power up
          Last software reset at 2021-02-10 11:55, reason: User, GCodes spinning, available RAM 114712, slot 1
          Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task MAIN Freestk 0 n/a
          Error status: 0x00
          Aux0 errors 0,0,0
          Aux1 errors 0,0,0
          MCU temperature: min 34.0, current 34.8, max 35.1
          Supply voltage: min 0.1, current 24.3, max 24.4, under voltage events: 0, over voltage events: 0, power good: yes
          12V rail voltage: min 0.2, current 12.3, max 12.6, under voltage events: 0
          Driver 0: position 0, standstill, reads 41307, writes 11 timeouts 0, SG min/max 0/0
          Driver 1: position 0, standstill, reads 41307, writes 11 timeouts 0, SG min/max 0/0
          Driver 2: position 0, standstill, reads 41307, writes 11 timeouts 0, SG min/max 0/0
          Driver 3: position 0, standstill, reads 41307, writes 11 timeouts 0, SG min/max 0/0
          Driver 4: position 0, standstill, reads 41308, writes 11 timeouts 0, SG min/max 0/0
          Driver 5: position 0, standstill, reads 41308, writes 11 timeouts 0, SG min/max 0/0
          Date/time: 1970-01-01 00:00:00
          Slowest loop: 0.20ms; fastest: 0.07ms
          === Storage ===
          Free file entries: 8
          SD card 0 detected, interface speed: 25.0MBytes/sec
          SD card longest read time 0.0ms, write time 0.0ms, max retries 0
          === Move ===
          DMs created 125, maxWait 0ms, bed compensation in use: none, comp offset 0.000
          === MainDDARing ===
          Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
          === AuxDDARing ===
          Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
          === Heat ===
          Bed heaters = 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamberHeaters = 3 -1 -1 -1
          Heater 1 is on, I-accum = 0.0
          === GCodes ===
          Segments left: 0
          Movement lock held by Trigger
          HTTP is idle in state(s) 0
          Telnet is idle in state(s) 0
          File is idle in state(s) 0
          USB is ready with "M122" in state(s) 0
          Aux is idle in state(s) 0
          Trigger is doing "M116 P0" in state(s) 0 12 0, running macro
          Queue is idle in state(s) 0
          LCD is idle in state(s) 0
          SBC is idle in state(s) 0
          Daemon is idle in state(s) 0
          Aux2 is idle in state(s) 0
          Autopause is idle in state(s) 0
          Code queue is empty.
          === Network ===
          Slowest loop: 0.00ms; fastest: 5726623.00ms
          Responder states:
          HTTP sessions: 0 of 8
          - Ethernet -
          State: enabled
          Error counts: 0 0 0 0 0
          Socket states: 0 0 0 0 0 0 0 0
          === CAN ===
          Messages queued 543, send timeouts 1223, received 0, lost 0, longest wait 0ms for reply type 0, free buffers 48
          ok
          
          
          1 Reply Last reply Reply Quote 0
          • Phaedruxundefined
            Phaedrux Moderator
            last edited by 16 Feb 2021, 02:55

            When and where did you purchase the Duet 3?

            Z-Bot CoreXY Build | Thingiverse Profile

            undefined 1 Reply Last reply 16 Feb 2021, 02:57 Reply Quote 0
            • undefined
              GoremanX @Phaedrux
              last edited by 16 Feb 2021, 02:57

              @Phaedrux printedsolid.com on October 5th, 2020

              1 Reply Last reply Reply Quote 0
              • undefined
                GoremanX
                last edited by 16 Feb 2021, 03:18

                and to be clear, it worked fine until about a week ago. I thought my issue was with the pi 4 so I spent a week trying to figure it out from that end, only to finally realize that it was the Duet 3 all along that was causing the issue

                1 Reply Last reply Reply Quote 0
                • Phaedruxundefined
                  Phaedrux Moderator
                  last edited by 16 Feb 2021, 06:07

                  It does seem like your ethernet port has stopped functioning.

                  Please contact Printed Solid and initiate a warranty exchange. Include a link to this thread as authorization.

                  Z-Bot CoreXY Build | Thingiverse Profile

                  undefined 2 Replies Last reply 16 Feb 2021, 06:32 Reply Quote 0
                  • undefined
                    GoremanX @Phaedrux
                    last edited by 16 Feb 2021, 06:32

                    @Phaedrux thank you!

                    1 Reply Last reply Reply Quote 0
                    • undefined
                      GoremanX @Phaedrux
                      last edited by 19 Feb 2021, 23:01

                      @Phaedrux I really hope that US retailers are being restocked, because Printed Solid doesn't have any Duet 3 6HCs in stock and can't replace my defective board until they receive more. My main printer is out of commission for an unknown period of time.

                      1 Reply Last reply Reply Quote 0
                      • Phaedruxundefined
                        Phaedrux Moderator
                        last edited by 20 Feb 2021, 00:37

                        More coming all the time. Hopefully it's not a long wait. Sorry for the inconvenience.

                        Z-Bot CoreXY Build | Thingiverse Profile

                        undefined 1 Reply Last reply 10 Mar 2021, 22:36 Reply Quote 0
                        • BorisVivienneundefined
                          BorisVivienne
                          last edited by Phaedrux 3 Feb 2021, 18:19 2 Mar 2021, 17:02

                          Maybe some software that checks and controls ports (for example VPN, [employee monitoring software]proxy) closed this port for its needs?

                          "Change your life today. Don't gamble on the future, act now, without delay."

                          undefined 1 Reply Last reply 2 Mar 2021, 17:13 Reply Quote 0
                          • undefined
                            GoremanX @BorisVivienne
                            last edited by 2 Mar 2021, 17:13

                            @BorisVivienne said in Network Port Not Working:

                            Maybe some software that checks and controls ports (for example VPN, employee monitoring software, proxy) closed this port for its needs?

                            It wasn't working in both direct-connect and network-connect situations. This was not a firewall thing. I'm sure I could've gotten around it by running it in SBC mode, but I run my boards in standalone mode.

                            1 Reply Last reply Reply Quote 0
                            • undefined
                              GoremanX @Phaedrux
                              last edited by GoremanX 3 Oct 2021, 22:36 10 Mar 2021, 22:36

                              @Phaedrux In retrospect, I don't think there was anything wrong with my board at all. I haven't received the warranty replacement yet, but I bought a new board from a different reseller in the meantime to get my printer back up and running right away, with the intention of using the eventual warranty replacement in a new project.

                              Surprise! It didn't work in the exact same way, either... (using the SD card from the old board that I deemed "defective")

                              Spent hours diagnosing the issue, and the problem is a really bizarre thing. Having:

                              T0
                              

                              at the bottom of config.g causes the network port to not turn on. Commenting out that line fixes the issue. I don't get it, I have T0 at the end of ALL my config.g files for every printer I own (I currently have 4 Duet-based printers), and this is the only time it's ever caused an issue. I wouldn't even consciously add T0 myself, but it's one of the RRF Configurator options, so it ended up in there at some point and got carried over into all my configurations. In this case, it's appropriate because it's a dual extruder setup. But why the presence of T0 is causing the network to fail is beyond me, and only with this specific config.g layout. Meanwhile, everything else on the board works fine. The fans come on at the right temps, and they respond to temperature changes as they should. The presence of T0 in this case only kills the network port.

                              If someone would like to try out the config.g file from my OP this time and confirm that I'm not on crack, please do.

                              droftartsundefined 1 Reply Last reply 10 Mar 2021, 23:28 Reply Quote 0
                              • Phaedruxundefined
                                Phaedrux Moderator
                                last edited by 10 Mar 2021, 22:54

                                That is very bizarre. Is there anything odd about that tool?

                                What happens if you manually send T0 after startup?

                                What happens if you use T1 instead?

                                What happens if you use T0 with the wiring for all the tool0 parts disconnected?

                                Z-Bot CoreXY Build | Thingiverse Profile

                                1 Reply Last reply Reply Quote 0
                                • undefined
                                  GoremanX
                                  last edited by 10 Mar 2021, 23:24

                                  Everything from the print head is already disconnected. This particular printer is a WIP.

                                  Sending T0 after the printer has started up causes an immediate heater fault, presumably because there's no heater connected. Same with T1. There's a M116 P0 in tpost0.g that gets triggered when T0 is run. Commenting it out prevents the heater fault from happening, and also allows the board to start up completely with the network port active, even with T0 present in config.g. So it looks like the heater fault caused by M116 P0 on startup might be breaking something.

                                  The odd thing is that I started my diagnosis by temporarily using a known good config.g (the one from my delta printer) just to see if the network port would come on. That config.g file DOES have T0 at the end of it, and tpost0.g was always present with M116 P0 in it. Yet the network port worked fine. So the issue here might be a combination of my defined heaters/sensors and the M116 P0 that T0 triggers. Either way, I would never expect that to prevent the network port from coming on...

                                  droftartsundefined 1 Reply Last reply 10 Mar 2021, 23:43 Reply Quote 0
                                  • droftartsundefined
                                    droftarts administrators @GoremanX
                                    last edited by droftarts 3 Oct 2021, 23:30 10 Mar 2021, 23:28

                                    @GoremanX while networking parameters are often early on in config.g, I think it’s still the case that network is not initialised until config.g has finished being processed, so something seems to stop that happening. Do you ave anything in the T0 tool change macros? These usually require axes to be homed before running, but perhaps check tpre0.g and tpost0.g.

                                    Edit: sorry, just saw your last post after I posted!

                                    Ian

                                    Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                                    1 Reply Last reply Reply Quote 0
                                    • droftartsundefined
                                      droftarts administrators @GoremanX
                                      last edited by 10 Mar 2021, 23:43

                                      @GoremanX looks like it’s the combination of setting G10 P0 R0 S170 in config.g (S parameter is active temperature, are you okay with setting an active temperature from startup?), activating the tool, then setting a wait in a external macro, possibly with the tight tolerance. The heater fault probably causes the macro to stop, so it never returns to complete config.g and enable networking. What happens if you set G10 P0 R0 S0?

                                      Ian

                                      Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                                      undefined 1 Reply Last reply 10 Mar 2021, 23:48 Reply Quote 0
                                      • undefined
                                        GoremanX @droftarts
                                        last edited by GoremanX 3 Oct 2021, 23:54 10 Mar 2021, 23:48

                                        @droftarts You're correct. With my single-extruder printers, config.g contains

                                        G10 P0 X0 Y0 Z0 R0 S0                             ; set tool P axis offsets and set active and standby temperatures to S
                                        

                                        So active and standby temps are set to 0 by default. but for this dual-extruder setup, RRF-Config gave me:

                                        G10 P0 X-10 Y0 Z0                                        ; set tool P axis offsets
                                        G10 P0 R0 S170                                           ; set initial tool P active (R) and standby (S) temperatures
                                        

                                        (and its equivalent for P1)

                                        So when I set a tool as active, its standby temperature becomes its active temperature. Again, there's no good reason for that to prevent the network from coming up. But M106 P0 in tpost0.g is basically just a "wait" command, so I guess the board sits there and waits for the temperature to be reached rather than finish booting.

                                        1 Reply Last reply Reply Quote 1
                                        • undefined
                                          GoremanX
                                          last edited by GoremanX 3 Nov 2021, 15:55 11 Mar 2021, 15:54

                                          @Phaedrux @droftarts Just to clarify, the default in RRF-config is to generate a tpost0.g that contains M106 P0 ("Wait for Temperatures to be Reached on Tool Change"). I didn't do that manually. Selecting the first tool is not the default, but it's a checkbox directly beneath that option ("Select the First Tool on Start-Up"). With those two options selected, setting the selected tool's default standby or active temperature to anything other than 0 causes the heater to require reaching that temperature before startup completes. That means the network port won't be turned on until that temperature is reached, which could be never, as in this case. Meanwhile, it's very difficult to know what's going on with the board since it can't be connected to via ethernet, despite the fact that the board is in fact initialized and functional.

                                          Perhaps this could be prevented by changing the firmware so that the network comes up as soon as M540/M550/M551/M552/M586/[other network-related gcodes] have been read, rather than waiting until processing of config.g has been completed. The current behavior makes diagnosis a nightmare. I get that there might be network-related gcodes at any point in the file, but there has to be a better way to handle this than potentially locking up the ethernet port for minutes or even forever on startup.

                                          Phaedruxundefined 1 Reply Last reply 11 Mar 2021, 17:36 Reply Quote 0
                                          • First post
                                            Last post
                                          Unless otherwise noted, all forum content is licensed under CC-BY-SA