Turris OS 5.2.0 is in HBT (Testing) branch

I have updates installed with approvals. I approved the update a few minutes ago and the router rebooted without asking after the update. Again, for like the 4th update in a row. I think this starts to be serious and you should have a look at it soon or people are gonna be really pissed by the unwanted reboots in the middle of the day.

I also got this error notification after the unwanted reboot:

Updater failed: 

[string "transaction"]:327: [string "transaction"]:238: attempt to index local 'upgraded_packages' (a nil value)

And now I see the update stayed somehow half-approved. You can see new Reforis design after the unwanted reboot, but it’s still asking for some approval…

From logs:

01:07:04 err foris-forwarder[11209]: Traceback (most recent call last):
01:07:04 err foris-forwarder[11209]:   File "/usr/bin/foris-forwarder", line 11, in <module>
01:07:04 err foris-forwarder[11209]:     load_entry_point('foris-forwarder==0.2.0', 'console_scripts', 'foris-forwarder')()
01:07:04 err foris-forwarder[11209]:   File "/usr/lib/python3.7/site-packages/foris_forwarder/__main__.py", line 111, in main
01:07:04 err foris-forwarder[11209]:   File "/usr/lib/python3.7/site-packages/foris_forwarder/app.py", line 45, in __call__
01:07:04 err foris-forwarder[11209]:   File "/usr/lib/python3.7/site-packages/foris_forwarder/app.py", line 76, in __init__
01:07:04 err foris-forwarder[11209]:   File "/usr/lib/python3.7/site-packages/foris_forwarder/configuration.py", line 157, in __init__
01:07:04 err foris-forwarder[11209]:   File "/usr/lib/python3.7/site-packages/foris_forwarder/configuration.py", line 170, in load_from_uci
01:07:04 err foris-forwarder[11209]:   File "/usr/lib/python3.7/site-packages/euci/__init__.py", line 90, in get
01:07:04 err foris-forwarder[11209]: uci.UciExceptionNotFoun

Update went fine (from HBS), Atlas probe appreciated, reforis looks good, dark mode great.
Two points:

  • The landing page looks bit weird on mobile screen - the logo images aspect ratio is incorrect (squeezed)
  • On both mobile and PC, when click reforis logo, for a second it shows An error occurred while fetching data and Forbidden…. After a second it disappears, so not a big deal…

The NETMETR section would be nice to have better visual formatting.
Just a sketch:


Also there is something wrong with the ping value.

Just my 50cent…

If netmetr has not been updated yet to 2.0.0, this is caused by ping on IPv6 not done correctly: IPv6: how to get public adress on wan

Reposting from the wrong thread:

Updated to HBT branch from HBS to see what happened with these timezone backports.

The syslog time is all over the place.

hostapd has the wrong timezone, dnsmasq has the right one, /dhcp_host_domain_ng.py has the wrong one, syslog-ng has the right one, crond has the wrong one… maybe there’s some kind of timing issue between when they start.

edit: yeah something strange is going on. ls -l /etc/TZ gets autocompleted when I type /etc/T + TAB even though there’s no such file. /tmp/TZ does not get autocompleted (also missing).

Maybe it has to do with the jail thing in dnsmasq.init.

I do have the same “forbidden” message temporarily

Hello @xsys,

We are so sorry that this bug in the Netmetr card in the overview slipped through our testing! This is fixed in the upcoming RC version. Thank you for letting us know about this.

Hello,
Just applied the upgrade (was already on HBT).

I cannot login to reforis nor foris.

Reforis error:

ControllerMissing	Python 3.7.10: /usr/bin/python3
Tue May 4 09:55:32 2021

A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.
 /usr/lib/python3.7/site-packages/flup/server/fcgi_base.py in run(self=<flup.server.fcgi_base.Request object>)
 /usr/lib/python3.7/site-packages/flup/server/fcgi_base.py in handler(self=<flup.server.fcgi.WSGIServer object>, req=<flup.server.fcgi_base.Request object>)
 /usr/lib/python3.7/site-packages/reforis/__main__.py in __call__(self=<reforis.__main__.AppWrapper object>, environ={'CONTENT_LENGTH': '0', 'DOCUMENT_ROOT': '/www/turris-webapps/', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTPS': 'on', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'HTTP_ACCEPT_ENCODING': 'gzip, deflate, br', 'HTTP_ACCEPT_LANGUAGE': 'fr-FR,fr;q=0.8,en-US;q=0.5,en;q=0.3', 'HTTP_CACHE_CONTROL': 'no-cache', 'HTTP_DNT': '1', 'HTTP_HOST': '192.168.1.1', ...}, start_response=<function BaseFCGIServer.handler.<locals>.start_response>)
 /usr/lib/python3.7/site-packages/flask/app.py in __call__(self=<Flask 'reforis'>, environ={'CONTENT_LENGTH': '0', 'DOCUMENT_ROOT': '/www/turris-webapps/', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTPS': 'on', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'HTTP_ACCEPT_ENCODING': 'gzip, deflate, br', 'HTTP_ACCEPT_LANGUAGE': 'fr-FR,fr;q=0.8,en-US;q=0.5,en;q=0.3', 'HTTP_CACHE_CONTROL': 'no-cache', 'HTTP_DNT': '1', 'HTTP_HOST': '192.168.1.1', ...}, start_response=<function BaseFCGIServer.handler.<locals>.start_response>)
 /usr/lib/python3.7/site-packages/flask/app.py in wsgi_app(self=<Flask 'reforis'>, environ={'CONTENT_LENGTH': '0', 'DOCUMENT_ROOT': '/www/turris-webapps/', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTPS': 'on', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'HTTP_ACCEPT_ENCODING': 'gzip, deflate, br', 'HTTP_ACCEPT_LANGUAGE': 'fr-FR,fr;q=0.8,en-US;q=0.5,en;q=0.3', 'HTTP_CACHE_CONTROL': 'no-cache', 'HTTP_DNT': '1', 'HTTP_HOST': '192.168.1.1', ...}, start_response=<function BaseFCGIServer.handler.<locals>.start_response>)
 /usr/lib/python3.7/site-packages/flask/app.py in handle_exception(self=<Flask 'reforis'>, e=ControllerMissing('Connection to controller 0000000B0000E881 is lost.'))
 /usr/lib/python3.7/site-packages/reforis/__init__.py in internal_error(error=<InternalServerError '500: Internal Server Error'>)
 /usr/lib/python3.7/site-packages/flask/templating.py in render_template(template_name_or_list='errors/500.html', **context={'error': <InternalServerError '500: Internal Server Error'>, 'g': <flask.ctx._AppCtxGlobals object>, 'request': <Request 'https://192.168.1.1/reforis/' [GET]>, 'session': <FileSystemSession {'_permanent': True}>})
 /usr/lib/python3.7/site-packages/flask/app.py in update_template_context(self=<Flask 'reforis'>, context={'error': <InternalServerError '500: Internal Server Error'>, 'g': <flask.ctx._AppCtxGlobals object>, 'request': <Request 'https://192.168.1.1/reforis/' [GET]>, 'session': <FileSystemSession {'_permanent': True}>})
 /usr/lib/python3.7/site-packages/reforis/__init__.py in add_translations_catalog_to_ctx()
 /usr/lib/python3.7/site-packages/flask_babel/__init__.py in get_locale()
 /usr/lib/python3.7/site-packages/reforis/__init__.py in get_locale()
 /usr/lib/python3.7/site-packages/reforis/__init__.py in _get_locale_from_backend(app=<Flask 'reforis'>)
 /usr/lib/python3.7/site-packages/reforis/backend.py in perform(self=MqttSender, module='web', action='get_data', data=None, raise_exception_on_failure=True, controller_id=None)
 /usr/lib/python3.7/site-packages/reforis/backend.py in perform(self=MqttSender, module='web', action='get_data', data=None, raise_exception_on_failure=True, controller_id=None)
 /usr/lib/python3.7/site-packages/reforis/backend.py in _send(self=MqttSender, module='web', action='get_data', data=None, controller_id=None)
 /usr/lib/python3.7/site-packages/foris_client/buses/mqtt.py in send(self=<foris_client.buses.mqtt.MqttSender object>, module='web', action='get_data', data=None, timeout=30.0, controller_id='0000000B0000E881')
 /usr/lib/python3.7/site-packages/foris_client/buses/mqtt.py in check_controllers()

ControllerMissing: Connection to controller 0000000B0000E881 is lost.
      args = ('Connection to controller 0000000B0000E881 is lost.',)
      device_id = '0000000B0000E881'
      with_traceback = <built-in method with_traceback of ControllerMissing object> 

Foris stack trace:

  File "/usr/lib/python3.7/site-packages/foris_client/buses/mqtt.py", line 358, in send
  File "/usr/lib/python3.7/queue.py", line 178, in get
_queue.Empty

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/foris/middleware/backend_data.py", line 54, in __call__
  File "/usr/lib/python3.7/site-packages/foris/backend.py", line 102, in perform
  File "/usr/lib/python3.7/site-packages/foris/backend.py", line 85, in perform
  File "/usr/lib/python3.7/site-packages/foris_client/buses/mqtt.py", line 360, in send
  File "/usr/lib/python3.7/site-packages/foris_client/buses/mqtt.py", line 334, in check_controllers
foris_client.buses.base.ControllerMissing: Connection to controller 0000000B0000E881 is lost.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/foris/middleware/reporting.py", line 93, in __call__
  File "/usr/lib/python3.7/site-packages/foris/middleware/backend_data.py", line 60, in __call__
  File "/usr/lib/python3.7/site-packages/bottle_i18n.py", line 68, in __call__
  File "/usr/bin/bottle.py", line 979, in __call__
  File "/usr/bin/bottle.py", line 954, in wsgi
  File "/usr/bin/bottle.py", line 862, in _handle
  File "/usr/bin/bottle.py", line 1742, in wrapper
  File "/usr/bin/bottle.py", line 3644, in wrapper
  File "/usr/lib/python3.7/site-packages/foris/config/__init__.py", line 367, in top_index
AttributeError: 'ForisState' object has no attribute 'password_set'

edit: I do have a password set in /etc/config/foris:

config config 'auth'
        option password '$p5XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'

Dear Turris users,

Today we released a new RC 2 version of Turris OS 5.2.0
The release fixes multiple bugs discovered after RC 1 release. The most visible ones are related to reForis.

  • reForis - improved password form
  • reForis-storage-plugin - multiple UI improvements
  • reForis-netmetr-plugin - fix for displaying ping and other UI improvements

Other minor changes are related to updater-ng and initial-conf packages.

We would like to hear feedback on how you like this update.

2 Likes

Hey,

Here is a weird thing in my logs :

May 4 17:49:43 turris kernel: [ 78.689452] mwifiex_sdio mmc0:0001:1: Firmware wakeup failed

My SDIO card is not working and I expected a good news reading the changelog. I did a fresh install.

Full log :

May  4 17:49:43 turris kernel: [   78.689452] mwifiex_sdio mmc0:0001:1: Firmware wakeup failed
May  4 17:49:43 turris kernel: [   78.695948] mwifiex_sdio mmc0:0001:1: info: shutdown mwifiex...
May  4 17:49:43 turris kernel: [   78.703565] mwifiex_sdio mmc0:0001:1: PREP_CMD: card is removed
May  4 17:49:44 turris kernel: [   78.764787] mwifiex_sdio mmc0:0001:1: PREP_CMD: card is removed
May  4 17:49:44 turris kernel: [   78.774101] mwifiex_sdio mmc0:0001:1: PREP_CMD: card is removed
May  4 17:49:44 turris kernel: [   78.795020] mwifiex_sdio mmc0:0001:1: PREP_CMD: card is removed
May  4 17:49:44 turris kernel: [   78.952837] sdio_read_cccr card report SDIO_UHS_DDR50
May  4 17:49:44 turris kernel: [   78.958356] sdio_read_cccr card report SDIO_UHS_SDR50
May  4 17:49:44 turris kernel: [   78.963613] sdio_read_cccr card report SDIO_UHS_SDR104
May  4 17:49:45 turris kernel: [   80.005914] mwifiex_sdio mmc0:0001:1: info: FW download over, size 626760 bytes
May  4 17:49:46 turris kernel: [   80.869448] mwifiex_sdio mmc0:0001:1: WLAN FW is active
May  4 17:49:56 turris kernel: [   91.397964] mwifiex_sdio mmc0:0001:1: mwifiex_cmd_timeout_func: Timeout cmd id = 0xa9, act = 0x0
May  4 17:49:56 turris kernel: [   91.406817] mwifiex_sdio mmc0:0001:1: num_data_h2c_failure = 0
May  4 17:49:56 turris kernel: [   91.412874] mwifiex_sdio mmc0:0001:1: num_cmd_h2c_failure = 0
May  4 17:49:56 turris kernel: [   91.419096] mwifiex_sdio mmc0:0001:1: is_cmd_timedout = 1
May  4 17:49:56 turris kernel: [   91.424693] mwifiex_sdio mmc0:0001:1: num_tx_timeout = 0
May  4 17:49:56 turris kernel: [   91.429944] mwifiex_sdio mmc0:0001:1: last_cmd_index = 3
May  4 17:49:56 turris kernel: [   91.435606] mwifiex_sdio mmc0:0001:1: last_cmd_id: 20 00 20 00 20 00 a9 00 1e 00
May  4 17:49:56 turris kernel: [   91.443097] mwifiex_sdio mmc0:0001:1: last_cmd_act: 08 00 08 00 08 00 00 00 00 00
May  4 17:49:56 turris kernel: [   91.450753] mwifiex_sdio mmc0:0001:1: last_cmd_resp_index = 2
May  4 17:49:56 turris kernel: [   91.456961] mwifiex_sdio mmc0:0001:1: last_cmd_resp_id: 20 80 20 80 20 80 cd 80 1e 80
May  4 17:49:56 turris kernel: [   91.464982] mwifiex_sdio mmc0:0001:1: last_event_index = 3
May  4 17:49:56 turris kernel: [   91.470480] mwifiex_sdio mmc0:0001:1: last_event: 00 00 0b 00 0a 00 0b 00 00 00
May  4 17:49:56 turris kernel: [   91.478220] mwifiex_sdio mmc0:0001:1: data_sent=1 cmd_sent=1
May  4 17:49:56 turris kernel: [   91.484249] mwifiex_sdio mmc0:0001:1: ps_mode=0 ps_state=0
May  4 17:49:56 turris kernel: [   91.490071] mwifiex_sdio mmc0:0001:1: info: _mwifiex_fw_dpc: unregister device
May  4 15:49:58 turris netifd: radio1 (7161): Could not find PHY for device 'radio1'

No feedback as I still cannot login to reforis (cf my message above), even with RC2.

Just for reference to others and most notably to my colleagues: I am looking in to this with @X-dark in private conversation.

1 Like

Update on my side was okay. After a long time without an unintended reboot.

Dear Turris users,

Today we released an RC 3 version of Turris OS 5.2.0. This release fixes security issues found in Linux Kernel, OpenVPN and also addresses bugs that were found after RC 2 release.

Security updates:

Other updates:

  • Nextcloud - fixes for Foris backend integration
  • turris-cagen - fixes link for pre-generated dhparam

And as with other releases, we would like to hear your feedback.

4 Likes

MOX classic, WiFi, .5 GB, simple config, update to RC3 OK (didn’t wake up after reboot), all seems to work.

No problem with latest RC3 on TO. (still no Foris/Reforis but that’s another story)

Now I’ve noticed that since updating to RC1, my syslog is broken and I have no logs!

I had a custom logging config before which stored logs onto a HDD. I did NOT choose to store logs on /srv via Reforis.

This is what I get when manually trying to start syslog-ng:

Error resolving reference; content='source', name='net', location='/usr/share/syslog-ng/include/scl/storage/plugin.conf:9:2'

If I manually run /usr/libexec/syslog-ng-srv.sh, it outputs

destination(srv_messages)

even though syslog is not configured:

# cat /etc/config/storage

config srv 'srv'
	option uuid '99fc398c-137e-4501-9cf3-8410439984a6'
	option debug '1'

I see you added the net source in /etc/syslog-ng.conf-opkg which I don’t have in mine. But I don’t think losing all logging is a good thing right after performing an update on a customized router.

My last recorded logs are on 15 April, which corresponds to the time of update.

Hello,

unfortunatelly it doesn’t work for me. I says mistake about missing space, but I have 1,4 GB of free space… rolled back to HBS

Please is there any way how to extend free space (I mean copying all card to new 16 GB and than extend space… I tried it in the past, but router doesn’t boot… ) - tried on oldest Turris 1.0 with 5.1.9