I am having trouble flashing a brand new, just opened Kasli v2.0 on Linux. I am running ArtiQ 6.7665.83af3b75 and using nix. I have tried the very obvious solutions including switching the JTAG cable and port and power cycling the system. Additionally, I am able to flash a different Kasli on the same system (same gateware, cable, etc.) without issue. I'm not using the Kaslis simultaneously, just switching between them to test. With the JTAG cable plugged into the front panel, when I run
$ artiq_flash --srcbuild --dir ./artiq_kasli/ --variant strontium -vv
I get the following error:
Info : clock speed 25000 kHz
Error: JTAG scan chain interrogation failed: all ones
Error: Check JTAG interface, timings, target power, etc.
Error: Trying to use configured scan chain anyway...
Error: xc7.tap: IR capture error; saw 0x3f not 0x01
Warn : Bypassing JTAG setup events due to errors
Info : gdb server disabled
TEMP 33028232.44 C
VCCINT 196608.000 V
VCCAUX 196608.000 V
VCCBRAM 196608.000 V
VPVN 196608.000 V
VREFP 196608.000 V
VREFN 196608.000 V
VCCPINT 196608.000 V
VCCPAUX 196608.000 V
VCCODDR 196608.000 V
loaded file /nix/store/9ag3z3lxspwb8vq1i96csywbwvjs9i6s-openocd-mlabs-0.10.0/share/bscan-spi-bitstreams/bscan_spi_xc7a100t.bit to pld device 0 in 0s 232999us
Error: Unknown flash device (ID 0x00ffffff)
Traceback (most recent call last):
File "/nix/store/lmb8q8yvziacjh49z1sa9kapsn3yyjg7-python3.8-artiq-6.7582.c2248278/bin/.artiq_flash-wrapped", line 9, in <module>
sys.exit(main())
File "/nix/store/svildgbd1hjz5yc15r48icqr6bk4jsw2-python3-3.8.8-env/lib/python3.8/site-packages/artiq/frontend/artiq_flash.py", line 475, in main
programmer.run()
File "/nix/store/svildgbd1hjz5yc15r48icqr6bk4jsw2-python3-3.8.8-env/lib/python3.8/site-packages/artiq/frontend/artiq_flash.py", line 208, in run
self._client.run_command(cmdline)
File "/nix/store/svildgbd1hjz5yc15r48icqr6bk4jsw2-python3-3.8.8-env/lib/python3.8/site-packages/artiq/remoting.py", line 57, in run_command
subprocess.check_call([arg.format(tmp=self._tmp, **kws) for arg in cmd])
File "/nix/store/qy5z9gcld7dljm4i5hj3z8a9l6p37y81-python3-3.8.8/lib/python3.8/subprocess.py", line 364, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['openocd', '-s', '/nix/store/9ag3z3lxspwb8vq1i96csywbwvjs9i6s-openocd-mlabs-0.10.0/share/openocd/scripts', '-c', 'source [find board/kasli.cfg]; target create xc7.spi0.proxy testee -chain-position xc7.tap; flash bank spi0 jtagspi 0 0 0 0 xc7.spi0.proxy 0x2; gdb_port disabled; tcl_port disabled; telnet_port disabled; init; xadc_report xc7.tap; pld load 0 {/nix/store/9ag3z3lxspwb8vq1i96csywbwvjs9i6s-openocd-mlabs-0.10.0/share/bscan-spi-bitstreams/bscan_spi_xc7a100t.bit}; flash probe spi0; flash erase_sector spi0 0 41; flash write_bank spi0 {/run/user/1000/artiq_bbfb7i___top.bit} 0x0; flash verify_bank spi0 {/run/user/1000/artiq_bbfb7i___top.bit} 0x0; flash probe spi0; flash erase_sector spi0 64 66; flash write_bank spi0 {./artiq_kasli/strontium/software/bootloader/bootloader.bin} 0x400000; flash verify_bank spi0 {./artiq_kasli/strontium/software/bootloader/bootloader.bin} 0x400000; flash probe spi0; flash erase_sector spi0 69 78; flash write_bank spi0 {./artiq_kasli/strontium/software/runtime/runtime.fbi} 0x450000; flash verify_bank spi0 {./artiq_kasli/strontium/software/runtime/runtime.fbi} 0x450000; xc7_program xc7.tap; exit']' returned non-zero exit status 1.
I also tried this with the JTAG cable plugged directly into the board and got the slightly different error of
Error: unable to open ftdi device with vid 0403, pid 6011, description 'Quad RS232-HS', serial '*' at bus location '*'
I am following the steps here to flash the board.
I am afraid the board might just be broken, but I was hoping someone might have better insight. It seems surprising, since it is brand new. I am going to try flashing the board from a different Linux machine, just in case that solves it (though I am not too hopeful, since the other board works fine on this setup).
Thanks! Mika