artiq
artiq copied to clipboard
Unreliable network connection on Kasli v2.0.2 and ARTIQ-7
Bug Report
One-Line Summary
With ARTIQ-7 (release-7) branch Ethernet connection to Kasli v2.0.2 mostly fails, however with ARTIQ-8 (master) it works at all times.
Issue Details
Steps to Reproduce
- Build Kasli firmware with ARTIQ-7.8185.cc81464
- Flash Kasli with firmware and configure with storage file to predefined IP (only IP is written in the storage area file)
- Observe
ping
output - Power cycle several times
Expected Behavior
Kasli responds to ping
at all times.
Actual (undesired) Behavior
- Kasli sometimes responds to
ping
(for larger number of power cycles it is < 30%). - Serial output:
__ __ _ ____ ____
| \/ (_) ___| ___ / ___|
| |\/| | \___ \ / _ \| |
| | | | |___) | (_) | |___
|_| |_|_|____/ \___/ \____|
MiSoC Bootloader
Copyright (c) 2017-2022 M-Labs Limited
Bootloader CRC passed
Gateware ident 7.8185.cc81464;test
Initializing SDRAM...
Read leveling scan:
Module 1:
00000000000001111111110000000000
Module 0:
00000000000001111111111000000000
Read leveling: 17+-4 17+-5 done
SDRAM initialized
Memory test passed
Booting from flash...
Starting firmware.
[ 0.000016s] INFO(runtime): ARTIQ runtime starting...
[ 0.003935s] INFO(runtime): software ident 7.8185.cc81464;test
[ 0.009864s] INFO(runtime): gateware ident 7.8185.cc81464;test
[ 0.015801s] INFO(runtime): log level set to INFO by default
[ 0.021531s] INFO(runtime): UART log level set to INFO by default
[ 0.179750s] WARN(runtime::rtio_clocking): rtio_clock setting not recognised. Falling back to default.
[ 0.187853s] INFO(runtime::rtio_clocking): using internal 125MHz RTIO clock
[ 0.464337s] INFO(board_artiq::si5324): waiting for Si5324 lock...
[ 8.341259s] INFO(board_artiq::si5324): ...locked
[ 8.371941s] INFO(runtime): network addresses: MAC=fc-0f-e7-07-33-ce IPv4=192.168.1.70 IPv6-LL=fe80::fe0f:e7ff:fe07:33ce IPv6=no configured address
[ 8.385637s] INFO(board_artiq::drtio_routing): could not read routing table from configuration, using default
[ 8.394351s] INFO(board_artiq::drtio_routing): routing table: RoutingTable { 0: 0; 1: 1 0; 2: 2 0; 3: 3 0; }
[ 8.407962s] INFO(runtime::mgmt): management interface active
[ 8.420022s] INFO(runtime::session): accepting network sessions
[ 8.433112s] INFO(runtime::session): running startup kernel
[ 8.437568s] INFO(runtime::session): no startup kernel found
[ 8.443382s] INFO(runtime::session): no connection, starting idle kernel
[ 8.450215s] INFO(runtime::session): no idle kernel found
[ 8.455639s] INFO(runtime::rtio_mgt::drtio): [DEST#0] destination is up
- Link status LED on connected switch lights up every time, however status LED on Kasli mostly remains off. Sometimes it lights up, however it does not necessarily mean that Kasli will respond to ping (it happened that it did not respond to ping with status LED on).
- The same hardware setup works perfectly fine with ARTIQ-8.8573+b168f0b.beta, tested with 100 power cycles, responds to ping every time.
- With power cycle I mean: power on, wait for device to boot (15s), ping 3 times (
ping -c 4 -B -W 30
), note result, power off, wait 30s.
Your System (omit irrelevant parts)
- Operating System: Ubuntu 22.04
- ARTIQ version: ARTIQ v7.8185.cc81464 / master
- Hardware involved:
- Kasli v2.0.2
- set of peripheral boards (Urukuls, Mirnys, DIO)