3.2 JSON Parse error: Unrecognized token '<' Password bug
-
Cool, yes, deleting them in DWC does appear to delete them in the "sys" folder.
Unfortunately it appears that .JSON files cannot be uploaded to the forum. I can copy and paste the info from a text editor if you'd like, but deleting them did not appear to fix the issue.
Here is the config.g file:
; Creality. ; 0:/sys/config.g ; Configuration file for Duet WiFi (firmware version 3.1.1). ; Executed by the firmware on start-up. ; 2020/01/05/20:24. ; General Preferences. G90 ; Set all axes (not extruders) to absolute positioning. M83 ; Set all extruders (not axes) to relative positioning. M550 P"Creality" ; Set machine name. ; P (Machine name): Creality. M669 K0 ; Set kinematics type and parameters. ; K (Kinematics type): 0 (Cartesian). ; Network. M551 P"REDACTED" ; Set machine password. ; P (Password): ... M552 S1 ; Set network. ; S (Networking): 1 (Enable networking as a client). M586 P0 S1 ; Set network protocols. ; P (Protocol type): 0 (HTTP or HTTPS). ; S (Protocol command): 1 (Enable). M586 P1 S0 ; Set network protocols. ; P (Protocol type): 1 (FTP or SFTP). ; S (Protocol command): 0 (Disable). M586 P2 S0 ; Set network protocols. ; P (Protocol type): 1 (Telnet or SSH). ; S (Protocol command): 0 (Disable). ; Drives. M569 P0 S1 ; Set motor driver direction. ; P (Motor drive number): 0 (X motor board label, X motor). ; S (Direction of movement): 1 (Forward). M569 P1 S1 ; Set motor driver direction. ; P (Motor drive number): 1 (Y motor board label, Y motor). ; S (Direction of movement): 1 (Forward). M569 P2 S1 ; Set motor driver direction. ; P (Motor drive number): 2 (Z1 motor board label, Left Z [Z1] motor). ; S (Direction of movement): 1 (Forward). M569 P3 S1 ; Set motor driver direction. ; P (Motor drive number): 3 (E0 motor board label, E0 motor). ; S (Direction of movement): 1 (Forward). M569 P4 S1 ; Set motor driver direction. ; P (Motor drive number): 4 (E1 motor label, Right Z [Z2] motor). ; S (Direction of movement): 1 (Forward). M584 X0 Y1 Z2:4 E3 ; Set drive mapping. ; X (Driver number for X motor): 0 (X motor label). ; Y (Driver number for Y motor): 1 (Y motor label). ; Z (Driver number for Z motor): 2 & 4 (Z1 motor label & E1 motor label). ; E (Driver number for E motor): 3 (E0 motor label). M671 X-25:535 Y250:250 S20 F1.0 ; Set positions of z screws. ; X (X coordinates of Z screws): ...(-25mm X, 0mm Y offset on left. 25mm X, 0mm Y offset on right.) 0 (-22, 535), 1 (520, 250). ; Y (Y coordinates of Z screws): ... ; S (Maximum correction to apply to each Z screw [mm]): 20. ; F (Fudge factor): 1.0. M350 X16 Y16 Z16 E16 I1 ; Set microstepping and interpolation. ; X (Stepping mode for the X axis): 16 (1/16 step). ; Y (Stepping mode for the Y axis): 16 (1/16 step). ; Z (Stepping mode for the Z axis): 16 (1/16 step). ; E (Stepping mode for the extruder): 16 (1/16 step). ; I (Microstepping interpolation mode): 16(Enable). M92 X80.00 Y80.00 Z400.00 E824.00 ; Set axis steps per unit. ; X (Steps/mm for X axis): 80.00. ; Y (Steps/mm for Y axis): 80.00. ; Z (Steps/mm for Z axis): 400.00. ; E (Steps/mm for extruder): 824.00. M566 X480.00 Y480.00 Z12.00 E10000.00 ; Set maximum instantaneous speed change (jerk). ; X (Maximum instantaneous speed change for X axis [mm/min]): 480.00. ; Y (Maximum instantaneous speed change for Y axis [mm/min]): 480.00. ; Z (Maximum instantaneous speed change for Z axis [mm/min]): 12.00. ; E (Maximum instantaneous speed change for extruder [mm/min]): 10,000.00. M203 X21000.00 Y21000.00 Z900.00 E1500.00 ; Set maximum speeds. ; X (Maximum speed for X axis [mm/min]): 21,000.00. ; Y (Maximum speed for Y axis [mm/min]): 21,000.00. ; Z (Maximum speed for Z axis [mm/min]): 900.00. ; E (Maximum speed for extruder [mm/min]): 1,500.00. M201 X500.00 Y500.00 Z20.00 E10000.00 ; Set maximum print move accelerations. ; X (Maximum acceleration for X axis [mm/s^2]): 500.00. ; Y (Maximum acceleration for Y axis [mm/s^2]): 500.00. ; Z (Maximum acceleration for Z axis [mm/s^2]): 20.00. ; E (Maximum acceleration for extruder [mm/s^2]): 10,000.00. M906 X1500 Y1500 Z1100 E1400 I30 ; Set maximum motor currents. ; X (X drive maximum motor current [mA]): 1500. ; Y (Y drive maximum motor current [mA]): 1500. ; Z (Z drive maximum motor current [mA]): 1100. ; E (Extruder maximum motor current [mA]): 1400. ; I (Motor current idle factor): 30. M84 S30 ; Set idle timeout in seconds of inactivity. ; Stop idle hold. ; S (Idle time out[seconds]): 30. ; Axis Limits. M208 X0 Y0 Z0 S1 ; Set axis minimum. M208 X475 Y500 Z500 S0 ; Set axis maximum. ; Endstops. M574 X1 P"xstop" S1 ; Set endstop configuration. ; X (Position of X endstop): 1 (Low end). ; P (Pin name): xstop. ; S (Endstop type): 1 (Switch type). M574 Y1 P"ystop" S1 ; Set endstop configuration. ; Y (Position fo Y endstop): 1 (Low end). ; P (Pin name): ystop. ; S (Endstop type): 1 (Switch type). M574 Z0 ; Set endstop configuration. ; Z (Position fo Z endstop): 0 (None). ; Z-Probe. M558 K0 P8 F60 H2 R0 T6000 A1 B1 C"!^zprobe.in" ; Set Z probe type. M950 S0 C"!^zprobe.in" ; Create GPIO/servo pin. G31 P500 X53.100 Y9.000 Z0.400 K0 ; Set Z probe. M557 X56:475 Y25:475 P4 ; Define Z probe mesh grid (This is probe grid, not nozzle grid). ; Heater, Bed. M308 S0 P"bedtemp" Y"thermistor" A"Bed Temp" T100000 B3950 R4700 ; Set sensor parameters. M950 H0 C"bedheat" Q10 T0 ; Create heater. M307 H0 V0 B0 S1.0 ; Set heating process parameters. M140 H0 ; Set bed heater. M143 H0 S120 ; Set maximum heater temperature (deg C). ; Heater, Extruder 1. M308 S1 P"e0temp" Y"thermistor" A"Extr. 1 Temp" T100000 B4725 C7.06e-8 ; Set (Extruder 1) temperature sensor parameters. ; S (Sensor number): 1. ; P (Pin name): e0temp. ; Y (sensor type): thermistor. ; A (Sensor name): Extr 1. Temp. ; T (Thermistor resistance at 25 deg C): 100,000. ; B (Beta value): 4725. ; C (Coefficient): 7.06e-8. M950 H1 C"e0heat" T1 ; Create heater (extruder 1). ; H (Heater number): 1. ; C (Pin name): e0heat. ; T (Temperature sensor number): 1. M307 H1 R1.481 C620.7:352.3 D6.65 I0 B0 S1.00 V24.1 ; Set heating process parameters. ; H (Heater number): 1. ; R (Heating rate): 1.481. ; C (Dominant time constant of heating process [seconds]): 620.7 (print fans off) : 352.3 (print fans fully on). ; D (Dead time [seconds]): 6.65. ; I (Invert PWM signal): 0 (Not inverted). ; B (Bang bang control): 0 (Disabled). ; S (Maximum PWM frequency to use): 1.00. ; V (Vin calibration supply voltage): 24.1. M143 H1 S285 ; Set maximum heater temperature (deg C). ; Fans, Print Cooling. M950 F0 C"fan0" Q100 ; Create fan. ; F (Fan number): 0. ; C (Pin name): fan0. ; Q (PWM frequency [Hz]): 100. M106 P0 L0.2 X1.0 B0.3 H-1 R1 C"Print Fan" ; Set fan. ; P (Fan number): 0. ; L (Minimum fan speed): 0.2. ; X (Maximum fan speed): 1.0. ; B (Blip time [seconds]): 0.3. ; H (Thermostatic control): -1 (Disabled). ; R (Restore fan speed): 1 (To the value it has when the print was paused). ; C (Name): Print Fan. ; Fan, Heat Break. M950 F1 C"fan1" Q100 ; Create fan. ; F (Fan number): 1. ; C (Pin name): fan1. ; Q (PWM frequency [Hz]): 100. M106 P1 S1.0 L0.5 X1.0 B0.3 H1 T45 C"Heat Break Fan" ; Set fan. ; P (Fan number): 1. ; S (Fan speed): 1.0. ; L (Minimum fan speed): 0.2. ; X (Maximum fan speed): 1.0. ; B (Blip time [seconds]): 0.3. ; H (Enable thermostatic control): 1 (Extruder temp sensor). ; T (Thermostatic trigger temperature [C]): 45. ; C (Name): Heat Break Fan. ; Fans, Case. M308 S2 Y"drivers" A"Driver Temp" ; Set (stepper drivers) temperature sensor. ; S (Sensor number): 2. ; Y (Sensor type): drivers (Main board stepper drivers). ; A (Sensor name): Driver Temp. M308 S3 Y"mcu_temp" A"CPU Temp" ; Set (CPU/MCU) temperature sensor. ; S (Sensor number): 3. ; Y (Sensor type): mcu_temp (CPU/MCU). ; A (Sensor name): CPU Temp. M950 F2 C"fan2" Q25000 ; Create fan. ; F (Fan number): 2 (Case fan). ; C (Pin name): fan2. ; Q (PWM frequency [Hz]): 25,000. M106 P2 L0.8 X1.0 B0.1 H2:3 T40:65 C"Case Fan" ; Set fan. ; P (Fan number): 2 (Electronics). ; L (Minimum fan speed): 0.8. ; X (Maximum fan speed): 1.0. ; B (Blip time [seconds]): 0.1. ; H (Thermostatic control): 2 (stepper drivers) : 3 (CPU/MCU). ; T (Thermostatic trigger temperature [C]: 40-65 (Proportional range). ; C (Name); Case Fan. ; Tools. M563 P0 S"Extr. 1 Tool" D0 H1 F0 ; Define tool. ; P (Tool number): 0 (Extruder 1). ; S (Tool name): Extr. 1 Tool. ; D (Extruder drive): 0. ; H (Heater): 1 (Extruder 1). ; F (Fan mapped): 0 (Print cooling fan). G10 P0 X0 Y0 Z0 R0 S0 ; Set tool offset and temperature. ; P (Tool number): 0. ; X (X offset): 0. ; Y (Y offset): 0. ; Z (Z offset): 0. ; R (Standby temperature): 0. ; S (Active temperature: 0. M591 D0 P3 C"e0stop" S1 R75:125 E3.0 A1 L25.44 ; Configure filament sensing. ; D (Extruder drive number): 0. ; P (Type of sensor): 3 (Duet3D rotating magnet sensor). ; C (Pin name): e0stop. ; S (Filament monitoring): 1 (Enabled). ; R (Filament movement tolerance [%]): 75:125. ; E (Extrusion length [mm]): 3.0. ; A (Check extruder motion): 1 (Check all extruder motion). ; L (Filament length per rotation of the sense wheel [mm]): 25.44. ; Display. M575 P1 B57600 S1 ; Set serial communications parameters. ; P (Serial channel number): 1 (Auxiliary serial port). ; B (Baud rate): 57,600. ; S (Mode): 1 (PanelDue, checksum required). ; Automatic Power Saving. M911 S23.5 R24.0 P"M913 X0 Y0 G91 M83 G1 Z3 E-2 F2400" ; Set auto save on power loss. ; S (Auto save threshold [V]): 23.5. ; R (Resume threshold [V]): 24.0. ; P (Commands on power loss): ... ; CPU Temperature Compensation. M912 P0 S-4.7 ; Set electronics temperature monitor adjustment. ; P (Temperature monitor channel): 0 (Default). ; S (Value to be added to temperature reading [C]): -4.7 (Lower number decreases displayed cpu temp.) ; Pressure Advance. M572 D0 S0.06 ; Set extruder pressure advance. ; D (Extruder number): 0. ; S (Pressure advance amount [seconds]): 0.06. ; Miscellaneous M501 ; Load saved parameters from non-volatile memory. ; Select tool. T0 ; Select first tool.
-
M122:
=== Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 3.2 running on Duet WiFi 1.02 or later Board ID: 08DGM-917DA-G4MS8-6J1DD-3S46R-1STHB Used output buffers: 3 of 24 (11 max) === RTOS === Static ram: 23460 Dynamic ram: 74108 of which 40 recycled Never used RAM 14472, free system stack 180 words Tasks: NETWORK(ready,162) HEAT(blocked,295) MAIN(running,448) IDLE(ready,19) Owned mutexes: WiFi(NETWORK) === Platform === Last reset 00:06:49 ago, cause: power up Last software reset at 2021-01-06 23:23, reason: User, GCodes spinning, available RAM 14472, slot 1 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 Aux0 errors 0,0,0 MCU temperature: min 16.0, current 19.8, max 20.7 Supply voltage: min 24.0, current 24.2, max 24.5, under voltage events: 0, over voltage events: 0, power good: yes Driver 0: position 0, standstill, SG min/max not available Driver 1: position 0, standstill, SG min/max not available Driver 2: position 0, standstill, SG min/max not available Driver 3: position 0, standstill, SG min/max not available Driver 4: position 0, standstill, SG min/max not available Driver 5: position 0 Driver 6: position 0 Driver 7: position 0 Driver 8: position 0 Driver 9: position 0 Driver 10: position 0 Driver 11: position 0 Date/time: 2021-01-07 13:19:54 Cache data hit count 498401202 Slowest loop: 8.01ms; fastest: 0.21ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Storage === Free file entries: 10 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest read time 5.6ms, write time 0.0ms, max retries 0 === Move === DMs created 83, 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, 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 Daemon is idle in state(s) 0 Autopause is idle in state(s) 0 Code queue is empty. === Network === Slowest loop: 16.82ms; fastest: 0.00ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions HTTP sessions: 1 of 8 - WiFi - Network state is active WiFi module is connected to access point Failed messages: pending 0, notready 0, noresp 0 WiFi firmware version 1.25 WiFi MAC address ec:fa:bc:2d:dd:0f WiFi Vcc 3.39, reset reason Turned on by main processor WiFi flash size 4194304, free heap 27136 WiFi IP address 192.168.1.44 WiFi signal strength -71dBm, mode 802.11n, reconnections 0, sleep mode modem Clock register 00002002 Socket states: 0 0 0 0 0 0 0 0 === Filament sensors === Extruder 0: pos 0.00, errs: frame 0 parity 0 ovrun 0 pol 0 ovdue 0
-
In the General tab of DWC do you have Save settings in local storage and Save cache in local storage checked or unchecked? Either way can you try toggling that?
Also, your wifi signal strength is pretty borderline.
WiFi signal strength -71dBm
Is the printer far from the router?
-
Save settings in local storage: Unchecked.
Save cache in local storage: Checked.Ill try toggling both and see if there is any change.
Yeah, its pretty far from the router, though Ive never had any issues before using 1.21, 2.0.3, or 3.1.1 (even when it was in a steel case, lol).
-
@Charlie Also try with both off and both on.
I'm just poking in the dark here. I'm not certain it's related.
-
Definitely will do. Your guesses are way more educated than mine, so I greatly appreciate it. Ill let you know the results.
-
My theory is that it's trying to save the cache or settings on the SD card and the weak wifi signal is causing issues.
I'm not sure which storage the "local storage" is referring to. It's a bit ambiguous and I never got clarification last time it came up. It's either the SD card as in local to the machine, or the browser side, as in local to the viewer.
@chrishamm will know for sure, but he's probably sleeping like a baby at the moment.
-
Unfortunately all four configurations (emptying browser cache each time) still had the same error come up.
-
My last suggestion is to manually replace the contents of the /www folder with a fresh set from https://github.com/Duet3D/RepRapFirmware/releases/download/3.2/DuetWebControl-SD.zip
And if that doesn't work, try a fresh SD card.
And if that doesn't work, wait for chrishamm
-
Unfortunately manually replacing the www folder did not change anything, and neither did a new SD card. Thank you for your input though!
-
If you have any insight, I would greatly appreciate it.
-
@Charlie Some response doesn't seem right, no valid JSON should start with '<' so you're getting an error. Try to open the developer console with F12 and check the log for further details. You should be able to see an error trace in there.
What browser are you using? Can you open DWC from a different device?
-
Thank you for your response.
I opened the developer console in Safari (Develop > Show Web Inspector > Console). I found the following errors and warnings:
Im currently using Safari.
-
The first error does not seem to be the cause of the issue, and was resolved by inserting a blank "dwc-plugins.json" file in the sys/ folder using DWC.
The subsequent errors seem to be the cause of the issue. Ive diffchecked both the "pollconnector.js" and the "BaseConnector.js" files against the files in GitHub and they appear to be identical. Im pretty out of my depth when it comes to coding, so any help would be greatly appreciated.
-
Can you test with Chrome just to see if it's isolated to safari on your machine? What MacOS and Safari version are you running?
-
The 401 error would mean the < you are getting is because it's sending an HTML 401 error page response.
What happens if you take out the M551 in your config? Maybe there is an issue going on with passwords?
-
I will try to see if I can replicate the issue on Chrome, though its difficult to reliably replicate the issue. I am using macOS Big Sur 11.1 and Safari 14.0.2 (most up to date I believe).
-
(I'm NOT a JavaScript guy, so....))
It looks like the code is trying to parse a JSON tesponse, but the response is not JSON, it's text.
I notice in PollConnector.js this code:
if (xhr.status >= 200 && xhr.status < 300) { if (responseType === 'json') { try { if (!xhr.responseText) { resolve(null); } else { resolve(JSON.parse(xhr.responseText)); } } catch (e) { reject(e); } } else { resolve(xhr.response); }
But in BaseConnector.js I see this code:
if (xhr.status >= 200 && xhr.status < 300) { try { if (!xhr.responseText) { resolve(null); } else { resolve(JSON.parse(xhr.responseText)); } } catch (e) { reject(e); }
Maybe if you use the code from PollConnector.js in BaseConnector.js you'll fix the issue.
-
It appears as though this is NOT occurring in Chrome, though Ive been having issues replicating the error recently.
-
Wouldn't be the first time Safari has behaved oddly.