NanoPC-T6 is a ultimate device than R4S R5S R6S

I have a brand new R6S right now with a power supply on eBay. Search for "nanopi r6s" I bought two, and I used one as my OpenWRT (FriendlyWRT) router. It runs perfectly - not a single hiccup or reboot in half a year. I've replaced my other R6S with a Ubiquiti UXG-Lite for now, so I don't need two R6S boxes. The one I'm selling I purchased as a cold spare and never used it. The starting bid on eBay won't even recoup 100% of what I paid for it after I pay my fee to eBay.

I can ship it as early as January 2, 2024 from the US by UPS. I'll pay the shipping cost to the continental US. Check it out.

I'll also do a direct transaction if you want to save $20, and I will knock off another $10 if you don't need the power supply. So, you can get it directly from me for $170 with free shipping to continental US.

The CPU of R6S is RK3588S. Here, S is a simplified version, which lacks 2 PCI channels and cannot achieve multi queue of network cards. This is the only drawback.

Why is it unable to do multi-queue? Isn't it a feature of the NIC? I see that R6S is using PCI-e RTL8125B x 2 for dual 2.5G NIC so it should be supported? (The on chip 1G NIC I can just put it aside)

Can you please publish a branch with the changes you made to compile OpenWRT for the NanoPC-T6.
I have one in my possession, and would like to install it.

Hello,
I tried to build a new openwrt image starting from @mj82's repository 6.8 image branch, but all I get is a solid red light for SYS. Any help would be greatly appreciated as I have no idea what I am doing here :slight_smile:.

I used the following changes:

And these are the steps that I attempted:
Built the image:

  • used make menuconfig to select the new NanoPC T6
  • Build the image using make

Applied the image

1. Piggy back on FriendlyWRT

2. Direct install

Recovery using USB from PC

Since I am assuming this is a problem with U-Boot, "Solid On" as per this: https://wiki.friendlyelec.com/wiki/index.php/NanoPC-T6#Option_1:_Install_OS_via_TF_Card
I found this commit for adding FriendlyElec NanoPC-T6 to u-boot:
https://github.com/u-boot/u-boot/commit/b0b8086898f86db25599681319ccb5a09889d307
Now, I think my problem is that it's not picking the right U-Boot version, because:

So what I am doing wrong that it's not picking 2024.01-rc2?

I am posting here further details on the recovery process
I used an USB-A (computer) to USB-C (NanoPC-T6) cable to connect.
From Linux

OR:

OR

  • From Windows you can use the RKDevTool found under Tools in their network drive which is the easiest yet to use
    • If you want to switch to English (the UI defaults to Chinese) open the config.ini file and change Selected=2
    • The blue rectangle is open file dialog. It took me a while to figure this one out.

Note: As per instructions on the rkdevelopment tools it's mandatory for all three tools to start the process by first writing MiniLoaderAll.bin to be able to access the memory.

rkdeveloptool db MiniLoaderAll.bin

And below is what needs to be written. But I haven't gotten much further than this on this tab.

1 Like

friendlyarm just released a cheaper LTS board (starting from 119$)
NanoPC-T6 LTS SBC adds USB ports, 32MB SPI flash, drops 4G LTE support

Does anybody know how I can get more information on what is wrong here, or what I could do about it?
I have tried to start a T6 from the MicroSD, and it's stuck at "Starting kernel ..." with no further information.
Here are the details:

gzip -d openwrt-*-sysupgrade.img.gz
gzip: openwrt-rockchip-armv8-friendlyelec_nanopc-t6-ext4-sysupgrade.img.gz: decompression OK, trailing garbage ignored
  • Connected using a USB serial to the device.
    • Chip FT232RL over USB-C
    • Connected to the 3 pin UART debug port [pin layout printed on the back of the T6]: (GND-GND; TX-RX; RX-TX)
    • Software: https://github.com/inindev/goterm
    • Software command line: sudo ./goterm /dev/ttyUSB0 1.5e6
  • Received the following logs in the serial console
LPDDR4X, 2112MHz
channel[0] BW=16 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=1024MB
channel[1] BW=16 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=1024MB
channel[2] BW=16 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=1024MB
channel[3] BW=16 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=1024MB
Manufacturer ID:0x1
CH0 RX Vref:27.9%, TX Vref:18.8%,0.0%
CH1 RX Vref:27.9%, TX Vref:20.8%,0.0%
CH2 RX Vref:29.3%, TX Vref:20.8%,0.0%
CH3 RX Vref:28.9%, TX Vref:19.8%,0.0%
change to F1: 528MHz
change to F2: 1068MHz
change to F3: 1560MHz
change to F0: 2112MHz
out

U-Boot SPL 2024.01-rc2-OpenWrt-r24763-694162b7eb (Jan 05 2024 - 03:34:26 +0000)
Trying to boot from MMC2
## Checking hash(es) for config config-1 ... OK
## Checking hash(es) for Image atf-1 ... sha256+ OK
## Checking hash(es) for Image u-boot ... sha256+ OK
## Checking hash(es) for Image fdt-1 ... sha256+ OK
## Checking hash(es) for Image atf-2 ... sha256+ OK
## Checking hash(es) for Image atf-3 ... sha256+ OK
INFO:    Preloader serial: 2
NOTICE:  BL31: v2.3():v2.3-589-g3389cfdda:derrick.huang
NOTICE:  BL31: Built : 10:14:29, May  9 2023
INFO:    spec: 0x1
INFO:    ext 32k is not valid
INFO:    ddr: stride-en 4CH
INFO:    GICv3 without legacy support detected.
INFO:    ARM GICv3 driver initialized in EL3
INFO:    valid_cpu_msk=0xff bcore0_rst = 0x0, bcore1_rst = 0x0
INFO:    system boots from cpu-hwid-0
INFO:    idle_st=0x21fff, pd_st=0x11fff9, repair_st=0xfff70001
INFO:    dfs DDR fsp_params[0].freq_mhz= 2112MHz
INFO:    dfs DDR fsp_params[1].freq_mhz= 528MHz
INFO:    dfs DDR fsp_params[2].freq_mhz= 1068MHz
INFO:    dfs DDR fsp_params[3].freq_mhz= 1560MHz
INFO:    BL31: Initialising Exception Handling Framework
INFO:    BL31: Initializing runtime services
WARNING: No OPTEE provided by BL2 boot loader, Booting device without OPTEE initialization. SMC`s destined for OPTEE will return SMC_UNK
ERROR:   Error initializing runtime service opteed_fast
INFO:    BL31: Preparing for EL3 exit to normal world
INFO:    Entry point address = 0xa00000
INFO:    SPSR = 0x3c9


U-Boot 2024.01-rc2-OpenWrt-r24763-694162b7eb (Jan 05 2024 - 03:34:26 +0000)

Model: FriendlyElec NanoPC-T6
DRAM:  4 GiB (effective 3.7 GiB)
Core:  332 devices, 28 uclasses, devicetree: separate
MMC:   mmc@fe2c0000: 1, mmc@fe2e0000: 0
Loading Environment from nowhere... OK
In:    serial@feb50000
Out:   serial@feb50000
Err:   serial@feb50000
Model: FriendlyElec NanoPC-T6
Net:   No ethernet found.
Hit any key to stop autoboot:  0 
** Booting bootflow 'mmc@fe2c0000.bootdev.part_1' with script
5249004 bytes read in 447 ms (11.2 MiB/s)
## Loading kernel from FIT Image at 02080000 ...
   Using 'config-1' configuration
   Verifying Hash Integrity ... OK
   Trying 'kernel-1' kernel subimage
     Description:  ARM64 OpenWrt Linux-6.8-rc20240102
     Type:         Kernel Image
     Compression:  lzma compressed
     Data Start:   0x020800f0
     Data Size:    5172625 Bytes = 4.9 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x03200000
     Entry Point:  0x03200000
     Hash algo:    crc32
     Hash value:   01ec17f7
     Hash algo:    sha1
     Hash value:   bcb4e2b188965e0e352ebca26155c910de3acc8f
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Loading fdt from FIT Image at 02080000 ...
   Using 'config-1' configuration
   Verifying Hash Integrity ... OK
   Trying 'fdt-1' fdt subimage
     Description:  ARM64 OpenWrt friendlyelec_nanopc-t6 device tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x0256efcc
     Data Size:    74450 Bytes = 72.7 KiB
     Architecture: AArch64
     Hash algo:    crc32
     Hash value:   90934ca0
     Hash algo:    sha1
     Hash value:   e323bad65a38f3f3580dc1d388bc3eac1bf9ae86
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Booting using the fdt blob at 0x256efcc
Working FDT set to 256efcc
   Uncompressing Kernel Image
   Loading Device Tree to 00000000ecbc9000, end 00000000ecbde2d1 ... OK
Working FDT set to ecbc9000

Starting kernel ...


bootscript remove console=tty1

So I really love this thing, specially the original model (as I have) with the MiniPCIe on top of the M.2 A/E and storage.

That said, I have a serious anoyingly problem, for some reason me as an idiot decided to try ImmortalWRT (as I was having issues getting a 5G Modem working) only to get a system that is not allowing me to update it due to opkg repository problems with versions and URLs and also not able to now use eFlasher to revert back to FriendlyWRT or something else usable (and found out the issue with the stupid modem while at it making it so much more frustrating as it will work with FriendlyWRT or OpenWRT...)

As such, I need a way to revert back to the original firmware. I have the firmware partition files available but I need to know exactly where to DD them to in order to do this properly. I have some information on the supposed destination for a couple of these but I really want to have the correct img file to /dev/mmc* partition map before I proceed in this fashion.

Anyone can advise on how to revert from the curse that ImmortalWRT is? (If anything the way it installs and breaks eFlasher it should be called Imoral...)

Guidance welcome even for alternative solutions if need be!

The following situations will always start from eMMC:
If the system in the eMMC, or the system in the TF card uses the first Loader type U-Boot TPL/SPL, it will always boot from the eMMC;
If you want to boot from the TF card, there are the following methods:
Method 1: Clear the Loader on the eMMC, the clearing method is as follows, after starting from the eMMC, enter the following command on the command line to clear the Loader on the eMMC:

dd if=/dev/zero of=/dev/mmcblk2 bs=8M count=1

Method 2: Insert the TF card, Press Maskrom Key (or short-circuit the Maskrom contacts) and then power on (need to keep the short-circuit for about 3 seconds), it will start from the TF card

The summary is as follows:

eMMC current system TF card current system Boot priority
No system Any image TF card
FriendlyELEC's image FriendlyELEC's image TF card
FriendlyELEC's image Image with Mainline U-boot eMMC
Image with Mainline U-boot FriendlyELEC's image eMMC
Image with Mainline U-boot Image with Mainline U-boot eMMC