RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
Wi-Fi Extender Reference TargetsTarget
https://doc.turris.cz/doc/en/troubleshooting/serial_link#turris_omnia
Caution: Do not connect Vcc!
NOTE: shared links and information on taking serial connection and flashing OpenWRT image
In serial console, press "Enter" key to get into u-boot prompt
Type "version" u-boot command to check the u-boot version
If the version found to be "U-Boot 2015.10-rc2", then type "reset" u-boot command. Then skip this section and move on to sub section(Setting default U-boot environment)
If version is other than U-Boot 2015.10-rc2, follow below steps (derived from https://wiki.debian.org/InstallingDebianOn/TurrisOmnia#Bootloader_update)
View file | ||||
---|---|---|---|---|
|
...
Two files are required to bring up Newer model of Turris Omnia (Turris Omnia 2019 & Turris Omnia 2020)[Revision: CZ11NIC23
]
View file | ||||
---|---|---|---|---|
|
Example:
rdkb-generic-broadband-image_default_20200809095738.rootfs.wic.gz
) coming out of build Turris Omnia RDKB Gateway: Yocto Build InstructionsExtract *.wic.gz image and rename to sysupgrade.wic
Code Block | ||
---|---|---|
| ||
manigandan@manigandan-Latitude-3400:~$ gunzip rdkb-generic-broadband-image_default_20200809095738.rootfs.wic.gz
manigandan@manigandan-Latitude-3400:~$ mv rdkb-generic-broadband-image_default_20200809095738.rootfs.wic sysupgrade.img |
Perform following steps to flash New Turris Omnia with RDKB image.
...
dhcp
tftpboot
0x1000000
uboot-turris-omnia-spl.kwb
sf probe
sf update
0x1000000
0
$filesize
In serial console, press "Enter" key to get into u-boot prompt
Run following u-boot commands to set default U-boot environment
|
The Omnia ships with TurrisOS preinstalled. This is an OpenWrt fork with the older Linux 4.4 kernel. It uses btrfs to manage the eMMC flash.
We do not use it in this mode. The RDK-B port is closer to the mainline OpenWrt port, which uses Linux 4.14, and a traditional partition table.
Reflashing procedure from TurrisOS:
Hold down the reset button (backside, bottom centre) and plug in the power cord. Wait until the fourth LED lights up (green), then release (before the 5th LED lights up). Please
clickcheck here to see more detail on rescue modes.
Either use the serial console, or connect a computer to a LAN port (LAN0 to LAN4) of the Turris Omnia with a DHCP client.
From a computer:
|
Then, from the ssh session or a serial console:
mount /dev/sda1 /mnt
sysupgrade /mnt/openwrt-
18.06
.
2
-mvebu-cortexa9-turris-omnia-sysupgrade.img.gz
Wait another minute for the final OpenWrt image to be flashed. The Turris Omnia will reboot itself and you can remove the flash drive.
The eMMC disk is now regularly partitioned.
...
root
@OpenWrt
:~# fdisk /dev/mmcblk0
Welcome to fdisk (util-linux
2.32
).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m
for
help): p
Disk /dev/mmcblk0:
7.3
GiB,
7818182656
bytes,
15269888
sectors
Units: sectors of
1
*
512
=
512
bytes
Sector size (logical/physical):
512
bytes /
512
bytes
I/O size (minimum/optimal):
512
bytes /
512
bytes
Disklabel type: dos
Disk identifier:
0x15344058
Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 *
2048
35327
33280
16
.3M c W95 FAT32 (LBA)
/dev/mmcblk0p2
36864
561663
524800
256
.3M
83
Linux
Create a new partition for RDK-B.
The devicetree database and the Linux kernel are in the FAT32 partition:
...
root
@OpenWrt
:~# mount /dev/mmcblk0p1 /mnt
root
@OpenWrt
:~# ls -l /mnt
-rwxr-xr-x
1
root root
17353
Aug
17
2018
armada-
385
-turris-omnia.dtb
-rwxr-xr-x
1
root root
2445072
Aug
17
2018
zImage
Copy the kernel in the FAT32 partition.
Reconfigure U-boot to boot from your kernel and root partition.
It is strongly recommend to keep the OpenWrt partition and kernel. If boot fails, it is easy to change the U-boot environment and boot back into OpenWrt.
...
root@OpenWrt:~
# opkg update
root@OpenWrt:~
# opkg install fdisk
Create one primary partition for zImage. Create another extended partition for holding logical partitions for rootfs and /nvram.
After reboot, format /dev/mmcblk0p3, /dev/mmcblk0p5 and /dev/mmcblk0p6 as ext2 partitions.
Copy zImage, dtb and a rootfs tar file from yocto workspace to turris omnia(whose IP is 192.168.1.1).
(in your PC)
...
$
scp
<yocto_workspace>build-turris
/tmp/deploy/images/turris/zImage
root@192.168.1.1:
/tmp
$
scp
<yocto_workspace>build-turris
/tmp/deploy/images/turris/zImage-armada-385-turris-omnia
.dtb root@192.168.1.1:
/tmp/armada-385-turris-omnia
.dtb
$
scp
<yocto_workspace>build-turris
/tmp/deploy/images/turris/rdkb-generic-broadband-image_default_
<image-timestamp>.rootfs.
tar
.gz root@192.168.1.1:
/tmp/
(in turris omnia)
...
root@OpenWrt:~
# mount /dev/mmcblk0p3 /mnt
root@OpenWrt:~
# mv /tmp/zImage /mnt
root@OpenWrt:~
# mv /tmp/armada-385-turris-omnia.dtb /mnt
root@OpenWrt:~
# umount /mnt
root@OpenWrt:~
# mount /dev/mmcblk0p5 /mnt
root@OpenWrt:~
# tar -xzf /tmp/rdkb-generic-broadband-image_default_<image-timestamp>.rootfs.tar.gz -C /mnt
root@OpenWrt:~
# umount /mnt
root@OpenWrt:~
# reboot
...
=> env set yocto_bootargs earlyprintk console=ttyS0,
115200
root=/dev/mmcblk0p5 rootfstype=ext2 rw rootwait
=> env set yocto_mmcload setenv bootargs \"\$yocto_bootargs cfg80211.freg=\$regdomain\"\; ext2load mmc
0
:
3
0x01000000
zImage\; ext2load mmc
0
:
3
0x02000000
armada-
385
-turris-omnia.dtb
=> env set mmcboot run yocto_mmcload \|\| run openwrt_mmcload \|\| run factory_mmcload\; bootz
0x01000000
-
0x02000000
=> saveenv
=> reset
During 4-led upgrade procedure, following things are done:
...
RDK firmware upgrade with XConf server: Firmware upgrade through XCONF server - Turris-Omnia - User Manual - 2020 - M6
Copy zImage and rootfs files from PC to /tmp/ directory of Turris Omnia which is running RDK Image
...
|
Go back to OpenWrt OS (please refer Fallback to OpenWrt OS section above ).
Have Ethernet connection from your PC to LAN port of Turris Omnia.
Keep rootfs(rdkb-generic-broadband-image_default_*.rootfs.tar.gz) and zImage(zImage--4.14.22-r0-turris-*.bin) files in home directory of your PC.
In OpenWrt OS, create a script(yocto-fw-upgrade.sh) with following commands with updates as it needs.
|
Run the script from inside OpenWrt OS.
|
...
|
Turris Omnia will now run upgraded version of Yocto based RDK image.
To fallback to openwrt OS, enter following u-boot commands.
...