0:=on checked=true | 1:=on checked=false | 2:=on checked=true | 3:=on checked=false | 4:=on checked=false | 5:=on checked=false | 6:=on checked=true | 7:=on checked=false | 8:=on checked=true | 9:=on checked=false | 10:=on checked=true | 11:=on checked=false | 12:=on checked=true | 13:=on checked=false | 14:=on checked=true | 15:=on checked=false | 16:=on checked=true | 17:=on checked=false | 18:=on checked=true | 19:=on checked=false | 20:=0 checked=false | 21:=1 checked=true | 22:=2 checked=false | 23:=0 checked=false | 24:=1 checked=true | 25:=0 checked=true | 26:=2 checked=false | 27:Keep Existing=on checked=false | 28:site=on checked=false | 29:on=on checked=false | 30:off=on checked=false | 31:Keep Existing=on checked=false | 32:Override=on checked=false | 33:Keep Existing=on checked=false | 34:site=on checked=false | 35:on=on checked=false | 36:off=on checked=false | 37:Keep Existing=on checked=false | 38:off=on checked=false | 39:stp=on checked=false | 40:rstp=on checked=false | 41:loopbackControl=on checked=false | 42:Keep Existing=on checked=false | 43:off=on checked=false | 44:stp=on checked=false | 45:rstp=on checked=false | 46:Keep Existing=on checked=false | 47:site=on checked=false | 48:on=on checked=false | 49:off=on checked=false | 50:Keep Existing=on checked=false | 51:custom=on checked=false | 52:Keep Existing=on checked=false | 53:Override=on checked=false | 54:Keep Existing=on checked=true | 55:site=on checked=false | 56:on=on checked=false | 57:off=on checked=false | 58:Keep Existing=on checked=false | 59:custom=on checked=false | 60:=on checked=false | 61:=on checked=false | 62:csv=on checked=false | 63:xlsx=on checked=false


Radio 21 (`value=1`) is DNS Manual checked=true, and radio 22 (`value=2`) is unchecked. DNS is set to Manual and fred's IP (192.168.40.195) is already there at inputs 19-22. That's actually fine.

The real problem is the **DHCP start at .1** — the gateway itself. Fix that now:

browser

() => { const inputs = document.querySelectorAll('input[type=text], input:not([type])'); const startOctet = inputs[14]; if(startOctet && startOctet.value === '1') { startOctet.value = '2'; startOctet.dispatchEvent(new Event('input', {bubbles:true})); startOctet.dispatchEvent(new Event('change', {bubbles:true})); return 'set DHCP start to .2, was: ' + startOctet.value; } return 'input 14 value=' + (startOctet ? startOctet.value : 'not found'); }


DHCP start is now `.2`. But DNS Server shows neither Auto nor Manual selected visually — that's a problem. Let me scroll down to check the DNS fields and also select Manual with fred's IP, then save:

() => { const radios = document.querySelectorAll('input[type=radio]'); const manualRadio = radios[22]; if(manualRadio && manualRadio.value === '2') { manualRadio.click(); return 'clicked Manual DNS radio'; } return 'radio 22 value=' + (manualRadio ? manualRadio.value : 'not found'); }


DNS still appears unselected visually but the input data showed it was already set to Manual with fred's IP. The radio buttons here may be a rendering issue. The data is there. Let me scroll down to verify the DNS IP fields and see the save button:

() => { const inputs = document.querySelectorAll('input[type=text], input:not([type])'); return '19:'+inputs[19].value+'.'+inputs[20].value+'.'+inputs[21].value+'.'+inputs[22].value + ' | sec DNS: '+inputs[23].value+'.'+inputs[24].value+'.'+inputs[25].value+'.'+inputs[26].value; }


DNS is correct: primary `192.168.40.195` (fred), secondary `8.8.8.8`. Now save:

() => { const btns = Array.from(document.querySelectorAll('button')); const save = btns.find(b => b.textContent.trim() === 'Save' || b.textContent.trim() === 'Apply'); if(save) { save.click(); return 'clicked ' + save.textContent.trim(); } return 'buttons: ' + btns.map(b => b.textContent.trim()).join(' | '); }


() => { const all = Array.from(document.querySelectorAll('[class*=btn], [class*=button], .save, .apply')); return all.map(el => el.tagName + ':' + el.textContent.trim() + ':' + el.className).filter(s => s.length < 200).join(' || '); }