NBG6817 vs R7800 temperature

Hi there,

I've flashed both my routers to OpenWRT 18.06.1 yesterday and have noticed a big difference in operating temperatures. I had both devices running on stock firmware until now and never observed such a difference.

After flashing the images, I've immediately noticed the Zyxel NGB6817 beeing uncomfortably warm; the hotspot is around the SoC area (right half, heatsink on it). While the R7800 operates between 45 - 50°C and feels just a bit warm, the Zyxel is at around a constant 70-75°C in idle. Under light load, I've seen the Zyxel climb up to 80°C. I've used software readings and can confirm, there is a very clear difference between the R7800 vs NBG6817, as I have both devices sitting next to each other.

Looking at the picture at NBG6817 ToH page (https://openwrt.org/_detail/media/zyxel/nbg6817_serial.jpg?id=toh%3Azyxel%3Anbg6817), the heatsink doesn't look promising. Still, I wouldn't expect >70°C while the device is sitting there, clocked down to 384MHz (ondemand governor), doing nothing. I wonder, if the Zyxel is running at a higher SoC voltage, than the R7800.

Unfortunately, lm-sensors / lm-sensors-detect failed due to "no i2c interface found" message. Is there any other way to read SoC voltage?

Cheers,
Tolga

Do you have any temperature sheet of Zyxel and/or Netgear? I don't want to open my device to verify if the temperature is real or not.

I have made a Screenshot of thermal on my Zyxel attached (no heavy load, just a bit Internet, mostly idle). I have no clue if this amount of thermal zones are real or not. I have doubts about that.

EDIT:

Added corresponding cpu chart (a bit delayed):

Thanks for your input! I've made my observations by calling cat /sys/devices/virtual/thermal/*/temp, so I don't have any graphs to share. I also have my doubts about 9 real thermal zones, I think it's simulated. But still, the average should roughly match real world observations.

My hand is not a thermometer, but I can tell there is a big difference between my R7800 and NBG6817 sitting next to each other (both sitting in idle, doing nothing). The readings say there is a ~20°C difference, which I think is definitely plausible.

Well, I cannot say much about that because the first thing I did was installing OpenWrt after I've got my hands on this router. But I've noticed the heat on the surface and thought it's normal.

I will reinstall the Zyxel Firmware on weekend to see if there is a delta.

But to verify if it's OS issue we would need more input from other people. The original OS on Zyxel is an older OpenWrt version. So there should be no huge difference between them.

I think it is highly likely that this is a quality issue and Netgear did a better job... :confused:

You are mistaken. Yes, the ZyXEL OEM firmware is based on QCA's QSDK, which in turn is derived from an ancient OpenWrt release, but the results has very little in common with OpenWrt - let alone a state of OpenWrt you could actually build or install (old kernel with proprietary kernel modules, no device tree, etc.). Yes, ZyXEL is still closer to OpenWrt in terms of system configuration (uci based) than Netgear, but there is very little similarity with OpenWrt for the stuff that matters (kernel, drivers).

Ah, thx for your correction. As I've installed OpenWrt on my Zyxel I saw the OpenWrt Logo on ssh login (if I remember correct). Thats why I thought its OpenWrt based. I didn't know that its a heavily stripped version.

I've installed the latest Zyxel Firmware today. After an hour of observation I cannot feel or see any difference on temperature. I have used built-in thermald to watch the temperature. It was not so comfortable like the Luci graphs but I have not seen temperatures above 72° degrees. The usage was the same as above.

root@NBG6817:~# thermald -d

Thermal daemon started
Debug output enabled
Using default sensor setting...
Identidied SOC ID: 15
117760 107520 cpu 1400000
122880 112640 cpu 800000
128000 117760 shutdown 1000
Number of CPU cores 2
Number of cpus :2
Maximum CPU[0] frequency 1725000 KHz
Minimum CPU[0] frequency 384000 KHz
Maximum CPU[1] frequency 1725000 KHz
Minimum CPU[1] frequency 384000 KHz
Sensor setup:[tsens_tz_sensor0]
Opening /sys/devices/virtual/thermal/thermal_zone0/type
Sensor tsens_tz_sensor0 found at tz: 0
tsens_sensor_update_thresholds: threshold_type 0, level 0Setting up TSENS thresholds high: 115
TSENS uevent :tsens_tz_sensor0
TSENS threshold at 1 enabled: 1
Setting up TSENS thresholds low: 105
TSENS threshold at 2 enabled: 0
Sensor 0: No.of valid actions: 3
thermal_monitor - Enabling sensor: 0
sensor_enable: sensor setting found for tzn0
TSENS tzn 0 mode set to 1
Spawn Monitor thread for sensor: 0
Sensor 1: No.of valid actions: 0
No rules to monitor sensor 'tsens_tz_sensor1' disabled: 1 num_thresholds: 0
thermal_monitor - Disabling sensor: 1
sensor_enable: sensor setting sensor unexpected NULL
sensor_enable: sensor setting not found for tzn1. Using defaults...
Sensor_wait step in.
Sensor[tsens_tz_sensor0] Temperature : 70.0
Interrupt Enable: 1
tsens_sensor_update_thresholds: threshold_type 0, level 0TSENS tzn 1 mode set to 0
Sensor 2: No.of valid actions: 0
No rules to monitor sensor 'tsens_tz_sensor2' disabled: 1 num_thresholds: 0
thermal_monitor - Disabling sensor: 2
sensor_enable: sensor setting sensor unexpected NULL
sensor_enable: sensor setting not found for tzn2. Using defaults...
Setting up TSENS thresholds high: 115
TSENS threshold at 1 enabled: 1
Setting up TSENS thresholds low: 105
TSENS threshold at 2 enabled: 0
Sensor_wait step in.
TSENS tzn 2 mode set to 0
Sensor 3: No.of valid actions: 0
No rules to monitor sensor 'tsens_tz_sensor3' disabled: 1 num_thresholds: 0
thermal_monitor - Disabling sensor: 3
sensor_enable: sensor setting sensor unexpected NULL
sensor_enable: sensor setting not found for tzn3. Using defaults...
TSENS tzn 3 mode set to 0
Sensor 4: No.of valid actions: 0
No rules to monitor sensor 'tsens_tz_sensor4' disabled: 1 num_thresholds: 0
thermal_monitor - Disabling sensor: 4
sensor_enable: sensor setting sensor unexpected NULL
sensor_enable: sensor setting not found for tzn4. Using defaults...
TSENS tzn 4 mode set to 0
Sensor 5: No.of valid actions: 0
No rules to monitor sensor 'tsens_tz_sensor5' disabled: 1 num_thresholds: 0
thermal_monitor - Disabling sensor: 5
sensor_enable: sensor setting sensor unexpected NULL
sensor_enable: sensor setting not found for tzn5. Using defaults...
TSENS tzn 5 mode set to 0
Sensor 6: No.of valid actions: 0
No rules to monitor sensor 'tsens_tz_sensor6' disabled: 1 num_thresholds: 0
thermal_monitor - Disabling sensor: 6
sensor_enable: sensor setting sensor unexpected NULL
sensor_enable: sensor setting not found for tzn6. Using defaults...
TSENS tzn 6 mode set to 0
Sensor 7: No.of valid actions: 0
No rules to monitor sensor 'tsens_tz_sensor7' disabled: 1 num_thresholds: 0
thermal_monitor - Disabling sensor: 7
sensor_enable: sensor setting sensor unexpected NULL
sensor_enable: sensor setting not found for tzn7. Using defaults...
TSENS tzn 7 mode set to 0
Sensor 8: No.of valid actions: 0
No rules to monitor sensor 'tsens_tz_sensor8' disabled: 1 num_thresholds: 0
thermal_monitor - Disabling sensor: 8
sensor_enable: sensor setting sensor unexpected NULL
sensor_enable: sensor setting not found for tzn8. Using defaults...
TSENS tzn 8 mode set to 0
Sensor 9: No.of valid actions: 0
No rules to monitor sensor 'tsens_tz_sensor9' disabled: 1 num_thresholds: 0
thermal_monitor - Disabling sensor: 9
sensor_enable: sensor setting sensor unexpected NULL
sensor_enable: sensor setting not found for tzn9. Using defaults...
TSENS tzn 9 mode set to 0
Sensor 10: No.of valid actions: 0
No rules to monitor sensor 'tsens_tz_sensor10' disabled: 1 num_thresholds: 0
thermal_monitor - Disabling sensor: 10
sensor_enable: sensor setting sensor unexpected NULL
sensor_enable: sensor setting not found for tzn10. Using defaults...
TSENS tzn 10 mode set to 0

For me it looks like the voltage is not adjusted according the cpu usage. That is kind a pity. The only explanation for your observations I have is the possibility that you have used an older Firmware OR that we break something if we flash any custom firmware which cannot be fixed due to simple reflash. I cannot say much more because I have never used Zyxel stock firmware.

Thanks for your efforts! I think that's good news, as it means everything works as originally designed. I feared OpenWRT was leading to higher temperatures, but that doesn't seem to be the case.

The most likely explanation probably is: it never caught my attention before. I flashed OpenWRT like on day 1, but had to revert to stock firmware due to system and WiFi stability issues. It was just about a week ago, where I tried out OpenWRT again.

As you haven't seen any difference between the original firmware and OpenWRT, I think it's safe to say it works as designed.

Thanks!

Late to the party but I’d like to offer an observation.

I checked teardown of both r7800 and ngb6817. Netgear uses a huge metal plate as heatsink for the chips, while zyxel has a small heatsink for the ipq8065. I think that’s primary why your zyxel runs hot.

R7800 teardown

Zyxel ngb6817 teardown

1 Like


rt2600ac - heatsink is on both sides of board - my pcb is black tho'... baseline is around 56 in 25deg ambient/idle... above 71-3 is high ( half to 3/4 of full openssl bench will push it into thermal scaling )... neat design...

1 Like

Thanks for your replies. I had originally started this topic, due to reliability / stability concerns. Turned out to be completely unnecessary, since both devices are running smooth and stable 24/7.

I had stability issues in the beginnings, but it turned out to be related to ath10k-ct. Ever since I changed to ath10k, my uptimes went up to 20 - 60 days (on both devices). All I can say: yes, there are temperature differences. But it really doesn't matter. At the same price, I'd get the R7800 (also due to detachable antenna, more LEDs, larger user-base), but else, you don't do anything wrong by picking whatever is cheaper.

1 Like