Jump to content
  • 0

NanoPC T4


tkaiser
 Share

Question

NanoPC-T4-A01.jpg

 

This is something hopefully suitable to become a 'Board Bring up' thread.

 

The NanoPC T4 was the smallest RK3399 board around featuring full set of interfaces (Rock960 was smaller but there you can't use GbE without a proprietary expander) but in the meantime he got two smaller siblings: NanoPi M4 and the cute NEO4.

 

Pros:

  • Another RK3399 board so software support is already pretty mature
  • Rich set of interfaces (2 x USB2 without shared bandwidth, 2 x USB3, triple display output and so on)
  • No powering hassles due to 12V (2A) PSU requirement
  • 16GB superfast eMMC 5.1 
  • Usable and performant Wi-Fi (dual band and dual antenna so MIMO can be used, for numbers see here)
  • All 4 PCIe lanes exposed (M.2 M key connector on the bottom, suitable for NVMe SSDs, or to attach a 4 port SATA controller or a PCIe riser card)

 

Cons:

  • A bit pricey (but if you compare with RockPro64 for example and order all Add-Ons you end up with a similar price)
  • High idle consumption (4W PSU included in idle), maybe this is just bad settings we can improve over time
  • heatsink too small for continous loads

 

I started relying on @hjc's work since he's currently using different kernels than we use on RockPro64 or ODROID-N1 (though all the 4.4 kernels are more or less just RK's 4.4 LTS branch with some modifications, with mainline I didn't had a look what's different in Heiko's tree and 'true' mainline).

 

Tinymembench numbers with RK 4.4 vs. mainline kernel (the latter both showing lower latency and higher bandwidth).

 

Internal 16 GB eMMC performance:

eMMC / ext4 / iozone                                          random    random
              kB  reclen    write  rewrite    read    reread    read     write
          102400       4    23400    28554    26356    26143    27061    29546
          102400      16    48364    48810    85421    85847    84017    47607
          102400     512    48789    49075   273380   275699   258495    47858
          102400    1024    48939    49053   290198   291462   270699    48099
          102400   16384    48673    49050   295690   295705   294706    48966
         1024000   16384    49243    49238   298010   298443   299018    49255

That's what's to be expected with 16 GB and exactly same numbers as I generated on ODROID-N1 with 16 GB size. When checking SD card performance it maxed out at 23.5 MB/s which is an indication that no higher speed modes are enabled (and according to schematics not possible since not able to switch to 1.8V here -- I didn't try to adjust DT like with ODROID-N1 where SDR104 mode is possible which led to some nice speed improvements when using a fast card -- see here and there)

 

Quick USB3 performance test via the USB-3A port:

Rockchip 4.4.132                                              random    random
              kB  reclen    write  rewrite    read    reread    read     write
          102400       4    24818    29815    33896    34016    24308    28656
          102400      16    79104    90640   107607   108892    80643    89896
          102400     512   286583   288045   285021   293431   285016   298604
          102400    1024   315033   322207   320545   330923   320888   327650
          102400   16384   358314   353818   371869   384292   383404   354743
         1024000   16384   378748   381709   383865   384704   384113   381574
         
mmind 4.17.0-rc6-firefly                                     random    random
              kB  reclen    write  rewrite    read    reread    read     write
          102400       4    37532    42871    22224    21533    21483    39841
          102400      16    86016   104508    87895    87253    84424   102194
          102400     512   274257   294262   287394   296589   287757   304003
          102400    1024   294051   312527   317703   323938   323353   325371
          102400   16384   296354   340272   336480   352221   339591   340985
         1024000   16384   367949   189404   328094   330342   328136   139675

This was with an ASM1153 enclosure which shows slightly lower numbers than my usual JMS567 (all currently busy with other stuff). Performance with RK 4.4 kernel as expected, with mainline lower for whatever reasons. I also tried to test with my VIA VL716 enclosure directly attached to the USB-C port but ran into similar issues as with RockPro64 but since my enclosure and the cable also show problems when using at a MacBook Pro I suspect I should blame the hardware here and not USB-C PHY problems with RK3399.

 

This is NanoPC T4 with vendor's heatsink, lying flat on a surface that allows for some airflow below, running cpuburn-a53 on all 6 cores after half an hour:

13:57:31: 1008/1416MHz  8.44 100%   0%  99%   0%   0%   0% 91.1°C  0/5
13:57:40: 1008/1416MHz  8.52 100%   0%  99%   0%   0%   0% 91.1°C  0/5
13:57:48: 1008/1416MHz  8.51 100%   0%  99%   0%   0%   0% 91.1°C  0/5
13:57:57: 1200/1416MHz  8.47 100%   0%  99%   0%   0%   0% 90.6°C  0/5
13:58:05: 1200/1416MHz  8.47 100%   0%  99%   0%   0%   0% 91.1°C  0/5

So with heavy workloads you most probably need a fan to prevent throttling. 

 

Development related questions: IMO we should try to rely on single sources for all the various RK3399 boards that are now available or will be soon. And I would prefer ayufan's since he's somewhat in contact with RK guys and there's a lot of great information/feeback provided by TL Lim. What do others think?

 

Also an issue is IRQ affinity since on boards where PCIe is in use those interrupts should clearly end up on one of the big cores while on other boards USB3 and network IRQs are better candidates. I already talked about this with @Xalius ages ago and most probably the best idea is to switch from static IRQ affinity set at boot by armbian-hardware-optimization to a daemon that analyzes IRQ situation every minute and adopts then dynamically the best strategy.

 

Wrt information for endusers. All RK3399 boards basically behave the same since the relevant stuff is inside the SoC. There's only different DRAM (matters with regard to consumption and performance), different interfaces exposed and different power circuitry (and obviously different settings like e.g. cpufreq behaviour but I think we should consolidate those for all RK3399 boards). So you already find a lot of information in my ODROID-N1 'review', my SBC storage performance overview and most probably also a lot around RockPro64. No idea where to inform about RK3399 GPU/VPU stuff since not interested in these areas at all (hope others add references or direct information).

Link to comment
Share on other sites

Recommended Posts

  • 0

I see that the "energy-aware scheduling" patch set got merged for the 5.0 kernel - this allows the mainline kernel to behave reasonably with asymetric multi-processor CPUs like the RK3399's A72/A53 big.LITTLE arrangement.

 

Has anyone given it a spin on a T4 yet?

 

Cheers,

 

Tim.

Link to comment
Share on other sites

Search Before Posting!

  • 0

Hi! I've successfully installed Armbian Bionic(kernel 4.20, automated build)  image on NanoPC-T4, but gpu drivers not provided. 

http://ix.io/1FBI

And /dev/mali0 didn't exist.

The question is: how to build and install open-source drivers(I didn't find any complete instructions), I actually not so experienced on it.

Or if I should build it by myself, where I can find docker with 4.20 Linux kernel? 

Link to comment
Share on other sites

  • 0

Help to understand with boot process. I watch documentation from rockchip. There it is specified that several gpt partitions have to be created. I take a sd-card with the image of the armbian which is written down on it. I start the gdisk. I receive result:

GPT fdisk (gdisk) version 1.0.1

Partition table scan:
  MBR: MBR only
  BSD: not present
  APM: not present
  GPT: not present


***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format
in memory.
***************************************************************

Disk /dev/sdd: 31176704 sectors, 14.9 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 1239DBE7-E7AC-4D30-B146-AEF177251577
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 31176670
Partitions will be aligned on 2048-sector boundaries
Total free space is 344477 sectors (168.2 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1           32768        30864927   14.7 GiB    8300  Linux filesystem


Why so? It is really necessary to create the mbr partition?

Link to comment
Share on other sites

  • 0

As a result it is necessary to create the mbr partition?

And why then the loader tries to look for the gpt partition? For example:

 

GPT 0x3190d20 signature is wrong
LoadTrust Addr:0x4000

Or nobody just knows what occurs in a blob from Rockchip?

Link to comment
Share on other sites

  • 0
3 hours ago, Merblud said:

As a result it is necessary to create the mbr partition?


One is certain. You don't need any partitions since all boot stages are happening outside - at fixed positions. You only need a partition if you plan to boot Linux (from it). I am not sure if the type matters (depending from u-boot configuration I would say) ... you will need to dig deep into docs, if and where available.

Link to comment
Share on other sites

  • 0

It was mentioned to me by email that the ethernet TX issue I describe here

plagues this board as well (my board is the LibreComputer Renegade).

 

It seems like the exact parameters might depend on each specific device, in which case the "best" solution would be some kind of "autoconfiguration" for the PBL, but that is in a future TODO. More about the issue andthe discussion here:

https://patchwork.kernel.org/patch/10880481/

 

Eventually this patch was merged for the Renegade upstream:

https://patchwork.kernel.org/patch/11017833/

Link to comment
Share on other sites

  • 0
4 minutes ago, martinayotte said:

Yes ! I've one T4 ..

Hi. If you don't mind, please check the latest image Armbian (and LE from here on T4. After recording on the SD card to configure file (/extlinu/extlinux.conf) which DTB to use (specify rk3399-nanopc-t4.dtb).

 

Armbian

https://yadi.sk/d/QVY8gdpvgJsbig

 

 

LE

https://yadi.sk/d/zvDA-DsGB1i2pw

Link to comment
Share on other sites

  • 0
4 minutes ago, martinayotte said:

I will, but only when I will have some free time, I'm very busy these days ...

Thanks !

It's not urgent. In this thread write that it seems to work, but I would like to see an experienced user. :)

 

https://forum.libreelec.tv/thread/14078-status-of-nanopc-t4-rk3399/?pageNo=6

 

 

 

 

ps The details about using these images, there is in this topic.

 

 

 

Link to comment
Share on other sites

  • 0
On 9/20/2019 at 4:20 PM, balbes150 said:

Hi. If you don't mind, please check the latest image Armbian (and LE from here on T4. After recording on the SD card to configure file (/extlinu/extlinux.conf) which DTB to use (specify rk3399-nanopc-t4.dtb).

 

Armbian

https://yadi.sk/d/QVY8gdpvgJsbig

 

 

LE

https://yadi.sk/d/zvDA-DsGB1i2pw

I has installed Armbian. It started and works, but Wi-Fi and bluetooth not working. And also something with sound.

 

And also I tried LibreElec - work fine, Wi-Fi/Bluetooth/Sound all is works, but USB3.0 not working. Not support 4K video resolution.  I was tried to play 4K video, it works perfectly.

Edited by PRIHLOP
Add info about 4K video
Link to comment
Share on other sites

  • 0
On 12/24/2018 at 9:34 PM, martinayotte said:

Just a side note here : Is there any nightly build NanoPCT4 users who are using 4.19.y builds on eMMC ?

 

I ask that because I've some local patch for months that I never committed related to eMMC, which in my case was required since my T4 have an older eMMC, I had to comment those lines in DT :

 

//mmc-hs400-1_8v;

//mmc-hs400-enhanced-strobe;

mmc-hs400-1_8v only worked for me with 4.4. Can't say when it broke, but i did a lot of testing and building my own image with all sorts of various patches you can find across the internet.

Pretty common problem on many boards, but nothing worked.

 

It would be interesting if mmc-hs400 works on any T4, or anyone could confirm.

 

My simple and lazy workaround is editing /boot/boot.cmd

fdt rm /sdhci@fe330000 mmc-hs400-1_8v
fdt rm /sdhci@fe330000 mmc-hs400-enhanced-strobe

But I am afraid this could easily break with an automatic u-boot update? Does this file get touched, or is there another way through /boot/armbianEnv.txt to make this change permanent.

I would like to stick to original 2019-11-19 wich works very good for me, eg rootfs on nvme though armbian-config in a few seconds. 

 

Link to comment
Share on other sites

  • 0
4 hours ago, fraz0815 said:

But I am afraid this could easily break with an automatic u-boot update?

 

Only with latest upgrade forced update of boot scripts (/boot/boot.cmd/scr/ini file) is enforced. Otherwise we do not touch that. Also armbianEnv.txt which is recreated on upgrade only if missing.

Link to comment
Share on other sites

  • 0

I have recently flashed the Armbian on my T4 and I'm really loving it.

 

There is 1 thing I need little help with, when I disable the GUI through the armbian-config that network connectivity dies right away.

 

1.  Logging into the desktop and then disable GUI, it goes to empty black screen = No connectivity and no access to SSH

2. With GUI already disabled before boot, lands on tty1 (haven't logged in on terminal) = No connectivity and no access to SSH

- as soon as I login on tty1, connectivity and SSH is available.

 

How can this be fixed? I want to run the board headless and don't want to login on the terminal either.

Link to comment
Share on other sites

  • 0
5 hours ago, Aciel said:

How can this be fixed? I want to run the board headless and don't want to login on the terminal either.


It works if you disable desktop from SSH session. This way is not implemented and will not be developed without "your" help https://github.com/armbian/config/graphs/contributors?from=2019-07-01&to=2020-01-01&type=c

 

Do you want CLI image only?

Link to comment
Share on other sites

  • 0
18 hours ago, Igor said:


It works if you disable desktop from SSH session. This way is not implemented and will not be developed without "your" help https://github.com/armbian/config/graphs/contributors?from=2019-07-01&to=2020-01-01&type=c

 

Do you want CLI image only?


I have tried disabling the desktop from the SSH as well, but as soon as I close the session the network connectivity dies right away. Then I have to hook up a keyboard to access the board.

 

Yes, I know there are cli only images there, but sometimes I use the desktop to browse, watch videos, listen to music etc as well through vnc.

 

I forgot the mention before that I'm using Armbian Bionic Desktop (19.11.3) image.

Link to comment
Share on other sites

  • 0

Today I am trying to reburn my nanopc-t4 with the latest images, but I found that wifi didn't work in the image with kernal version of 5.4.x, while it worked well in 4.4.x. Do I need to install driver or some special test to turn the wifi on?

Link to comment
Share on other sites

  • 0
1 hour ago, Hippo said:

Today I am trying to reburn my nanopc-t4 with the latest images, but I found that wifi didn't work in the image with kernal version of 5.4.x, while it worked well in 4.4.x. Do I need to install driver or some special test to turn the wifi on?


If you need wifi or some other functions, you have to use kernel 4.4.y Functions in modern kernel are usually made from scratch. By volunteers. Its a hard and slow work.

Link to comment
Share on other sites

  • 0
7 hours ago, Hippo said:

but I found that wifi didn't work in the image with kernal version of 5.4.x

Maybe you should try another firmware :

mv /lib/firmware/brcm/brcmfmac4356-sdio.bin /lib/firmware/brcm/brcmfmac4356-sdio.bin-ORIG
mv /lib/firmware/brcm/brcmfmac4356-sdio.txt /lib/firmware/brcm/brcmfmac4356-sdio.txt-ORIG
cp /lib/firmware/brcm/brcmfmac4356-sdio-nanopi-m4v2.bin /lib/firmware/brcm/brcmfmac4356-sdio.bin
cp /lib/firmware/brcm/brcmfmac4356-sdio-nanopi-m4v2.txt /lib/firmware/brcm/brcmfmac4356-sdio.txt

And then reboot ...

Link to comment
Share on other sites

  • 0
On 1/5/2020 at 3:57 PM, Igor said:


If you need wifi or some other functions, you have to use kernel 4.4.y Functions in modern kernel are usually made from scratch. By volunteers. Its a hard and slow work.

Thank you as well as other volunteers! Will you consider to build a binoic 4.4 cli image as there's no stable ubuntu server image now. Thanks again.

Link to comment
Share on other sites

  • 0
On 1/5/2020 at 9:44 PM, martinayotte said:

Maybe you should try another firmware :


mv /lib/firmware/brcm/brcmfmac4356-sdio.bin /lib/firmware/brcm/brcmfmac4356-sdio.bin-ORIG
mv /lib/firmware/brcm/brcmfmac4356-sdio.txt /lib/firmware/brcm/brcmfmac4356-sdio.txt-ORIG
cp /lib/firmware/brcm/brcmfmac4356-sdio-nanopi-m4v2.bin /lib/firmware/brcm/brcmfmac4356-sdio.bin
cp /lib/firmware/brcm/brcmfmac4356-sdio-nanopi-m4v2.txt /lib/firmware/brcm/brcmfmac4356-sdio.txt

And then reboot ...

Thanks for sharing, it really works!

Link to comment
Share on other sites

  • 0
3 hours ago, hbmaennchen said:

Is it possible to setup in .config some more dvb drivers? i have a technotrend 3650 s2 ci


Possible if you sent (possible tested) changes to configs. Their location is here: https://github.com/armbian/build/tree/master/config/kernel How-to, if you are not familiar with Git, here: https://docs.armbian.com/Process_Contribute/

Link to comment
Share on other sites

  • 0

I'm having booting issues with the new Bionic Desktop image i.e 19.11.7. It won't boot at all. Black screen with no signal. Sdcard green light flashes only once after 5 secs of starting and then nothing.

 

Last image worked was 19.11.3 (kernel 4.4.192). 4.4.198 didn't boot either, so I flashed now 19.11.7 (kernel 4.4.208) and it fails as well.

 

I waited over 25 mins for it to boot.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...