Turris OS 6.5.0 is released!

I have also updated my omnia and mox classic to 6.5.0 and updated firmware and factory-image. On both devices the updates went fine. Thank you @mionica for extensive exploration and recommendations.

The mox is now having uboot version: U-Boot 2022.07 (Aug 15 2022 - 12:25:08 +0000)
And the omnia: U-Boot 2022.10-rc4-OpenWrt-r16653+119-44ce70f0e2 (Sep 15 2022 - 18:21:35 +0000)

However on the omnia, the fw_printenv command is still giving a warning message:

$ fw_printenv
Warning: Bad CRC, using default environment
bootcmd=bootp; setenv bootargs root=/dev/nfs nfsroot=${serverip}:${rootpath} ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off; bootm
bootdelay=5
baudrate=115200

I updated the content of /etc/fw_env.config to text below, which matches the logic used in /usr/bin/fw_env-config-init.sh. However after rebooting my omnia, the ā€œWarning: Bad CRC, using default environmentā€ is still there.

/dev/mtd2 0x0 0x10000 0x10000

There was already extensive discussion about this, there is even post by @backon suggesting to fix it with:

fw_setenv bootcmd "env default -a; saveenv; reset"

Is this something, the turris team can recommend?

1 Like

Do you think that an Arduino Uno can be used as a ā€œserial cableā€? Would the voltage be compatible with the Omnia?

It would, if you wired IOREF to 3.3V instead of 5V. But I wouldn’t dare trying just what I found on that page :slight_smile:
If you’re into embedded, use a Raspberry Pico or RP2040-Zero - those are dirt cheap, and have 3.3V I/O by default; I believe there’s example code in the Pico SDK for using the pico as a uart-usb bridge.

Realistically though, that’s excessive. Just grab the cheapest usb-to-ttl-serial board that’s 3.3v and you can find on aliexpress or your preferred local robotics shop; chop off one end of 3 M/F-F jumper wires, and solder those to TX, RX and GND - then you’re sorted. Never wire the 3v3 or 5v of those to the Omnia - if your adapter can’t work off the USB voltage, get another one that can.

I personally use CH340E’s - they’re 3v3, really small, really cheap, and use USB-C. The purple things.
Edit: I’ve confirmed the CH340E works just fine with baud set to 921600, with ~15cm jumper wires; having >100KB/s is great if you ever need to use kwboot or the like.

1 Like

Edit: disclaimer: I’m not affiliated with the Turris team in any way; simply a happy customer of the Omnia.

@DIKKEHENK @jada4p @pete @anyone-who-gets-crc-error-with-the-correct-fw_env.config

First, the correct contents for /etc/fw_env.config are indeed
/dev/mtd2 0x0 0x10000 0x10000
(I’ve no idea why fw_printenv was working with 0xf0000 there - maybe it ignored the failed lseek()?; anyway, I fixed the wrong config I had posted earlier).

So, to get a proper environment in place, (no serial cable required), run these:

echo /dev/mtd2 0x0 0x10000 0x10000 > /etc/fw_env.config
fw_setenv bootcmd "env default -a; saveenv; reset"
reboot

This works; here’s a (trimmed) bootlog

root@router:/# cat /etc/fw_env.config
/dev/mtd2 0x0 0x10000 0x10000
root@router:/# fw_setenv bootcmd "env default -a; saveenv; reset"
root@router:/# reboot
root@router:/# Stopping router Turris.
[169162.984080] reboot: Restarting system

BootROM - 1.73
Booting from SPI flash

U-Boot SPL 2022.10-rc4-OpenWrt-r16653+119-44ce70f0e2 (Sep 15 2022 - 18:21:35 +0000)
...
Net:   eth0: ethernet@70000, eth1: ethernet@30000, eth2: ethernet@34000 [PRIME]
Hit any key to stop autoboot:  0
## Resetting to default environment
Saving Environment to SPIFlash... Erasing SPI flash...Writing to SPI flash...done
OK
resetting ...

BootROM - 1.73
Booting from SPI flash

U-Boot SPL 2022.10-rc4-OpenWrt-r16653+119-44ce70f0e2 (Sep 15 2022 - 18:21:35 +0000)
...
   Loading Device Tree to 0fff7000, end 0ffff3b9 ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
...

Hope this helps.

5 Likes

OI! Yep, works with the omnia :slight_smile: bad crc is gone, and my MOX was ok already. Thxs!

Omnia Wifi 6 updated successfully 6.4.4->6.5.0.

After the successful update, I enabled the latest firmware package list (all 3 subitems at once). Everything worked without any special steps in this case - but the LEDs were set to 0% brightness! This is the second router where this happened after MCU update. Normally I say LEDs are fancy stuff and I don’t care if their color or brightness is a bit off, but I really care about they indicating at least that the router has booted! It could be very intriguing for people to see the router completely dark after an update.

For reference, I had this U-Boot before update:

U-Boot SPL 2015.10-rc2 (Oct 06 2020 - 03:14:44)
U-Boot
U-Boot 2019.07 for turris_omnia 
** Invalid partition type "%.32s" (expect "U-Boot")
scan_dev_for_scripts=for script in ${boot_scripts}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${script}; then echo Found U-Boot script ${prefix}${script}; run boot_a_script; echo SCRIPT FAILED: continuing...; fi; done
U-Boot.armv7
No valid device tree binary found - please append one to U-Boot binary, use u-boot-dtb.bin or define CONFIG_OF_EMBED. For sandbox, use -d <file.dtb>
U-Boot
U-Boot 2019.07 (Oct 05 2020 - 23:50:39 +0000)
U-Boot
scan_dev_for_scripts=for script in ${boot_scripts}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${script}; then echo Found U-Boot script ${prefix}${script}; run boot_a_script; echo SCRIPT FAILED: continuing...; fi; done

fw_printenv works without issues after the update. I had no /etc/fw_env.config before the update.

1 Like

Wifi 6 (6.4.4->6.5.0.). I’m in a similar situation and the wifi settings have been removed… :anguished:

1 Like

My Turris 1.1 is rebooting again and again after this update. I’m trying to get some logs from the serial connection without success.

I have got logs:

U-Boot 2015.04-04654-gbcfb33e-dirty.txt

[    2.623080] BTRFS: device fsid 29183279-02d4-4430-99b3-9ed6c2b319c4 devid 1 transid 250210 /dev/root scanned by swapper/0 (1)
[    2.647303] BTRFS info (device mmcblk0p2): using crc32c (crc32c-generic) checksum algorithm
[    2.655780] BTRFS info (device mmcblk0p2): disk space caching is enabled
[    2.662502] BTRFS info (device mmcblk0p2): has skinny extents
[    2.675943] BTRFS error (device mmcblk0p2): device total_bytes should be at most 7744782336 but found 7842299904
[    2.686177] BTRFS error (device mmcblk0p2): failed to read chunk tree: -22
[    2.693702] BTRFS error (device mmcblk0p2): open_ctree failed
[    2.705362] BTRFS: device fsid 29183279-02d4-4430-99b3-9ed6c2b319c4 devid 1 transid 250210 /dev/root scanned by swapper/0 (1)
[    2.728239] BTRFS info (device mmcblk0p2): using crc32c (crc32c-generic) checksum algorithm
[    2.736659] BTRFS info (device mmcblk0p2): disk space caching is enabled
[    2.743423] BTRFS info (device mmcblk0p2): has skinny extents
[    2.756830] BTRFS error (device mmcblk0p2): device total_bytes should be at most 7744782336 but found 7842299904
[    2.767075] BTRFS error (device mmcblk0p2): failed to read chunk tree: -22
[    2.774557] BTRFS error (device mmcblk0p2): open_ctree failed
[    2.780513] List of all partitions:
[    2.784006] 1f00             128 mtdblock0
[    2.784013]  (driver?)
[    2.790566] 1f01            1664 mtdblock1
[    2.790573]  (driver?)
[    2.797103] 1f02            1536 mtdblock2
[    2.797108]  (driver?)
[    2.803658] 1f03           11264 mtdblock3
[    2.803664]  (driver?)
[    2.810207] 1f04             768 mtdblock4
[    2.810213]  (driver?)
[    2.816744] 1f05             128 mtdblock5
[    2.816749]  (driver?)
[    2.823290] 1f06             768 mtdblock6
[    2.823296]  (driver?)
[    2.829836] 1f07          262144 mtdblock7
[    2.829843]  (driver?)
[    2.836374] b300         7666688 mmcblk0
[    2.836380]  driver: mmcblk
[    2.843189]   b301          102400 mmcblk0p1 df866f53-01
[    2.843196]
[    2.849998]   b302         7563264 mmcblk0p2 df866f53-02
[    2.850005]
[    2.856797] No filesystem could mount root, tried:
[    2.856800]  btrfs
[    2.861683]
[    2.865171] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,2)
[    2.873612] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.15.146 #0
[    2.879711] Call Trace:
[    2.882150] [c104ddf0] [c050da78] dump_stack_lvl+0x4c/0x6c (unreliable)
[    2.888783] [c104de10] [c003914c] panic+0x138/0x300
[    2.893669] [c104de70] [c0b47734] mount_block_root+0x1f8/0x228
[    2.899510] [c104ded0] [c0b47ad4] prepare_namespace+0x154/0x198
[    2.905435] [c104def0] [c0004300] kernel_init+0x24/0x128
[    2.910753] [c104df10] [c001126c] ret_from_kernel_thread+0x5c/0x64
[    2.916948] Rebooting in 1 seconds..

Thanks!

It worked, though I had to call the fw_setenv command twice - first one printed a CRC error, second one worked fine.

After a reboot, the fw_printenv command works just fine.

Dear Turris team, when will be reported U-Boot update issues fixed?

Hi,

you have already the newest U-BOOT at your Mox. The latest version is 2022.07.
Regarding factory image, not sure why is not working… I will look closer on it. (But to be honest we have full hands with TOS 7 now :slight_smile: )

If you write via ssh this command → schnapps update-factory

What is the output? This command should automatically download the latest HBS version, delete the older one and set it as default factory image.

1 Like

Hello Viktor,

it is not so easy to say regarding UBOOT. Because lot of users have old versions on their routers, like I was on my omnia at home. Or some people have first omnia from indiegogo campain for example. That’s the reason why we marked it as ā€œexperimentalā€, becuase it is potencially dangerous.
Unfortunately lot of changes happened during the years and we tested of course different update cases, different uboot versions, but our sources are limited and we are not able to cover all cases. :frowning:
For example my omnia at home had 2015 uboot and during testing phase I had no issue to update to the latest one, same with MOX. But we are really glad and appreciate your approach. Special thanks to @mionica here. :slight_smile: :+1:
Of course we will collect all these problems and try to find the best solution.
Thanks to this firmware and MCU update we want to reach unity in our routers and bring new features sometimes based on firmware/MCU updates, like now, when users with the latest uboot and MCU have possbillity to switch off and automatically switch on the Omnia router.
So answer to your question is not so easy.

3 Likes

Hi,

I got the same result after updated MCU. Easy fix is to log in to your router via ssh and send command → rainbow brightness 8 or choose some number between 0…8 how much you want of brightness. 0 → none, 8-> max.

Even easier is to just press the brightness button (if you have physical access; but if you don’t, you’re probably not that much concerned about LEDs :slight_smile: ).

2 Likes

True :smiley: I totally forgot on this button XD not using it. You are right.

1 Like

I have an Omnia 2020, so how old u-boot can be?

Hi,

as user @helios21 mentioned you can find it via ssh with command:

root@turris:~# strings /dev/mtd1 | grep U-Boot
root@turris:~# strings /dev/mtd0 | grep U-Boot
U-Boot SPL 2015.10-rc2 (Oct 06 2020 - 03:14:44)

Seems older than me

So, the problem was caused by broken DDNS on the second Omnia. For some reason its configuration was damaged.