ITCooky Recipes

Lets cooky it yammy things!

Khadas Edge-V MAX: Excellent and Terrible, review!

дата July 1, 2020

I have seen Khadas in the videos of many video bloggers, they described it with great enthusiasm, I thought it was something special, no, it turned out to be very strange, badly done, useless!

Like all bloggers, I certainly did not buy it on my own, it was a gift, but with the phrase “good for nothing!” I have a version Khadas Edge-V MAX the most expensive, with 128 Gb eMMC, in the RK3399 soc of 2017: think about it in 2020, those who are going to pay $ 230 for Khadas Edge-V MAX (this is only for micropc no power or anything)!uter without power or anything)!

Such a fancy microcomputer needs a fancy case. And there is, only one, it is designed for a board without shields, lets buy it!

15$ per plastic plus 9$ per piece of iron! There is only one problem! This case, sold in the Edge-V section, is not suitable for Edge-V! And even the iron piece cannot be screwed to the plastic because of that!

Well, okay, maybe someone has a case for Khadas Edge-V MAX, no, no! Suggest a solution to screw the missing hole in official case or print your own in 3D printer!

I also have a fan and a cooler, surely there will be no damage from them! But there is harm! Khadas is presented as a cool TV box, and since the power supply reaches 4A, it needs to cool down. Imagine you watch a movie, in Android settings there is a check mark to cool if need, and you watch a movie and there comes a tense moment with no bangs and moans and VVZHUUUUUUUUUUUUUHHHHHHHHHHHHHHHHHHHHHH I thought i could turn it into a player and in Google storage , but no, with so much noise, definitely not!

A fan and cooler + 25$ total and 279$ for a microcomputer that definitely can’t be a TV box!

While Khadas has Android I run the test Geekbenchmark 5

Khadas is faster than RPI4, much faster than Redmi 8A, but they are still a long far way from old PC Desktop. Geekbenchmark 5 is suitable for x86-64 64-bit architecture, for that i did test at Intel, but the ARM architecture is not valid, therefore, you can only test through Android.

Subiré a Khadas Linux en eMMC
First you need to connect Khadas to your PC, you need a USB C to normal USB cable!
I also advise you to connect Khadas to external power!

Download Edge_Ubuntu-server-focal_Linux-5.7_arm64_EMMC_V0.9.1-20200602
docs.khadas.com/edge/FirmwareUbuntu.html#EMMC-Installation

According to the instructionsdocs.khadas.com/edge/HowtoBootIntoUpgradeMode.html
we introduced khadas to upgrade mode, these passes worked for me

1 Power-on Edge.
2 Quickly press the Function key 3 times in 2 seconds, then release the key.

According to the instructions
docs.khadas.com/edge/UpgradeViaUSBCable.html
for Ubuntu
sudo apt-get install libusb-dev git parted
git clone https://github.com/khadas/utils
cd ./utils
git pull
./INSTALL

burn
rk-burn-tool -i Edge_Ubuntu-server-focal_Linux-5.7_arm64_EMMC_V0.9.1-20200602.img

And I’m going for ssh, IP looked at my router

Name: khadas
Password: khadas

I do synthetic tests sysbench 1.0
sysbench --test=cpu run
sysbench --test=cpu --num-threads=2 run
sysbench --test=cpu --num-threads=4 run
sysbench --test=cpu --num-threads=6 run
sysbench --test=cpu --num-threads=8 run

More is better! It is clear that eMMC and SD do not affect CPU speed. Old Intel loses here, maybe due to architecture they outperformed RISC vs CISC

Checking the speed of eMMC
sudo dd if=/dev/zero of=test.file count=10000 bs=1048576

10485760000 bytes (10 GB, 9.8 GiB) copied, 47.7476 s, 220 MB/s

Speed is good, much higher than SD!

More test
hdparm -Tt --direct /dev/mmcblk2p7

/dev/mmcblk2p7:
 Timing O_DIRECT cached reads:   302 MB in  2.00 seconds = 150.64 MB/sec
 HDIO_DRIVE_CMD(identify) failed: Invalid argument
 Timing O_DIRECT disk reads: 812 MB in  3.00 seconds = 270.26 MB/sec

I add battery BAT-D01 Battery Module for 40$ and a battery controller Juice Module for 5$ … well I’ll add more M2X ExtensionPOE – M2 NVe shild for $ 25 (although POE doesn’t work with Khadas Edge-V)

Photo of a microcomputer for $ 360 in a manufacturer’s case, with plates designed specifically for it!

The problem with the battery on Khadas Edge-V
It doesn’t work on Linux! After the first descharge it does not charge!
The problem is known and cannot be solved for long time
forum.khadas.com/t/edge-v-domain-power-management-lipo-battery-does-not-charge

M2 PCI NVme disk
M2 NVme shield is definitely compatible with Samsung EVO 960 256Gb … I don’t know when it will come to me, hopefully at that moment I will find out what to do with Edge-V!
docs.khadas.com/edge/ListOfCompatibleNVMeSSDs.html

I have 256Gb KingSpec M.2 NVMe SSD NE Series 2280 PCIE Gen3x4
this one, it cist 2482 RUR liexpress.ru/item/32847169083.html?spm=a2g0s.12269583.0.0.5dc641fdx5IN1T


You can get speed of disk even if its not mounted
hdparm -Tt --direct /dev/nvme0n1

/dev/nvme0n1:
 Timing O_DIRECT cached reads:   1052 MB in  2.00 seconds = 525.93 MB/sec
 HDIO_DRIVE_CMD(identify) failed: Inappropriate ioctl for device
 Timing O_DIRECT disk reads: 1612 MB in  3.00 seconds = 537.27 MB/sec

Lets get some info about NVMe
modinfo nvme

name:           nvme
filename:       (builtin)
version:        1.0
license:        GPL
file:           drivers/nvme/host/nvme
author:         Matthew Wilcox <willy@linux.intel.com>
parm:           use_threaded_interrupts:int
parm:           use_cmb_sqes:use controller's memory buffer for I/O SQes (bool)
parm:           max_host_mem_size_mb:Maximum Host Memory Buffer (HMB) size per controller (in MiB) (uint)
parm:           sgl_threshold:Use SGLs when average request segment size is larger or equal to this size. Use 0 to disable SGLs. (uint)
parm:           io_queue_depth:set io queue depth, should >= 2
parm:           write_queues:Number of queues to use for writes. If not set, reads and writes will share a queue set. (uint)
parm:           poll_queues:Number of queues to use for polled IO. (uint)

Create FS and mount NVMe disk
sudo mkfs.ext4 /dev/nvme0n1
mount /dev/nvme0n1 /mnt/nve

Real speed test
sudo dd if=/dev/zero of=test.file count=10000 bs=1048576

10000+0 records in
10000+0 records out
10485760000 bytes (10 GB, 9.8 GiB) copied, 31.718 s, 331 MB/s

Its bigger than on internal eMMC

Linux fan problem at Edge-V
It says here how you can configure it docs.khadas.com/edge/HowToSetupFan.html

The fan was already in auto and had to turn on, but it didn’t turn on!
You can see the temperature like this
sudo /usr/local/bin/fan.sh temp
The fan can be turned on by setting the volume level
sudo /usr/local/bin/fan.sh low
And you can’t turn it off
sudo /usr/local/bin/fan.sh off

/usr/local/bin/fan.sh: line 87: /sys/class/hwmon/hwmon0/enable: Permission denied
CAUTION: Disabling fan can reduce the lifetime of this board!

Even at low the fan is already making a lot of noise!

However, by looking at the /usr/local/bin/fan.sh script you can understand that the fan turns off like this!
echo 0 > /sys/class/thermal/cooling_device0/cur_state

And you can see the temperature like this
cat /sys/class/thermal/thermal_zone0/temp

Lets write a fan controller in Node-Red

I’ll put Node-Red like on Raspberry
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
and to start boot
sudo systemctl enable nodered.service

Here it is

code

[{"id":"d8342f64.6c8678","type":"tab","label":"Flow 1","disabled":false,"info":""},{"id":"69301ab6.b1b544","type":"exec","z":"d8342f64.6c8678","command":"bash /home/khadas/temp.sh","addpay":true,"append":"","useSpawn":"false","timer":"","oldrc":false,"name":"","x":560,"y":280,"wires":[["6ebf99e8.3843f","14256e93.bac029","86c0c740.00bc7"],[],[]]},{"id":"59e6d7e5.13acb8","type":"inject","z":"d8342f64.6c8678","name":"","topic":"","payload":"","payloadType":"date","repeat":"5","crontab":"","once":false,"onceDelay":0.1,"x":330,"y":280,"wires":[["69301ab6.b1b544"]]},{"id":"6ebf99e8.3843f","type":"ui_chart","z":"d8342f64.6c8678","name":"","group":"ac6f8ab6.993fc","order":3,"width":0,"height":0,"label":"","chartType":"line","legend":"false","xformat":"HH:mm:ss","interpolate":"cubic","nodata":"","dot":false,"ymin":"","ymax":"","removeOlder":1,"removeOlderPoints":"","removeOlderUnit":"3600","cutout":0,"useOneColor":true,"useUTC":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":false,"outputs":1,"x":770,"y":240,"wires":[[]]},{"id":"14256e93.bac029","type":"ui_text","z":"d8342f64.6c8678","group":"ac6f8ab6.993fc","order":1,"width":0,"height":0,"name":"","label":"CPU temp: ","format":"{{msg.payload}} °C","layout":"row-center","x":790,"y":160,"wires":[]},{"id":"86c0c740.00bc7","type":"switch","z":"d8342f64.6c8678","name":"","property":"payload","propertyType":"msg","rules":[{"t":"lt","v":"40","vt":"num"},{"t":"btwn","v":"40","vt":"num","v2":"55","v2t":"num"},{"t":"btwn","v":"56","vt":"num","v2":"65","v2t":"num"},{"t":"gt","v":"65","vt":"num"}],"checkall":"true","repair":false,"outputs":4,"x":310,"y":460,"wires":[["413e1c31.f5cbc4"],["7231d613.e4ee98","8cadde92.1a901"],["a7c696d3.4e8958","8cadde92.1a901"],["3d4e9bbd.556c44","8cadde92.1a901"]]},{"id":"413e1c31.f5cbc4","type":"delay","z":"d8342f64.6c8678","name":"","pauseType":"delay","timeout":"1","timeoutUnits":"minutes","rate":"1","nbRateUnits":"60","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":520,"y":400,"wires":[["27e11699.8b54aa"]]},{"id":"27e11699.8b54aa","type":"exec","z":"d8342f64.6c8678","command":"bash /home/khadas/fanoff.sh","addpay":true,"append":"","useSpawn":"false","timer":"","oldrc":false,"name":"","x":740,"y":400,"wires":[["823f2435.9f77d"],[],[]]},{"id":"823f2435.9f77d","type":"ui_text","z":"d8342f64.6c8678","group":"ac6f8ab6.993fc","order":2,"width":0,"height":0,"name":"","label":"Fan ","format":"{{msg.payload}}","layout":"row-center","x":770,"y":200,"wires":[]},{"id":"7231d613.e4ee98","type":"exec","z":"d8342f64.6c8678","command":"bash /home/khadas/fanlow.sh","addpay":true,"append":"","useSpawn":"false","timer":"","oldrc":false,"name":"","x":750,"y":460,"wires":[["823f2435.9f77d"],[],[]]},{"id":"a7c696d3.4e8958","type":"exec","z":"d8342f64.6c8678","command":"bash /home/khadas/fanmid.sh","addpay":true,"append":"","useSpawn":"false","timer":"","oldrc":false,"name":"","x":750,"y":520,"wires":[["823f2435.9f77d"],[],[]]},{"id":"3d4e9bbd.556c44","type":"exec","z":"d8342f64.6c8678","command":"bash /home/khadas/fanhigh.sh","addpay":true,"append":"","useSpawn":"false","timer":"","oldrc":false,"name":"","x":750,"y":580,"wires":[["823f2435.9f77d"],[],[]]},{"id":"8cadde92.1a901","type":"function","z":"d8342f64.6c8678","name":"reset","func":"msg.reset = true;\nreturn msg;","outputs":1,"noerr":0,"x":410,"y":580,"wires":[["413e1c31.f5cbc4"]]},{"id":"ac6f8ab6.993fc","type":"ui_group","z":"","name":"Khadas Edge-V","tab":"2a69cb5b.3416d4","order":1,"disp":true,"width":"6","collapse":false},{"id":"2a69cb5b.3416d4","type":"ui_tab","z":"","name":"HWmonitor","icon":"dashboard","order":1,"disabled":false,"hidden":false}]

Those scripts should be put in /home/khadas/
khadas_temp.tar

And it turns out like this

You can warm up the CPU well with the command
stress -c 6


2 Responses to “Khadas Edge-V MAX: Excellent and Terrible, review!”

  1. […] Khadas Edge-V MAX review with a focus on Linux and peripherals!https://en.itcooky.com/?p=173 […]

  2. […] That’s it, the latest attempt to find a use for Khadas Edge-V MAX from the most pretentious, most expensive and moosr funny Chinese manufacturer. Guys are really funny – they say this is the most powerful miniPC for Android TV, but they haven’t certifide it with Google, which means Netflix won’t work and etc. They sell the official case for Khadas Edge MAX, but they do not warn that it will have to be finalized! All kinds of additional options: it was possible to do something with them, but the battery works only on Android, who needs an Android like that: a cooler, it’s good only if it doesn’t scream louder than the TV, but this is not about the Khadas official cooler ? I already described this in detail here ¡Review of Edge-V MAX as a TV Box for Netflix! and here Khadas Edge-V MAX: Excellent and Terrible, review!! […]

Leave a Reply

Your email address will not be published. Required fields are marked *