Hello,
I flashed a new Kasli v2 with ARTIQ-8:
__ __ _ ____ ____
| \/ (_) ___| ___ / ___|
| |\/| | \___ \ / _ \| |
| | | | |___) | (_) | |___
|_| |_|_|____/ \___/ \____|
MiSoC Bootloader
Copyright (c) 2017-2024 M-Labs Limited
Bootloader CRC passed
Gateware ident 8.0+a6b76c0;main
Initializing SDRAM...
Read leveling scan:
Module 1:
00000011111111110000000000000000
Module 0:
00000011111111111000000000000000
Read leveling: 10+-5 11+-5 done
SDRAM initialized
Memory test passed
Booting from flash...
Starting firmware.
[ 0.000012s] INFO(runtime): ARTIQ runtime starting...
[ 0.003900s] INFO(runtime): software ident 8.0+a6b76c0;main
[ 0.009549s] INFO(runtime): gateware ident 8.0+a6b76c0;main
[ 0.015206s] INFO(runtime): log level set to INFO by default
[ 0.020925s] INFO(runtime): UART log level set to INFO by default
[ 0.179089s] WARN(runtime::rtio_clocking): rtio_clock setting not recognised. Falling back to default.
[ 0.187158s] INFO(runtime::rtio_clocking): Clocking has already been set up.
[ 0.194406s] INFO(runtime): network addresses: MAC=80-34-20-7b-60-5d IPv4=192.168.0.1/24 IPv6-LL=fe80::8234:20ff:fe7b:605d/10 IPv6=no configured address
[ 0.208172s] WARN(runtime::rtio_mgt): error reading device map (key not found), device names will not be available in RTIO error messages
[ 0.220430s] INFO(runtime::rtio_mgt): SED spreading disabled by default
[ 0.228401s] INFO(runtime::mgmt): management interface active
[ 0.239692s] INFO(runtime::session): accepting network sessions
[ 0.244423s] INFO(runtime::session): running startup kernel
[ 0.250084s] INFO(runtime::session): no startup kernel found
[ 0.255795s] INFO(runtime::session): no connection, starting idle kernel
[ 0.270074s] INFO(runtime::session): no idle kernel found
when I want to run a simple experiment, e.g.,
from artiq.experiment import EnvExperiment, kernel
class DigitalOutput(EnvExperiment):
def build(self):
print('build')
self.setattr_device("core")
def run(self):
print('run')
self._run()
@kernel
def _run(self):
print('before reset')
It prints
build
run
with artiq_run
(version ARTIQ v8.0+554d7bd
) nothing more happens.
The device_db.py
reads:
core_addr = "192.168.0.1"
device_db = {
"core": {
"type": "local",
"module": "artiq.coredevice.core",
"class": "Core",
"arguments": {
"host": core_addr,
"ref_period": 1e-09,
"analyzer_proxy": "core_analyzer",
"target": "rv32g",
"satellite_cpu_targets": {},
},
},
"core_log": {
"type": "controller",
"host": "::1",
"port": 1068,
"command": "aqctl_corelog -p {port} --bind {bind} " + core_addr,
},
"core_moninj": {
"type": "controller",
"host": "::1",
"port_proxy": 1383,
"port": 1384,
"command": "aqctl_moninj_proxy --port-proxy {port_proxy} --port-control {port} --bind {bind} "
+ core_addr,
},
"core_analyzer": {
"type": "controller",
"host": "::1",
"port_proxy": 1385,
"port": 1386,
"command": "aqctl_coreanalyzer_proxy --port-proxy {port_proxy} --port-control {port} --bind {bind} "
+ core_addr,
},
"core_cache": {
"type": "local",
"module": "artiq.coredevice.cache",
"class": "CoreCache",
},
"core_dma": {"type": "local", "module": "artiq.coredevice.dma", "class": "CoreDMA"},
"i2c_switch0": {
"type": "local",
"module": "artiq.coredevice.i2c",
"class": "I2CSwitch",
"arguments": {"address": 0xE0},
},
"i2c_switch1": {
"type": "local",
"module": "artiq.coredevice.i2c",
"class": "I2CSwitch",
"arguments": {"address": 0xE2},
},
}
device_db["led0"] = {
"type": "local",
"module": "artiq.coredevice.ttl",
"class": "TTLOut",
"arguments": {"channel": 0x000017},
}
device_db["led1"] = {
"type": "local",
"module": "artiq.coredevice.ttl",
"class": "TTLOut",
"arguments": {"channel": 0x000018},
}
device_db["led2"] = {
"type": "local",
"module": "artiq.coredevice.ttl",
"class": "TTLOut",
"arguments": {"channel": 0x000019},
}
I can successfully ping the Kasli device, e.g.,
ping -c3 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_seq=1 ttl=64 time=0.183 ms
64 bytes from 192.168.0.1: icmp_seq=2 ttl=64 time=0.238 ms
64 bytes from 192.168.0.1: icmp_seq=3 ttl=64 time=0.268 ms
--- 192.168.0.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2078ms
rtt min/avg/max/mdev = 0.183/0.229/0.268/0.035 ms
The Kasli device has a direct link via an SFP single-mode fiber to a SFP PCIe card which has been given the static IP 192.168.0.100/24
.
I believe there is some problem with the ethernet link but I don't know how to debug this further, any ideas?