VideoStrong VS-RD-RK3399 (aka VS-RK3399) is a features-packed development board powered by Rockchip RK3399 hexa core core processor which offers an alternative to Firefly-RK3399 board. The company sent me a development kit for evaluation, and I’ve already looked into VS-RD-RK3399 hardware and SDK in the first part of the review. Today, after shortly looking into the pre-installed Android 7.1 OS to make sure the board boots fine, I’ll report my experience with Debian 9, and building it from source.
A Quick Look at Android 7.1
I connected the board to my HDMI TV, added an Ethernet cable, and after powering it, VS-RK3399 promptly booted into Android 7.1 with the following launched.
It just has a few apps pre-installed, and lack Google Play store, but as I’ve seen in the new version of the SDK, a patch for Google Play store is provided, if that’s something you need for your use case.
The version I had pre-installed was built on August 14, 2017 with Android 7.1.2 OS running on top of Linux 4.4.55 kernel.
The storage section shows plenty of space left out of the 29.12GB flash partition, and the NTFS and EXT-4 partitions of my USB drives were mounted properly.
However, Explorer app would keep on reporting all USB partitions were NOT mounted. I had to use my smartphone to transfer the screenshots over Bluetooth. Adb would have been another option. Anyway, the Android version I had on my board was pretty rough, but I can see they’ve released another Android image in VS3399 board’s MEGA folder. I have not tried it, since I’ve spent enough time playing with Android on RK3399 with TV boxes such as Yundoo Y8 and Vorke Z3.
Installing Debian
So instead I went to the aforelinked MEGA folder, and downloaded VS-RD-RK3399-linuxSDK, which not only have the SDK like last month, but also a Debian image.
So I downloaded debia_linux_20170905.rar, and the rar file in linux_update_tools, but the latter actually contains (outdated versions of) Windows based Rockchip’s AndroidTool & DriverAssistant, but since I’m using Ubuntu, I went with upgrade_tool instead just like I did for Rock64 board quick start guide.
We’ll need to enter recovery mode to flash the Debian image. While the board is running keep pressing the recovery button, press the reset button shortly, count to 2 or 3, and release the recovery button. When you connect the USB type C to USB 3.0 cable between the board and your computer, you should see the board in the kernel log (dmesg):
1 2 3 4 5 6 |
[27848.566693] usb 1-2.4.3: new high-speed USB device number 9 using ehci-pci [27848.681892] usb 1-2.4.3: New USB device found, idVendor=2207, idProduct=0006 [27848.681896] usb 1-2.4.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [27848.681899] usb 1-2.4.3: Product: rk3399_mid [27848.681901] usb 1-2.4.3: Manufacturer: rockchip [27848.681904] usb 1-2.4.3: SerialNumber: 3WR50DRVSU |
How we can extract the Debian firmware, and flash it with upgrade_tool:
1 2 |
unrar x debia_linux_20170905.rar upgrade_tool uf debia_linux_20170915.img |
if successful the procedure is successful, the output should like the four lines below:
1 2 3 4 |
Loading firmware... Support Type:RK330C FW Ver:6.0.01 FW Time:2017-09-05 09:28:30 Loader ver:1.06 Loader Time:2017-06-03 17:22:39 Upgrade firmware ok. |
and the board should have automatically rebooted to Debian 9.
Testing Debian 9 on VS-RK3399 Board
Now that the installation is complete, we can start to play with the Debian on the board. Or can’t we? There’s no menu available at all, and only the Trash icon on the desktop. If I right click I get some more menus…
So I went into Desktop Preferences, enabled some other icons, and change the right click behavior.
Now I can launch some apps such as the terminal emulator and Chromium web browser, but they don’t show on the desktop at all, despite clearly running “somewhere”…
I then noticed I can move the mouse cursor beyond he left side of the HDMI TV, so I’d assumed there must be another display enabled. I tried to connect Dodocool DC30S hub to the USB type C port since it supports DisplayPort, but I get no signal on my other monitor, so the extra display must be connected via eDP or MIPI DSI, and the company sent me neither.
I could see the image is based on Linaro ALIP rootfs, so I connected to the board via SSH, hoping that linaro/linaro username and password would work, and they did:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
linaro@linaro-alip:~$ uname -a Linux linaro-alip 4.4.55 #474 SMP Tue Sep 5 09:09:33 CST 2017 aarch64 GNU/Linux linaro@linaro-alip:~$ cat /etc/issue Debian GNU/Linux 9 \n \l linaro@linaro-alip:~$ df -h Filesystem Size Used Avail Use% Mounted on /dev/root 29G 1.4G 27G 5% / devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 940K 1.9G 1% /dev/shm tmpfs 1.9G 8.6M 1.9G 1% /run tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup tmpfs 388M 0 388M 0% /run/user/0 tmpfs 388M 8.0K 388M 1% /run/user/1000 /dev/sda3 245G 163G 82G 67% /media/linaro/USB3_EXFAT /dev/sda2 241G 163G 66G 72% /media/linaro/USB3_EXT4 /dev/sda1 245G 152G 93G 63% /media/linaro/USB3_NTFS linaro@linaro-alip:~$ free -m total used free shared buff/cache available Mem: 3877 268 3164 41 443 3537 Swap: 0 0 0 |
The image runs Debian 9 with Linux 4.4.55, and we have a 29GB rootfs, and 3877 MB memory in total.
We can get some more details about the CPU with 2 Cortex A72 cores clocked at up to 1.8 GHz, and 4 Cortex A53 cores clocked at up to 1.416 GHz:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
sudo lshw -C cpu *-cpu:0 description: CPU product: cpu-map physical id: 0 bus info: cpu@0 size: 408MHz capacity: 1416MHz capabilities: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt lpae evtstrm aes pmull sha1 sha2 crc32 cpufreq *-cpu:1 description: CPU product: cpu physical id: 1 bus info: cpu@1 size: 408MHz capacity: 1416MHz capabilities: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt lpae evtstrm aes pmull sha1 sha2 crc32 cpufreq *-cpu:2 description: CPU product: cpu physical id: 2 bus info: cpu@2 size: 408MHz capacity: 1416MHz capabilities: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt lpae evtstrm aes pmull sha1 sha2 crc32 cpufreq *-cpu:3 description: CPU product: cpu physical id: 3 bus info: cpu@3 size: 408MHz capacity: 1416MHz capabilities: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt lpae evtstrm aes pmull sha1 sha2 crc32 cpufreq *-cpu:4 description: CPU product: cpu physical id: 4 bus info: cpu@4 size: 1800MHz capacity: 1800MHz capabilities: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt lpae evtstrm aes pmull sha1 sha2 crc32 cpufreq *-cpu:5 description: CPU product: cpu physical id: 5 bus info: cpu@5 size: 1800MHz capacity: 1800MHz capabilities: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt lpae evtstrm aes pmull sha1 sha2 crc32 cpufreq *-cpu:6 DISABLED description: CPU product: cpu physical id: 6 bus info: cpu@6 *-cpu:7 DISABLED description: CPU product: idle-states physical id: 7 bus info: cpu@7 |
The Gigabit Ethernet port and WiFi module are both detected:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
sudo lshw -C network *-network:0 description: Wireless interface physical id: 7 logical name: wlan0 serial: 44:2c:05:2a:57:38 capabilities: ethernet physical wireless configuration: broadcast=yes driver=wl driverversion=0 multicast=yes wireless=IEEE 802.11 *-network:1 description: Ethernet interface physical id: 8 logical name: eth0 serial: 1e:77:b1:cb:99:1b size: 1Gbit/s capacity: 1Gbit/s capabilities: ethernet physical tp aui bnc mii fibre 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation configuration: autonegotiation=on broadcast=yes driver=st_gmac driverversion=March_2013 duplex=full ip=192.168.0.111 link=yes multicast=yes port=MII speed=1Gbit/s |
I could not find Bluetooth however using “communication”, and the list of buses or bridges only showed USB ports, no PCI(e) interfaces:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
sudo lshw -C bus *-core description: Motherboard physical id: 0 *-usbhost:0 product: Generic Platform OHCI controller vendor: Linux 4.4.55 ohci_hcd physical id: 1 bus info: usb@6 logical name: usb6 version: 4.04 capabilities: usb-1.10 configuration: driver=hub slots=1 speed=12Mbit/s *-usbhost:1 product: EHCI Host Controller vendor: Linux 4.4.55 ehci_hcd physical id: 2 bus info: usb@5 logical name: usb5 version: 4.04 capabilities: usb-2.00 configuration: driver=hub slots=1 speed=480Mbit/s *-usbhost:2 product: xHCI Host Controller vendor: Linux 4.4.55 xhci-hcd physical id: 3 bus info: usb@4 logical name: usb4 version: 4.04 capabilities: usb-3.00 configuration: driver=hub slots=1 speed=5000Mbit/s *-usbhost:3 product: xHCI Host Controller vendor: Linux 4.4.55 xhci-hcd physical id: 4 bus info: usb@3 logical name: usb3 version: 4.04 capabilities: usb-2.00 configuration: driver=hub slots=1 speed=480Mbit/s *-usbhost:4 product: Generic Platform OHCI controller vendor: Linux 4.4.55 ohci_hcd physical id: 5 bus info: usb@2 logical name: usb2 version: 4.04 capabilities: usb-1.10 configuration: driver=hub slots=1 speed=12Mbit/s *-usbhost:5 product: EHCI Host Controller vendor: Linux 4.4.55 ehci_hcd physical id: 6 bus info: usb@1 logical name: usb1 version: 4.04 capabilities: usb-2.00 configuration: driver=hub slots=1 speed=480Mbit/s *-usb description: USB hub product: USB2.0 Hub vendor: Genesys Logic, Inc. physical id: 1 bus info: usb@1:1 version: 85.36 capabilities: usb-2.00 configuration: driver=hub maxpower=100mA slots=4 speed=480Mbit/s |
lspci did not return anything either.
Build a Debian Image from Source
Since the image is not really usable with LCD display, I won’t perform more tests on Debian firmware, and instead will work with the SDK, trying to build my own image from source. We can extract the Linux SDK we’ve gotten from the MEGA link:
1 2 3 |
cd VS-RD-RK3399-linuxSDK/Debian_linux_SDK tar xf VS-RD-Rk3399-Linxu-SDK.tgz cd VS-RD-Rk3399-Linxu-SDK/ |
…and follow / adapt the instructions in VS-RK3399 Linux SDK Compile and build (EN).pdf document found in VS-RD software datasheet folder.
The company recommends a build machine running Ubuntu 14.04 / 16.04 64-bit, and I installed some dependencies on my Ubuntu 16.04 computer:
1 |
sudo apt install git gnupg flex bison gperf build-essential zip tar curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib cmake tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386 lzop |
as well as ARM/ARM64 GCC toolchain and other tools and libraries:
1 |
sudo apt install gcc-aarch64-linux-gnu gcc-arm-linux-gnueabihf device-tree-compiler lzop libncurses5-dev libssl1.0.0 libssl-dev |
We can now build u-boot:
1 2 3 |
cd u-boot/ make rk3399_linux_defconfig make ARCHV=aarch64 -j8 |
It should only take a few seconds, and we can make sure the build went fine:
1 2 |
uboot version: U-Boot 2014.10-RK3399-06 (Sep 23 2017 - 19:18:27) pack uboot.img success! |
Next up is the the Linux kernel:
1 2 |
cd ../kernel make ARCH=arm64 rockchip_defconfig |
We have to choose an image to build with the dts file of our choice:
1 2 3 4 |
ls arch/arm64/boot/dts/rockchip/rk3399-videostrong*.dts arch/arm64/boot/dts/rockchip/rk3399-videostrong-board-dulelcd.dts arch/arm64/boot/dts/rockchip/rk3399-videostrong-board-edp.dts arch/arm64/boot/dts/rockchip/rk3399-videostrong-board-mipi.dts |
The -edp image is with eDP LCD display, -mipi is for MIPI LCD display, and the -dulelcd must be for both (“dual LCD”). So there’s no option for no LCD at all right now, and I’m not sure why there’s a need for three DTS files for the board, as surely this should be possible to select/configure the LCD outputs are runtime (TBC). But let’s use the MIPI LCD one:
1 |
make ARCH=arm64 rk3399-videostrong-board-mipi.img -j8 |
I did not go that well, as the build failed:
1 2 |
Makefile:983: recipe for target 'drivers' failed make: *** [drivers] Error 2 |
I tried with rk3399-videostrong-board-edp.img again, and same error, but I noticed more details by scrolling up:
1 2 3 |
make[3]: *** No rule to make target 'drivers/input/touchscreen/gsl3673.o', needed by 'drivers/input/touchscreen/built-in.o'. Stop. scripts/Makefile.build:403: recipe for target 'drivers/input/touchscreen' failed make[2]: *** [drivers/input/touchscreen] Error 2 |
We can see gsl3673.c file is missing:
1 2 |
ls drivers/input/touchscreen/gsl3673* drivers/input/touchscreen/gsl3673.c-old drivers/input/touchscreen/gsl3673.h |
So I renamed the c-old file to c, and could complete the build:
1 2 3 |
Image: kernel.img is ready Pack to resource.img successed! Image: resource.img (with rk3399-videostrong-board-mipi.dtb logo.bmp logo_kernel.bmp) is ready |
Now we can build the complete firmware from source using buildroot:
1 2 3 4 |
cd ../buildroot make rockchip_rk3399_defconfig cd .. ./build_all.sh -j8 |
The build all script will take a long while as it downloads and builds all packages. It took over 2 hours on my machine. I ended with:
1 2 3 |
rm -f *~ core *.core rm: cannot remove '.rkmkdirs': No such file or directory build all Done |
It looks OK, except for the script failed to remove one file/directory. Let’s try to create the firmware file:
1 |
./mkfirmware.sh |
Sadly that part failed too because of conflicts with a patch:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
Package rootfs.img now build rootfs >>> mpp release Patching Applying 0001-buildroot-allow-select-the-memory-allocator.patch using patch: Error: duplicate filename '0001-buildroot-allow-select-the-memory-allocator.patch' Conflicting files are: already applied: /media/hdd/edev/rockchip/rk3399/VS-RD-RK3399-linuxSDK/Debian_linux_SDK/VS-RD-Rk3399-Linxu-SDK/buildroot/package/rockchip/mpp/0001-buildroot-allow-select-the-memory-allocator.patch to be applied : /media/hdd/edev/rockchip/rk3399/VS-RD-RK3399-linuxSDK/Debian_linux_SDK/VS-RD-Rk3399-Linxu-SDK/buildroot/package/rockchip/mpp/0001-buildroot-allow-select-the-memory-allocator.patch package/pkg-generic.mk:165: recipe for target '/media/hdd/edev/rockchip/rk3399/VS-RD-RK3399-linuxSDK/Debian_linux_SDK/VS-RD-Rk3399-Linxu-SDK/buildroot/output/build/mpp-release/.stamp_patched' failed make[1]: *** [/media/hdd/edev/rockchip/rk3399/VS-RD-RK3399-linuxSDK/Debian_linux_SDK/VS-RD-Rk3399-Linxu-SDK/buildroot/output/build/mpp-release/.stamp_patched] Error 1 Makefile:41: recipe for target '_all' failed make: *** [_all] Error 2 build rootfs Done... cp: cannot stat '/media/hdd/edev/rockchip/rk3399/VS-RD-RK3399-linuxSDK/Debian_linux_SDK/VS-RD-Rk3399-Linxu-SDK/buildroot/buildroot/output/images/rootfs.ext4': No such file or directory cp: cannot stat '/media/hdd/edev/rockchip/rk3399/VS-RD-RK3399-linuxSDK/Debian_linux_SDK/VS-RD-Rk3399-Linxu-SDK/buildroot/device/rockchip/rk3399/rockimg/parameter.txt': No such file or directory create uboot.img...done. create trust.img...done. create loader...done. create resource.img...done. create kernel.img...done. Image: image in rockimg is ready |
That failures means the rootfs was not built, and the script is so bad did not stop during mpp build failure, and continued building other libs:
1 2 |
ls rockimg/ kernel.img MiniLoaderAll.bin resource.img trust.img uboot.img |
I have not tried to fix the issue, as I don’t know how many other issues are hidden in that big piles of code. VideoStrong should look into and provide an SDK that actually builds.. In case the build works, we should get rootfs.img file that can be flashed with AndroidTool if we follow the instructions in the PDF file.
However, you’ll also be able to flash the files one by one using upgrade_tool in Linux, no need to have a Windows machine for any part of the process.
It’s hard to recommend VS-RD-RK3399 if you are an individual who want a platform for development since software support and documentation are rather poor, but if you are a company that plans to order in quantity, you should have direct support from the company, and you can contact them via Alibaba’s VideoStrong page. If you have a good skills, and are ready to work to solve whatever issues, you can also purchase the board for $168.32 (2GB/16GB) or $213.29 (4GB/32GB) on GearBest where it is sold under the MECOOL brand (Coupon GBCNA will give a 14% discount), or Aliexpress. For reference, Firefly-RK3399 in equivalent memory/storage configuration sells for $179 and $219 on Aliexpress. It’s also listed on Amazon US for $149.99/$199.99.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
Can you please send direct output from /proc/cpuinfo to an online pasteboard service?
@tkaiser
Output of cat /proc/cpuinfo @ https://pastebin.com/Du1P6e6Z
So r0p2 A72 and r0p4 A53. Fairly fresh.
@Jean-Luc Aufranc (CNXSoft)
Thank you! So at least CPU ‘part’ and ‘revision’ differ between big and LITTLE cores and due to the little ones being cpu0-3 (too) primitive CPU cluster detection logic doesn’t break 🙂
In case time permits I would be really interested in tinymembench numbers for little and big cores individually. I usually kill the unwanted CPU cores like
First run of tinymembench with all cores: linaro@linaro-alip:~/tinymembench$ ./tinymembench tinymembench v0.4.9 (simple benchmark for memory throughput and latency) ========================================================================== == Memory bandwidth tests == == == == Note 1: 1MB = 1000000 bytes == == Note 2: Results for 'copy' tests show how many bytes can be == == copied per second (adding together read and writen == == bytes would have provided twice higher numbers) == == Note 3: 2-pass copy means that we are using a small temporary buffer == == to first fetch data into it, and only then write it to the == == destination (source… Read more »
Second run with only Cortex A53 cores: linaro@linaro-alip:~/tinymembench$ sudo su root@linaro-alip:/home/linaro/tinymembench# for i in 4 5 ; do echo 0 > /sys/devices/system/cpu/cpu${i}/online ; done root@linaro-alip:/home/linaro/tinymembench# ./tinymembench tinymembench v0.4.9 (simple benchmark for memory throughput and latency) ========================================================================== == Memory bandwidth tests == == == == Note 1: 1MB = 1000000 bytes == == Note 2: Results for 'copy' tests show how many bytes can be == == copied per second (adding together read and writen == == bytes would have provided twice higher numbers) == == Note 3: 2-pass copy means that we are using a small temporary buffer == ==… Read more »
@Jean-Luc Aufranc (CNXSoft)
Nice! Thank you.
As a quick reference memory performance from another SoC that might get interesting next year: RTD1296 (Tested/provided by BPi folks on their new BPi-W2)
Hi CnxSoft I’m trying to boot linux on a h96Max (rk3399 4g ram, gigabit , usb-c). So far i’m able to boot on a archlinux rootfs on usb -C through the sdcard. gigabit is working fine but not the console ttyFIQ00, the systemd process is eating 1 cpu I’ve used the stock android kernel and the u boot from the firefly rk3399, with some dd commands to modify the sdcard provided for the firefly. My next step is to recompile a kernel from videostrong and adapt it. If you have the time to test it on your side 🙂 it… Read more »
In case you want to test some stuff like network performance later most probably you’ll realize that all interrupts end up on cpu0 potentially bottlenecking some situations with eg. USB3 and GbE access at the same time. I’ve not seen full /proc/interrupts output for RK3399 so far (neither vendor nor mainline kernel) but something like thisshould work in any case to have at least a more sane Ethernet IRQ processing. But then it still might depend on cpufreq scaling (when clockspeed of the little cores remains at the lower limit then saturating Gigabit Ethernet might not be possible so either… Read more »
@Occip
I’m very very interested too. If you are able to boot fully into it and use it as a headless server, i’ll order one of such boxes. I own 2 of H96Pro+, which i use to run Ubuntu + Docker, really love it.
Can you share you image files for others to test?
If you need a place to upload, use https://my.owndrive.com/index.php/s/vNynzw9pk5fIYhT
I’ll then publicly share the files to all 🙂
Good info. Mine board will arrive tomorrow most probably but because of some issues I have, not really sure when will start working on it.
Somebody asked about idle power consumption on G+.
The board running Debian 9 with USB keyboard and mouse, HDMI and Ethernet consumes about 4.1W in idle mode.
@Occip Ah you went further than I did with H96Max. All the linux images that I tried hang during the kernel boot, and I yet didn’t manage to replace only the rootfs and keep the kernel (it took me a while to figure that this board has to be flashed via the USB3 port and not the USB-C). I’ll definitely have to try that archlinux image. I’d like to at least get an u-boot with the bootdelay set to 1 so that I can interrupt it. By experience, development process becomes much faster once you have this. @Jean-Luc Aufranc (CNXSoft),… Read more »
It’s the mega link in previous post linked to in first paragraph.
@willy
@tkaiser
I see both of you have completely skipped the Android part of the post… I don’t blame you :), but the link is there at “VS3399 board’s MEGA folder”.
@fossxplorer
I’ll try to put an sd image on your server. I’ve managed to boot the videostrong kernel on the h96max but only the usb 2.0 port is working.
@willy
The sdcard method is really good , faster than flashing the board. With the parameter file you can move the root fs on usb drive
Stay tuned
@Jean-Luc Aufranc (CNXSoft)
No I didn’t skip it, though I read quicker I admit, but the text around the link speaks about the Android image and I didn’t correlate it with the linux one. Thanks for the link 😉
@Occip
Good to know, thanks for the indications.
@Occip
Sounds good and looking forward. Good to see @willy is also working on it 🙂
Wondering whether to buy a H96 Max now or later since i just got 2x H96Pro+ 🙂
@Jean-Luc Aufranc (CNXSoft)
Hi CnxSoft
I’ve played with the debian image on H96Max . I’ve got the same problem as you the HDMI is on the right side.
I’ve opened a terminal (and dragged it on the right) and issued the following command:
The menu is now available on HDMI 🙂
I’ve enabled the wired network and the wifi seems to work .
@occip
Is there a possibility to get mainline kernel working on this box?
@fossxplorer
Hi
I’ve uploaded a sdcard image on your owncloud server. H96maxdebian.img. Just put your sdcard in your hp96max board and wait 🙂
Use at your own risk. The usb-c connector is not working, it may need a kernel mod.
I will try to compile a mainline kernel after tweaking the videostrong kernel
@fossxplorer
@Occip
I don’t see why it wouldn’t be possible. Just checked 3.14rc tree, there are evb and firefly 3399 device trees there and looks like someone already ported Armbian using mainline to 3399 EVB board.
@Occip
Whooaaa, that’s AWESOME. I’m placing an order for this box NOW! Highly appreicated! I’ve made the link “public” and not “upload only” so others can download the image as well: https://my.owndrive.com/index.php/s/vNynzw9pk5fIYhT
@Stane1983, that sounds promising. Armbian support sounds really awesome as i run it on my H96Pro+ board 🙂
Btw, i’ve already started to think about replacing the heatsink with a bigger one and possibly also a fan (USB fan) on top of it. I dunno how H96Max looks inside, but i’ll probably use a pretty big heatsink and just remove one side of the cover.
How do you guys remove stock heatsink without breaking anything?
:)I need to do the same on H96Pro+ as well.
The boards looks like http://freaktab.com/filedata/fetch?photoid=654187
@fossxplorer
Removing the heatsink will be very easy, just pinch and push the two plastic bits on the bottom side of the board.
@Stane1983
Hi
I’m very happy with the videostrong kernel, almost everything is working on my H96Max :
All usb ports OK
shutdown OK
wifi OK
ethernet OK
HDMI working (lxde desktop ok)
What i’ve done:
extract the DTB from the original resource.img ( h96 android kernel, offset 0x800)
convert DTB to DTS with dtc command ( I’m very impressed )
compile the videstrong kernel as described on this page with my DTS
put kernel.img + resource.img on sdcard .
The system is really fast , 10 seconds to the LXDE desktop 🙂
Next step is to compile mainline kernel (4.12)
My Debian impressions…. I’m actually surprised… If there was HDMI issue on wrong side, with image that is available now for download it’s fixed. Everything I tested (except Bluetooth) worked. No lags, UI is smooth, web browsing using Chromium is smooth, youtube playback is smooth but could be smoother (maybe it’s because of WiFi, didn’t use ethernet to connect to net). Kodi 17.1 that ships with Debian stretch works just fine… This is my first experience with Rockchip SoC after long time…. and I love it 🙂
@occip Same here, I flashed the VS image onto my H96Max and it worked out of the box. I was surprized that the rootfs is 32-bit only despite the 64-bit kernel. Not a big deal though. The first tests I’ve run show that it’s about 10% faster than the MiQi for gcc. At the moment it’s limited to 1.8/1.4 GHz. I haven’t modified the DTB yet to change this (the rockchip process is a real pain to go through with all their conversion steps and I’m not feeling brave enough to go into this again right now). The device doesn’t… Read more »
Hi
On h96max With the correct DTB the shutdown is working as well as the usb C.
I’ve made test with the latest mainline kernel ( rk3399 EVM dts) . Only gigabit and usb3 are working, no hdmi and no cpufreq ( stay at 408MHz)
We have to wait for the next kernel version …
I added VS device trees to rockchip upstream kernel if someone wants to check it out:
https://github.com/Stane1983/kernel
there is also separate branch vs-rk3399 with 2 more commits (Makefile predefined toolchains removed and rockchip_linux_defconfig merged with VS one).
I tested kernel only with headless Linux (Debian 9 aarch64 rootfs). What I tested worked 🙂 Comments, issues, PRs are welcome.
I have maybe a bit stupid question but….
This board lacks a bit of community support while VERY similar board Firefly Rk3399 seems to be a bit more supported ie – armbian… Will software from Firefly RK3399 work on VS RK3399?
Well… board does not boot from SD with Armbian for Firefly RK3399… which is good and bad…
Good because according to documentation boot from SD should happen only if eMMC will be shortcuted but this board actually boots try to boot as while SD card is in with system normal eMMC is not starting and for Armbian it is changing led to red even (short the eMMC clock to GND) http://opensource.rock-chips.com/wiki_Boot_option#Boot_flow
Bad – since board didnt booted.