ckarrie / ckw-ha-gs108e

HomeAssistant Netgear Switch Integration
18 stars 6 forks source link

GS105Ev2 #21

Open Claude-Fentange opened 1 month ago

Claude-Fentange commented 1 month ago

With the last update, and before i never tested. GS105Ev2 Following error:

2024-07-06 10:41:57.553 ERROR (MainThread) [custom_components.ckw_hass_gs108e] Unexpected error fetching GS105Ev2 192.168.1.252 Switch infos data Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 312, in _async_refresh self.data = await self._async_update_data() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 268, in _async_update_data return await self.update_method() ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/ckw_hass_gs108e/init.py", line 57, in async_update_switch_infos return await gs_switch.async_get_switch_infos() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/ckw_hass_gs108e/netgear_switch.py", line 77, in async_get_switch_infos return await self.hass.async_add_executor_job(self.api.get_switch_infos) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run result = self.fn(*self.args, **self.kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/ckw_hass_gs108e/gs108e/init.py", line 509, in get_switch_infos switch_firmware = tree.xpath('//table[@id="tbl1"]/tr[6]/td[2]')[0].text


IndexError: list index out of range
ckarrie commented 1 month ago

Unfortunately I don't own a GS105Ev2 but I guess the functionality could be the same as the GS108Ev2 but with 5 Ports.

Could you provide the output of "http://{ip}/switch_info.htm" so I can take a look at the table structure? If "http://{ip}/switch_info.htm" fails to open, try "http://{ip}/switch_info.cgi" and tell me which URL works.

Claude-Fentange commented 1 month ago

Good morning,

I tested your sugestion,

Switch Information

Product Name GS105Ev2 Switch Name
Serial Number 3MXD175D022A8 MAC Address 80:CC:9C:96:51:53 Bootloader Version V1.6.0.2-VB Firmware Version V1.6.0.11 DHCP Mode
Refresh IP Address
Subnet Mask
Gateway Address

Only the http://{ip}/switch_info.cgi is working, but I have to be logged In.

Kind Regards

Claude DE PRYCK

johan-de-jong commented 1 month ago

Does this help? My GS105Ev2 shows a blank page when requesting http://{ip}/switch_info.cgi after a successful login. My GS116Ev2 shows the same (home) screen after logging in when I request http://{ip}/switch_info.cgi.

2024-07-08 18:07:17.199 INFO (SyncWorker_14) [custom_components.ckw_hass_gs108e.gs108e] [NetgearSwitchConnector.autodetect_model] called for IP=www.xxx.yyy.zzz
2024-07-08 18:07:17.200 INFO (SyncWorker_14) [custom_components.ckw_hass_gs108e.gs108e] [NetgearSwitchConnector.check_login_url] calling request for url=http://www.xxx.yyy.zzz/login.cgi
2024-07-08 18:07:17.344 INFO (SyncWorker_14) [custom_components.ckw_hass_gs108e.gs108e] [NetgearSwitchConnector.autodetect_model] passed_checks_by_model={'GS105E': {'check_login_form_rand': True, 'check_login_title_tag': False}, 'GS105Ev2': {'check_login_form_rand': True, 'check_login_title_tag': True}, 'GS108E': {'check_login_form_rand': True, 'check_login_title_tag': False, 'check_login_switchinfo_tag': False}, 'GS108Ev3': {'check_login_form_rand': True, 'check_login_title_tag': False, 'check_login_switchinfo_tag': False}, 'GS305EP': {'check_login_form_rand': True, 'check_login_title_tag': False}, 'GS308EP': {'check_login_form_rand': True, 'check_login_title_tag': False}, 'GS316EP': {'check_login_form_rand': True, 'check_login_title_tag': False}, 'GS316EPP': {'check_login_form_rand': True, 'check_login_title_tag': False}} matched_models=[]
2024-07-08 18:07:17.345 INFO (SyncWorker_14) [custom_components.ckw_hass_gs108e.gs108e] [NetgearSwitchConnector.get_login_cookie] calling request.post for url=http://www.xxx.yyy.zzz/login.cgi with login_password=860b69492f494534f01d5801fbfc7890
2024-07-08 18:07:17.507 WARNING (SyncWorker_14) [custom_components.ckw_hass_gs108e.gs108e] [ckw_hass_gs108e.get_login_cookie] [IP: 172.28.129.243] Response from switch: "[]"

GS105Ev2 image

GS116Ev2 image

image

Claude-Fentange commented 1 month ago

Yes that is exactly the situation, the switch is correctly discovered, after setup is still "Failed to setup". Capture d’écran 2024-07-08 174259 Capture d’écran 2024-07-08 174640

johan-de-jong commented 1 month ago

I did a tcpdump traffic dump. See below.

I get this error message: '\

The maximum number of sessions has been reached. Wait a few minutes and then try again.\
'

I will check again in a couple of hours.

`18:55:38.181625 IP www.xxx.yyy.zzz.46148 > www.xxx.yyy.nnn.80: Flags [P.], seq 1:229, ack 1, win 32120, length 228: HTTP: POST /login.cgi HTTP/1.1 E...t.@.@.io.........D.P........P.}x...POST /login.cgi HTTP/1.1 Host: www.xxx.yyy.nnn User-Agent: python-requests/2.32.3 Accept-Encoding: gzip, deflate, br Accept: / Connection: keep-alive Content-Length: 41 Content-Type: application/x-www-form-urlencoded

18:55:38.181668 IP www.xxx.yyy.zzz.46148 > www.xxx.yyy.nnn.80: Flags [P.], seq 229:270, ack 1, win 32120, length 41: HTTP E..Qt.@.@.j).........D.P........P.}x...password=xxx

18:55:38.299626 IP www.xxx.yyy.nnn.80 > www.xxx.yyy.zzz.46148: Flags [.], seq 1:1461, ack 270, win 1460, length 1460: HTTP: HTTP/1.1 200 OK E....C@.@............P.D........P.......HTTP/1.1 200 OK Connection: close X-Frame-Options: SAMEORIGIN X-XSS-Protection: 1; mode=block X-Content-Type-Options: nosniff Content-Type: text/html

<!DOCTYPE html>

NETGEAR GS105Ev2
GS105Ev2 – 5-Port Gigabit Ethernet Smart Managed Plus Switch
www.xxx.yyy.zzz.46148: Flags [.], seq 1461:2921, ack 270, win 1460, length 1460: HTTP E....D@.@............P.D........P...9o..ble>
18:55:38.330082 IP www.xxx.yyy.nnn.80 > www.xxx.yyy.zzz.46148: Flags [.], seq 2921:3357, ack 270, win 1460, length 436: HTTP E....E@.@............P.D...i....P......./tr>
Password
The maximum number of sessions has been reached. Wait a few minutes and then try again.
Login
© NETGEAR, Inc. All rights reserved.

`

johan-de-jong commented 1 month ago

The other session has timed-out. The ckw-ha-gs108e integration can now communicate with the GS105E. I captured the http traffic between Home Assistant and the Netgear. See below. I changed the smaller / larger than symbols to braces {} because the editor kept on trying to parse the html tags.

19:21:40.525598 IP aaa.bbb.ccc.ddd.48626 } www.xxx.yyy.zzz.80: Flags [P.], seq 1:259, ack 1, win 32120, length 258: HTTP: GET /switch_info.htm HTTP/1.1
Host: www.xxx.yyy.zzz
User-Agent: python-requests/2.32.3
Accept-Encoding: gzip, deflate, br
Accept: */*
Connection: keep-alive
Cookie: SID=\Ob^HMoBjqxxxx

19:21:40.597490 IP www.xxx.yyy.zzz.80 } aaa.bbb.ccc.ddd.48626: Flags [.], seq 1:143, ack 259, win 1460, length 142: HTTP: HTTP/1.1 404 Not found
E.....@.@............P.........aP.......HTTP/1.1 404 Not found
Connection: close
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff

19:21:40.610591 IP aaa.bbb.ccc.ddd.48630 } www.xxx.yyy.zzz.80: Flags [P.], seq 1:259, ack 1, win 32120, length 258: HTTP: GET /switch_info.cgi HTTP/1.1
E..*.g@.@.;............PT.......P.}x\...GET /switch_info.cgi HTTP/1.1
Host: www.xxx.yyy.zzz
User-Agent: python-requests/2.32.3
Accept-Encoding: gzip, deflate, br
Accept: */*
Connection: keep-alive
Cookie: SID=\Ob^HMoBxxxx

19:21:40.697160 IP www.xxx.yyy.zzz.80 } aaa.bbb.ccc.ddd.48630: Flags [.], seq 1:1461, ack 259, win 1460, length 1460: HTTP: HTTP/1.1 200 OK
E.....@.@............P......T...P....x..HTTP/1.1 200 OK
Connection: close
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Content-Type: text/html
Cache-Control: no-cache
Expires: -1

{!DOCTYPE html}
{html}
{head}
{meta http-equiv="Content-Type" content="text/html; charset=UTF-8"}
{meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"}
{title}Switch Information{/title}
{link rel="stylesheet" type="text/css" href="/style.css?a1.6.0.11"}
{script src="/frame.js?a1.6.0.11" type="text/javascript"}{/script}
{script src="/function.js?a1.6.0.11" type="text/javascript"}{/script}
{script language="JavaScript"}
function getCookie(){
   var aCookie = document.cookie.split(";");
   for (var i = 0;i {aCookie.length;i++)
   {
    console.log(aCookie[i]);
   }
  }
function selectOptions()
{
    var dhcp_mode = document.getElementById('dhcpMode');
    if (dhcp_mode.options[0].selected == true)
    {
        document.forms[0].elements.refresh.disabled = true;
        document.forms[0].elements.ip_address.disabled = false;
        document.forms[0].elements.subnet_mask.disabled = false;
        document.forms[0].elements.gateway_address.disabled = false;
    }
    else if (dhcp_mode.options[1].selected == true)
    {
        document.forms[0].elements.refresh.disabled = false;
        document.forms[0].elements.ip_address.disabled = true;
        document.forms[0].elements.subnet_mask.disabled = true;
        document.forms[0].elements.gateway_address.disabled = true;
    }
}
function dh

19:21:40.721145 IP www.xxx.yyy.zzz.80 } aaa.bbb.ccc.ddd.48630: Flags [.], seq 1461:2921, ack 259, win 1460, length 1460: HTTP
{
    var dhcp_mode = document.getElementById('dhcpMode');
    if (dhcp_mode.options[0].selected == true)
    {
        document.forms[0].elements.refresh.disabled = true;
        document.forms[0].elements.ip_address.disabled = false;
        document.forms[0].elements.subnet_mask.disabled = false;
        document.forms[0].elements.gateway_address.disabled = false;
    }
    else if (dhcp_mode.options[1].selected == true)
    {
        document.forms[0].elements.refresh.disabled = false;
        document.forms[0].elements.ip_address.disabled = true;
        document.forms[0].elements.subnet_mask.disabled = true;
        document.forms[0].elements.gateway_address.disabled = true;
    }
    popUpWindown('alert','DHCP Mode','Note: Changing the protocol mode will reset the IP configuration.');
}
function changeRefreshVal()
{
    var re_fresh = document.getElementById('refresh');
    if (re_fresh.checked)
    {
        re_fresh.value = "1";
    }
    else
    {
        re_fresh.value = "0";
    }
}
{/script}
{/head}
{body onload="initErrMsg('Switch Information');selectOptions();getCookie()"}
{form method="post" action="/switch_info.cgi"}
{table class="detailsAreaContainer"}
{tr}
{td}{table class="tableStyle"}
{tr}
{script}tbhdrTable('Switch Information', 'switchInformation');{/script}
{/tr}{tr}{td class="topTitleBottomBar" colspan='2'}{/td}{/tr}
{tr}{td class="paddingTableBody" colspan='2'}{table class="tableStyle" id="tbl2" style="width:728px;"}
 {tr}
  {td width='300' class="padding14Top"}Product Name{/td}
  {td align="center
19:21:40.721288 IP aaa.bbb.ccc.ddd.48630 } www.xxx.yyy.zzz.80: Flags [.], ack 2921, win 30660, length 0

19:21:40.767252 IP www.xxx.yyy.zzz.80 } aaa.bbb.ccc.ddd.48630: Flags [.], seq 2921:4381, ack 259, win 1460, length 1460: HTTP
E.....@.@............P.....iT...P.......Ev2{/td}
 {/tr}
 {tr}
  {td class="padding14Top"}Switch Name{/td}
  {td  align="center" nowrap}
  {input type="text" name="switch_name" id="switch_name" value="" size="15" maxlength="20" onmousedown="enableImage();" onkeypress="enableImage();" /}
 {/td}{/tr}
 {tr}
  {td class="padding14Top"}Serial Number{/td}
  {td  align="center" nowrap}xxx{/td}
 {/tr}
 {tr}
  {td class="padding14Top"}MAC Address{/td}
  {td  align="center" nowrap}xx:xx:xx:xx:xx:xx{/td}
 {/tr}
 {tr}
  {td class="padding14Top"}Firmware Version{/td}
  {td  align="center" nowrap}V1.6.0.11{/td}
 {/tr}
 {tr}
  {td class="padding14Top"}DHCP Mode{/td}
  {td  align="center" nowrap}
  {select name="dhcpMode" id="dhcpMode" style="width:145px;" onchange="enableImage();dhcpModeChange();"}
  {option value="0"}Disable{/option}
  {option value="1" selected}Enable{/option}
  {/select}
  {input type="checkbox" id="refresh" name="refresh" value="0" style="margin-left:5px;margin-right:5px;" onclick="enableImage();changeRefreshVal()"}{span}Refresh{/span}
  {/td}
 {/tr}
 {tr}
  {td class="padding14Top"}IP Address{/td}
  {td  align="center" nowrap}
  {input type="text" name="ip_address" id="ip_address" value="www.xxx.yyy.zzz" size="15" maxlength="15" onmousedown="enableImage();" onkeypress="enableImage();"}
  {/td}
 {/tr}
 {tr}
  {td class="padding14Top"}Subnet Mask{/td}
  {td  align="center" nowrap}
  {input type="text" name="subnet_mask" id="subnet_mask" value="255.2

19:21:40.784993 IP www.xxx.yyy.zzz.80 } aaa.bbb.ccc.ddd.48630: Flags [.], seq 4381:5140, ack 259, win 1460, length 759: HTTP
E.....@.@..H.........P......T...P....T..ze="15" maxlength="15" onmousedown="enableImage();" onkeypress="enableImage();"}
  {/td}
 {/tr}
 {tr}
  {td class="padding14Top"}Gateway Address{/td}
  {td  align="center" nowrap}
  {input type="text" name="gateway_address" id="gateway_address" value="xxx.xxx.xxx.xxx" size="15" maxlength="15" onmousedown="enableImage();" onkeypress="enableImage();"}
  {/td}
 {/tr}
{input type=hidden name='hash' id='hash' value="6269"}
{input type=hidden name='err_msg' id='err_msg' value='' disabled}
 {/table}{/td}{/tr}
{/table}{/td}{/tr}
{/table}{/form}
{script}
var str = CreateButtons('button','Cancel','javaScript:void(0)','btn_Cancel','off');
str += CreateButtons('button','Apply','javaScript:void(0)','btn_Apply','off');
PaintButtons(str);
{/script}
{/body}
{/html}

19:21:46.286333 IP aaa.bbb.ccc.ddd.49534 } www.xxx.yyy.zzz.80: Flags [P.], seq 1:159, ack 1, win 32120, length 158: HTTP: GET /login.cgi HTTP/1.1
E....{@.@............~.P...r....P.}x\...GET /login.cgi HTTP/1.1
Host: www.xxx.yyy.zzz
User-Agent: python-requests/2.32.3
Accept-Encoding: gzip, deflate, br
Accept: */*
Connection: keep-alive

19:21:46.289144 IP www.xxx.yyy.zzz.80 } aaa.bbb.ccc.ddd.49534: Flags [.], ack 159, win 1460, length 0
E..(..@.@..;.........P.~........P...}.........
19:21:46.350409 IP www.xxx.yyy.zzz.80 } aaa.bbb.ccc.ddd.49534: Flags [.], seq 1:1461, ack 159, win 1460, length 1460: HTTP: HTTP/1.1 200 OK
E.....@.@............P.~........P.......HTTP/1.1 200 OK
Connection: close
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Content-Type: text/html

{!DOCTYPE html}
{html}
{head}
{meta http-equiv="Content-Type" content="text/html; charset=UTF-8"}
{meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"}
{link rel="stylesheet" type="text/css" href="/login.css?a1.6.0.11"}
{title}NETGEAR GS105Ev2{/title}
{script src="/jquery.md5.js?a1.6.0.11" type="text/javascript"}{/script}
{script src="/login.js?a1.6.0.11" type="text/javascript"}{/script}
{script language="JavaScript"}
function submitLogin()
{
    encryptPwd();
    document.forms[0].submit();
    return true;
}
{/script}
{/head}
{body onload="init();changeLoginButtonStyle();"}
{div id="mainArea" class="mainArea"}
  {div id="mainTitleArea" class="mainTitleArea"}
   {img class="customGraph" src="/CBU_NgrLogo.png"}
   {img class="factGraph" src="/CBU_IMG_ContentVisual.png"}
   {div class="switchInfo"}GS105Ev2 – 5-Port Gigabit Ethernet Smart Managed Plus Switch{/div}
  {/div}
  {div id="loginContainer" class="loginContainer"}
   {form method="post" action="/login.cgi" name="login" onSubmit="return false;"}
   {input id="submitPwd" name="password" type="hidden" value=""}
    {div id="contentArea"}
     {div id="loginArea" class="loginArea"}
      {div id="loginTitleArea"}
       {table}
        {tr}
        {script}tbhdrLoginTable('Login','login');{/script}
        {/tr}
        {tr}
         {td colspa
19:21:46.350531 IP aaa.bbb.ccc.ddd.49534 } www.xxx.yyy.zzz.80: Flags [.], ack 1461, win 30660, length 0
E..(.=@.@............~.P........P.w.[...
19:21:46.374790 IP www.xxx.yyy.zzz.80 } aaa.bbb.ccc.ddd.49534: Flags [.], seq 1461:2921, ack 159, win 1460, length 1460: HTTP
E.....@.@............P.~........P.......ble}
           {tr}
            {td class="topLoginTitleBottomBar"}{/td}
           {/tr}
          {/table}
         {/td}
        {/tr}
       {/table}
      {/div}
      {div id="loginBlkbArea" class="bClass"}
       {div id="loginDiv" class="loginBox"}
        {div id="loginTDataArea" class="tableData mTop25"}
         {table id="loginTData"}
          {tbody}
           {tr}
          {td width="23px"}{div}{/div}{/td}
          {td width="100px" style='white-space:nowrap'}
           {div class="colInterval textLeft"}Password{/div}
          {/td}
          {td width="290px"}
           {input id="password" class="textInputStyle textInputLength" onkeypress="onEnterSub(event);" type="password" maxlength="20" style="border:1px #CCCCCC solid;" autocomplete="off"}
          {/td}
          {td width="23px"}{div}{/div}{/td}
              {/tr}
              {tr}
                {td width="23px"}{div}{/div}{/td}
                {td width="100px"}{div}{/div}{/td}
                {td width="290px"}
{div id="pwdErr" class="pwdErrStyle"}{/div}
                {/td}
                {td width="23px"}{div}{/div}{/td}
              {/tr}
             {tr}
               {td width="23px"}{div}{/div}{/td}
               {td width="100px"}{div}{/div}{/td}
               {td width="290px"}
                 {a id="loginBtn" class="loginBtnStyle" href="javascript:submitLogin()"}Login{/a}
               {/td}
               {td width="23px"}{div}{/div}{/td}
             {/tr}
           {/tbody}
         {/table}
       {/div}{/div}{/div}{/div
19:21:46.374904 IP aaa.bbb.ccc.ddd.49534 } www.xxx.yyy.zzz.80: Flags [.], ack 2921, win 30660, length 0
E..(.}@.@............~.P.......iP.w.[...
19:21:46.378908 IP www.xxx.yyy.zzz.80 } aaa.bbb.ccc.ddd.49534: Flags [.], seq 2921:3270, ack 159, win 1460, length 349: HTTP
E.....@.@............P.~...i....P....V.. {input type=hidden id='rand' value='309412878' disabled}     {/form}
   {/div}
         {div class="footerImg"}
          {div class="copyrightGraphWrap"}
           {span}© NETGEAR, Inc. All rights reserved.{/span}
          {/div}
          {img style="float:right;" src="/Footer_Facet_Graphic.png"}
         {/div}
  {/div}
{/body}
{/html}

19:21:46.378950 IP aaa.bbb.ccc.ddd.49534 } www.xxx.yyy.zzz.80: Flags [.], ack 3270, win 30660, length 0
E..(.?@.@............~.P........P.w.[...
19:21:46.379682 IP www.xxx.yyy.zzz.80 } aaa.bbb.ccc.ddd.49534: Flags [F.], seq 3270, ack 159, win 1460, length 0
E..(..@.@..7.........P.~........P...1.........
19:21:46.380099 IP aaa.bbb.ccc.ddd.49534 } www.xxx.yyy.zzz.80: Flags [F.], seq 159, ack 3271, win 30660, length 0
E..(.@@.@............~.P........P.w.[...
19:21:46.384561 IP www.xxx.yyy.zzz.80 } aaa.bbb.ccc.ddd.49534: Flags [.], ack 160, win 1460, length 0
E..(..@.@..6.........P.~........P...1.........
19:21:46.403797 IP aaa.bbb.ccc.ddd.49536 } www.xxx.yyy.zzz.80: Flags [S], seq 1414152100, win 32120, options [mss 1460,sackOK,TS val 165221684 ecr 0,nop,wscale 7], length 0
E..{.)@.@.#............PTJ?.......}x[..........
    ..4........
19:21:46.405901 IP www.xxx.yyy.zzz.80 } aaa.bbb.ccc.ddd.49536: Flags [S.], seq 268435456, ack 1414152101, win 1460, options [mss 1460], length 0
E..,..@.@..1.........P......TJ?.`.............
19:21:46.406002 IP aaa.bbb.ccc.ddd.49536 } www.xxx.yyy.zzz.80: Flags [.], ack 1, win 32120, length 0
E..(.*@.@.#............PTJ?.....P.}x[...
19:21:46.406158 IP aaa.bbb.ccc.ddd.49536 } www.xxx.yyy.zzz.80: Flags [P.], seq 1:229, ack 1, win 32120, length 228: HTTP: POST /login.cgi HTTP/1.1
E....+@.@."............PTJ?.....P.}x\...POST /login.cgi HTTP/1.1
Host: www.xxx.yyy.zzz
User-Agent: python-requests/2.32.3
Accept-Encoding: gzip, deflate, br
Accept: */*
Connection: keep-alive
Content-Length: 41
Content-Type: application/x-www-form-urlencoded

19:21:46.406201 IP aaa.bbb.ccc.ddd.49536 } www.xxx.yyy.zzz.80: Flags [P.], seq 229:270, ack 1, win 32120, length 41: HTTP
E..Q.,@.@.#............PTJ@.....P.}x\...password=xxx
19:21:46.408961 IP www.xxx.yyy.zzz.80 } aaa.bbb.ccc.ddd.49536: Flags [.], ack 229, win 1460, length 0
E..(..@.@..4.........P......TJ@.P.............
19:21:46.434866 IP www.xxx.yyy.zzz.80 } aaa.bbb.ccc.ddd.49536: Flags [.], ack 270, win 1460, length 0
E..(..@.@..3.........P......TJ@.P.............
19:21:46.524884 IP www.xxx.yyy.zzz.80 } aaa.bbb.ccc.ddd.49536: Flags [.], seq 1:1461, ack 270, win 1460, length 1460: HTTP: HTTP/1.1 200 OK
E.....@.@..~.........P......TJ@.P...Kh..HTTP/1.1 200 OK
Connection: close
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Content-Type: text/html

{!DOCTYPE html}
{html}
{head}
{meta http-equiv="Content-Type" content="text/html; charset=UTF-8"}
{meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"}
{link rel="stylesheet" type="text/css" href="/login.css?a1.6.0.11"}
{title}NETGEAR GS105Ev2{/title}
{script src="/jquery.md5.js?a1.6.0.11" type="text/javascript"}{/script}
{script src="/login.js?a1.6.0.11" type="text/javascript"}{/script}
{script language="JavaScript"}
function submitLogin()
{
    encryptPwd();
    document.forms[0].submit();
    return true;
}
{/script}
{/head}
{body onload="init();changeLoginButtonStyle();"}
{div id="mainArea" class="mainArea"}
  {div id="mainTitleArea" class="mainTitleArea"}
   {img class="customGraph" src="/CBU_NgrLogo.png"}
   {img class="factGraph" src="/CBU_IMG_ContentVisual.png"}
   {div class="switchInfo"}GS105Ev2 – 5-Port Gigabit Ethernet Smart Managed Plus Switch{/div}
  {/div}
  {div id="loginContainer" class="loginContainer"}
   {form method="post" action="/login.cgi" name="login" onSubmit="return false;"}
   {input id="submitPwd" name="password" type="hidden" value=""}
    {div id="contentArea"}
     {div id="loginArea" class="loginArea"}
      {div id="loginTitleArea"}
       {table}
        {tr}
        {script}tbhdrLoginTable('Login','login');{/script}
        {/tr}
        {tr}
         {td colspa
19:21:46.524991 IP aaa.bbb.ccc.ddd.49536 } www.xxx.yyy.zzz.80: Flags [.], ack 1461, win 30660, length 0
E..(.-@.@.#............PTJ@.....P.w.[...
19:21:46.547080 IP www.xxx.yyy.zzz.80 } aaa.bbb.ccc.ddd.49536: Flags [.], seq 1461:2921, ack 270, win 1460, length 1460: HTTP
E.....@.@..}.........P......TJ@.P.......ble}
           {tr}
            {td class="topLoginTitleBottomBar"}{/td}
           {/tr}
          {/table}
         {/td}
        {/tr}
       {/table}
      {/div}
      {div id="loginBlkbArea" class="bClass"}
       {div id="loginDiv" class="loginBox"}
        {div id="loginTDataArea" class="tableData mTop25"}
         {table id="loginTData"}
          {tbody}
           {tr}
          {td width="23px"}{div}{/div}{/td}
          {td width="100px" style='white-space:nowrap'}
           {div class="colInterval textLeft"}Password{/div}
          {/td}
          {td width="290px"}
           {input id="password" class="textInputStyle textInputLength" onkeypress="onEnterSub(event);" type="password" maxlength="20" style="border:1px #CCCCCC solid;" autocomplete="off"}
          {/td}
          {td width="23px"}{div}{/div}{/td}
              {/tr}
              {tr}
                {td width="23px"}{div}{/div}{/td}
                {td width="100px"}{div}{/div}{/td}
                {td width="290px"}
{div id="pwdErr" class="pwdErrStyle"}The maximum number of sessions has been reached. Wait a few minutes and then try again.{/div}
                {/td}
                {td width="23px"}{div}{/div}{/td}
              {/tr}
             {tr}
               {td width="23px"}{div}{/div}{/td}
               {td width="100px"}{div}{/div}{/td}
               {td width="290px"}
                 {a id="loginBtn" class="loginBtnStyle" href="javascript:submitLogin()"}Login{/a}
               {/td}
               {td width="23px"}{div}{/div}{/td}

19:21:46.547181 IP aaa.bbb.ccc.ddd.49536 } www.xxx.yyy.zzz.80: Flags [.], ack 2921, win 30660, length 0
E..(..@.@.#............PTJ@....iP.w.[...
19:21:46.555599 IP www.xxx.yyy.zzz.80 } aaa.bbb.ccc.ddd.49536: Flags [.], seq 2921:3357, ack 270, win 1460, length 436: HTTP
E.....@.@..|.........P.....iTJ@.P....M../tr}
           {/tbody}
         {/table}
       {/div}{/div}{/div}{/div}{/div}
       {input type=hidden id='rand' value='309412878' disabled}     {/form}
   {/div}
         {div class="footerImg"}
          {div class="copyrightGraphWrap"}
           {span}© NETGEAR, Inc. All rights reserved.{/span}
          {/div}
          {img style="float:right;" src="/Footer_Facet_Graphic.png"}
         {/div}
  {/div}
{/body}
{/html}
     {td colspa
Claude-Fentange commented 1 month ago

I have once again reproduced a situation that I had noticed and I think this may help to resolve the problem.

I have a GS108Ev3 and a GS105Ev2 in my network.

The Gs108Ev3 I can access through any Browser:

The Gs 105Ev2i can be accessed through the following Browsers:

johan-de-jong commented 1 month ago

Maybe this helps? This fork does work for the GS105E: https://github.com/Lulubelle3/lb3-ha-gs105e

image

image

Claude-Fentange commented 1 month ago

This integration doesn’t work either.

Claude-Fentange commented 1 month ago

after restarting the HA server severall hours later, it works. The GS105 is recognized. Thanks for the support Capture d’écran 2024-07-09 161405

Claude-Fentange commented 1 month ago

Yes, the GS105E integration works, but it is not as complete as the GS108 integration. The GS105 integration does not have the port status and port speed and I would like to use that like with my GS108 integration. That's why it would be great if the GS108 integration worked with the GS105Ev2 switch.