Turris OS 6.0.2 is now released

That looks like the same issue that was supposed to be fixed now and I can’t reproduce it. Could you run bash -x /usr/bin/rainbow led1 green auto and opkg list-installed | grep rainbow and post the outputs?

$ bash -x /usr/bin/rainbow led1 green auto
+ set -eu
+ rainbowdir=/var/run/rainbow
+ mkdir -p /var/run/rainbow
+ '[' : = y ']'
+ RAINBOW_DIRECTORY_LOCKED=y
+ exec flock -x /var/run/rainbow /usr/bin/rainbow led1 green auto
reader_loop: bad jump: 8388608
Aborting...

$ opkg list-installed | grep rainbow
rainbow - 0.1.2-1
rainbow-animator - 0.1.2-1
rainbow-button-sync - 0.1.2-1
turris1x-rainbow-backend - 0.1.1-4

I see that didn’t work, could you try again with another method? Sorry for the confusion, I should have realized this wouldn’t work.

sed -i 's/set -eu/set -eux/' /usr/libexec/rainbow/rainbow.sh
rainbow led1 green auto

then if you want to stop seeing the traces, run

sed -i 's/set -eux/set -eu/' /usr/libexec/rainbow/rainbow.sh

No problem, here you go. BTW fyi, my omnia also spills errors, but atleast it also sucessfully handles the LED changes…

$ rainbow led1 green auto
+ rainbowdir=/var/run/rainbow
+ mkdir -p /var/run/rainbow
+ '[' : = y ']'
+ RAINBOW_DIRECTORY_LOCKED=y
+ exec flock -x /var/run/rainbow /usr/bin/rainbow led1 green auto
+ rainbowdir=/var/run/rainbow
+ mkdir -p /var/run/rainbow
+ '[' y = y ']'
+++ readlink -f /usr/bin/rainbow
++ dirname /usr/libexec/rainbow/rainbow.sh
+ . /usr/libexec/rainbow/utils.sh
++ set -eu
++++ readlink -f /usr/bin/rainbow
+++ dirname /usr/libexec/rainbow/rainbow.sh
++ srcdir=/usr/libexec/rainbow
+ loadsrc state
+ local name=state
+ echo ''
+ grep -qF +state+
+ . /usr/libexec/rainbow/state.sh
+ _src_loaded=+state+
+ loadsrc ledid
+ local name=ledid
+ echo + grep -qF +ledid+
+state+
+ . /usr/libexec/rainbow/ledid.sh
+ _src_loaded=+state++ledid+
+ loadsrc backend
+ local name=backend
+ echo + grep -qF +backend+
+state++ledid+
+ . /usr/libexec/rainbow/backend.sh
++ LEDS='wan lan-1 lan-2 lan-3 lan-4 lan-5 wlan power'
++ SYSFS=/sys/class/leds/rgb:wan/device
++ loadsrc led_activity
++ local name=led_activity
++ ++ grep -qF +led_activity+
echo +state++ledid+
++ . /usr/libexec/rainbow/led_activity.sh
++ _src_loaded=+state++ledid++led_activity+
++ loadsrc compat
++ local name=compat
++ ++ grep -qF +compat+
echo +state++ledid++led_activity+
++ . /usr/libexec/rainbow/compat.sh
++ _src_loaded=+state++ledid++led_activity++compat+
+ _src_loaded=+state++ledid++led_activity++compat++backend+
+ priority=50
+ slot=default
+ list_leds=n
+ getopts p:n:lxh opt
+ shift 0
+ '[' n = y ']'
+ '[' 3 -gt 0 ']'
+ apply_needed=n
+ '[' 3 -gt 0 ']'
+ operation=led1
+ shift
+ case "$operation" in
+ is_valid_led led1
+ local check_led=led1
+ '[' led1 = all ']'
+ local i=0
+ for led in $LEDS
+ '[' led1 = wan ']'
+ i=1
+ for led in $LEDS
+ '[' led1 = lan-1 ']'
+ i=2
+ for led in $LEDS
+ '[' led1 = lan-2 ']'
+ i=3
+ for led in $LEDS
+ '[' led1 = lan-3 ']'
+ i=4
+ for led in $LEDS
+ '[' led1 = lan-4 ']'
+ i=5
+ for led in $LEDS
+ '[' led1 = lan-5 ']'
+ i=6
+ for led in $LEDS
+ '[' led1 = wlan ']'
+ i=7
+ for led in $LEDS
+ '[' led1 = power ']'
+ i=8
+ '[' 1 '!=' led1 ']'
+ '[' 1 -gt 0 ']'
+ '[' 1 -le 8 ']'
+ return 0
+ loadsrc led
+ local name=led
+ echo + grep -qF +led+
+state++ledid++led_activity++compat++backend+
+ . /usr/libexec/rainbow/led.sh
++ loadsrc color
++ local name=color
++ echo ++ grep -qF +color+
+state++ledid++led_activity++compat++backend+
++ . /usr/libexec/rainbow/color.sh
++ _src_loaded=+state++ledid++led_activity++compat++backend++color+
++ loadsrc ledid
++ local name=ledid
++ echo ++ grep -qF +ledid+
+state++ledid++led_activity++compat++backend++color+
+ _src_loaded=+state++ledid++led_activity++compat++backend++color++led+
+ op_led led1 green auto
+ local id=led1
+ shift
+ local localconf=n
+ getopts lh opt
+ shift 0
+ local mode= mode_args=
+ local color_r= color_g= color_b=
+ '[' 2 -gt 0 ']'
+ '[' -z '' ']'
+ '[' -z '' ']'
+ '[' -z '' ']'
+ parse_color green inherit
+ local r= g= b=
+ _parse_color green inherit
+ local value=green
+ local mode=inherit
+ '[' -z green ']'
+ case "$value" in
+ r=0
+ g=255
+ b=0
+ return
+ '[' -z 0 ']'
+ color_r=0
+ '[' -z 255 ']'
+ color_g=255
+ '[' -z 0 ']'
+ color_b=0
+ shift
+ continue
+ '[' 1 -gt 0 ']'
+ '[' -z 0 ']'
+ '[' -z '' ']'
+ case "$1" in
+ mode=auto
+ shift
+ continue
+ '[' 0 -gt 0 ']'
+ SHIFTARGS=0
++ canonled led1
++ local value=led1
++ local index=1
++ local led
++ for led in $LEDS
++ '[' led1 = wan ']'
++ '[' 1 '!=' led1 ']'
++ '[' 1 -eq 1 ']'
++ echo wan
++ return
+ id=wan
+ '[' -z auto ']'
+ call_for_leds_config_level 50 default modify 0 255 0 auto ''
+ local priority=50
+ local slot=default
+ local fnc=modify
+ shift 3
++ printf %03d 50
+ local file=/var/run/rainbow/050-default
+ '[' + parse_leds_file modify 0 255 0 auto ''
-f /var/run/rainbow/050-default ']'+ local func=modify
+ shift
+ local led
+ for led in $LEDS
+ local color_r=- color_g=- color_b=- mode=- mode_args
+ read -r color_r color_g color_b mode mode_args

+ cat /var/run/rainbow/050-default
+ modify 0 255 0 auto ''
+ '[' wan = all ']'
+ '[' wan = wan ']'
+ '[' -z 0 ']'
+ color_r=0
+ '[' -z 255 ']'
+ color_g=255
+ '[' -z 0 ']'
+ color_b=0
+ '[' -z auto ']'
+ mode=auto
+ mode_args=
+ printf '%s\t%s\t%s\t%s' 0 255 0 auto
+ '[' -n '' ']'
+ printf '\n'
+ for led in $LEDS
+ local color_r=- color_g=- color_b=- mode=- mode_args
+ read -r color_r color_g color_b mode mode_args
+ modify 0 255 0 auto ''
+ '[' wan = all ']'
+ '[' lan-1 = wan ']'
+ printf '%s\t%s\t%s\t%s' 0 0 255 auto
+ '[' -n '' ']'
+ printf '\n'
+ for led in $LEDS
+ local color_r=- color_g=- color_b=- mode=- mode_args
+ read -r color_r color_g color_b mode mode_args
+ modify 0 255 0 auto ''
+ '[' wan = all ']'
+ '[' lan-2 = wan ']'
+ printf '%s\t%s\t%s\t%s' 0 0 255 auto
+ '[' -n '' ']'
+ printf '\n'
+ for led in $LEDS
+ local color_r=- color_g=- color_b=- mode=- mode_args
+ read -r color_r color_g color_b mode mode_args
+ modify 0 255 0 auto ''
+ '[' wan = all ']'
+ '[' lan-3 = wan ']'
+ printf '%s\t%s\t%s\t%s' 0 0 255 auto
+ '[' -n '' ']'
+ printf '\n'
+ for led in $LEDS
+ local color_r=- color_g=- color_b=- mode=- mode_args
+ read -r color_r color_g color_b mode mode_args
+ modify 0 255 0 auto ''
+ '[' wan = all ']'
+ '[' lan-4 = wan ']'
+ printf '%s\t%s\t%s\t%s' 0 0 255 auto
+ '[' -n '' ']'
+ printf '\n'
+ for led in $LEDS
+ local color_r=- color_g=- color_b=- mode=- mode_args
+ read -r color_r color_g color_b mode mode_args
+ modify 0 255 0 auto ''
+ '[' wan = all ']'
+ '[' lan-5 = wan ']'
+ printf '%s\t%s\t%s\t%s' 0 0 255 auto
+ '[' -n '' ']'
+ printf '\n'
+ for led in $LEDS
+ local color_r=- color_g=- color_b=- mode=- mode_args
+ read -r color_r color_g color_b mode mode_args
+ modify 0 255 0 auto ''
+ '[' wan = all ']'
+ '[' wlan = wan ']'
+ printf '%s\t%s\t%s\t%s' 255 0 0 auto
+ '[' -n '' ']'
+ printf '\n'
+ for led in $LEDS
+ local color_r=- color_g=- color_b=- mode=- mode_args
+ read -r color_r color_g color_b mode mode_args
+ modify 0 255 0 auto ''
+ '[' wan = all ']'
+ '[' power = wan ']'
+ printf '%s\t%s\t%s\t%s' 255 255 255 enable
+ '[' -n '' ']'
+ printf '\n'
+ grep -qv '^-\t-\t-\t-' /var/run/rainbow/050-default.new
+ mv /var/run/rainbow/050-default.new /var/run/rainbow/050-default
+ apply_needed=y
+ shift 2
+ '[' 0 -gt 0 ']'
+ loadsrc uci
+ local name=uci
+ echo +state++ledid++led_activity++compat++backend++color++led+
+ grep -qF +uci+
+ . /usr/libexec/rainbow/uci.sh
+ _src_loaded=+state++ledid++led_activity++compat++backend++color++led++uci+
+ '[' y = y ']'
+ base_config
+ '[' '' '!=' y ']'
+ loadsrc animation
+ local name=animation
+ echo + grep -qF +animation+
+state++ledid++led_activity++compat++backend++color++led++uci+
+ . /usr/libexec/rainbow/animation.sh
++ loadsrc color
++ local name=color
++ echo ++ grep -qF +color+
+state++ledid++led_activity++compat++backend++color++led++uci+
+ _src_loaded=+state++ledid++led_activity++compat++backend++color++led++uci++animation+
+ set +u
+ . /lib/functions.sh
++ N='
'
++ _C=0
++ NO_EXPORT=1
++ LOAD_STATE=1
++ LIST_SEP=' '
++ reset_cb
++ '[' -z '' ']'
++ '[' -f /lib/config/uci.sh ']'
++ . /lib/config/uci.sh
+++ CONFIG_APPEND=
+ config_load rainbow
+ '[' -n '' ']'
+ uci_load rainbow
+ local PACKAGE=rainbow
+ local DATA
+ local RET
+ local VAR
+ _C=0
+ '[' -z '' ']'
+ export -n CONFIG_LIST_STATE=
+ CONFIG_LIST_STATE=
+ export -n CONFIG_SECTIONS=
+ CONFIG_SECTIONS=
+ export -n CONFIG_NUM_SECTIONS=0
+ CONFIG_NUM_SECTIONS=0
+ export -n CONFIG_SECTION=
+ CONFIG_SECTION=
++ /sbin/uci -P /var/state -S -n export rainbow
+ DATA='package rainbow

config led '\''all'\''
	option color '\''036'\''
	option brightness '\''064'\'''
+ RET=0
+ '[' 0 '!=' 0 -o -z 'package rainbow

config led '\''all'\''
	option color '\''036'\''
	option brightness '\''064'\''' ']'
+ eval 'package rainbow

config led '\''all'\''
	option color '\''036'\''
	option brightness '\''064'\'''
++ package rainbow
++ return 0
++ config led all
++ local cfgtype=led
++ local name=all
++ export -n CONFIG_NUM_SECTIONS=1
++ CONFIG_NUM_SECTIONS=1
++ name=all
++ append CONFIG_SECTIONS all
++ local var=CONFIG_SECTIONS
++ local value=all
++ local 'sep= '
++ eval 'export -n -- "CONFIG_SECTIONS=${CONFIG_SECTIONS:+${CONFIG_SECTIONS}${value:+$sep}}$value"'
+++ export -n -- CONFIG_SECTIONS=all
+++ CONFIG_SECTIONS=all
++ export -n CONFIG_SECTION=all
++ CONFIG_SECTION=all
++ config_set all TYPE led
++ local section=all
++ local option=TYPE
++ local value=led
++ export -n CONFIG_all_TYPE=led
++ CONFIG_all_TYPE=led
++ '[' -n '' ']'
++ config_cb led all
++ return 0
++ option color 036
++ local varname=color
++ shift
++ local value=036
++ config_set all color 036
++ local section=all
++ local option=color
++ local value=036
++ export -n CONFIG_all_color=036
++ CONFIG_all_color=036
++ '[' -n '' ']'
++ option_cb color 036
++ return 0
++ option brightness 064
++ local varname=brightness
++ shift
++ local value=064
++ config_set all brightness 064
++ local section=all
++ local option=brightness
++ local value=064
++ export -n CONFIG_all_brightness=064
++ CONFIG_all_brightness=064
++ '[' -n '' ']'
++ option_cb brightness 064
++ return 0
+ unset DATA
+ config_cb
+ return 0
+ return 0
+ default_r=255
+ default_g=255
+ default_b=255
+ default_mode=auto
+ default_mode_args=
+ _uci_rainbow_section all
+ local led=all
+ color_r=255
+ color_g=255
+ color_b=255
+ mode=auto
+ mode_args=
+ type led_defaults
+ led_defaults all
+ local led=all
+ case "$led" in
+ config_get rawcolor all color ''
+ case "$2${3:-$1}" in
+ case "$3" in
+ eval export -n -- 'rawcolor=${CONFIG_all_color:-${4}}'
++ export -n -- rawcolor=036
++ rawcolor=036
+ parse_color 036
+ local r= g= b=
+ _parse_color 036
+ local value=036
+ local mode=
+ '[' -z 036 ']'
+ case "$value" in
+ echo 036+ grep -qE '^[0-9-]*,[0-9-]*,[0-9-]*$'

+ echo 036
+ grep -qE '^[RGB]([0-9]+|x[0-9a-fA-F]+)(,[RGB]([0-9]+|x[0-9a-fA-F]+))*$'
+ echo 036
+ grep -qE '^[0-9a-fA-F]{6}$'
+ return 1
+ return
reader_loop: bad jump: 8388608
Aborting...
1 Like

Thanks for getting back, I sent a report. Have a nice weekend everyone!

Update ok with just a very short Internet connection outage and no wifi outage. No reboot needed. Turris Omnia 2017, 1 GB RAM, dead eMMC, system running from mSATA SSD, original wifi cards. Storage plugin enabled, USB HDD shared over samba4 and minidlna, OpenVPN, PPtP VPN.

Hi,
when I send command rainbow intensity 0 or another number, I get Command failed: Not found
Command failed: Not found.

I just updated my Mox (only Mox A and Mox E, no Wifi).
I didn’t see any problems so far.
Even the reboot via ssh is finaly working :slight_smile:

Many thanks for your hard work Turris Team!

Led control from the app in Luci also broken for me on my crowdfunded Omnia after the 6.0.1 upgrade and on 6.0.2. Works from the cli with the rainbow command though.

I’m sorry, but i have to correct myself.
Yesterday I saw some weird (I think routing/firewall) problems. In some zones devices wouldn’t get an IP address via dhcp in others it was working.
I wanted to debug the issue this morning, but I saw that the Mox rebooted tonight out of the blue.

Since I need the Mox fully functional on Monday I rolled back to 5.4.4.

I can’t update from 5.x to 6.0.2 because of an python package error. Not sure if and which python package I should remove to fix this.

pkgupdate give me this:

INFO:Target Turris OS: 6.0.2
line not found
line not found
line not found
line not found
line not found
ERROR:
inconsistent: Requested package python that is not available.

and pkgupdate -e DBG give this:

DEBUG:planner.lua:566 (Globals):Resolving Install and Uninstall requests
DEBUG:planner.lua:578 (Globals):Denying packages without any candidate
DEBUG:planner.lua:585 (Globals):Forcing penalty on expressions with free alternatives
DEBUG:planner.lua:597 (Globals):Deducing minimal set of required packages
line not found
line not found
line not found
line not found
line not found
ERROR:src/pkgupdate/main.c:154 (main):
inconsistent: Requested package python that is not available.
DEBUG:src/lib/locks.c:82 (lua_lock_release):Released lock at /var/lock/opkg.lock
DEBUG:src/lib/events.c:572 (run_util_clean):Removing temporally busybox from: /tmp/updater-busybox-JeogOP/busybox

EDIT
I deleted python and pthon-sqlite and the update went through.

The python package was Python 2 that was removed in OpenWrt 21.02 (Turris OS 6), I think you must have installed it manually because otherwise it wouldn’t be installed and the update would pass.

1 Like

Hi,
this is a known harmless issue. Everything should be working fine even if the warnings are printed.
I couldn’t find it in the bug tracker, so thank you for the reminder, I created an issue for this: Every rainbow command prints Command failed: Not found (#16) · Issues · Turris / rainbow-ng · GitLab

Sorry for the late reply, I missed this message. Could you give us more details? The router uses a different method of managing LEDs when it’s booting up, so it’s possible that method works and then when the rainbow script takes over, it breaks. You mentioned it worked before, was that with 6.0.1, 6.0.0 or Turris OS 5? Could you post your /etc/config/rainbow and which router you are using?

I’ve been using Tailscale on my Omnia for some time now, but thus far have been installing it by hand using the static binaries they provide, since I need the most up to date upstream version for things like 6in4 subnet routers to work.

How up to date is the version (to be) packaged for TOS? I’ve searched through the CZNIC Gitlab repositories, but can’t figure out what version you’re using.

1.24.2-1 is in 6.0.3, currently in HBT phase.

That’s ancient, I presume it’s what OpenWRT 21.02 ships? It would be good to have a way to provide a more recent and regularly updated version for TOS.

I’m planning on going to the CZ.NIC conference in Prague on the 22nd, let’s discuss possibilities there.

Hi, thanks for the interest. I plan to install new medkit and start from scratch. There is more things I want to move to default (config). Many things broken, and I actually have simple setup (not considering VLANs) but other than that it is simple setup.

I will answer it ahead of time, so you don’t need to wait until CZ.NIC conference. :wink:

Since we are based on top of OpenWrt. You will not find it in our repositories. What you can find on our GitLab instance are patches located in the Turris Build repository and then our Turris-specific feed.

The proper question is - how up to date version of tailscale is in OpenWrt? Each OpenWrt version has the same version, which is now 1.24.2. Because I recently updated it in OpenWrt 21.02, and thus it is going to be present in Turris OS 6.0.3.

Reference:

Any pull requests are welcome. :wink: OpenWrt will appreciate it, but first, check my response here:

TL;DR: We are not going to maintain every package, which you can find in OpenWrt, nor update it, so feel free to do it yourself. :+1:

Thanks for the pointer.So, the Tailscale version in OpenWRT 21.02 is 1.24.2. Upstream is at 1.32.2. I think we don’t have to argue about why 1.32.2 might be better than 1.24.2.

Let me rephrase my question(s):

  1. I presume that Tailscale will stay at 1.24.2 in OpenWRT 21.02 for the lifetime of that release. Correct?
  2. I presume that Tailscale will stay at 1.24.2 in TOS until TOS upgrades to a newer OpenWRT. Correct?
  3. Given the pace of Tailscale development, if we wanted to ensure that TOS has a version of Tailscale that is as up to date as possible (TBD what “possible” means), how would we go about it?

Sure. I’d like to understand what process changes, if any, we might need to get to (3) above. If any update of Tailscale is always in lockstep with OpenWRT with the current state of how TOS release processes work, then (3) is not achievable, right?

Edit: We can also take this to a Gitlab issue if you like, so as not to spam this thread.