这是Khadas VIM4评测的最后一部分了,这次我会使用Ubuntu 22.04 “Jammy Jellyfish”来进行测试。如果你是刚开始了解使用这款开发板的话,估计得需要看看我之前的相关文章,第一部分是拆箱和首次启动,第二部分是Android 11相关的内容 。
Khadas VIM4上的Ubuntu 22.04安装
我使用与OOWOW固件相同的安装方法,直接从Khadas服务器下载镜像,并将其安装到了eMMC闪存中。由于我已经在开发板上运行了Android 11,因此我必须要按住功能键(中间的按键)、然后短按重置按钮、接着松开功能键并进入OOWOW界面。在这里,我选择了Ubuntu 22.04 Gnome,然后就可以继续下载了。

下载速度很快,几分钟就下载好了758.2MB的压缩镜像。接着很简单,直接选择“安装”然后进行下一步,替换之前安装的Android 11。

重新启动开发板后,我进入了Ubuntu 22.04中。注意这里的用户名和密码都是“khadas”。

系统信息
如果你们想查看内核启动日志,可以在CNX pastebin上查看。
我这次还是按照之前在ODROID-N2+评测中的步骤,从一些系统信息开始:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
khadas@Khadas:~$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=22.04 DISTRIB_CODENAME=jammy DISTRIB_DESCRIPTION="Ubuntu 22.04 LTS" khadas@Khadas:~$ uname -a Linux Khadas 5.4.125 #1.0.10 SMP PREEMPT Mon Apr 25 13:56:56 CST 2022 aarch64 aarch64 aarch64 GNU/Linux khadas@Khadas:~$ free -mh total used free shared buff/cache available Mem: 7.8Gi 851Mi 6.0Gi 33Mi 937Mi 6.8Gi Swap: 1.0Gi 0B 1.0Gi khadas@Khadas:~$ df -mh Filesystem Size Used Avail Use% Mounted on tmpfs 796M 11M 786M 2% /run /dev/rootfs 29G 3.4G 25G 12% / tmpfs 3.9G 0 3.9G 0% /dev/shm tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 3.9G 16K 3.9G 1% /tmp tmpfs 796M 124K 796M 1% /run/user/1000 /dev/mmcblk1p1 30G 11M 30G 1% /media/khadas/9665-7646 khadas@Khadas:~$ |
它在Linux 5.4.125上运行Ubuntu 22.04,这里我们有大约8 GB RAM和29GB的root分区。我们安装并运行inxi来获取更多的详细信息:
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 68 69 70 71 72 |
khadas@Khadas:~$ inxi -Fc0 System: Host: Khadas Kernel: 5.4.125 aarch64 bits: 64 Desktop: GNOME 42.0 Distro: Ubuntu 22.04 LTS (Jammy Jellyfish) Machine: Type: ARM System: Khadas VIM4 serial: 21a0000029 CPU: Info: 2x 4-core model: N/A variant-1: cortex-a53 variant-2: cortex-a73 bits: 64 type: MCP AMP Speed (MHz): avg: 2112 min/max: 500/2208:2016 cores: 1: 2208 2: 2208 3: 2208 4: 2208 5: 2016 6: 2016 7: 2016 8: 2016 Graphics: Device-1: vpu-t7 driver: vpu v: N/A Device-2: amhdmitx-t7 driver: amhdmitx21 v: N/A Display: wayland server: X.Org v: 1.22.1.1 with: Xwayland v: 22.1.1 compositor: gnome-shell driver: gpu: meson,meson-lcd,meson-vpu resolution: 1920x1080~60Hz OpenGL: renderer: llvmpipe (LLVM 13.0.1 128 bits) v: 4.5 Mesa 22.0.1 Audio: Device-1: audio- driver: aml_audio_controller Device-2: snd-iomap driver: auge_snd_iomap Device-3: audio_data driver: audio_data_debug Device-4: t7-audio-clocks driver: audio_clocks Device-5: t5-audio-ddr-manager driver: audio_ddr_manager Device-6: tm2-snd-pdm driver: snd_pdm Device-7: audio-pinctrl driver: pinctrl_audio Device-8: t5-resample-a driver: audioresample Device-9: t5-resample-b driver: audioresample Device-10: tm2-revb-snd-spdif-a driver: snd_spdif Device-11: tm2-revb-snd-spdif-b driver: snd_spdif Device-12: t7-snd-tdma driver: snd_tdm Device-13: t7-snd-tdmb driver: snd_tdm Device-14: t7-snd-tdmc driver: snd_tdm Device-15: hifi4dsp driver: hifi4dsp Device-16: amhdmitx-t7 driver: amhdmitx21 Device-17: hifi4dsp driver: N/A Device-18: hifi4dsp driver: N/A Sound Server-1: ALSA v: k5.4.125 running: yes Sound Server-2: PulseAudio v: 15.99.1 running: yes Sound Server-3: PipeWire v: 0.3.48 running: yes Network: Device-1: meson-axg-dwmac driver: meson8b_dwmac IF: eth0 state: up speed: 1000 Mbps duplex: full mac: c8:63:14:72:5f:52 Device-2: aml-wifi driver: aml_wifi IF-ID-1: dummy0 state: down mac: 02:ec:aa:7a:7d:f7 IF-ID-2: ip6_vti0 state: down mac: 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 IF-ID-3: ip6tnl0 state: down mac: 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 IF-ID-4: ip_vti0 state: down mac: 00:00:00:00 IF-ID-5: wlan0 state: dormant mac: 10:2c:6b:10:d7:e6 IF-ID-6: wlan1 state: dormant mac: 12:2c:6b:10:d7:e6 Bluetooth: Device-1: meson-uart driver: meson_uart Report: hciconfig ID: hci0 state: up address: 10:2C:6B:10:D7:E7 bt-v: 3.0 Drives: Local Storage: total: 58.24 GiB used: 5.04 GiB (8.7%) ID-1: /dev/mmcblk0 vendor: Samsung model: BJTD4R size: 29.12 GiB ID-2: /dev/mmcblk1 vendor: SanDisk model: SD16G size: 29.12 GiB Partition: ID-1: / size: 28.48 GiB used: 5.03 GiB (17.7%) fs: ext4 dev: /dev/rootfs Swap: ID-1: swap-1 type: zram size: 256 MiB used: 0 KiB (0.0%) dev: /dev/zram1 ID-2: swap-2 type: zram size: 256 MiB used: 0 KiB (0.0%) dev: /dev/zram2 ID-3: swap-3 type: zram size: 256 MiB used: 0 KiB (0.0%) dev: /dev/zram3 ID-4: swap-4 type: zram size: 256 MiB used: 0 KiB (0.0%) dev: /dev/zram4 Sensors: System Temperatures: cpu: 51.8 C mobo: N/A Fan Speeds (RPM): N/A Info: Processes: 248 Uptime: 1h 59m Memory: 7.77 GiB used: 979.3 MiB (12.3%) Shell: Bash inxi: 3.3.13 |
我注意到在这里ZRAM已经启用了,而且有两个WLAN接口。这个WLAN接口具体的使用,我会在测试WiFi时详细解释。
Linux中的Khadas VIM4基准测试
我是从sbc-bench.sh开始的,但平均负载太高了所以没法启动。

这根本没有任何作用,而且我之前也没有跑过其他进程,这就真的有点奇怪。在与 sbc-bench.sh开发人员Thomas Kaiser讨论之后,我从Amlogic SDK中找到了可能导致这个问题的原因:
1 2 3 4 5 6 |
khadas@Khadas:~$ ps 178 PID TTY STAT TIME COMMAND 178 ? D 0:02 [crg_reset_0_thr] khadas@Khadas:~$ ps 53 PID TTY STAT TIME COMMAND 53 ? D< 0:01 [vmap_thread] |
是因为我只是修改了sbc-bench.sh,就跳过平均负载检查直接进行基准测试了,但最新版本的工具应该无需修改就可以运行了。
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 |
sudo /bin/bash ./sbc-bench.sh -c Average load is 0.1 or higher (way too much background activity). Waiting... sbc-bench v0.9.4 Installing needed tools. This may take some time..../sbc-bench.sh: line 1328: : No such file or directory Done. Checking cpufreq OPP. Done (results will be available in 14-19 minutes). Executing tinymembench. Done. Executing OpenSSL benchmark. Done. Executing 7-zip benchmark. Done. Checking cpufreq OPP. Done (20 minutes elapsed). Memory performance (different CPU cores measured individually): memcpy: 7816.6 MB/s (0.2%) memset: 11717.9 MB/s memcpy: 2127.4 MB/s memset: 10588.1 MB/s 7-zip total scores (3 consecutive runs): 12016,12028,12132 OpenSSL results (different CPU cores measured individually): type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes aes-128-cbc 340689.15k 881206.06k 1410492.07k 1649971.88k 1748642.47k 1754764.63k aes-128-cbc 149831.11k 461121.77k 943687.08k 1308184.58k 1472618.50k 1461382.04k aes-192-cbc 319216.09k 796967.81k 1195461.89k 1387976.70k 1458872.32k 1463440.73k aes-192-cbc 143651.73k 414755.01k 777326.76k 1012672.51k 1110059.69k 1117558.10k aes-256-cbc 309348.38k 723233.54k 1063064.92k 1197730.82k 1251726.68k 1255576.92k aes-256-cbc 139829.49k 384315.90k 677202.69k 849066.33k 916553.73k 921638.23k Full results uploaded to http://ix.io/3Xna. |
现在我将部分测试结果与ODROID-N2+、树莓派4 @ 1.5 GHz和超频2.0 GHz进行了比较。

如memcpy和memset基准测试所示,Khadas VIM4在内存带宽方面独树一帜,7-zip也快了很多,速度是1.5 GHz树莓派4的两倍多。不过,在多线程基准测试中拥有八个内核确实起到了很大作用。作为单线程基准测试,AES-256在的ODROID-N2+上要稍微快一些,而且在用于Amlogic S922X处理器的Cortex-A73内核上具有更高的2.4 GHz频率。由于缺少 Armv8加密扩展,树莓派4的AES-256分数就像往常一样差。
现在我尝试使用Speedometer 2.0的浏览器来进行基准测试,我在Khadas VIM3评测中使用 的是Chromium。

Khadas VIM4获得了35.65分,而采用Amlogic A311D驱动的Khadas VIM3获得了25.6分,超频至2.0 GHz的树莓派4获得了21分,这就说明Khadas VIM4拥有更高性能。这么看来,自从2019年以来,Chromium应该也是进行了一些优化。

Firefox在VIM4开发板的相同基准测试中,表现似乎没有那么好。
3D图形测试
这是glxinfo的部分输出:
1 2 3 4 5 6 7 8 9 10 11 12 |
Extended renderer info (GLX_MESA_query_renderer): Vendor: Mesa/X.org (0xffffffff) Device: llvmpipe (LLVM 13.0.1, 128 bits) (0xffffffff) Version: 22.0.1 Accelerated: no Video memory: 7951MB Unified memory: no Preferred profile: core (0x1) Max core profile version: 4.5 Max compat profile version: 4.5 Max GLES1 profile version: 1.1 Max GLES[23] profile version: 3.2 |
在我看来,这个结果有点像软件渲染的结果。为了确定这一点,我们还是来看看LLVMPipe到底是什么:
Gallium llvmpipe驱动程序是一个软件光栅化程序,它使用LLVM来实现运行时的代码生成。着色器、点/线/三角形光栅化和顶点处理则使用LLVM IR实现,它被转换为x86、x86-64或 ppc64le机器代码。此外,它的驱动程序是多线程的,所以可以利用多个CPU内核(现在的情况最多是8个)。它是Mesa上最快的软件光栅化程序。
已经确认了。这么看来当我运行glmark2-es2时,最终还是会出现错误:
1 2 3 |
Error: eglGetDisplay() failed with error: 0x3000 Error: eglGetDisplay() failed with error: 0x3000 Error: main: Could not initialize canvas |
这也就意味着它不支持3D硬件加速了。
Khadas VIM4上的视频解码和编码
Amlogic A311D2 SoC配备了8Kp24/4Kp60 VPU,能够解码AV1、H.265、VP9、H.264等等。但它的文档在视频播放部分仍然显示着“TO DO”。所以我只尝试在Firefox中播放了YouTube 视频。

在Chromium上我也试了一下。

由于不支持硬件视频解码,它的CPU占用非常高。不过比较好的是,其ARM处理器足够强大,可以使用软件视频解码,从而相对流畅地播放4Kp24视频(渲染到1920×1080 viewport)。在Firefox上的丢帧的情况倒是要好一些,只是从嵌入视图切换到全屏视图时会有一点掉帧。但切换到全屏视图后,我就没有看到有任何丢帧情况了。在Google上就会每秒丢一帧,但这还是不影响视频观看的。
虽然它的硬件视频解码令人失望,但我发现它是能够使用H.264/H.265硬件视频编码的,这一点让我挺惊喜的。你们如果感兴趣,可以在“ Amlogic A311D2处理器上的Linux 硬件视频编码”的文章中了解更多详细信息。不过这也不是完美的,因为只有在封闭源代码的演示中可使用,但Khadas方面告诉我,他们正为在Github上发布代码努力着。
eMMC和USB存储
现在我们在eMMC闪存上运行文件系统的benchmark工具—iozone试试看:
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 |
$ iozone -e -I -a -s 1000M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 Iozone: Performance Test of File I/O Version $Revision: 3.489 $ Compiled for 64 bit mode. Build: linux Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins Al Slater, Scott Rhine, Mike Wisner, Ken Goss Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR, Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner, Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone, Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root, Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer, Vangel Bojaxhi, Ben England, Vikentsi Lapa, Alexey Skidanov, Sudhir Kumar. Run began: Sat May 21 18:36:17 2022 Include fsync in write timing O_DIRECT feature enabled Auto Mode File size set to 1024000 kB Record Size 4 kB Record Size 16 kB Record Size 512 kB Record Size 1024 kB Record Size 16384 kB Command line used: iozone -e -I -a -s 1000M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 Output is in kBytes/sec Time Resolution = 0.000001 seconds. Processor cache size set to 1024 kBytes. Processor cache line size set to 32 bytes. File stride size set to 17 * record size. random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 1024000 4 42448 49401 33738 35273 30351 33959 1024000 16 95388 84746 83386 87949 78675 72818 1024000 512 109351 90438 166659 166804 144584 70463 1024000 1024 68088 98663 175108 174902 164769 58980 1024000 16384 71086 109715 178448 178144 182913 87181 iozone test complete. |
顺序读取速度大约是178MB/s、顺序写入速度大约是71MB/s。这其实不足为奇,对于相对平稳的操作来说也已经足够了。
我有一个带480GB SSD的MINIX USB Hub,我在其他平台上测速时,它的速度能达到 400MB/s。

比较遗憾的是,硬盘无法挂载,即使使用fdisk和GParted等工具也无法识别。在仔细查看Khadas VIM4规格时,我意识到USB Type-C端口也是USB 2.0 OTG接口,所以最多支持的速度应该是40MB/s左右。
我还将USB 3.0硬盘连接到了USB端口上:
1 2 3 4 5 |
lsusb -t /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 10000M |__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 5000M/x2 /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M |
驱动器有好几个分区,而且这些分区也不是自动挂载的。所以我安装了pmount来辅助手动安装:
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 |
$ pmount /dev/sda1 $ pmount /dev/sda2 $ pmount /dev/sda3 Error: invalid file system name 'exfat' NTFS signature is missing. Failed to mount '/dev/sda3': Invalid argument The device '/dev/sda3' doesn't seem to have a valid NTFS. Maybe the wrong device is used? Or the whole disk instead of a partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around? NTFS signature is missing. Failed to mount '/dev/sda3': Invalid argument The device '/dev/sda3' doesn't seem to have a valid NTFS. Maybe the wrong device is used? Or the whole disk instead of a partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around? $ pmount /dev/sda4 Error: invalid file system name 'btrfs' NTFS signature is missing. Failed to mount '/dev/sda4': Invalid argument The device '/dev/sda4' doesn't seem to have a valid NTFS. Maybe the wrong device is used? Or the whole disk instead of a partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around? NTFS signature is missing. Failed to mount '/dev/sda4': Invalid argument The device '/dev/sda4' doesn't seem to have a valid NTFS. Maybe the wrong device is used? Or the whole disk instead of a partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around? |
sda1(NTFS)和sda2 (EXT-4)安装都没有问题,但没有exFAT和BTRFS分区。所以我只好为sda1(NTFS)安装了exfat-fuse:
1 |
sudo apt install exfat-fuse |
pmount命令不起作用了,我又只好使用mount代替:
1 2 |
sudo mkdir -p /media/sda3 sudo mount -t exfat /dev/sda3 /media/sda3 |
pmount不支持的btrfs也可以使用mount创建:
1 2 |
$ sudo mkdir -p /media/sda4 $ sudo mount -t btrfs /dev/sda4 /media/sda4/ |
使用iozone测试ext-4分区:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
$ iozone -e -I -a -s 1000M -r 16384k -i 0 -i 1 Iozone: Performance Test of File I/O Version $Revision: 3.489 $ Compiled for 64 bit mode. Build: linux Include fsync in write timing O_DIRECT feature enabled Auto Mode File size set to 1024000 kB Record Size 16384 kB Command line used: iozone -e -I -a -s 1000M -r 16384k -i 0 -i 1 Output is in kBytes/sec Time Resolution = 0.000001 seconds. Processor cache size set to 1024 kBytes. Processor cache line size set to 32 bytes. File stride size set to 17 * record size. random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 1024000 16384 75084 94413 94558 95304 iozone test complete. |
顺序读取速度大约是94MB/s,写入速度大约是75MB/s。我记得几年前在评测中获得的速度通常都会超过100MB/s,想来可能是硬盘太老旧了。尽管情况如此,但至少对于读取方面来说,其性能与USB 3.0(对于机械驱动器)是大致相同的。
网络基准(以太网和WiFi 6)
现在是时候使用iperf3进行一些网络基准测试了。
千兆以太网下载:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
$ iperf3 -t 60 -c 192.168.31.191 -i 10 Connecting to host 192.168.31.191, port 5201 [ 5] local 192.168.31.199 port 48366 connected to 192.168.31.191 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-10.00 sec 1.10 GBytes 942 Mbits/sec 0 1.03 MBytes [ 5] 10.00-20.00 sec 1.09 GBytes 941 Mbits/sec 0 1.03 MBytes [ 5] 20.00-30.00 sec 1.10 GBytes 942 Mbits/sec 0 1.03 MBytes [ 5] 30.00-40.00 sec 1.09 GBytes 941 Mbits/sec 0 1.03 MBytes [ 5] 40.00-50.00 sec 1.09 GBytes 941 Mbits/sec 0 1.03 MBytes [ 5] 50.00-60.00 sec 1.09 GBytes 941 Mbits/sec 0 1.53 MBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.00 sec 6.57 GBytes 941 Mbits/sec 0 sender [ 5] 0.00-60.05 sec 6.57 GBytes 940 Mbits/sec receiver iperf Done. |
进行上传:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
$ iperf3 -t 60 -c 192.168.31.191 -i 10 -R Connecting to host 192.168.31.191, port 5201 Reverse mode, remote host 192.168.31.191 is sending [ 5] local 192.168.31.199 port 48376 connected to 192.168.31.191 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-10.00 sec 1.09 GBytes 937 Mbits/sec [ 5] 10.00-20.00 sec 1.09 GBytes 937 Mbits/sec [ 5] 20.00-30.00 sec 1.09 GBytes 937 Mbits/sec [ 5] 30.00-40.00 sec 1.09 GBytes 937 Mbits/sec [ 5] 40.00-50.00 sec 1.09 GBytes 937 Mbits/sec [ 5] 50.00-60.00 sec 1.09 GBytes 938 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.05 sec 6.55 GBytes 937 Mbits/sec 408 sender [ 5] 0.00-60.00 sec 6.55 GBytes 937 Mbits/sec receiver iperf Done. |
这里没什么问题了,当切换到全双工传输时,一个方向获得了808 Mbps,另一个方向却只能达到381Mbps:
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 |
$ iperf3 -t 60 -c 192.168.31.191 --bidir -i 10 Connecting to host 192.168.31.191, port 5201 [ 5] local 192.168.31.199 port 48356 connected to 192.168.31.191 port 5201 [ 7] local 192.168.31.199 port 48358 connected to 192.168.31.191 port 5201 [ ID][Role] Interval Transfer Bitrate Retr Cwnd [ 5][TX-C] 0.00-10.00 sec 767 MBytes 644 Mbits/sec 39 250 KBytes [ 7][RX-C] 0.00-10.00 sec 866 MBytes 726 Mbits/sec [ 5][TX-C] 10.00-20.00 sec 636 MBytes 533 Mbits/sec 43 233 KBytes [ 7][RX-C] 10.00-20.00 sec 907 MBytes 761 Mbits/sec [ 5][TX-C] 20.00-30.00 sec 274 MBytes 230 Mbits/sec 61 77.8 KBytes [ 7][RX-C] 20.00-30.00 sec 1020 MBytes 856 Mbits/sec [ 5][TX-C] 30.00-40.00 sec 373 MBytes 313 Mbits/sec 63 66.5 KBytes [ 7][RX-C] 30.00-40.00 sec 987 MBytes 828 Mbits/sec [ 5][TX-C] 40.00-50.00 sec 322 MBytes 270 Mbits/sec 69 127 KBytes [ 7][RX-C] 40.00-50.00 sec 1003 MBytes 841 Mbits/sec [ 5][TX-C] 50.00-60.00 sec 353 MBytes 297 Mbits/sec 79 80.6 KBytes [ 7][RX-C] 50.00-60.00 sec 991 MBytes 831 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID][Role] Interval Transfer Bitrate Retr [ 5][TX-C] 0.00-60.00 sec 2.66 GBytes 381 Mbits/sec 354 sender [ 5][TX-C] 0.00-60.05 sec 2.66 GBytes 380 Mbits/sec receiver [ 7][RX-C] 0.00-60.00 sec 5.64 GBytes 808 Mbits/sec 740 sender [ 7][RX-C] 0.00-60.05 sec 5.64 GBytes 807 Mbits/sec receiver iperf Done. |
我想如果运行像BitTorrent这种内容分发协议时,可能会出现一个问题。因为这时高速传输可能会有两个方向。
最近的Khadas VIM板,包括最新的Khadas VIM4都可以支持同步双频(RSDB) WiFi功能,这就是为什么我们可以通过连接两个不同的接入点在2.4GHz和5GHz频段上传输数据。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.31.83 netmask 255.255.255.0 broadcast 192.168.31.255 inet6 fe80::55a2:ff75:62b2:fa81 prefixlen 64 scopeid 0x20<link> ether 10:2c:6b:10:d7:e6 txqueuelen 1000 (Ethernet) RX packets 258 bytes 37835 (37.8 KB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 669 bytes 113020 (113.0 KB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 wlan1: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 192.168.31.45 netmask 255.255.255.0 broadcast 192.168.31.255 inet6 fe80::f1ef:b1cf:12d7:56a6 prefixlen 64 scopeid 0x20<link> ether 12:2c:6b:10:d7:e6 txqueuelen 1000 (Ethernet) RX packets 136 bytes 20352 (20.3 KB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 458 bytes 66209 (66.2 KB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 |
我将 wlan0 连接到 5 GHz 网络,将 wlan1 从我的小米 AX6000 WiFi 6 路由器连接到 2.4 GHz 网络。

所以理论上来说,这意味着系统可以充分利用2.4 GHz和5 GHz网络的带宽。在这种情况下,传输速度会是270 Mbps、1134 Mbps或 1404 Mbps。注意,我弄坏了短的5 GHz天线,因此只能连接了2.4 GHz天线,并且我注意到有些不稳定,因此我禁用了其中一个WLAN接口。
我还仍然尝试从WiFi下载iperf3:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
iperf3 -t 60 -c 192.168.31.83 -i 10 Connecting to host 192.168.31.83, port 5201 [ 5] local 192.168.31.199 port 58068 connected to 192.168.31.83 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-10.00 sec 431 MBytes 362 Mbits/sec 73 1024 KBytes [ 5] 10.00-20.00 sec 328 MBytes 275 Mbits/sec 99 481 KBytes [ 5] 20.00-30.00 sec 446 MBytes 374 Mbits/sec 64 546 KBytes [ 5] 30.00-40.00 sec 410 MBytes 344 Mbits/sec 65 764 KBytes [ 5] 40.00-50.00 sec 361 MBytes 303 Mbits/sec 1 3.05 MBytes [ 5] 50.00-60.00 sec 531 MBytes 446 Mbits/sec 64 2.18 MBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.00 sec 2.45 GBytes 351 Mbits/sec 366 sender [ 5] 0.00-60.31 sec 2.45 GBytes 349 Mbits/sec receiver iperf Done. |
上传:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
$ iperf3 -t 60 -c 192.168.31.83 -i 10 -R Connecting to host 192.168.31.83, port 5201 Reverse mode, remote host 192.168.31.83 is sending [ 5] local 192.168.31.199 port 58072 connected to 192.168.31.83 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-10.00 sec 235 MBytes 197 Mbits/sec [ 5] 10.00-20.00 sec 233 MBytes 195 Mbits/sec [ 5] 20.00-30.00 sec 371 MBytes 311 Mbits/sec [ 5] 30.00-40.00 sec 232 MBytes 194 Mbits/sec [ 5] 40.00-50.00 sec 231 MBytes 194 Mbits/sec [ 5] 50.00-60.00 sec 367 MBytes 308 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.15 sec 1.63 GBytes 233 Mbits/sec 1 sender [ 5] 0.00-60.00 sec 1.63 GBytes 233 Mbits/sec receiver iperf Done. |
结果似乎偏低,但我只连接了2.4 GHz天线,所以我想这可能是原因之一。我向Khadas询问了他们自己测试的情况,事实证明,是在同一个范围内的:

之后如果我收到可以更换的天线,我会再检查一下。
Ubuntu桌面的用户体验和结论
我也使用了该开发板,因为它是一台Ubuntu 22.04电脑。使用Thunderbird查看电子邮件、使用Firefox或Chromium浏览网页、使用Gimp编辑照片、使用LibreOffice办公套件,甚至观看YouTube视频等可以良好的运行。这与我在AMD Ryzen笔记本电脑上的体验几乎相同,只是速度有点慢。但是所有日常使用GPU进行3D加速的任务都是可以通过其软件渲染达成的,但确实是很慢,比如:WebGL Aquarium演示和SuperTuxKar游戏的帧速率都达到了约1到2 fps。
我觉得一台成本大致相同的Jasper Lake迷你PC,估计可以提供更好的体验。但Khadas VIM4 对于需要小尺寸、MIPI DSI、eDP或LVDS显示接口、MIPI CSI、HDMI输入(目前Linux还不支持)、加速度计或其他在低成本英特尔硬件上找不到的一些功能等这类人来说还很合适的。
最后,十分感谢Khadas给我寄了VIM4用来评测。现在,如果你们感兴趣可以在6月4日之前购买,因为6约4日之前Khadas VIM4的售价是199.9美元 ,之后价格就会升到219.9 美元了。不过,这个价格购买的产品并不包含他们强烈推荐的散热器和风扇,如果需要散热器和风扇的话,价格分别是219.9美元(6月4日之前)和239.9美元(6月4日之后),而且运费需要额外付。另外还有一个税费,这个就要取决于你所在的国家和地区了。

文章翻译者:Jacob,嵌入式系统测试工程师、RAK高级工程师,物联网行业多年工作经验,熟悉嵌入式开发、测试各个环节,对不同产品有自己专业的分析与评估。