Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Netgear ReadTimeout, service 'DeviceInfo:1', method 'GetAttachDevice2 #82267

Closed
heyitsyang opened this issue Nov 17, 2022 · 17 comments · Fixed by #84733
Closed

Netgear ReadTimeout, service 'DeviceInfo:1', method 'GetAttachDevice2 #82267

heyitsyang opened this issue Nov 17, 2022 · 17 comments · Fixed by #84733
Assignees

Comments

@heyitsyang
Copy link

The problem

I'm getting the below error maybe once a day or so

Logger: pynetgear.router
Source: /usr/local/lib/python3.10/site-packages/pynetgear/router.py:237
First occurred: 6:46:58 AM (7 occurrences)
Last logged: 7:56:13 AM

Netgear ReadTimeout, service 'DeviceInfo:1', method 'GetAttachDevice2', host 10.0.0.1:80 ssl False

What version of Home Assistant Core has the issue?

2022.11.1

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant OS

Integration causing the issue

Netgear

Link to integration documentation on our website

https://www.home-assistant.io/integrations/netgear/

Diagnostics information

2022-11-17 07:53:31.540 DEBUG (MainThread) [homeassistant.components.netgear] Finished fetching RBR50 Devices data in 8.539 seconds (success: True)
2022-11-17 07:54:01.003 DEBUG (SyncWorker_6) [pynetgear.router] Get attached devices 2
2022-11-17 07:54:14.108 ERROR (MainThread) [homeassistant.components.version] Error fetching version data: Error fetching version information from haio 0, message='Attempt to decode JSON with unexpected mimetype: text/html; charset=utf-8', url=URL('https://www.home-assistant.io/version.json')
2022-11-17 07:54:31.036 ERROR (SyncWorker_6) [pynetgear.router] Netgear ReadTimeout, service 'DeviceInfo:1', method 'GetAttachDevice2', host 10.0.0.1:80 ssl False
2022-11-17 07:54:31.039 DEBUG (MainThread) [homeassistant.components.netgear] Finished fetching RBR50 Devices data in 30.036 seconds (success: True)
2022-11-17 07:55:01.003 DEBUG (SyncWorker_6) [pynetgear.router] Get attached devices 2
2022-11-17 07:55:01.004 DEBUG (SyncWorker_6) [pynetgear.router] Login v2, port '80', ssl, 'False'
2022-11-17 07:55:13.087 DEBUG (MainThread) [homeassistant.components.netgear.router] Netgear scan result:
[Device(name='Network (Generi', ip='10.0.0.61', mac='9C:8E:CD:3A:F6:FF', type='wired', signal=100, link_rate=None, allow_or_block='Allow', device_type=9, device_model=None, ssid=None, conn_ap_mac='CC:40:D0:55:74:EF'), Device(name='Asix Electronics', ip='10.0.0.88', mac='00:0E:C6:10:0B:93', type='wired', signal=100, link_rate=None, allow_or_block='Allow', device_type=24, device_model=None, ssid=None, conn_ap_mac='CC:40:D0:55:74:EF'), Device(name='Orbi Satellite', ip='10.0.0.163', mac='74:C2:46:48:70:E3', type='5GHz', signal=72, link_rate='300', allow_or_block='Allow', device_type=24, device_model=None, ssid='ShenCentral', conn_ap_mac='CC:40:D0:55:74:EF'), Device(name='Unknoow', ip='10.0.0.162', mac='74:75:48:34:1E:5F', type='5GHz', signal=90, link_rate='300', allow_or_block='Allow', device_type=36, device_model='Fire 7 (2015)', ssid='ShenCentral', conn_ap_mac='CC:40:D0:57:27:FC'), Device(name='1', ip='10.0.0.84', mac='60:01:94:75:56:DB', type='2.4GHz', signal=80, link_rate='72', allow_or_block='Allow', device_type=24, device_model=None, ssid='ShenCentral', conn_ap_mac='CC:40:D0:57:27:FC'), Device(name='Espressif', ip='10.0.0.102', mac='94:B9:7E:E6:5B:70', type='2.4GHz', signal=54, link_rate='72', allow_or_block='Allow', device_type=24, device_model=None, ssid='ShenCentral', conn_ap_mac='CC:40:D0:55:74:EF'), Device(name='Samsung-Galaxy Tab A (2017)', ip='10.0.1.191', mac='74:EB:80:6D:F7:2E', type='5GHz', signal=48, link_rate='150', allow_or_block='Allow', device_type=36, device_model='Galaxy Tab A (2017)', ssid='ShenCentral', conn_ap_mac='CC:40:D0:57:27:FC'), Device(name='BROTHER-LAB', ip='10.0.0.30', mac='00:80:92:D0:EA:07', type='2.4GHz', signal=100, link_rate='72', allow_or_block='Allow', device_type=27, device_model=None, ssid='ShenCentral', conn_ap_mac='CC:40:D0:55:74:EF'), Device(name='-----device:66-', ip='10.0.0.42', mac='00:11:32:3A:AB:ED', type='wired', signal=100, link_rate=None, allow_or_block='Allow', device_type=33, device_model=None, ssid=None, conn_ap_mac='CC:40:D0:55:74:EF'), Device(name='Network (Generi', ip='10.0.0.86', mac='44:61:32:41:59:26', type='2.4GHz', signal=96, link_rate='72', allow_or_block='Allow', device_type=24, device_model=None, ssid='ShenCentral', conn_ap_mac='CC:40:D0:57:27:FC'), Device(name='LG Electronics', ip='10.0.1.159', mac='DC:03:98:BA:DC:6F', type='2.4GHz', signal=100, link_rate='72', allow_or_block='Allow', device_type=24, device_model=None, ssid='ShenCentral', conn_ap_mac='CC:40:D0:57:27:FC'), Device(name='YS-DESKTOP', ip='10.0.1.170', mac='D8:BB:C1:6C:6A:60', type='wired', signal=100, link_rate=None, allow_or_block='Allow', device_type=38, device_model='MS Series', ssid=None, conn_ap_mac='CC:40:D0:55:74:EF'), Device(name='Network (Generi', ip='10.0.1.2', mac='94:9F:3E:FD:33:C4', type='5GHz', signal=100, link_rate='54', allow_or_block='Allow', device_type=23, device_model=None, ssid='ShenCentral', conn_ap_mac='CC:40:D0:57:27:FC'), Device(name='Rosie', ip='10.0.1.190', mac='34:03:DE:11:98:0B', type='2.4GHz', signal=48, link_rate='58', allow_or_block='Allow', device_type=38, device_model='Vacuum Robot', ssid='ShenCentral', conn_ap_mac='CC:40:D0:55:74:EF'), Device(name='Jinan Jovision Science & Technol', ip='10.0.0.63', mac='E0:62:90:6F:B2:A8', type='wired', signal=100, link_rate=None, allow_or_block='Allow', device_type=24, device_model=None, ssid=None, conn_ap_mac='CC:40:D0:55:74:EF'), Device(name='ys-cell', ip='10.0.0.150', mac='CA:3A:31:D4:64:F6', type='5GHz', signal=38, link_rate='72', allow_or_block='Allow', device_type=32, device_model='Samsung Flip 3', ssid='ShenCentral', conn_ap_mac='CC:40:D0:55:74:EF'), Device(name='Unknownrk (Gene', ip='10.0.0.93', mac='48:3F:DA:95:A4:57', type='2.4GHz', signal=70, link_rate='72', allow_or_block='Allow', device_type=24, device_model=None, ssid='ShenCentral', conn_ap_mac='CC:40:D0:55:74:EF'), Device(name='24', ip='10.0.0.66', mac='9C:8E:CD:30:9F:C5', type='5GHz', signal=54, link_rate='585', allow_or_block='Allow', device_type=9, device_model=None, ssid='ShenCentral', conn_ap_mac='8C:3B:AD:A4:FA:4C'), Device(name='Amazon', ip='10.0.0.164', mac='44:65:0D:60:23:0C', type='5GHz', signal=100, link_rate='300', allow_or_block='Allow', device_type=23, device_model=None, ssid='ShenCentral', conn_ap_mac='8C:3B:AD:A4:FA:4C'), Device(name='Orbi Router', ip='10.0.2.233', mac='2C:3A:E8:42:34:66', type='2.4GHz', signal=70, link_rate='72', allow_or_block='Allow', device_type=24, device_model=None, ssid='ShenCentral', conn_ap_mac='CC:40:D0:57:27:FC'), Device(name='Amcrest-IP4M-1051B', ip='10.0.0.64', mac='9C:8E:CD:23:A6:9D', type='5GHz', signal=48, link_rate='390', allow_or_block='Allow', device_type=9, device_model='IP4M-1051B', ssid='ShenCentral', conn_ap_mac='CC:40:D0:57:27:FC'), Device(name='Unknow', ip='10.0.0.161', mac='C8:DB:26:02:E7:E8', type='2.4GHz', signal=50, link_rate='58', allow_or_block='Allow', device_type=24, device_model='Harmony Hub', ssid='ShenCentral', conn_ap_mac='CC:40:D0:55:74:EF'), Device(name='Logitech-Harmony Hub', ip='10.0.0.168', mac='00:04:20:F4:59:38', type='2.4GHz', signal=34, link_rate='72', allow_or_block='Allow', device_type=24, device_model='Harmony Hub', ssid='ShenCentral', conn_ap_mac='CC:40:D0:55:74:EF'), Device(name='-----device:34-', ip='10.0.0.98', mac='A4:CF:12:6D:CB:8C', type='2.4GHz', signal=58, link_rate='72', allow_or_block='Allow', device_type=24, device_model=None, ssid='ShenCentral', conn_ap_mac='CC:40:D0:55:74:EF'), Device(name='2.4G', ip='10.0.0.4', mac='FC:0A:81:DB:BF:68', type='wired', signal=100, link_rate=None, allow_or_block='Allow', device_type=24, device_model=None, ssid=None, conn_ap_mac='CC:40:D0:55:74:EF'), Device(name='Amcrest', ip='10.0.2.19', mac='9C:8E:CD:2F:74:67', type='2.4GHz', signal=100, link_rate='72', allow_or_block='Allow', device_type=9, device_model=None, ssid='ShenCentral', conn_ap_mac='8C:3B:AD:A4:FA:4C'), Device(name='allow', ip='10.0.0.101', mac='7C:9E:BD:62:18:C4', type='2.4GHz', signal=80, link_rate='72', allow_or_block='Allow', device_type=24, device_model=None, ssid='ShenCentral', conn_ap_mac='CC:40:D0:57:27:FC'), Device(name='Sonos', ip='10.0.1.36', mac='78:28:CA:27:2A:02', type='5GHz', signal=62, link_rate='54', allow_or_block='Allow', device_type=23, device_model=None, ssid='ShenCentral', conn_ap_mac='CC:40:D0:57:27:FC'), Device(name='Sonos', ip='10.0.1.138', mac='94:9F:3E:8A:46:B6', type='5GHz', signal=80, link_rate='54', allow_or_block='Allow', device_type=23, device_model=None, ssid='ShenCentral', conn_ap_mac='CC:40:D0:55:74:EF'), Device(name='wired', ip='10.0.0.62', mac='9C:8E:CD:2F:6B:0C', type='2.4GHz', signal=72, link_rate='72', allow_or_block='Allow', device_type=9, device_model=None, ssid='ShenCentral', conn_ap_mac='CC:40:D0:57:27:FC'), Device(name='1', ip='10.0.0.169', mac='30:D6:C9:13:68:91', type='5GHz', signal=72, link_rate='433', allow_or_block='Allow', device_type=36, device_model='Galaxy Note 10.1 (2014 Ed', ssid='ShenCentral', conn_ap_mac='CC:40:D0:57:27:FC'), Device(name='Espressif', ip='10.0.0.81', mac='5C:CF:7F:82:68:2D', type='2.4GHz', signal=48, link_rate='72', allow_or_block='Allow', device_type=24, device_model=None, ssid='ShenCentral', conn_ap_mac='CC:40:D0:55:74:EF'), Device(name='Amazon-Echo (2nd Gen)', ip='10.0.0.165', mac='44:00:49:46:1B:1C', type='5GHz', signal=50, link_rate='39', allow_or_block='Allow', device_type=23, device_model='Echo (2nd Gen)', ssid='ShenCentral', conn_ap_mac='CC:40:D0:57:27:FC'), Device(name='Amcrest', ip='10.0.0.65', mac='9C:8E:CD:2F:71:1F', type='wired', signal=100, link_rate=None, allow_or_block='Allow', device_type=9, device_model=None, ssid=None, conn_ap_mac='8C:3B:AD:A4:FA:4C'), Device(name='Nuvyyo', ip='10.0.0.159', mac='50:87:B8:00:B9:C0', type='wired', signal=100, link_rate=None, allow_or_block='Allow', device_type=9, device_model=None, ssid=None, conn_ap_mac='CC:40:D0:55:74:EF'), Device(name='C8:3A:6B:20:CD:', ip='10.0.0.167', mac='C8:3A:6B:20:CD:C3', type='wired', signal=100, link_rate=None, allow_or_block='Allow', device_type=23, device_model='Roku Ultra', ssid=None, conn_ap_mac='CC:40:D0:57:27:FC'), Device(name='Espressif', ip='10.0.0.94', mac='48:3F:DA:95:A7:5F', type='2.4GHz', signal=78, link_rate='72', allow_or_block='Allow', device_type=24, device_model=None, ssid='ShenCentral', conn_ap_mac='CC:40:D0:55:74:EF'), Device(name='Espressif', ip='10.0.0.105', mac='A4:CF:12:6D:CA:64', type='2.4GHz', signal=72, link_rate='72', allow_or_block='Allow', device_type=24, device_model=None, ssid='ShenCentral', conn_ap_mac='CC:40:D0:55:74:EF'), Device(name='DEV-9B:97:09', ip='10.0.2.41', mac='B6:61:85:9B:97:09', type='5GHz', signal=54, link_rate='433', allow_or_block='Allow', device_type=32, device_model=None, ssid='ShenCentral', conn_ap_mac='CC:40:D0:57:27:FC'), Device(name='rainmachine', ip='10.0.0.89', mac='A8:80:38:25:16:20', type='2.4GHz', signal=44, link_rate='26', allow_or_block='Allow', device_type=24, device_model='RainMachine', ssid='ShenCentral', conn_ap_mac='CC:40:D0:55:74:EF'), Device(name='Espressif', ip='10.0.0.99', mac='94:B9:7E:E6:4E:F4', type='2.4GHz', signal=40, link_rate='72', allow_or_block='Allow', device_type=24, device_model=None, ssid='ShenCentral', conn_ap_mac='CC:40:D0:55:74:EF'), Device(name='1', ip='10.0.0.100', mac='7C:9E:BD:62:1A:B4', type='2.4GHz', signal=86, link_rate='72', allow_or_block='Allow', device_type=24, device_model=None, ssid='ShenCentral', conn_ap_mac='CC:40:D0:55:74:EF'), Device(name='Espressif', ip='10.0.2.135', mac='4C:75:25:A8:D4:14', type='2.4GHz', signal=100, link_rate='72', allow_or_block='Allow', device_type=24, device_model=None, ssid='ShenCentral', conn_ap_mac='CC:40:D0:55:74:EF'), Device(name='Espressif', ip='10.0.1.133', mac='68:C6:3A:9F:A3:FA', type='2.4GHz', signal=38, link_rate='72', allow_or_block='Allow', device_type=24, device_model=None, ssid='ShenCentral', conn_ap_mac='8C:3B:AD:A4:FA:4C'), Device(name='Espressif', ip='10.0.0.103', mac='94:B9:7E:E6:5B:60', type='2.4GHz', signal=70, link_rate='72', allow_or_block='Allow', device_type=24, device_model=None, ssid='ShenCentral', conn_ap_mac='CC:40:D0:55:74:EF'), Device(name='1', ip='10.0.0.104', mac='7C:9E:BD:62:18:FC', type='2.4GHz', signal=46, link_rate='72', allow_or_block='Allow', device_type=24, device_model=None, ssid='ShenCentral', conn_ap_mac='8C:3B:AD:A4:FA:4C'), Device(name='Amazon', ip='10.0.2.230', mac='68:B6:91:1A:B9:95', type='5GHz', signal=48, link_rate='390', allow_or_block='Allow', device_type=36, device_model=None, ssid='ShenCentral', conn_ap_mac='CC:40:D0:55:74:EF'), Device(name='Orbi Router', ip='10.0.0.82', mac='48:3F:DA:95:9F:4D', type='2.4GHz', signal=70, link_rate='72', allow_or_block='Allow', device_type=24, device_model=None, ssid='ShenCentral', conn_ap_mac='CC:40:D0:55:74:EF'), Device(name='kt-cell', ip='10.0.0.151', mac='B2:61:0B:76:B2:EB', type='5GHz', signal=76, link_rate='866', allow_or_block='Allow', device_type=32, device_model='Samsung S20 FE', ssid='ShenCentral', conn_ap_mac='CC:40:D0:57:27:FC'), Device(name='LG', ip='10.0.2.131', mac='4C:BC:E9:77:53:C8', type='2.4GHz', signal=78, link_rate='72', allow_or_block='Allow', device_type=35, device_model=None, ssid='ShenCentral', conn_ap_mac='CC:40:D0:55:74:EF'), Device(name='Network (Generi', ip='10.0.0.107', mac='24:6F:28:13:BF:54', type='2.4GHz', signal=62, link_rate='72', allow_or_block='Allow', device_type=24, device_model=None, ssid='ShenCentral', conn_ap_mac='CC:40:D0:55:74:EF'), Device(name='Espressif', ip='10.0.0.154', mac='A4:CF:12:6D:C1:38', type='2.4GHz', signal=86, link_rate='72', allow_or_block='Allow', device_type=24, device_model=None, ssid='ShenCentral', conn_ap_mac='CC:40:D0:57:27:FC'), Device(name='1', ip='10.0.0.153', mac='3C:61:05:65:76:04', type='2.4GHz', signal=40, link_rate='72', allow_or_block='Allow', device_type=24, device_model=None, ssid='ShenCentral', conn_ap_mac='CC:40:D0:57:27:FC'), Device(name='1', ip='10.0.0.166', mac='8C:49:62:0A:A4:7E', type='5GHz', signal=56, link_rate='650', allow_or_block='Allow', device_type=23, device_model='Roku 1', ssid='ShenCentral', conn_ap_mac='CC:40:D0:57:27:FC'), Device(name='78:B2:13:E0:D8:', ip='10.0.0.44', mac='B8:AE:ED:74:87:5A', type='wired', signal=100, link_rate=None, allow_or_block='Allow', device_type=38, device_model=None, ssid=None, conn_ap_mac='CC:40:D0:55:74:EF'), Device(name='10.0.1.2', ip='10.0.0.83', mac='5C:CF:7F:00:15:49', type='2.4GHz', signal=100, link_rate='72', allow_or_block='Allow', device_type=24, device_model=None, ssid='ShenCentral', conn_ap_mac='CC:40:D0:55:74:EF'), Device(name='Raspberry Pi-Raspberry Pi', ip='10.0.0.33', mac='B8:27:EB:7E:3C:A8', type='wired', signal=100, link_rate=None, allow_or_block='Allow', device_type=24, device_model='Raspberry Pi', ssid=None, conn_ap_mac='CC:40:D0:55:74:EF'), Device(name='Espressif', ip='10.0.0.45', mac='80:7D:3A:C5:28:48', type='2.4GHz', signal=100, link_rate='72', allow_or_block='Allow', device_type=24, device_model=None, ssid='ShenCentral', conn_ap_mac='CC:40:D0:55:74:EF'), Device(name='Espressif', ip='10.0.0.87', mac='2C:F4:32:12:60:AB', type='2.4GHz', signal=70, link_rate='72', allow_or_block='Allow', device_type=24, device_model=None, ssid='ShenCentral', conn_ap_mac='CC:40:D0:57:27:FC'), Device(name='8C:3B:AD:A4:FA:', ip='10.0.0.85', mac='5C:CF:7F:72:FD:7C', type='2.4GHz', signal=52, link_rate='72', allow_or_block='Allow', device_type=24, device_model=None, ssid='ShenCentral', conn_ap_mac='CC:40:D0:57:27:FC'), Device(name='Espressif', ip='10.0.0.80', mac='5C:CF:7F:16:D6:13', type='2.4GHz', signal=78, link_rate='72', allow_or_block='Allow', device_type=24, device_model=None, ssid='ShenCentral', conn_ap_mac='CC:40:D0:57:27:FC'), Device(name='Un----', ip='10.0.0.171', mac='A4:CF:12:B7:EF:6E', type='2.4GHz', signal=78, link_rate='72', allow_or_block='Allow', device_type=24, device_model='S31', ssid='ShenCentral', conn_ap_mac='CC:40:D0:55:74:EF'), Device(name='Unke:34-----', ip='10.0.0.170', mac='8C:49:62:01:F4:56', type='5GHz', signal=50, link_rate='585', allow_or_block='Allow', device_type=23, device_model=None, ssid='ShenCentral', conn_ap_mac='CC:40:D0:57:27:FC'), Device(name='Raspberry Pi-Raspberry Pi', ip='10.0.0.5', mac='B8:27:EB:51:B2:21', type='wired', signal=100, link_rate=None, allow_or_block='Allow', device_type=24, device_model='Raspberry Pi', ssid=None, conn_ap_mac='CC:40:D0:55:74:EF'), Device(name='Espressif', ip='10.0.0.91', mac='40:F5:20:24:52:2D', type='2.4GHz', signal=46, link_rate='72', allow_or_block='Allow', device_type=24, device_model=None, ssid='ShenCentral', conn_ap_mac='CC:40:D0:57:27:FC'), Device(name='Network (Generi', ip='10.0.2.202', mac='F4:03:2A:BD:06:7E', type='5GHz', signal=70, link_rate='585', allow_or_block='Allow', device_type=23, device_model='Echo', ssid='ShenCentral', conn_ap_mac='CC:40:D0:57:27:FC'), Device(name='Philips-Hue Bridge 1st Gen', ip='10.0.0.92', mac='40:F5:20:25:6D:42', type='2.4GHz', signal=42, link_rate='72', allow_or_block='Allow', device_type=24, device_model='Hue Bridge 1st Gen', ssid='ShenCentral', conn_ap_mac='CC:40:D0:55:74:EF'), Device(name='Un', ip='10.0.0.95', mac='48:3F:DA:95:A4:88', type='2.4GHz', signal=48, link_rate='72', allow_or_block='Allow', device_type=24, device_model=None, ssid='ShenCentral', conn_ap_mac='CC:40:D0:55:74:EF'), Device(name='allow', ip='10.0.0.96', mac='48:3F:DA:95:A4:5C', type='2.4GHz', signal=46, link_rate='72', allow_or_block='Allow', device_type=24, device_model=None, ssid='ShenCentral', conn_ap_mac='CC:40:D0:55:74:EF'), Device(name='-----device:34-', ip='10.0.0.97', mac='84:CC:A8:9E:D5:53', type='2.4GHz', signal=86, link_rate='72', allow_or_block='Allow', device_type=24, device_model=None, ssid='ShenCentral', conn_ap_mac='CC:40:D0:57:27:FC'), Device(name='Shelly-Shelly 2.5', ip='10.0.0.90', mac='84:CC:A8:9F:AC:3D', type='2.4GHz', signal=62, link_rate='72', allow_or_block='Allow', device_type=24, device_model='Shelly 2.5', ssid='ShenCentral', conn_ap_mac='8C:3B:AD:A4:FA:4C'), Device(name='1', ip='10.0.0.47', mac='B8:27:EB:6A:21:1F', type='wired', signal=100, link_rate=None, allow_or_block='Allow', device_type=24, device_model='Raspberry Pi', ssid=None, conn_ap_mac='CC:40:D0:55:74:EF'), Device(name='Samsung-Galaxy Tab A Kids Editio', ip='10.0.2.117', mac='BE:6B:25:00:F7:60', type='5GHz', signal=60, link_rate='150', allow_or_block='Allow', device_type=36, device_model='Galaxy Tab A Kids Edition', ssid='ShenCentral', conn_ap_mac='CC:40:D0:57:27:FC')]
2022-11-17 07:55:13.088 DEBUG (MainThread) [homeassistant.components.netgear] Finished fetching RBR50 Devices data in 12.086 seconds (success: True)

Example YAML snippet

No response

Anything in the logs that might be useful for us?

No response

Additional information

No response

@home-assistant
Copy link

Hey there @hacf-fr, @Quentame, @starkillerOG, mind taking a look at this issue as it has been labeled with an integration (netgear) you are listed as a code owner for? Thanks!

Code owner commands

Code owners of netgear can trigger bot actions by commenting:

  • @home-assistant close Closes the issue.
  • @home-assistant rename Awesome new title Change the title of the issue.
  • @home-assistant reopen Reopen the issue.
  • @home-assistant unassign netgear Removes the current integration label and assignees on the issue, add the integration domain after the command.

(message by CodeOwnersMention)


netgear documentation
netgear source
(message by IssueLinks)

@heyitsyang
Copy link
Author

I also get this occasionally:
Netgear ReadTimeout, service 'DeviceConfig:1', method 'CheckNewFirmware', host 10.0.0.1:80 ssl False

@starkillerOG
Copy link
Contributor

@heyitsyang I finally got some time to work on this.
This PR #84733 schould fix the occasional ReadTimeouts by simply re-trying the request 1 time before throwing a error.

If you appreciate the Netgear integration, please consider sponsoring the upstream library

@starkillerOG
Copy link
Contributor

@home-assistant close

@heyitsyang
Copy link
Author

Not sure if this is the same problem, but while I am no longer getting the original error, I do get the following errors. Same root issue?

503 Service Unavailable after retry, the API may be overloaded 'DeviceInfo:1', 'GetAttachDevice2'.

and

Netgear ReadTimeout, service 'DeviceConfig:1', method 'CheckNewFirmware', host 10.0.0.1:80 ssl False

@Grumblezz
Copy link

Grumblezz commented Feb 18, 2023

Same here:

Logger: pynetgear.router
Source: /usr/local/lib/python3.10/site-packages/pynetgear/router.py:171
First occurred: 16:20:48 (1 occurrences)
Last logged: 16:20:48

Netgear ReadTimeout, service 'DeviceConfig:1', method 'CheckNewFirmware', host routerlogin.net:443 ssl True

I have removed the integration and added again (after a restart) and the error 🤔 keeps appearing.

Would it be possible that some older netgear devices do not support the CheckNewFirmware ?

@starkillerOG
Copy link
Contributor

@Grumblezz yes that could be possible, but I would expect a diffrent response from the router than a ReadTimeout.
Could you try running the following python code and see if the CheckNewFirmware command works for your router with a longer timeout (increased from 30 to 120 seconds):

import logging
from time import sleep
logging.basicConfig(level=logging.DEBUG, format='%(message)s')
import requests

from pynetgear import Netgear, const as c, helpers as h


netgear = Netgear(password="PASSWORD", user="admin", host='192.168.1.IP')

print(netgear.login_try_port())
print("")


service = c.SERVICE_DEVICE_CONFIG
method = c.CHECK_NEW_FIRMWARE
parseNode = ".//%sResponse" % (method)
need_auth = True

params = ""
body = c.CALL_BODY.format(
    service=c.SERVICE_PREFIX + service,
    method=method,
    params=params,
)

message = c.SOAP_REQUEST.format(session_id=c.SESSION_ID, body=body)

headers = netgear._get_headers(service, method, need_auth)

response = requests.post(
    netgear.soap_url,
    headers=headers,
    data=message,
    timeout=120,
    verify=False,
)

success, node = h.find_node(response.text, parseNode)

print({t.tag: t.text for t in node})

Please fill in the PASSWORD and IP, run the script and post the output here.

Sorry for the complicated script, it is currently not possible to change the timeout easily so I had to improvise.

@Grumblezz
Copy link

Grumblezz commented Mar 1, 2023

Ow not to worry, as long as we can figure this out it will help everyone out in the long run :) . So I had to run this from a Windows machine since I wasn't able to connect to my homeassistant instance.

Here is the output:

Login v2, port '5000', ssl, 'False'
Starting new HTTP connection (1): www.routerlogin.net:5000
RequestException while logging in host www.routerlogin.net:5000 ssl False: HTTPConnectionPool(host='www.routerlogin.net', port=5000): Max retries exceeded with url: /soap/server_sa/ (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x0000018B3EE6FD50>: Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it'))
Login v1, port '5000', ssl, 'False'
Starting new HTTP connection (1): www.routerlogin.net:5000
RequestException while logging in host www.routerlogin.net:5000 ssl False: HTTPConnectionPool(host='www.routerlogin.net', port=5000): Max retries exceeded with url: /soap/server_sa/ (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x0000018B3EE8A110>: Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it'))
Call GetInfo
Login re-attempt within the login, ignoring.
Could not successfully get GetInfo
Login v1, port '5555', ssl, 'True'
Starting new HTTPS connection (1): www.routerlogin.net:5555
RequestException while logging in host www.routerlogin.net:5555 ssl True: HTTPSConnectionPool(host='www.routerlogin.net', port=5555): Max retries exceeded with url: /soap/server_sa/ (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x0000018B3EE94DD0>: Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it'))
Call GetInfo
Login re-attempt within the login, ignoring.
Could not successfully get GetInfo
Login v2, port '5555', ssl, 'True'
Starting new HTTPS connection (1): www.routerlogin.net:5555
RequestException while logging in host www.routerlogin.net:5555 ssl True: HTTPSConnectionPool(host='www.routerlogin.net', port=5555): Max retries exceeded with url: /soap/server_sa/ (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x0000018B3EE96BD0>: Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it'))
Login v2, port '443', ssl, 'True'
Starting new HTTPS connection (1): www.routerlogin.net:443
https://www.routerlogin.net:443 "POST /soap/server_sa/ HTTP/1.1" 200 383
Login succeeded using non default port '443' and ssl 'True'.
True

Starting new HTTPS connection (1): www.routerlogin.net:443
Traceback (most recent call last):
  File "C:\Python311\Lib\site-packages\urllib3\connectionpool.py", line 449, in _make_request
    six.raise_from(e, None)
  File "<string>", line 3, in raise_from
  File "C:\Python311\Lib\site-packages\urllib3\connectionpool.py", line 444, in _make_request
    httplib_response = conn.getresponse()
                       ^^^^^^^^^^^^^^^^^^
  File "C:\Python311\Lib\http\client.py", line 1374, in getresponse
    response.begin()
  File "C:\Python311\Lib\http\client.py", line 318, in begin
    version, status, reason = self._read_status()
                              ^^^^^^^^^^^^^^^^^^^
  File "C:\Python311\Lib\http\client.py", line 279, in _read_status
    line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python311\Lib\socket.py", line 705, in readinto
    return self._sock.recv_into(b)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python311\Lib\ssl.py", line 1278, in recv_into
    return self.read(nbytes, buffer)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python311\Lib\ssl.py", line 1134, in read
    return self._sslobj.read(len, buffer)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TimeoutError: The read operation timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Python311\Lib\site-packages\requests\adapters.py", line 489, in send
    resp = conn.urlopen(
           ^^^^^^^^^^^^^
  File "C:\Python311\Lib\site-packages\urllib3\connectionpool.py", line 787, in urlopen
    retries = retries.increment(
              ^^^^^^^^^^^^^^^^^^
  File "C:\Python311\Lib\site-packages\urllib3\util\retry.py", line 550, in increment
    raise six.reraise(type(error), error, _stacktrace)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python311\Lib\site-packages\urllib3\packages\six.py", line 770, in reraise
    raise value
  File "C:\Python311\Lib\site-packages\urllib3\connectionpool.py", line 703, in urlopen
    httplib_response = self._make_request(
                       ^^^^^^^^^^^^^^^^^^^
  File "C:\Python311\Lib\site-packages\urllib3\connectionpool.py", line 451, in _make_request
    self._raise_timeout(err=e, url=url, timeout_value=read_timeout)
  File "C:\Python311\Lib\site-packages\urllib3\connectionpool.py", line 340, in _raise_timeout
    raise ReadTimeoutError(
urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='www.routerlogin.net', port=443): Read timed out. (read timeout=120)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File ".\HomeAssistant\NetGear.py", line 31, in <module>
    response = requests.post(
               ^^^^^^^^^^^^^^
  File "C:\Python311\Lib\site-packages\requests\api.py", line 115, in post
    return request("post", url, data=data, json=json, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python311\Lib\site-packages\requests\api.py", line 59, in request
    return session.request(method=method, url=url, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python311\Lib\site-packages\requests\sessions.py", line 587, in request
    resp = self.send(prep, **send_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python311\Lib\site-packages\requests\sessions.py", line 701, in send
    r = adapter.send(request, **kwargs)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python311\Lib\site-packages\requests\adapters.py", line 578, in send
    raise ReadTimeout(e, request=request)
requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='www.routerlogin.net', port=443): Read timed out. (read timeout=120)


@Grumblezz
Copy link

FYI, I tried a few variations:

But all of them give the same response.

@starkillerOG
Copy link
Contributor

@Grumblezz does checking for new firmware updates work through the web interface of your router?

@starkillerOG
Copy link
Contributor

@Grumblezz I do not see any way to detect if firmware updates are supported or not, I suggest you disable the update entity, the error schould then go away.

@heyitsyang
Copy link
Author

@starkillerOG, sorry for being dense, but what is the name of the entity should be disabled? I have tried to do search, but I have tons of entities when I filter for netgear.

@starkillerOG
Copy link
Contributor

@heyitsyang search by device and look up your router. The router has all router specific entities of which the update entity is one.
The entity id will start with update.name_of_the_router.

@heyitsyang
Copy link
Author

I found the entity. It shows the correct FW version number obtained from the router. Does this mean the update checking interface is (eventually) working? My router is a RBK50.

I can run the script if that helps.

@starkillerOG
Copy link
Contributor

@heyitsyang if the update entity shows the correct FW version number, it means at least somtimes the update entity is working.

@starkillerOG
Copy link
Contributor

@heyitsyang I think in your case the router sometimes just gets overloaded and gets behind all requests which is causing ocusional timeouts. How many devices do you have connected to your router and for how many devices is the router speced?

@heyitsyang
Copy link
Author

@starkillerOG Just looking on Pi-Hole, I have 80 active DHCP leases. The majority are IoT & home automation devices, so not much traffic volume, but could be chatty. Netgear claims the Orbi can handle 50 clients comfortably comfortably & 250 max, so I'm probably stressing the router a bit.

@github-actions github-actions bot locked and limited conversation to collaborators Apr 3, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants