USBasp with Ubuntu

pio device list will look for USB serial devices mostly. The USBasp is no such device. You can see that $UPLOAD_PORT / upload_port is set to the symbolic value “usb”. So it’s okay that it’s not showing up there.

Regarding the USBasp udev rules, they already have

# USBasp V2.0
ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", MODE:="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1"

so if the custom USBasp firmware did not change the USB VID (vendor ID) or PID (product ID), then you don’t have to do any changes and can install the regular udev rules, as linked in the documentation. lsusb will list all USB devices with the VID:PID. Also, dmesg will print it.