I have been struggling to successfully flash our Kasli Crate. As noted by the lsusb command, the Kasli crate does not appear. Furthermore, my mouse and keyboard are not present as well. This occurs regardless of which port I use. Interestingly, the keyboard, mouse, and Kasli Crate populate my Device Manager just fine. Unfortunately, I am at a complete loss and would appreciate any suggestions after attempting to solve this issue myself for the past week. Thanks.

iontrap@oscillator:~/.config/nix/artiq/artiq_kasli$ artiq_flash --srcbuild -d indiana2
Design: top;COMPRESS=TRUE;UserID=FFFFFFFF;Version=2022.2
Part name: 7a100tfgg484
Date: 2024/10/30
Time: 21:53:36
Bitstream payload length: 0x2b52cc
Open On-Chip Debugger 0.12.0
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Error: no device found
Error: unable to open ftdi device with vid 0403, pid 6011, description 'Quad RS232-HS', serial '*' at bus location '*'
no device found
unable to open ftdi device with vid 0403, pid 6011, description 'Quad RS232-HS', serial '*' at bus location '*'
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "/home/iontrap/.config/nix/artiq/artiq/frontend/artiq_flash.py", line 362, in <module>
main()
File "/home/iontrap/.config/nix/artiq/artiq/frontend/artiq_flash.py", line 358, in main
programmer.run()
File "/home/iontrap/.config/nix/artiq/artiq/frontend/artiq_flash.py", line 206, in run
self._client.run_command(cmdline)
File "/home/iontrap/.config/nix/artiq/artiq/remoting.py", line 57, in run_command
subprocess.check_call([arg.format(tmp=self._tmp, **kws) for arg in cmd])
File "/nix/store/h723hb9m43lybmvfxkk6n7j4v664qy7b-python3-3.11.9/lib/python3.11/subprocess.py", line 413, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['openocd', '-s', '/nix/store/qx8r6daya5hkh0mypyp3fg5zjn06qi8k-openocd-bscanspi/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; set error_msg "Trying to use configured scan chain anyway"; if {[string first $error_msg [capture "init"]] != -1} {; puts "Found error and exiting"; exit}; xadc_report xc7.tap; pld load 0 {/nix/store/qx8r6daya5hkh0mypyp3fg5zjn06qi8k-openocd-bscanspi/share/bscan-spi-bitstreams/bscan_spi_xc7a100t.bit}; flash probe spi0; flash erase_sector spi0 0 43; flash write_bank spi0 {/tmp/nix-shell.IJ2yFV/artiq_spqadkpe_top.bit} 0x0; flash verify_bank spi0 {/tmp/nix-shell.IJ2yFV/artiq_spqadkpe_top.bit} 0x0; flash probe spi0; flash erase_sector spi0 64 65; flash write_bank spi0 {indiana2/software/bootloader/bootloader.bin} 0x400000; flash verify_bank spi0 {indiana2/software/bootloader/bootloader.bin} 0x400000; flash probe spi0; flash erase_sector spi0 69 85; flash write_bank spi0 {indiana2/software/runtime/runtime.fbi} 0x450000; flash verify_bank spi0 {indiana2/software/runtime/runtime.fbi} 0x450000; xc7_program xc7.tap; exit']' returned non-zero exit status 1.
iontrap@oscillator:~/.config/nix/artiq/artiq_kasli$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
iontrap@oscillator:~/.config/nix/artiq/artiq_kasli$ dmesg | tail
[ 7.406398] Failed to connect to bus: No such file or directory
[ 7.691847] Failed to connect to bus: No such file or directory
[ 7.956746] Failed to connect to bus: No such file or directory
[ 8.219631] Failed to connect to bus: No such file or directory
[ 8.586199] systemd-journald[68]: Received client request to flush runtime journal.
[ 11.582278] TCP: eth0: Driver has suspect GRO implementation, TCP performance may be compromised.
[ 12.125018] WSL (2): Creating login session for iontrap
[ 14.008252] systemd-journald[68]: File /var/log/journal/42a6bf7cbff4406588c700437e546879/user-1000.journal corrupted or uncleanly shut down, renaming and replacing.
[ 49.787145] hv_balloon: Max. dynamic memory size: 4054 MB
[ 1862.052016] mini_init (119): drop_caches: 1

To clarify, the mouse and keyboard work despite not showing up when using lsusb. Additionally, as a quick check, I downloaded Ubuntu to a different computer and plugged in the same mouse and keyboard such that I could check against lsusb. Still, the same issue persists in that the devices do not populate via lsusb. Evidently, I must be completely missing something important. Thanks for any help.

Could you show the actual lsusb output?
Permissions set up correctly (as per the manual)?

    rjo The output is displayed in the original comment near the Bus 002 line, where we can see it pick up Linux Foundation, but not the mouse, keyboard, or kasli crate.

    I actually do not know what you mean by Permissions set up correctly as per the manual? Maybe this is my issue as I did not know there were permissions and a manual? Could you elaborate on this? Thanks! - Actually are you referring the the OpenOCD rules which needed to be added in? I believe I did that part correctly.

    Are you sure the devices are definitely physically connected to that machine?
    Is this a virtual machine?

      rjo Correct. The devices are physically connected to my laptop - I am currently not using a virtual machine and working through plain Ubuntu 22.04 with Nix installed.

      Fixed: Since I am running Ubuntu 22.04 through Windows I had to use usbipd.

      You said you "worked through plain Ubuntu". That obviously not the case.