M540 and MAC address problems on Duet 3
-
@t3p3tony can confirm on his test base, I guess it could be a firmware issue?
I will try to go down to 3.2 for the machine that is in conflict, since it is not very happy in the network.M122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.4.0beta4 (2021-09-27 11:31:18) running on Duet 3 MB6HC v1.01 or later (standalone mode) Board ID: 08DJM-956L2-G43S8-6J9D0-3SJ6L-9A0GG Used output buffers: 1 of 40 (33 max) === RTOS === Static ram: 151080 Dynamic ram: 93860 of which 0 recycled Never used RAM 105732, free system stack 206 words Tasks: NETWORK(ready,29.8%,225) ETHERNET(notifyWait,0.1%,170) HEAT(notifyWait,0.0%,321) Move(notifyWait,0.0%,351) CanReceiv(notifyWait,0.0%,906) CanSender(notifyWait,0.0%,374) CanClock(delaying,0.0%,339) TMC(notifyWait,8.2%,92) MAIN(running,61.9%,1113) IDLE(ready,0.0%,30), total 100.0% Owned mutexes: === Platform === Last reset 00:59:19 ago, cause: software Last software reset at 2021-10-06 11:29, reason: User, GCodes spinning, available RAM 105732, slot 2 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0044a000 BFAR 0x00000000 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 Step timer max interval 133 MCU temperature: min 32.8, current 34.1, max 34.2 Supply voltage: min 27.6, current 27.9, max 28.1, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.0, current 12.1, max 12.2, under voltage events: 0 Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0 Driver 0: pos 0, standstill, SG min/max 0/0, reads 54487, writes 17 timeouts 0 Driver 1: pos 0, standstill, SG min/max 0/0, reads 54487, writes 17 timeouts 0 Driver 2: pos 0, standstill, SG min/max 0/0, reads 54487, writes 17 timeouts 0 Driver 3: pos 0, standstill, SG min/max 0/0, reads 54487, writes 17 timeouts 0 Driver 4: pos 0, standstill, SG min/max 0/0, reads 54494, writes 11 timeouts 0 Driver 5: pos 0, standstill, SG min/max 0/0, reads 54488, writes 17 timeouts 0 Date/time: 2021-10-06 12:28:42 Slowest loop: 6.31ms; fastest: 0.05ms === Storage === Free file entries: 10 SD card 0 detected, interface speed: 25.0MBytes/sec SD card longest read time 2.6ms, write time 0.0ms, max retries 0 === Move === DMs created 125, segments created 0, maxWait 0ms, bed compensation in use: mesh, comp offset 0.000 === MainDDARing === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === AuxDDARing === Scheduled moves 0, completed 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 = 2 -1 -1 -1 === GCodes === Segments left: 0 Movement lock held by null HTTP is idle in state(s) 0 Telnet is idle in state(s) 0 File is idle in state(s) 0 USB is idle in state(s) 0 Aux is idle in state(s) 0 Trigger is idle in state(s) 0 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 === CAN === Messages queued 32045, received 13, lost 0, longest wait 1ms for reply type 6018, peak Tx sync delay 6, free buffers 49 (min 48), ts 17796/17795/0 Tx timeouts 0,0,0,0,0,0 === Network === Slowest loop: 10.23ms; fastest: 0.02ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions Telnet(0), 0 sessions HTTP sessions: 4 of 8 - Ethernet - State: active Error counts: 0 0 1 0 0 Socket states: 5 5 2 2 2 2 0 0
-
@sergio if 3.2 resolves the issue that would be helpful to know.
-
@sergio what I need is the M122 reports from both duets that are being given the same MAC address.
-
@dc42
Sorry, I was asking someone to turn off that machine in that factory. I cannot access both remotely through the VPN so I needed remote hands to help me.m122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.3RC1 (2021-05-01 09:12:50) running on Duet 3 MB6HC v1.01 or later (standalone mode) Board ID: 08DJM-956L2-G43S8-6J9D0-3SJ6Q-9A0YG Used output buffers: 3 of 40 (15 max) === RTOS === Static ram: 150680 Dynamic ram: 90564 of which 516 recycled Never used RAM 109576, free system stack 154 words Tasks: NETWORK(ready,31.5%,226) ETHERNET(notifyWait,1.7%,112) HEAT(delaying,0.2%,295) Move(notifyWait,0.4%,268) CanReceiv(notifyWait,0.0%,945) CanSender(notifyWait,0.0%,359) CanClock(delaying,0.1%,335) TMC(notifyWait,96.6%,93) MAIN(running,93.5%,1114) IDLE(ready,0.0%,29), total 224.0% Owned mutexes: === Platform === Last reset 17:11:23 ago, cause: software Last software reset time unknown, reason: User, GCodes spinning, available RAM 109576, slot 2 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 Step timer max interval 224 MCU temperature: min 39.2, current 41.6, max 44.2 Supply voltage: min 23.9, current 24.0, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.0, current 12.1, max 12.2, under voltage events: 0 Heap OK, handles allocated/used 99/1, heap memory allocated/used/recyclable 2048/8/0, gc cycles 0 Driver 0: position 46840, standstill, reads 18330, writes 19 timeouts 0, SG min/max 0/194 Driver 1: position 46831, standstill, reads 18330, writes 19 timeouts 0, SG min/max 0/174 Driver 2: position 46839, standstill, reads 18330, writes 19 timeouts 0, SG min/max 0/190 Driver 3: position 0, standstill, reads 18336, writes 14 timeouts 0, SG min/max 0/0 Driver 4: position 0, standstill, reads 18336, writes 14 timeouts 0, SG min/max 0/0 Driver 5: position 0, standstill, reads 18339, writes 11 timeouts 0, SG min/max 0/0 Date/time: 2021-10-06 11:47:54 Slowest loop: 6.42ms; fastest: 0.05ms === Storage === Free file entries: 10 SD card 0 detected, interface speed: 25.0MBytes/sec SD card longest read time 2.6ms, write time 0.0ms, max retries 0 === Move === DMs created 125, maxWait 146ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 5, completed moves 5, 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 = -1 -1 -1 -1 Heater 1 is on, I-accum = 0.0 === GCodes === Segments left: 0 Movement lock held by null HTTP is idle in state(s) 0 Telnet is idle in state(s) 0 File is idle in state(s) 0 USB is idle in state(s) 0 Aux is idle in state(s) 0 Trigger is idle in state(s) 0 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. === CAN === Messages queued 556955, send timeouts 556952, received 0, lost 0, longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 49 (min 49) Last cancelled message type 30 dest 127 === Network === Slowest loop: 6.08ms; fastest: 0.02ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions Telnet(0), 0 sessions HTTP sessions: 2 of 8 - Ethernet - State: active Error counts: 0 0 1 0 0 Socket states: 5 5 2 2 2 2 0 0
-
None of my Duet3 change MAC address.
Here is another example:; CONFIGURACION GENERAL G90 ; Establecer coordenadas absolutas M83 ; Establecer movimientos del motor relativos M550 P"AM_204" ; Nombre de la máquina (Afecta a la interfaz, no se si también a su identidad en la red) ;Configuración de RED ; M540 P0xB1:0xEF:0xD0:0xAD:0xDD:0xFD ; This format doesn't work anymore M540 PB1:EF:D0:AD:DD:FD M552 P192.168.102.104 ; Activar comunicación por red, con IP local 1.130 M554 P192.168.0.1 ; Puerta de enlac M553 P255.255.0.0 ; Mascara de red M586 P0 S1 ; Activa protocolo HTTP M586 P1 S1 ; Desactiva protocolo FTP M586 P2 S0 ; Desactiva TELNET M552 S1
Reported by the duet:
M540 MAC: b1:ef:d0:ad:dd:fd
Arping returns [BE:62:39:3B:53:31]
$ arping -c 1000 192.168.102.104 -I ens3 ARPING 192.168.102.104 from 192.168.102.1 ens3 Unicast reply from 192.168.102.104 [BE:62:39:3B:53:31] 0.802ms
M122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.3beta2 running on Duet 3 MB6HC v1.01 or later (standalone mode) Board ID: 08DJM-956L2-G43S8-6J1D2-3S86S-1A32D Used output buffers: 1 of 40 (13 max) === RTOS === Static ram: 148476 Dynamic ram: 90516 of which 548 recycled Never used RAM 114652, free system stack 154 words Tasks: NETWORK(ready,234) ETHERNET(notifyWait,120) HEAT(delaying,278) CanReceiv(notifyWait,945) CanSender(notifyWait,360) CanClock(delaying,335) TMC(notifyWait,58) MAIN(running,1113) IDLE(ready,19) Owned mutexes: === Platform === Last reset 16:21:16 ago, cause: software Last software reset time unknown, reason: User, GCodes spinning, available RAM 114652, slot 2 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 48.8, current 51.0, max 54.5 Supply voltage: min 23.9, current 24.0, max 24.0, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.0, current 12.1, max 12.2, under voltage events: 0 Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0 Driver 0: position 47314, standstill, reads 41408, writes 19 timeouts 0, SG min/max 0/172 Driver 1: position 47293, standstill, reads 41409, writes 19 timeouts 0, SG min/max 0/171 Driver 2: position 47328, standstill, reads 41409, writes 19 timeouts 0, SG min/max 0/160 Driver 3: position 0, standstill, reads 41414, writes 14 timeouts 0, SG min/max 0/0 Driver 4: position 0, standstill, reads 41414, writes 14 timeouts 0, SG min/max 0/0 Driver 5: position 0, standstill, reads 41417, writes 11 timeouts 0, SG min/max 0/0 Date/time: 2021-10-06 11:51:00 Slowest loop: 12.65ms; fastest: 0.06ms === Storage === Free file entries: 10 SD card 0 detected, interface speed: 25.0MBytes/sec SD card longest read time 4.4ms, write time 0.0ms, max retries 0 === Move === DMs created 125, maxWait 51ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 5, completed moves 5, 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 = -1 -1 -1 -1 Heater 1 is on, I-accum = 0.0 === GCodes === Segments left: 0 Movement lock held by null HTTP is idle in state(s) 0 Telnet is idle in state(s) 0 File is idle in state(s) 0 USB is idle in state(s) 0 Aux is idle in state(s) 0 Trigger is idle in state(s) 0 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. === CAN === Messages queued 529894, send timeouts 529891, received 0, lost 0, longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 49 (min 49) Last cancelled message type 30 dest 127 === Network === Slowest loop: 12.65ms; fastest: 0.02ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions Telnet(0), 0 sessions HTTP sessions: 2 of 8 - Ethernet - State: active Error counts: 0 0 1 0 0 Socket states: 5 2 2 2 2 2 0 0
Best.
Sergio -
@t3p3tony
3.2 doesn't resolve the issue. -
@sergio I confirm that there are two bugs:
- M540 does not set the MAC address in the Ethernet driver;
- When constructing a default MAC address, the last byte of the processor unique ID is not used. This means that multiple Duet 3 boards from the same manufacturing batch may have the same default MAC address.
#2 is quick to fix so the fix will be in 3.4.0beta5, which we hope to release later today. #1 may take a little longer.
-
@dc42 Thanks a lot.
-
@dc42
If you are looking into that code. The hex format also doesn't seem to work anymore, not sure if you are removing backwards compatibility, but if that is the case a note would be good on the M540 description.M540 P0xB1:0xEF:0xD0:0xAD:0xDD:0xFD ; This format doesn't work anymore M540 PB1:EF:D0:AD:DD:FD
Thanks a lot for the fast response.
Sergio -
@sergio yes that hex format has been removed. The M540 example doesn't use it, see https://duet3d.dozuki.com/Wiki/M540.
-
@sergio the default MAC address clash problem should be fixed in 3.4b5:
https://github.com/Duet3D/RepRapFirmware/wiki/Changelog-RRF-3.x-Beta-&-RC#reprapfirmware-340beta5https://github.com/Duet3D/RepRapFirmware/releases/tag/3.4.0beta5
-
@t3p3tony Just updated the firmware and I can confirm that the MAC is correct. Thanks
-