Vortex86DX3

Vortex86DX3 CPUを積んだEBOX-3352DX3-GLAP というものを入手。早速、NetBSDをbootしてみるんだが、いろいろ難儀している。

Vortex86DX3というのは、ググると出てくる通り、Rise TechnologyのIntel x86互換CPUであるRise mP6(現物見たことない)が祖先で、SiSがRiseを買収してSiSチップセットと一体化したSoCにして、それが売却されたりしたがその後も改良されていたというもの。

BIOSだとProcessor Type: DMP(R) A9126 って全然違う名前が出てくるんですが。それはさておき、このDX3もたしか10年前の製品なので、ディスコンになる前におさえておこうかな、みたいなやつです。

とりあえず、NetBSD/i386のイメージをSDHC(SDXC不可)カードに書き込んで差し込むと起動はする。SDだけどOSからはATAに見えるので安心(?)

同じような製品買って試そうとしている人(居るか?)への注意点

  • UEFIとかないです(伝統的mbrでどうぞ)
  • EBOXの型番末尾AP(自動電源オン)だと電源/リセットボタンがないので、事あるごとに電源ケーブル抜き差しが必要で不便
  • BIOS設定(起動時にDel)でATA設定をNativeからLegacyに(しないと起動後にwd0が読めなくなる)
  • BIOS設定でUSB Legacy supportを切ってはいけない(戒め)

いま引っかかっているところ

  • LAN(RealtekのGbE)が反応しない
    • re0: watchdog timeout
    • 稀に通信できているが使い物にならない
  • 起動後にUSBを認識しない(uhub* at usb*までは認識しているが、その先にあるデバイスを認識しない)
    • USBフラッシュメモリからbootしてもroot filesystemが見つけられない(なのでSDカード必須)
    • キーボードも利かない
    • なのでUSB設定いじっていたら↓
  • BIOS設定でUSB Legacy supportを切ってしまった
    • キーボードはUSBのしか繋がらないのに利かないのでBIOSに入れない(=戻せない)
    • いわゆるCMOSクリアすればいいんだが電池 (2032) がソケットではなく、がっちり固定されている
    • まあ後でなんとかする
    • なんか1回だけこの状態でBIOS入れたことがあるんだよね(謎)

設定済みのイメージから起動して、頑張ってsshログインしてcpuinfoだけとった。

# cat /proc/cpuinfo
processor : 0
vendor_id : Vortex86 SoC
cpu family : 6
model : 1
model name : Vortex86DX3
stepping : 1
cpu MHz : 1001.11
apicid : 0
initial apicid : 0
fdiv_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 3
wp : yes
flags : fpu pse tsc msr cx8 apic sep pge cmov mmx fxsr sse
clflush size : 0

processor : 1
vendor_id : Vortex86 SoC
cpu family : 6
model : 1
model name : Vortex86DX3
stepping : 1
cpu MHz : 1001.11
apicid : 1
initial apicid : 1
fdiv_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 3
wp : yes
flags : fpu pse tsc msr cx8 apic sep pge cmov mmx fxsr sse
clflush size : 0

cpu family 6のdual coreだ!

SDカード抜いて/var/run/dmesg.bootを見てみる。

Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
    2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013,
    2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023,
    2024, 2025
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 11.0_BETA (GENERIC) #0: Mon Dec 29 11:27:49 JST 2025
        compile@xaveria.iwate.ceres.ne.jp:/home/compile/build/20251229_11.0_BETA/i386/obj/sys/arch/i386/compile/GENERIC
total memory = 1983 MB
avail memory = 1922 MB
timecounter: Timecounters tick every 10.000 msec
Kernelized RAIDframe activated
timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
mainbus0 (root)
ACPI: RSDP 0x00000000000F7260 000024 (v03 ACPIAM)
ACPI: XSDT 0x000000007BFF0100 00004C (v01 R D C  QA09     20180815 MSFT 00000097)
ACPI: FACP 0x000000007BFF0290 0000F4 (v04 R D C  OEMFACP  20180815 MSFT 00000097)
ACPI: DSDT 0x000000007BFF05D0 003E8D (v02 A9126  A9126AAA 00000AAA INTL 20060707)
ACPI: FACS 0x000000007BFFE000 000040
ACPI: APIC 0x000000007BFF0390 00005C (v02 R D C  APIC1759 20180815 MSFT 00000097)
ACPI: MSDM 0x000000007BFF03F0 000055 (v03 R D C  QA09     20180815 MSFT 00000097)
ACPI: SLIC 0x000000007BFF0450 000176 (v01 R D C  QA09     20180815 MSFT 00000097)
ACPI: OEMB 0x000000007BFFE040 000082 (v01 R D C  AMI_OEM  20180815 MSFT 00000097)
ACPI: 1 ACPI AML tables successfully acquired and loaded
ioapic0 at mainbus0 apid 2: pa 0xfec00000, version 0x20, 24 pins
cpu0 at mainbus0 apid 0
cpu0: Use cpuid to serialize rdtsc
cpu0: Vortex86DX3, id 0x611
cpu0: node 0, package 0, core 0, smt 0
cpu1 at mainbus0 apid 1
cpu1: Vortex86DX3, id 0x611
cpu1: node 0, package 0, core 0, smt 0
acpi0 at mainbus0: Intel ACPICA 20241212
acpi0: X/RSDT: OemId <R D C , QA09   ,20180815>, AslId <MSFT,00000097>
acpi0: SCI interrupting at int 9
acpi0: fixed power button present
timecounter: Timecounter "ACPI-Safe" frequency 3579545 Hz quality 900
attimer1 at acpi0 (TMR, PNP0100): io 0x40-0x43 irq 0
pcppi1 at acpi0 (SPKR, PNP0800): io 0x61
midi0 at pcppi1: PC speaker
sysbeep0 at pcppi1
COPR (PNP0C04) at acpi0 not configured
RMEM (PNP0C01) at acpi0 not configured
apm0 at acpi0: Power Management spec V1.2
attimer1: attached to pcppi1
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0: RDC Semiconductor R6023 Host (rev. 0x02)
ppb0 at pci0 dev 1 function 0: RDC Semiconductor R1031 PCI-PCIE Bridge (rev. 0x01)
ppb0: PCI Express capability version 1 <PCI/PCI-X to PCI-E Bridge> x1 @ 2.5GT/s
pci1 at ppb0 bus 1
pci1: i/o space, memory space enabled, rd/line, wr/inv ok
re0 at pci1 dev 0 function 0: RealTek 8168/8111 PCIe Gigabit Ethernet (rev. 0x07)
re0: interrupting at msix0 vec 0
re0: RTL8168E/8111E-VL (0x2c80)
re0: Ethernet address 00:1b:eb:52:a1:be
re0: using 256 tx descriptors
rgephy0 at re0 phy 7: RTL8211E 1000BASE-T media interface
rgephy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
ppb1 at pci0 dev 2 function 0: RDC Semiconductor R1031 PCI-PCIE Bridge (rev. 0x01)
ppb1: PCI Express capability version 1 <PCI/PCI-X to PCI-E Bridge> x1 @ 2.5GT/s
pci2 at ppb1 bus 2
pci2: i/o space, memory space enabled, rd/line, wr/inv ok
rdcpcib0 at pci0 dev 7 function 0: RDC Semiconductor R6035 PCI-ISA bridge (rev. 0x01)
rdcpcib0: watchdog timer configured.
rdcpcib1 at pci0 dev 7 function 1: RDC Semiconductor R6035 PCI-ISA bridge (rev. 0x01)
rdcpcib1: autoconfiguration error: couldn't map indirect registers
ohci0 at pci0 dev 10 function 0: RDC Semiconductor R6060 USB OHCI (rev. 0x14)
ohci0: interrupting at ioapic0 pin 18
ohci0: OHCI version 1.0, legacy support
usb0 at ohci0: USB revision 1.0
ehci0 at pci0 dev 10 function 1: RDC Semiconductor R6061 USB EHCI (rev. 0x08)
ehci0: 32-bit DMA
ehci0: interrupting at ioapic0 pin 21
ehci0: EHCI version 1.0
ehci0: 1 companion controller, 4 ports: ohci0
ehci0: Using DMA subregion for control data structures
usb1 at ehci0: USB revision 2.0
rdcide0 at pci0 dev 12 function 0: RDC R1012 IDE controller (rev. 0x02)
rdcide0: bus-master DMA support present
rdcide0: primary channel configured to compatibility mode
rdcide0: primary channel interrupting at ioapic0 pin 14
atabus0 at rdcide0 channel 0
rdcide0: secondary channel configured to compatibility mode
rdcide0: secondary channel ignored (disabled)
vga0 at pci0 dev 13 function 0: RDC Semiconductor R2015 VGA Controller (rev. 0x00)
wsdisplay0 at vga0 kbdmux 1: console (80x25, vt100 emulation)
wsmux1: connecting to wsdisplay0
drm at vga0 not configured
hdaudio0 at pci0 dev 14 function 0: HD Audio Controller
hdaudio0: interrupting at ioapic0 pin 18
hdaudio0: HDA ver. 1.0, OSS 4, ISS 4, BSS 0, SDO 1
hdafg0 at hdaudio0: Realtek ALC262
hdafg0: DAC00 2ch: Speaker [Jack]
hdafg0: DIG01 2ch: Digital Out [Jack]
hdafg0: ADC02 2ch: Mic In [Jack]
hdafg0: ADC03 2ch: Line In [Jack]
hdafg0: 2ch/2ch 44100Hz 48000Hz 96000Hz 192000Hz PCM16 PCM20 PCM24 AC3
audio0 at hdafg0: playback, capture, full duplex, independent
audio0: slinear_le:16 2ch 48000Hz, blk 1920 bytes (10ms) for playback
audio0: slinear_le:16 2ch 48000Hz, blk 1920 bytes (10ms) for recording
isa0 at rdcpcib0
pckbc0 at isa0 port 0x60-0x64
isa at rdcpcib1 not configured
acpicpu0 at cpu0: ACPI CPU
acpicpu0: C1: HLT, lat   0 us, pow     0 mW
acpicpu0: T0: I/O, lat   1 us, pow     0 mW, 100 %
acpicpu0: T1: I/O, lat   1 us, pow     0 mW,  88 %
acpicpu0: T2: I/O, lat   1 us, pow     0 mW,  76 %
acpicpu0: T3: I/O, lat   1 us, pow     0 mW,  64 %
acpicpu0: T4: I/O, lat   1 us, pow     0 mW,  52 %
acpicpu0: T5: I/O, lat   1 us, pow     0 mW,  40 %
acpicpu0: T6: I/O, lat   1 us, pow     0 mW,  28 %
acpicpu0: T7: I/O, lat   1 us, pow     0 mW,  16 %
acpicpu1 at cpu1: ACPI CPU
WARNING: system needs entropy for security; see entropy(7)
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
IPsec: Initialized Security Association Processing.
uhub0 at usb0: NetBSD (0x0000) OHCI root hub (0x0000), class 9/0, rev 1.00/1.00, addr 1
uhub0: 4 ports with 4 removable, self powered
uhub1 at usb1: NetBSD (0x0000) EHCI root hub (0x0000), class 9/0, rev 2.00/1.00, addr 1
uhub1: 4 ports with 4 removable, self powered
wd0 at atabus0 drive 0
wd0: <SD32G D0 RDC SD-IDE HOST CONTROLLER>
wd0: drive supports 1-sector PIO transfers, LBA addressing
wd0: 30448 MB, 61862 cyl, 16 head, 63 sec, 512 bytes/sect x 62357504 sectors
wd0: 1 trailing sectors not covered by disklabel
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133)
wd0(rdcide0:0:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100) (using DMA)
swwdog0: software watchdog initialized
wd0: 1 trailing sectors not covered by disklabel
wd0: 1 trailing sectors not covered by disklabel
wd0: 1 trailing sectors not covered by disklabel
wd0: 1 trailing sectors not covered by disklabel
WARNING: 1 error while detecting hardware; check system log.
boot device: wd0
root on wd0a dumps on wd0b
wd0: 1 trailing sectors not covered by disklabel
root file system type: ffs
kern.module.path=/stand/i386/11.0/modules
entropy: best effort

USBキーボード繋がってるんだけど見えてないですね。