• Before reporting problems with your board running Armbian, check the following:

    • 1. Check power supply, check SD card and check other people experiences   06/23/17

      Power supply issues are one of the three biggest issues you'll face when starting with Single Board Computers (SBCs). SD card issues, whether fake or faulty, are another and issues resulting from poor board design is the other common issues you can encounter.   Power supply issues can be tricky. You might have a noisy power supply that works with one board because it has extra filtering, but won't work with another. Or you're using that cheap phone charger because your board has a microUSB connector, and it is either erratic, or doesn't start up, or even becomes the cause of some SD card issues.    Some tips to avoid the most common causes of problems reported:   Don't power via micro USB  - unless you have optimised your setup for low power requirements. Micro USB is great for mobile phones because they are simply charging a battery. It's bad for SBCs. Yes, it does work for a lot of people, but it also causes more problems and headaches over time than it is worth, unless you know exactly what you are doing. If you have a barrel jack power connector on your SBC, use it instead! If there is an option for powering via header connections, use that option!
        Don't use mobile phone chargers. They might be convenient and cheap, but this is because they are meant for charging phones, not powering your SBC which has particular power requirements.
        When you are evaluating a power supply, make sure you run some stress tests on your system to ensure that it will not cause issues down the path.   (Micro) SD card issues can be sneaky. They might appear right at the start causing strange boot and login errors, or they might cause problems over time. It is best to run a test on any new SD card you use, to ensure that it really is what it is, and to ensure that isn't faulty. Armbian provides you a simple way to do this   --   armbianmonitor -c /path/to/device/to/test  
    • 2. Make sure to collect and provide all necessary information   06/24/17

      We can only help if you provide quality information for us to work with. All stable images from the download section are tested, most stable upgrades are tested and we have tens of thousands of users. Even with regular and extensive testings, bugs sometimes do slip through. This is a voluntary support service and is unrelated to board makers, and is not obligated to provide you any answers. Repeated asking the same questions because you're not happy with the answers will result in you being ignored.

      Before you post a question, use the forum search as someone else might have already had the same problem and resolved it. And make sure you've read the Armbian documentation. If you still haven't found an answer, make sure you include the following in your post:   1. Logs when you can boot the board: armbianmonitor -u (paste URL to your forum post)   2. If your board does not boot, provide a log from serial console or at least make a picture, where it stops.   3. Describe the problem the best you can and provide all necessary info that we can reproduce the problem. We are not clairvoyant or mind readers. Please describe your setup as best as possible so we know what your operating environment is like.     We will not help in cases you are not using stable official Armbian builds, you have a problem with 3rd party hardware or reported problem would not be able to reproduced.

Add Support for RK3399 (2xA72+4xA53)
3 3

27 posts in this topic

Recommended Posts

I'm starting to add RK3399 to Armbian, in my spare time.

 

Here's the board I got, RK3399 official EVB, which spent me 500CNY (~63EURO) on Taobao, quite cheap comparing to Firefly.

https://item.taobao.com/item.htm?spm=a1z09.2.0.0.1f30a53flpk7IA&id=554454257549&_u=31t0eea9a1c

 

Spec:

 - Rockchip RK3399 (2xA72 + 4xA53, Mali T860 MP4)

 - 4GBytes Dual channel LPDDR3 (64-bit in total)

 - 8GBytes eMMC, Micro SD Slot

 - USB 3.0 Type-A, USB Type-C (DP over Type-C), USB2.0, HDMI

 - 1G Ethernet

 - Raspberry Pi compatible 2x20 pin header

 - Other interfaces: PCIe 2.0 x4, MIPI CSI & DSI, eDP, LVDS....

 

IMG_20170728_211135.thumb.jpg.06538a1d1b8734467cd27292ae287570.jpg    IMG_20170728_211104.thumb.jpg.ee9660a2d2f0c00e32fd040d7d829f73.jpg

 

You can download Cadence OrCAD format schematic and Allegro format PCB files for free. It's open sourced and you'll also find BOM, gerber files ready for production.

http://opensource.rock-chips.com/wiki_Excavator_sapphire_board

 

I was able to build Linux 4.4 + Debian 9 with build scripts from Rockchip. And it looks like the OpenGLES and OpenCL are ready? (not fully tested). VPU still has some problem.

 

Will continue to update in this post...

tkaiser likes this

Share this post


Link to post
Share on other sites

Concerning OpenGL ES tests :

You might need to download one of these drivers in a folder, create the various libGLESv1_CM.so{,.1} libGLESv2.so{,.2} libOpenCL.so{,.1} libEGL.so{,.1} links to the libmali you downloaded and then set LD_LIBRARY_PATH when testing OpenGL ES little programs.

I might be missing a few file links...

 

So, if you downloaded libmali-midgard-4th-r13p0-gbm.so in /tmp/test-mali for example, this should do the trick :

 

cd /tmp/test-mali
for link in libGLESv1_CM.so{,.1} libGLESv2.so{,.2} libOpenCL.so{,.1} libEGL.so{,.1}; do ln -s libmali-midgard-4th-r13p0.so $link; done
LD_LIBRARY_PATH=/tmp/test-mali ./es2gears

 

Change es2gears by the name of that the OpenGL ES program binary you want to test of course.

 

Note that if /dev/mali0 is not read/writeable by your user, the OpenGL ES program might fail with a Mali Driver error message telling you that you do not have the right GPU. It's a permission issue in that case.

If you don't have a /dev/mali0, it's a driver integration issue however.

 

No Vulkan support for the moment, however. The ARM guys do not seem to have released any driver for the Firefly RK3399. (´・ω・` )

Share this post


Link to post
Share on other sites
18 hours ago, Myy said:

Concerning OpenGL ES tests :

You might need to download one of these drivers in a folder, create the various libGLESv1_CM.so{,.1} libGLESv2.so{,.2} libOpenCL.so{,.1} libEGL.so{,.1} links to the libmali you downloaded and then set LD_LIBRARY_PATH when testing OpenGL ES little programs.

I might be missing a few file links...

 

So, if you downloaded libmali-midgard-4th-r13p0-gbm.so in /tmp/test-mali for example, this should do the trick :

 


cd /tmp/test-mali
for link in libGLESv1_CM.so{,.1} libGLESv2.so{,.2} libOpenCL.so{,.1} libEGL.so{,.1}; do ln -s libmali-midgard-4th-r13p0.so $link; done
LD_LIBRARY_PATH=/tmp/test-mali ./es2gears

 

Change es2gears by the name of that the OpenGL ES program binary you want to test of course.

 

Note that if /dev/mali0 is not read/writeable by your user, the OpenGL ES program might fail with a Mali Driver error message telling you that you do not have the right GPU. It's a permission issue in that case.

If you don't have a /dev/mali0, it's a driver integration issue however.

 

No Vulkan support for the moment, however. The ARM guys do not seem to have released any driver for the Firefly RK3399. (´・ω・` )

 

I just did some simple test and didn't know if it was in a correct way.

As I was using the rk-rootfs-build scripts, I assumed that the packs were working. Unfortunately, no time for further test.

 

Take a look at the deb packs here:

https://github.com/rockchip-linux/rk-rootfs-build/tree/master/packages/arm64/libmali

 

And actually ARM guys won't do anything for Firefly RK3399. Rockchip will, but only in there official repo.

 

Screenshot of es2gears test.

 

 

 

Share this post


Link to post
Share on other sites

Now the bootloader and kernel built with Armbian scripts are running.

 

But there's a strange issue, in which the ramdisk system can not mount rootfs partition on SD card (SanDisk Ultra 8GB Class10 Micro SD):

 

Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
Begin: Running /scripts/local-premount ... done.
Begin: Will now check root file system ... fsck from util-linux 2.27.1
[/sbin/fsck.ext4 (1) -- /dev/mmcblk0p1] fsck.ext4 -a -C0 /dev/mmcblk0p1 
rootfs: recovering journal
rootfs: clean, 145627/219024 files, 636583/875520 blocks
done.
mount: mounting /dev/mmcblk0p1 on /root failed: No such device
done.
Begin: Running /scripts/local-bottom ... done.
Begin: Running /scripts/init-bottom ... mount: mounting /dev on /root/dev failed: No such file or directory
done.
mount: mounting /run on /root/run failed: No such file or directory
run-init: current directory on the same filesystem as the root: error 0
Target filesystem doesn't have requested /sbin/init.
run-init: current directory on the same filesystem as the root: error 0
run-init: current directory on the same filesystem as the root: error 0
run-init: current directory on the same filesystem as the root: error 0
run-init: current directory on the same filesystem as the root: error 0
run-init: current directory on the same filesystem as the root: error 0
No init found. Try passing init= bootarg.


BusyBox v1.22.1 (Ubuntu 1:1.22.0-15ubuntu1) built-in shell (ash)
Enter 'help' for a list of built-in commands.

(initramfs)

 

But the fsck.ext4 successfully operated the partition, and in the ramdisk system I was able to mount the system manually.

 

(initramfs) ls /dev/
ttyFIQ0             tty24               fuse                network_latency
rfkill              tty25               vpu_service         network_throughput
mem                 tty26               rkvdec              memory_bandwidth
null                tty27               ptmx                mali0
port                tty28               ttyS1               mmcblk1
zero                tty29               ttyS3               mmcblk1rpmb
full                tty30               ttyS0               mmcblk1boot1
random              tty31               ttyS2               mmcblk1boot0
urandom             tty32               hwrng               usbmon3
kmsg                tty33               ram0                usbmon4
tty                 tty34               loop-control        usbmon5
console             tty35               loop0               usbmon6
tty0                tty36               loop1               input
vcs                 tty37               loop2               i2c-9
vcsa                tty38               loop3               hdmi_hdcp1x
vcs1                tty39               loop4               fb0
vcsa1               tty40               loop5               vendor_storage
tty1                tty41               loop6               dri
tty2                tty42               loop7               pts
tty3                tty43               zram0               fd
tty4                tty44               net                 stdin
tty5                tty45               ppp                 stdout
tty6                tty46               usbmon0             stderr
tty7                tty47               usbmon1             char
tty8                tty48               bus                 block
tty9                tty49               usbmon2             disk
tty10               tty50               uinput              rtc
tty11               tty51               i2c-0               vcs2
tty12               tty52               rtc0                vcsa2
tty13               tty53               i2c-1               vcs3
tty14               tty54               i2c-4               vcsa3
tty15               tty55               mapper              vcs4
tty16               tty56               vhci                vcsa4
tty17               tty57               uhid                vcs5
tty18               tty58               ashmem              vcsa5
tty19               tty59               iio:device0         vcs6
tty20               tty60               snd                 vcsa6
tty21               tty61               mmcblk0
tty22               tty62               mmcblk0p1
tty23               tty63               cpu_dma_latency
(initramfs) [   27.588426] random: nonblocking pool is initialized
 
(initramfs) 
(initramfs) 
(initramfs) mount -t ext4 /dev/mmcblk0p1 /root
[   43.477832] EXT4-fs (mmcblk0p1): mounted filesystem with writeback data mode. Opts: (null)
(initramfs) ls /root/
sys         tmp         usr         lost+found  media       opt         boot
home        proc        selinux     run         var         lib         dev
mnt         bin         root        etc         srv         sbin

 

The boot scripts and full log are attached. Just ignore the eDP and SDIO WiFi errors, because they are not connected.

 

I guess I'll need to check the kernel config (also attached) then.

 

 

 

 

Share this post


Link to post
Share on other sites

Which patches do you use when building? Make sure you include at least those two:

https://github.com/armbian/build/blob/master/patch/kernel/rockchip-default/packaging-4.x-with-postinstall-scripts.patch

https://github.com/armbian/build/blob/master/patch/kernel/rockchip-default/bash_to_afterinstall.patch


Bug in boot script:

setenv bootargs "earlyprintk root=${rootdev} rw console=${console} rootfstype=${rootfstype} loglevel=${verbosity} rootwait ${extraargs}" 


Change this in config:

CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set

Share this post


Link to post
Share on other sites
5 hours ago, nightseas said:

 

I just did some simple test and didn't know if it was in a correct way.

As I was using the rk-rootfs-build scripts, I assumed that the packs were working. Unfortunately, no time for further test.

 

Take a look at the deb packs here:

https://github.com/rockchip-linux/rk-rootfs-build/tree/master/packages/arm64/libmali

 

And actually ARM guys won't do anything for Firefly RK3399. Rockchip will, but only in there official repo.

 

Screenshot of es2gears test.

 

Indeed, wzyy2 tend to prepackage the mali drivers in the rk-rootfs-build repository, but the one in the libmali repository seems to be updated more regularly. That said, if the drivers work, better not update them.

Too bad for ARM, since their DDK was more up to date (obviously) and incorporated all the techs possible. That said, they often say they won't provide the drivers for any board and then release them anyway a year later. ^_^

 

Now, it looks like the screenshot was eaten by a grue. (´・ω・` )

 

You might be interested by the new Rockchip wiki here. It has various information on how to compile or install certain Rockchip specific components on common distributions :

http://opensource.rock-chips.com/

 

This might help you if you're stuck with few things.

Share this post


Link to post
Share on other sites

Too bad this board isn't available anymore. I also get " is sorry that the baby is temporarily off the shelves, you can stroll around the other baby" like CNX-Soft reported.

 

Share this post


Link to post
Share on other sites
On 8/4/2017 at 5:05 PM, Igor said:

Which patches do you use when building? Make sure you include at least those two:

https://github.com/armbian/build/blob/master/patch/kernel/rockchip-default/packaging-4.x-with-postinstall-scripts.patch

https://github.com/armbian/build/blob/master/patch/kernel/rockchip-default/bash_to_afterinstall.patch


Bug in boot script:

setenv bootargs "earlyprintk root=${rootdev} rw console=${console} rootfstype=${rootfstype} loglevel=${verbosity} rootwait ${extraargs}" 


Change this in config:

CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set

 

Thanks a lot for the hints.

 

I chose the Marvell 64-bit patch instead of RK3288 to replace compressed zImage with the binary Image.

https://github.com/armbian/build/blob/master/patch/kernel/mvebu64-default/packaging-4.x-with-postinstall-scripts.patch

 

Now Armbian 5.32 (Ubuntu 16.04 Desktop) is successfully running on my board.

 

I forked the repo and make my own commit to add the support for RK3399. You can find the changes to original repo here:

https://github.com/nightseas/armbian-build/

 

Know issues:

 1. No GPU or VPU pack installed for now;

 2. There's a binary tool from RK used to convert u-boot, which can't be packed into the u-boot deb because it's for x86_64. Means you can't update bootloader in a running Armbian.

 

Next step will be GPU and VPU userspace lib porting. 

 

Screenshot of desktop, with CPU, temperature, and frequency:

armbian_rk3399.thumb.png.d066f6b39eb348a7452cfa6e1d11224d.png

 

TonyMac32 and Igor like this

Share this post


Link to post
Share on other sites
On 8/4/2017 at 5:42 PM, Myy said:

Indeed, wzyy2 tend to prepackage the mali drivers in the rk-rootfs-build repository, but the one in the libmali repository seems to be updated more regularly. That said, if the drivers work, better not update them.

Too bad for ARM, since their DDK was more up to date (obviously) and incorporated all the techs possible. That said, they often say they won't provide the drivers for any board and then release them anyway a year later. ^_^

 

Now, it looks like the screenshot was eaten by a grue. (´・ω・` )

 

You might be interested by the new Rockchip wiki here. It has various information on how to compile or install certain Rockchip specific components on common distributions :

http://opensource.rock-chips.com/

 

This might help you if you're stuck with few things.

 

Well, the biggest problem is that the mali userspace lib from RK is not compatible to the xserver and desktop display infrastructure installed in ARMBIAN.

 

You have to install RK's xserver packs and also new desktop from some unkonwn source (maybe that's the Debian source under developing or source from RK). :(

 

I have faced it once when I was customizing a RK3288 board and I'm sure that it'll be still standing in my way. So Let me do some experiments and make as many functions work as I can.

Share this post


Link to post
Share on other sites
14 hours ago, fossxplorer said:

Too bad this board isn't available anymore. I also get " is sorry that the baby is temporarily off the shelves, you can stroll around the other baby" like CNX-Soft reported.

 

I asked the owner about the stock. There are less than 100 boards in stock and I see the correct quantity in system now.

I'm not sure if I can help on ordering boards because of possible issues on China Customs (tax stuff), production quality or transportation damage.

Just don't have time to test all the boards.

Share this post


Link to post
Share on other sites
On 2017/8/6 at 11:24 AM, nightseas said:

 

Well, the biggest problem is that the mali userspace lib from RK is not compatible to the xserver and desktop display infrastructure installed in ARMBIAN.

 

Indeed. That's the main reason why I'm using DRM/KMS OpenGL ES code with the latest Rockchip libmali (with GBM support) to test the 3D drivers.

 

Now that glmark2 has incorporated my patches, it should be easy to compile and use on any board with working DRM and OpenGL drivers. You might want to give it a try. Compile it like this :
 

./waf configure --with-flavors=drm-glesv2
./waf
./waf install # Not mandatory, you can execute the binary from its build folder

 

Then

 

LD_LIBRARY_PATH=/path/to/mali/drivers glmark2-es2-drm

 

You'll certainly be limited to VSync, however the score on the crystal bunny and the (ugly) terrain should provide some good statistics on the GPU.

Share this post


Link to post
Share on other sites

Are you sure that's not a naming issue ? Like using mmcblk0 instead of mmcblk1 or something ? That's a common issue I have when switching between 4.4 and mainline kernels on my RK3288 boards.

Share this post


Link to post
Share on other sites
41 minutes ago, Myy said:

Are you sure that's not a naming issue ? Like using mmcblk0 instead of mmcblk1 or something ? That's a common issue I have when switching between 4.4 and mainline kernels on my RK3288 boards.

It seems to be a driver problem...I use "dmesg" command to look for the mmc driver kernel message but find nothing about it...

Share this post


Link to post
Share on other sites
On 2017/8/11 at 8:36 AM, YelloApple said:

I have the same board...But it seems the sd card can't work too....Do you have any idea?

Which kernel are you using?

 

Kernel 4.4 from Rockchip official repo:

https://github.com/rockchip-linux/kernel

 

If it's mainline Kernel from kernel.org then which version is it?

 

Other 3rd-party repo?

 

There's a bug in the RK official u-boot, which  is caused by missing dwmmc driver and leads to SD card boot failure.

https://github.com/nightseas/rockchip-uboot/commit/80b82a7ba084b36c4f4ffbe7b67ffe98ff349f21

 

Share this post


Link to post
Share on other sites
On 12.8.2017 at 2:51 AM, nightseas said:

Which kernel are you using?

 

Kernel 4.4 from Rockchip official repo:

https://github.com/rockchip-linux/kernel

 

If it's mainline Kernel from kernel.org then which version is it?

 

Other 3rd-party repo?

 

There's a bug in the RK official u-boot, which  is caused by missing dwmmc driver and leads to SD card boot failure.

https://github.com/nightseas/rockchip-uboot/commit/80b82a7ba084b36c4f4ffbe7b67ffe98ff349f21

 

I use Rockchip official repo...

THX for your uboot patch~

 

I have used your uboot from https://github.com/nightseas/rockchip-uboot/,but I can't find any SD card driver as well...

In uboot ,I have tried the command "mmcinfo" but no any SD card be found.

In linux, I have tried the command "ls /dev" but no any SD card node be found.

 

“dmesg” command does not have any information about the SD card node, I have used your uboot source to compile, whether the need to patch the kernel?

 

Update:

Spoiler

 


DDR Version 1.08 20170320                                                    
In                                                                              
Channel 0: LPDDR3, 800MHz                                                       
CS = 0                                                                          
MR0=0x58                                                                        
MR1=0x58                                                                        
MR2=0x58                                                                        
MR3=0x58                                                                        
MR4=0x2                                                                         
MR5=0x1                                                                         
MR6=0x5                                                                         
MR7=0x0                                                                         
MR8=0x1F                                                                        
MR9=0x1F                                                                        
MR10=0x1F                                                                       
MR11=0x1F                                                                       
MR12=0x1F                                                                       
MR13=0x1F                                                                       
MR14=0x1F                                                                       
MR15=0x1F                                                                       
MR16=0x1F                                                                       
CS = 1                                                                          
MR0=0x58                                                                        
MR1=0x58                                                                        
MR2=0x58                                                                        
MR3=0x58                                                                        
MR4=0x2                                                                         
MR5=0x1                                                                         
MR6=0x5                                                                         
MR7=0x0                                                                         
MR8=0x1F                                                                        
MR9=0x1F                                                                        
MR10=0x1F                                                                       
MR11=0x1F                                                                       
MR12=0x1F                                                                       
MR13=0x1F                                                                       
MR14=0x1F                                                                       
MR15=0x1F                                                                       
MR16=0x1F                                                                       
Bus Width=32 Col=10 Bank=8 Row=15/15 CS=2 Die Bus-Width=32 Size=2048MB          
Channel 1: LPDDR3, 800MHz                                                       
CS = 0                                                                          
MR0=0x58                                                                        
MR1=0x58                                                                        
MR2=0x58                                                                        
MR3=0x58                                                                        
MR4=0x2                                                                         
MR5=0x1                                                                         
MR6=0x5                                                                         
MR7=0x0                                                                         
MR8=0x1F                                                                        
MR9=0x1F                                                                        
MR10=0x1F                                                                       
MR11=0x1F                                                                       
MR12=0x1F                                                                       
MR13=0x1F                                                                       
MR14=0x1F                                                                       
MR15=0x1F                                                                       
MR16=0x1F                                                                       
CS = 1                                                                          
MR0=0x58                                                                        
MR1=0x58                                                                        
MR2=0x58                                                                        
MR3=0x58                                                                        
MR4=0x2                                                                         
MR5=0x1                                                                         
MR6=0x5                                                                         
MR7=0x0                                                                         
MR8=0x1F                                                                        
MR9=0x1F                                                                        
MR10=0x1F                                                                       
MR11=0x1F                                                                       
MR12=0x1F                                                                       
MR13=0x1F                                                                       
MR14=0x1F                                                                       
MR15=0x1F                                                                       
MR16=0x1F                                                                       
Bus Width=32 Col=10 Bank=8 Row=15/15 CS=2 Die Bus-Width=32 Size=2048MB          
256B stride                                                                     
ch 0 ddrconfig = 0x101, ddrsize = 0x2020                                        
ch 1 ddrconfig = 0x101, ddrsize = 0x2020                                        
pmugrf_os_reg[2] = 0x3AA0DAA0, stride = 0xD                                     
OUT                                                                             
Boot1: 2017-04-07, version: 1.06                                                
CPUId = 0x0                                                                     
ChipType = 0x10, 1829                                                           
SdmmcInit=2 0                                                                   
BootCapSize=100000                                                              
UserCapSize=7456MB                                                              
FwPartOffset=2000 , 100000                                                      
SdmmcInit=0 20                                                                  
StorageInit ok = 66413                                                          
LoadTrustBL                                                                     
No find bl30.bin                                                                
No find bl32.bin                                                                
RunBL31 0x10000                                                                 
NOTICE:  BL31: v1.3(debug):55aa0b4                                             
NOTICE:  BL31: Built : 16:55:03, Mar 31 2017                                    
INFO:    GICv3 with legacy support detected. ARM GICV3 driver initialized in EL3
INFO:    boot cpu mask: 0                                                       
INFO:    plat_rockchip_pmu_init(1089): pd status 3e                             
INFO:    BL31: Initializing runtime services                                    
INFO:    BL31: Preparing for EL3 exit to normal world                           
INFO:    Entry point address = 0x200000                                         
INFO:    SPSR = 0x3c9                                                           
                                                                                
                                                                                
U-Boot 2017.07-g80b82a7 (Aug 12 2017 - 20:48:48 +0800)                          
                                                                                
Model: Rockchip RK3399 Evaluation Board                                         
DRAM:  3.9 GiB                                                                  
MMC:   dwmmc@fe320000: 1, sdhci@fe330000: 0                                     
*** Warning - bad CRC, using default environment                                
                                                                                
In:    serial                                                                   
Out:   serial                                                                   
Err:   serial                                                                   
Model: Rockchip RK3399 Evaluation Board                                         
Net:                                                                            
Error: ethernet@fe300000 address not set.                                       
No ethernet found.                                                              
Hit any key to stop autoboot:  0                                                
=>                                                                              
=> mmc list                                                                     
dwmmc@fe320000: 1                                                               
sdhci@fe330000: 0 (eMMC)                                                        
=> mmc info                                                                     
Device: sdhci@fe330000                                                          
Manufacturer ID: 15                                                             
OEM: 100                                                                        
Name: 8GND3                                                                     
Timing Interface: High Speed                                                    
Tran Speed: 52000000                                                            
Rd Block Len: 512                                                               
MMC version 5.0                                                                 
High Capacity: Yes                                                              
Capacity: 7.3 GiB                                                               
Bus Width: 8-bit                                                                
Erase Group Size: 512 KiB                                                       
HC WP Group Size: 8 MiB                                                         
User Capacity: 7.3 GiB WRREL                                                    
Boot Capacity: 4 MiB ENH                                                        
RPMB Capacity: 512 KiB ENH       
=> mmc dev 1                                                                    
Card did not respond to voltage select!                                         
mmc_init: -95, time 12 

 

Edited by Tido
added spoiler

Share this post


Link to post
Share on other sites
19 hours ago, YelloApple said:

I use Rockchip official repo...

THX for your uboot patch~

 

I have used your uboot from https://github.com/nightseas/rockchip-uboot/,but I can't find any SD card driver as well...

In uboot ,I have tried the command "mmcinfo" but no any SD card be found.

In linux, I have tried the command "ls /dev" but no any SD card node be found.

 

“dmesg” command does not have any information about the SD card node, I have used your uboot source to compile, whether the need to patch the kernel?

 

Update:

...

 

The driver works fine so that is not a like a software issue. I have tested the SanDisk Ultra 8GB/16GB C10 cards and seen no such error.

If the U-Boot shows no mmc1 device then it means the dwmmc controller doesn't detect anything, and I'm afraid there's something wrong with your hardware or SD card.

Share this post


Link to post
Share on other sites
1 hour ago, nightseas said:

 

The driver works fine so that is not a like a software issue. I have tested the SanDisk Ultra 8GB/16GB C10 cards and seen no such error.

If the U-Boot shows no mmc1 device then it means the dwmmc controller doesn't detect anything, and I'm afraid there's something wrong with your hardware or SD card.

 I have tested the SanDisk Ultra 16GB C10 cards but also have the same error...So sad....

Share this post


Link to post
Share on other sites
On 8/8/2017 at 2:02 AM, Myy said:

 

Indeed. That's the main reason why I'm using DRM/KMS OpenGL ES code with the latest Rockchip libmali (with GBM support) to test the 3D drivers.

 

Now that glmark2 has incorporated my patches, it should be easy to compile and use on any board with working DRM and OpenGL drivers. You might want to give it a try. Compile it like this :
 


./waf configure --with-flavors=drm-glesv2
./waf
./waf install # Not mandatory, you can execute the binary from its build folder

 

Then

 


LD_LIBRARY_PATH=/path/to/mali/drivers glmark2-es2-drm

 

You'll certainly be limited to VSync, however the score on the crystal bunny and the (ugly) terrain should provide some good statistics on the GPU.

 

I tried to build libmali deb pack for RK3399 but failed. There's no instruction or guide, so I may need to ask Rockchip for help again.

Then I manually linked the lib in /usr/lib and destroyed the the desktop GUI. After some experiment the desktop was back but still could not test gles2 as you suggested.

 

The good news is, OpenCL works well. I'll do some OpenCV + OpenCL perf test and put the result here.

tkaiser likes this

Share this post


Link to post
Share on other sites

@nightseas,

This is a good news about OpenCL and RK3399. It's interesting to see your results about  OpenCV + OpenCL  on RK3399.

I have found that ARM released their own  Compute library .  It supports both NEON and OpenCL and they claim that it has better performance than OpenCV.

I am also playing with RK3399 (Yundoo Y8) and was able to compile ARM compute library  and I'm planning to do some perf tests.

Share this post


Link to post
Share on other sites

The command to build most of the Rockchip repositories with a debian folder seems to be :

 

dpkg-buildpackage -b -rfakeroot -us -uc

That said, I would still highly recommend taking the .so library from their repository, put it in a folder, regenerate the appropriate links quickly and test GLES programs by invoking them like this :

 

 LD_LIBRARY_PATH=/path/to/the/library gles-program

 

Installing the new OpenGL ES libraries in /usr/lib could generate serious issues. Testing DRM/KMS OpenGL ES programs, like glmark2, from a real console (CTRL+ALT+F1), or from weston (Wayland), will generally be easier than trying from X11.

 

Share this post


Link to post
Share on other sites
On 8/16/2017 at 2:02 PM, yasko said:

@nightseas,

This is a good news about OpenCL and RK3399. It's interesting to see your results about  OpenCV + OpenCL  on RK3399.

I have found that ARM released their own  Compute library .  It supports both NEON and OpenCL and they claim that it has better performance than OpenCV.

I am also playing with RK3399 (Yundoo Y8) and was able to compile ARM compute library  and I'm planning to do some perf tests.

Attached is the full OpenCV 3.3.0 + OpenCL perf test report except video test part, which failed probably because of corrupted GLES.

Just for your reference.

x86_opencv_perf_reports_20170817.html

yasko likes this

Share this post


Link to post
Share on other sites
14 hours ago, Myy said:

The command to build most of the Rockchip repositories with a debian folder seems to be :

 


dpkg-buildpackage -b -rfakeroot -us -uc

That said, I would still highly recommend taking the .so library from their repository, put it in a folder, regenerate the appropriate links quickly and test GLES programs by invoking them like this :

 


 LD_LIBRARY_PATH=/path/to/the/library gles-program

 

Installing the new OpenGL ES libraries in /usr/lib could generate serious issues. Testing DRM/KMS OpenGL ES programs, like glmark2, from a real console (CTRL+ALT+F1), or from weston (Wayland), will generally be easier than trying from X11.

 

Thanks for the hints. Do I also need to install Rockchip DRM packages while testing glmark2?

Share this post


Link to post
Share on other sites

It should not be necessary.

 

The Rockchip DRM package main purpose is to exploit DRI capabilities and the RGA 2D acceleration on Rockchip systems, but the RGA 2D acceleration was deemed inefficient for X11 purposes, and the DRI is not useful when testing DRM capabilities directly from a console.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

3 3

  • Support the project

    We need your help to stay focused on the project.

    Choose the amount and currency you would like to donate in below.