Мы уже рассматривали ODYSSEY-X86J4105 SBC с Windows 10. В сочетании с корпусом Re_Computer это типичный мини-ПК Intel Gemini Lake, но с изюминкой – разъемами Arduino и Raspberry Pi. Первый отлично работает в Windows, в то время как разъем Raspberry Pi – нет. Так что Linux – наш единственный вариант.
У нас было время протестировать Ubuntu 20.04 на одноплатном компьютере ODYSSEY-X86J4105. Мы установили Ubuntu не на внутреннюю флэш-память eMMC, где находится Windows 10, а на SSD M.2 SATA 128 ГБ. Сначала мы запустили обычную команду для проверки системной информации, затем запускаем тесты и проверяем, все ли функции работают, прежде чем сосредоточиться на разъемах Arduino и Raspberry Pi.

ODYSSEY-X86J4105 Ubuntu 20.04 информация о системе
Мы можем проверить некоторую информацию о системе:
Crayon Syntax Highlighter v_2.7.2_beta
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
|
jaufranc@CNX–ODYSSEY:~$ lsb_release –a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.1 LTS
Release: 20.04
Codename: focal
jaufranc@CNX–ODYSSEY:~$ uname –a
Linux CNX–ODYSSEY 5.4.0–42–generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
jaufranc@CNX–ODYSSEY:~$ inxi –Fc0
System:
Host: CNX–ODYSSEY Kernel: 5.4.0–42–generic x86_64 bits: 64 Console: tty 0
Distro: Ubuntu 20.04.1 LTS (Focal Fossa)
Machine:
Type: Desktop Mobo: WeiBu model: WTGLKC1R120
v: SD–BS–CJ41G–M–101–B 12/09/2019 18:14:02
serial: <superuser/root required> UEFI: American Megatrends
v: SD–BS–CJ41G–M–101–B date: 12/09/2019
CPU:
Topology: Quad Core model: Intel Celeron J4105 bits: 64 type: MCP
L2 cache: 4096 KiB
Speed: 998 MHz min/max: 800/2500 MHz Core speeds (MHz): 1: 1013 2: 1069
3: 1023 4: 1065
Graphics:
Device–1: Intel UHD Graphics 605 driver: i915 v: kernel
Display: server: X.org 1.20.8 driver: i915 tty: 80×24
Message: Advanced graphics data unavailable in console. Try –G —display
Audio:
Device–1: Intel driver: snd_hda_intel
Sound Server: ALSA v: k5.4.0–42–generic
Network:
Device–1: Intel driver: iwlwifi
IF: wlo2 state: down mac: 24:41:8c:a0:0e:42
Device–2: Intel I211 Gigabit Network driver: igb
IF: enp2s0 state: up speed: 1000 Mbps duplex: full mac: 00:e0:4c:01:15:56
Device–3: Intel I211 Gigabit Network driver: igb
IF: enp3s0 state: down mac: 00:e0:4c:01:15:57
Drives:
Local Storage: total: 177.48 GiB used: 7.89 GiB (4.4%)
ID–1: /dev/mmcblk0 model: DA4064 size: 58.24 GiB
ID–2: /dev/sda model: MINIX SSD 128GB KHSA186335N size: 119.24 GiB
Partition:
ID–1: / size: 116.87 GiB used: 7.82 GiB (6.7%) fs: ext4 dev: /dev/sda1
Sensors:
System Temperatures: cpu: 42.0 C mobo: N/A
Fan Speeds (RPM): N/A
Info:
Processes: 207 Uptime: 9m Memory: 7.62 GiB used: 576.2 MiB (7.4%)
Init: systemd runlevel: 5 Shell: bash inxi: 3.0.38
jaufranc@CNX–ODYSSEY:~$ df –h
Filesystem Size Used Avail Use% Mounted on
udev 3.8G 0 3.8G 0% /dev
tmpfs 780M 1.8M 779M 1% /run
/dev/sda1 117G 7.9G 104G 8% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/loop1 55M 55M 0 100% /snap/core18/1705
/dev/loop0 241M 241M 0 100% /snap/gnome–3–34–1804/24
/dev/loop2 28M 28M 0 100% /snap/snapd/7264
/dev/loop3 63M 63M 0 100% /snap/gtk–common–themes/1506
/dev/loop4 50M 50M 0 100% /snap/snap–store/433
/dev/mmcblk0p1 96M 76M 21M 79% /boot/efi
tmpfs 780M 24K 780M 1% /run/user/125
tmpfs 780M 8.0K 780M 1% /run/user/1000
jaufranc@CNX–ODYSSEY:~$ lsblk –a
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 240.8M 1 loop /snap/gnome–3–34–1804/24
loop1 7:1 0 55M 1 loop /snap/core18/1705
loop2 7:2 0 27.1M 1 loop /snap/snapd/7264
loop3 7:3 0 62.1M 1 loop /snap/gtk–common–themes/1506
loop4 7:4 0 49.8M 1 loop /snap/snap–store/433
loop5 7:5 0 0 loop
loop6 7:6 0 0 loop
loop7 7:7 0 0 loop
sda 8:0 0 119.2G 0 disk
└─sda1 8:1 0 119.2G 0 part /
mmcblk0 179:0 0 58.2G 0 disk
├─mmcblk0p1 179:1 0 100M 0 part /boot/efi
├─mmcblk0p2 179:2 0 16M 0 part
├─mmcblk0p3 179:3 0 57.4G 0 part
└─mmcblk0p4 179:4 0 800M 0 part
mmcblk0boot0 179:8 0 4M 1 disk
mmcblk0boot1 179:16 0 4M 1 disk
jaufranc@CNX–ODYSSEY:~$ sudo lshw –C cpu
*–cpu
description: CPU
product: Intel(R) Celeron(R) J4105 CPU @ 1.50GHz
vendor: Intel Corp.
physical id: 37
bus info: cpu@0
version: Intel(R) Celeron(R) J4105 CPU @ 1.50GHz
slot: SOCKET 0
size: 937MHz
capacity: 2700MHz
width: 64 bits
clock: 100MHz
capabilities: lm fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp x86–64 constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave rdrand lahf_lm 3dnowprefetch cpuid_fault cat_l2 pti cdp_l2 ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust smep erms mpx rdt_a rdseed smap clflushopt intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts umip rdpid md_clear arch_capabilities cpufreq
configuration: cores=4 enabledcores=4 threads=4
jaufranc@CNX–ODYSSEY:~$ sudo lshw –C memory
*–firmware
description: BIOS
vendor: American Megatrends Inc.
physical id: 0
version: SD–BS–CJ41G–M–101–B
date: 12/09/2019
size: 64KiB
capacity: 4544KiB
capabilities: pci upgrade shadowing cdboot bootselect socketedrom edd int13floppy1200 int13floppy720 int13floppy2880 int5printscreen int14serial int17printer acpi usb biosbootspecification uefi
*–memory
description: System Memory
physical id: 23
slot: System board or motherboard
size: 8GiB
*-bank:0
description: DIMM LPDDR4 Synchronous 2133 MHz (0.5 ns)
product: 123456789012345678
vendor: ABCD
physical id: 0
serial: 1234
slot: A1_DIMM0
size: 2GiB
width: 16 bits
clock: 2133MHz (0.5ns)
*-bank:1
description: DIMM LPDDR4 Synchronous 2133 MHz (0.5 ns)
product: 123456789012345678
vendor: ABCD
physical id: 1
serial: 1234
slot: A1_DIMM1
size: 2GiB
width: 16 bits
clock: 2133MHz (0.5ns)
*-bank:2
description: DIMM LPDDR4 Synchronous 2133 MHz (0.5 ns)
product: 123456789012345678
vendor: ABCD
physical id: 2
serial: 1234
slot: A1_DIMM2
size: 2GiB
width: 16 bits
clock: 2133MHz (0.5ns)
*-bank:3
description: DIMM LPDDR4 Synchronous 2133 MHz (0.5 ns)
product: 123456789012345678
vendor: ABCD
physical id: 3
serial: 1234
slot: A1_DIMM3
size: 2GiB
width: 16 bits
clock: 2133MHz (0.5ns)
*-cache:0
description: L1 cache
physical id: 35
slot: CPU Internal L1
size: 224KiB
capacity: 224KiB
capabilities: synchronous internal write–back
configuration: level=1
*-cache:1
description: L2 cache
physical id: 36
slot: CPU Internal L2
size: 4MiB
capacity: 4MiB
capabilities: synchronous internal write–back unified
configuration: level=2
jaufranc@CNX–ODYSSEY:~$ free –mh
total used free shared buff/cache available
Mem: 7.6Gi 493Mi 6.5Gi 42Mi 633Mi 6.9Gi
Swap: 2.0Gi 0B 2.0Gi
jaufranc@CNX–ODYSSEY:~$ sudo lshw –C network
*–network
description: Wireless interface
product: Intel Corporation
vendor: Intel Corporation
physical id: c
bus info: pci@0000:00:0c.0
logical name: wlo2
version: 03
serial: 24:41:8c:a0:0e:42
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress msix bus_master cap_list ethernet physical wireless
configuration: broadcast=yes driver=iwlwifi driverversion=5.4.0–42–generic firmware=46.6bf1df06.0 latency=0 link=no multicast=yes wireless=IEEE 802.11
resources: irq:44 memory:a1314000–a1317fff
*–network
description: Ethernet interface
product: I211 Gigabit Network Connection
vendor: Intel Corporation
physical id: 0
bus info: pci@0000:02:00.0
logical name: enp2s0
version: 03
serial: 00:e0:4c:01:15:56
size: 1Gbit/s
capacity: 1Gbit/s
width: 32 bits
clock: 33MHz
capabilities: pm msi msix pciexpress bus_master cap_list ethernet physical tp 10bt 10bt–fd 100bt 100bt–fd 1000bt–fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=igb driverversion=5.6.0–k duplex=full firmware=0. 6–2 ip=192.168.1.13 latency=0 link=yes multicast=yes port=twisted pair speed=1Gbit/s
resources: irq:22 memory:a1200000–a121ffff ioport:e000(size=32) memory:a1220000–a1223fff
*–network
description: Ethernet interface
product: I211 Gigabit Network Connection
vendor: Intel Corporation
physical id: 0
bus info: pci@0000:03:00.0
logical name: enp3s0
version: 03
serial: 00:e0:4c:01:15:57
capacity: 1Gbit/s
width: 32 bits
clock: 33MHz
capabilities: pm msi msix pciexpress bus_master cap_list ethernet physical tp 10bt 10bt–fd 100bt 100bt–fd 1000bt–fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=igb driverversion=5.6.0–k firmware=0. 6–2 latency=0 link=no multicast=yes port=twisted pair
resources: irq:23 memory:a1100000–a111ffff ioport:d000(size=32) memory:a1120000–a1123fff
jaufranc@CNX–ODYSSEY:~$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 8087:0aaa Intel Corp.
Bus 001 Device 006: ID 2886:800b Seeed Studio Seeeduino Zero
Bus 001 Device 004: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 001 Device 003: ID 1a2c:0002 China Resource Semico Co., Ltd USB Keykoard
Bus 001 Device 002: ID 04f2:1718 Chicony Electronics Co., Ltd HP USB Optical Mouse
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
jaufranc@CNX–ODYSSEY:~$ lspci
00:00.0 Host bridge: Intel Corporation Gemini Lake Host Bridge (rev 03)
00:00.1 Signal processing controller: Intel Corporation Celeron/Pentium Silver Processor Dynamic Platform and Thermal Framework Processor Participant (rev 03)
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 605 (rev 03)
00:0c.0 Network controller: Intel Corporation Device 31dc (rev 03)
00:0e.0 Audio device: Intel Corporation Device 3198 (rev 03)
00:0f.0 Communication controller: Intel Corporation Celeron/Pentium Silver Processor Trusted Execution Engine Interface (rev 03)
00:12.0 SATA controller: Intel Corporation Device 31e3 (rev 03)
00:13.0 PCI bridge: Intel Corporation Gemini Lake PCI Express Root Port (rev f3)
00:14.0 PCI bridge: Intel Corporation Gemini Lake PCI Express Root Port (rev f3)
00:14.1 PCI bridge: Intel Corporation Gemini Lake PCI Express Root Port (rev f3)
00:15.0 USB controller: Intel Corporation Device 31a8 (rev 03)
00:17.0 Signal processing controller: Intel Corporation Device 31b4 (rev 03)
00:17.1 Signal processing controller: Intel Corporation Device 31b6 (rev 03)
00:17.2 Signal processing controller: Intel Corporation Device 31b8 (rev 03)
00:18.0 Signal processing controller: Intel Corporation Celeron/Pentium Silver Processor Serial IO UART Host Controller (rev 03)
00:18.1 Signal processing controller: Intel Corporation Celeron/Pentium Silver Processor Serial IO UART Host Controller (rev 03)
00:18.2 Signal processing controller: Intel Corporation Celeron/Pentium Silver Processor Serial IO UART Host Controller (rev 03)
00:18.3 Signal processing controller: Intel Corporation Celeron/Pentium Silver Processor Serial IO UART Host Controller (rev 03)
00:19.0 Signal processing controller: Intel Corporation Celeron/Pentium Silver Processor Serial IO SPI Host Controller (rev 03)
00:1c.0 SD Host controller: Intel Corporation Celeron/Pentium Silver Processor SDA Standard Compliant SD Host Controller (rev 03)
00:1e.0 SD Host controller: Intel Corporation Device 31d0 (rev 03)
00:1f.0 ISA bridge: Intel Corporation Device 31e8 (rev 03)
00:1f.1 SMBus: Intel Corporation Celeron/Pentium Silver Processor Gaussian Mixture Model (rev 03)
02:00.0 Ethernet controller: Intel Corporation I211 Gigabit Network Connection (rev 03)
03:00.0 Ethernet controller: Intel Corporation I211 Gigabit Network Connection (rev 03)
|
[Format Time: 0.0062 seconds]
Мы оценили процессор Intel Celeron J4105 с 8 ГБ ОЗУ и rootfs на 127 ГБ.
Особенности тестирования
Большинство устройств поддерживаются, но, поскольку могут быть некоторые проблемы с драйверами, мы также протестировали основные аппаратные функции платы:
- Мультимедиа
- По HDMI – видео ОК, звук ОК
- 3.5 аудиоразъем-ОК (наушники + микрофон)
- Хранилище
- флэш-память eMMC – OK (раздел Windows, но только для чтения)
- Слот MicroSD карты – Неудача (вывода из dmesg отсутствует вообще, не отображается с помощью lsblk)
- M.2 SATA SSD – ОК (см. тесты ниже)
- M.2 SATA NVMe SSD – не тестировался, так как у нас его нет
- USB
- Порты USB 2.0 – OK с мышью и клавиатурой
- Порт USB 3.0 – OK (~ 94 МБ/с чтение/запись в разделе USB HDD EXT-4)
- Порт USB-C 3.0 – Работает, но, по-видимому, ограничено 480 Мбит/с в соответствии со спецификациями USB 2.0 при тестировании с MINIX NEO Storage Plus с видеовыходом HDMI с разрешением до 1024 × 768, Gigabit Ethernet (192/177 Мбит/с через полнодуплексный режим iperf), данные через внутренний SSD емкостью 480 ГБ (39 МБ/с)
- Связь
- LAN1 (около HDMI) – ОК (полнодуплексный режим iperf: 883 Мбит/с/811 Мбит/с)
- LAN2 (около разъема постоянного тока) – ОК. Работает, но iperf full-duplex: 920 Мбит/с/185 Мбит/с. Только скачивание: 947 Мбит/с; только загрузка: 854 Мбит/с
- WiFi 5 – ОК (iperf DL: 326 Мбит/с; iperf UL: 426 Мбит/с) – Примечание: почему-то намного быстрее, чем в Windows 10…
- Bluetooth – ОК. Протестировано с телефоном Android Huawei Y9 Prime 2019 для передачи файлов с/на плату
Так что все не так уж плохо, за исключением того, что карта MicroSD не обнаруживается, а порт USB-C ограничен скоростью USB 2.0 (480 Мбит/с), что означает, что производительность ограничена, а вывод видео составляет только до 1024 × 768 через порт USB-C.
Crayon Syntax Highlighter v_2.7.2_beta
1
2
3
|
lsusb –t | grep Mass
|__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=uas, 5000M
|__ Port 1: Dev 13, If 0, Class=Mass Storage, Driver=uas, 480M
|
[Format Time: 0.0002 seconds]
В командной строке выше показаны два USB-накопителя, подключенные к плате. Dev 2 – это наш USB-накопитель на 1 ТБ, а Dev 13 – SSD на 480 ГБ, встроенный в концентратор USB-C. Мы можем подтвердить, что USB-SSD емкостью 480 ГБ обеспечивает скорость 450 МБ/с в Windows 10 с помощью CrystalDiskMark, поэтому проблема с USB Type-C возникает только в Ubuntu.
ODYSSEY-X86J4105 Ubuntu 20.04: тесты
Мы провели те же тесты Phoronix и SBC Bench, что и в нашем недавнем обзоре AMD Ryzen Embedded SBC с Ubuntu 20.04, в основном для того, чтобы убедиться, что нет никаких проблем, поскольку мы рассмотрели так много мини-ПК и плат Gemini Lake.
Комплекс тестов Phoronix
Начнем с Phoronix, демонстрирующего различия между ODYSSEY-X86J4105 и платой AMD.
Crayon Syntax Highlighter v_2.7.2_beta
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
Result Highlights
Test Configuration Relative
stream Scale 1.504
gmpbench Total Time 0.593
cachebench Write 0.254
cachebench R.M.W 0.349
dcraw R.T.P.I.C 0.704
encode–mp3 WAV To MP3 0.687
pybench T.F.A.T.T 0.736
Harmonic Mean Of MB/s Test Results
Harmonic Mean
MB/s > Higher Is Better
ODYSSEY–X86J4105 – Ubuntu 20.04 ........................ 5821.26 |=========
DFI GHF51 AMD Ryzen Embedded R1606G SBC – Ubuntu 20.04 . 6389.34 |==========
|
[Format Time: 0.0003 seconds]
Вы найдете полную информацию об OpenBenchmarking, но в таблице ниже сравниваются четыре из них.
Устройство | DFI GHF51 | MINIX NEO J50C-4 с SSD | ODYSSEY-X86J4105 с SSD |
---|---|---|---|
Процессор | Встроенный AMD Ryzen R1606G двухъядерный / четырехпоточный 2,6 / 3,5 ГГц 12 Вт TDP |
Intel Pentium J5005 четырехъядерный 1,5 / 2,3 ГГц 10 Вт TDP |
Intel Celeron J4105 четырехъядерный 1,5 / 2,5 ГГц 10 Вт TDP |
Тест CLOMP 3.3 OpenMP |
2.94 | 2.36 | 2.07 |
Производительность TSCP 1.81 AI Chess |
683,862 | 677,631 | 561,904 |
7-Zip сжатие | 7,272 | 7,598 | 6,614 |
PHPBench | 342,215 | 287,503 | 258,513 |
Как и ожидалось, ODYSSEY-X86J4105 является самой медленной платформой из-за используемого процессора, но результаты находятся в ожидаемом диапазоне.
SBC Bench
Также полезно запустить SBC Bench, чтобы проверить возможное дросселирование процессора.
Crayon Syntax Highlighter v_2.7.2_beta
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
sudo ./sbc–bench.sh –c
sbc–bench v0.7.2
Memory performance:
memcpy: 5140.3 MB/s
memset: 7115.9 MB/s
Cpuminer total scores (5 minutes execution): 19.13,19.12,19.11,19.10,19.09,19.08,19.07,19.03,19.02,19.01,19.00,18.99,18.98,18.88,18.12 kH/s
7–zip total scores (3 consecutive runs): 8393,8364,8403
OpenSSL results:
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes
aes–128–cbc 317301.18k 681485.08k 859691.26k 938578.94k 964498.77k 966109.87k
aes–128–cbc 317315.63k 682137.07k 859967.57k 939272.87k 964463.27k 967289.51k
aes–192–cbc 298524.05k 598992.43k 732979.63k 790139.22k 807313.41k 809249.45k
aes–192–cbc 298388.94k 599605.29k 732354.05k 789578.07k 806387.71k 808621.40k
aes–256–cbc 281482.88k 534618.41k 633138.35k 680344.23k 694553.26k 694850.90k
aes–256–cbc 281446.87k 535112.02k 633773.65k 679372.80k 694796.29k 695817.56k
Full results uploaded to http://ix.io/2uwg. Please check the log for anomalies (e.g. swapping
or throttling happenend) and otherwise share this URL.
|
[Format Time: 0.0005 seconds]
Опять же, результаты ожидаемые, но система неправильно сообщила о температуре, установленной на 20° C. В этом комментарии приведены результаты теста SBC для систем AMD Ryzen Embedded R1606G и Intel Pentium J5005, а также Raspberry Pi 4 8 ГБ.
Хранилище
SATA SSD (Rootfs – EXT4):
Crayon Syntax Highlighter v_2.7.2_beta
1
2
3
4
5
6
7
8
9
|
iozone –e –I –a –s 100M –r 4k –r 16k –r 512k –r 1024k –r 16384k –i 0 –i 1 –i 2
random random bkwd record stride
kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread
102400 4 50916 67034 15018 16301 14094 53831
102400 16 134076 162520 175457 180377 28217 116004
102400 512 209073 206677 160343 156161 74120 211372
102400 1024 111073 103392 145065 145888 79299 112152
102400 16384 134530 127520 220647 209008 103790 140662
|
[Format Time: 0.0004 seconds]
В Windows 10 мы получили скорость последовательного чтения 442 МБ/с и скорость последовательной записи 219 МБ/с, но почему-то она намного медленнее в Ubuntu 20.04 с 220 МБ/с и 134 МБ/с.
Нам также хотелось проверить производительность флэш-памяти eMMC в Ubuntu, но, как упоминалось ранее, раздел будет доступен только для чтения, и даже при повторном монтировании для чтения/записи нам не удалось получить разрешения на запись в него каких-либо файлов.
Тест GPU
Итоговый тест дня: Unigine Heaven Benchmark 4.0.
Среднее значение 4,2 кадра в секунду/106 баллов для сравнения на Intel Pentium J5005 – 4,7 кадра в секунду/119 баллов и 5,4 кадра в секунду/135 баллов на AMD Ryzen Embedded R1606G. Никаких дефектов во время теста не выявлено, как, к примеру, с Ryzen Embedded SBC.
Разъем Arduino
Мы использовали разъем Arduino в Windows, поэтому мы просто воспроизвели шаги в Ubuntu 20.04, за исключением того, что нам пришлось установить IDE Arduino. Обязательно добавьте текущего пользователя в группу dialout, чтобы избежать проблем с разрешениями:
Crayon Syntax Highlighter v_2.7.2_beta
1
|
sudo adduser $USER dialout
|
[Format Time: 0.0000 seconds]
После выхода из системы у нас все еще было сообщение об отказе в разрешении в среде Arduino IDE, поэтому мы перезагрузили плату, и все заработало.
Важнно, Ubuntu схож с Windows 10, и как только вы войдете в IDE Arduino, перейдите по ссылке:
- File-> Preferences и добавьте https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json в поле URL-адреса Additional Boards Manager.
- Затем Tools->Board->Boards Manager чтобы добавить поддержку плат Seeed SAMD.
- Выберите плату Seeeduino Zero и последовательный порт / dev / ttyACM0

… и соответствующим образом изменили скетч Blink:
Crayon Syntax Highlighter v_2.7.2_beta
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
int ledpin = 6
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(ledpin, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(ledpin, HIGH); // turn the LED on (HIGH is the voltage level)
delay(500); // wait for a second
digitalWrite(ledpin, LOW); // turn the LED off by making the voltage LOW
delay(500); // wait for a second
}
|
[Format Time: 0.0002 seconds]
Наконец, прошиваем программу на MCU Arduino…
… и успех! Светодиод мигает. Обратите внимание, что разъем Arduino несовместим с Shields, поэтому вы не можете просто вставить экран сверху, а вместо этого вам придется провести такую проводку, как сделали мы. По поводу программной совместимости мы не беспокоимся, потому что на плате установлен микроконтроллер Microchip SAMD21.
Разъем Raspberry Pi
Мы ожидали, что часть Arduino будет простой, поскольку она просто работала в Windows 10. Пришло время протестировать разъем Raspberry Pi. Возможно, нам следует сначала проверить распиновку, если мы собираемся подключить Pi HAT.
Он достаточно близок к разъему Raspberry Pi, и мы ожидали, что многие Raspberry Pi HAT будут совместимы. Поэтому мы изначально решили использовать Grove AI HAT, который в основном полагается на интерфейс SPI … Но после разговора с представителями компании Seeed Studio, связано ли это с SPI на плате и изменением номеров GPIO в коде, компания сказала нам что все гораздо сложнее, поскольку фреймворк x86 еще не поддерживается.
У нас нет других HAT, поэтому мы вернулись к тестированию Raspberry Pi GPIO с нашей макетной платой и светодиодами, а также датчиком освещенности BH1750 для тестирования I2C.
В основном мы следовали инструкциям в Wiki. Начнем с GPIO. Подключаем светодиод к GPIO 337 (контакт 7), и нам нужно будет экспортировать ввод-вывод, установить направление и значение 1, чтобы включить светодиод:
Crayon Syntax Highlighter v_2.7.2_beta
1
2
3
4
|
cd /sys/class/gpio
echo 337 | sudo tee export
echo “out” | sudo tee direction
echo 1 | sudo tee value
|
[Format Time: 0.0001 seconds]
Чтобы выключить его:
Crayon Syntax Highlighter v_2.7.2_beta
1
|
echo 0 | sudo tee value
|
[Format Time: 0.0000 seconds]
Все прекрасно работает. Seeed Studio рекомендует экспортировать GPIO, как только вы закончите, но мы не понимаем, зачем это может быть необходимо:
Crayon Syntax Highlighter v_2.7.2_beta
1
2
3
|
echo “in” | sudo tee direction
cd ..
echo 337 | sudo tee unexport
|
[Format Time: 0.0001 seconds]
Для справки, определены четыре блока GPIO.
Crayon Syntax Highlighter v_2.7.2_beta
1
2
3
4
5
6
7
8
|
ls –l
total 0
—w——- 1 root root 4096 ส.ค. 18 20:12 export
lrwxrwxrwx 1 root root 0 ส.ค. 18 20:00 gpiochip297 –> ../../devices/platform/INT3453:03/gpio/gpiochip297
lrwxrwxrwx 1 root root 0 ส.ค. 18 20:00 gpiochip332 –> ../../devices/platform/INT3453:02/gpio/gpiochip332
lrwxrwxrwx 1 root root 0 ส.ค. 18 20:00 gpiochip352 –> ../../devices/platform/INT3453:01/gpio/gpiochip352
lrwxrwxrwx 1 root root 0 ส.ค. 18 20:00 gpiochip432 –> ../../devices/platform/INT3453:00/gpio/gpiochip432
—w——- 1 root root 4096 ส.ค. 18 20:34 unexport
|
[Format Time: 0.0004 seconds]
Также можно использовать прерывания, и компания предоставляет скрипт Python для тестирования, который можно установить следующим образом:
Crayon Syntax Highlighter v_2.7.2_beta
1
2
3
4
5
|
cd ~
sudo apt install python3–pip
sudo pip3 install python–periphery
wget https://files.seeedstudio.com/wiki/ODYSSEY-X86J4105864/Documents/IRQtest.zip
unzip IRQtest.zip
|
[Format Time: 0.0001 seconds]
Теперь мы можем запустить тестовую программу:
Crayon Syntax Highlighter v_2.7.2_beta
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
sudo python3 IRQtest.py
GPIO IRQ test on pin 412
Press Ctrl–C to terminate
Check poll falling 1 –> 0 interrupt, current value = True
Starting thread...
Got interrupt! Value = False
——————–
NEXT CYCLE
Check poll falling 1 –> 0 interrupt, current value = True
Starting thread...
Got interrupt! Value = False
——————–
NEXT CYCLE
Check poll falling 1 –> 0 interrupt, current value = True
Starting thread...
|
[Format Time: 0.0002 seconds]
Далее мы можем попробовать I2C. Как упоминалось ранее, мы подключили датчик освещенности BH1750 I2C к 3,3 В, GND, IC2 clock и Data ping и проверили, обнаружит ли плата датчик:
Crayon Syntax Highlighter v_2.7.2_beta
1
2
3
4
5
6
7
8
9
10
|
sudo i2cdetect –r –y 0
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: — — — — — — — — — — — — —
10: — — — — — — — — — — — — — — — —
20: — — — — — — — — — — — — — — — —
30: — — — — — — — — — — — — — — — —
40: — — — — — — — — — — — — — — — —
50: — — — — — — — — — — — — — — — —
60: — — — — — — — — — — — — — — — —
70: — — — — — — — —
|
[Format Time: 0.0004 seconds]
Упс… ничего не обнаружено… Итак, заходим в BIOS, все «специальные функции» были установлены на GPIO.
Мы не можем вспомнить, меняли ли мы это раньше, поскольку они не должны быть значениями по умолчанию, но в любом случае мы изменили их все, чтобы включить I2C, SPI, UART и SPI.
Когда мы вернулись в Ubuntu, у нас все еще был тот же результат команды i2cdetect. Поэтому мы внимательно прочитали Wiki… и выполнили две команды, чтобы снова проверить устройства I2C:
Crayon Syntax Highlighter v_2.7.2_beta
1
2
3
4
|
ls /sys/bus/pci/devices/*/i2c_designware.0/ | grep i2c
i2c-1
ls /sys/bus/pci/devices/*/i2c_designware.1/ | grep i2c
i2c–2
|
[Format Time: 0.0001 seconds]
I2C designware 0 должен представлять I2C6 (контакты 27 и 28), а designware 1 – для I2C5 для контактов 3 и 5, к которым подключен наш датчик освещенности. Итак, давайте попробуем еще раз с устройством I2C 2:
Crayon Syntax Highlighter v_2.7.2_beta
1
2
3
4
5
6
7
8
9
10
|
udo i2cdetect –r –y 2
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: — — — — — — — — — — — — —
10: — — — — — — — — — — — — — — — —
20: — — — 23 — — — — — — — — — — — —
30: — — — — — — — — — — — — — — — —
40: — — — — — — — — — — — — — — — —
50: — — — — — — — — — — — — — — — —
60: — — — — — — — — — — — — — — — —
70: — — — — — — — —
|
[Format Time: 0.0004 seconds]
Успех! Датчик освещенности обнаружен!
К SPI ничего не подключали, но SPI определяется ядром:
Crayon Syntax Highlighter v_2.7.2_beta
1
2
|
ls /sys/bus/pci/devices/0000\:00\:19.*/pxa2xx–spi.*/spi_master/ | grep spi
spi1
|
[Format Time: 0.0001 seconds]
Если мы хотим получить к нему доступ из пользовательского пространства, нам нужно будет выполнить несколько команд:
Crayon Syntax Highlighter v_2.7.2_beta
1
2
3
4
5
|
wget https://files.seeedstudio.com/wiki/ODYSSEY-X86J4105864/Documents/SPI-Enable.zip
unzip SPI–Enable.zip
cd spi–enable/
chmod +x acpi–add acpi–upgrades install_hooks
sudo ./install_hooks && sudo acpi–add spidev*
|
[Format Time: 0.0001 seconds]
Как только это будет сделано, перезагрузим плату, и мы увидим два устройства SPI:
Crayon Syntax Highlighter v_2.7.2_beta
1
2
3
|
ls –l /dev/spi*
crw——- 1 root root 153, 0 ส.ค. 18 21:32 /dev/spidev1.0
crw——- 1 root root 153, 1 ส.ค. 18 21:32 /dev/spidev1.1
|
[Format Time: 0.0001 seconds]
В отличие от разъема Arduino, разъем Raspberry Pi позволяет вставлять большую часть Raspberry Pi HAT прямо на плату, но пока работает низкоуровневое программное обеспечение, вам придется работать над конфигурацией системы и модификациями программного обеспечения, работающего на Raspberry Pi, чтобы он работал на плате x86. Это включает в себя конфигурации BIOS и ввода-вывода, изменение кода в соответствии с именами GPIO и т. д. Насколько нам известно, нет библиотеки «WiringPix86», которая могла бы упростить процесс.
Заключительные слова
Seeed Studio ODYSSEY-X86J4105 – симпатичная и довольно уникальная маленькая плата, с которой нам было весело поэкспериментировать. Вот основные выводы:
- В Windows 10 она работает так же, как стандартный мини-ПК Intel Gemini Lake, и все работает с ожидаемой производительностью, но вы сможете управлять только разъемом Arduino, поскольку в настоящее время GPIO Raspberry Pi недоступны.
- В Ubuntu 20.04 производительность соответствует ожиданиям, но также есть некоторые проблемы с неработающей картой MicroSD и ограничением порта USB-C до 480 Мбит / с, по крайней мере, с многофункциональным адаптером MINIX NEO Storage Plus USB-C. Разъемами ввода-вывода Arduino и Raspberry Pi можно управлять в Linux, но вам, возможно, придется потратить некоторое время на перенос программного обеспечения, особенно для ввода-вывода Raspberry Pi.
Некоторых людей может беспокоить шум вентилятора, хотя его можно настроить или отключить в BIOS.
Нам хотелось бы поблагодарить Seeed Studio за присланный образец для обзора. Если вам интересно, есть три варианта платы с ценой от 188 до 258 долларов плюс доставка:
- ODYSSEY – X86J4105800 (188 долларов США) без флэш-памяти eMMC (можно загружать с M.2 или USB-накопителя)
- ODYSSEY – X86J4105864 (218 долларов США) с флеш-памятью eMMC емкостью 64 ГБ с предварительно загруженной неактивированной версией Windows 10 Enterprise. Именно этот вариант рассмотрен в обзоре.
- ODYSSEY – X86J4105864 (258 долларов США) с предварительной загрузкой флэш-памяти eMMC емкостью 64 ГБ с активированной версией Windows 10 Enterprise. Такое же оборудование, как указано выше, но с лицензией Windows.
Если вы хотите получить полноценный мини-ПК с корпусом Re_Computer, вы можете подумать о приобретении мини-ПК Odyssey Blue J4105 с SATA SSD 128 ГБ, за 239 долларов плюс доставка.
Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.