You mention you're running under Linux. Do you see any new lines in dmesg when you plug it in?
Honestly, if it works in bootloader but not in normal mode, it could be firmware. Are you totally sure you've got an up to date firmware designed for a Pico on there? The bootloader won't stop you flashing (for instance) an Original Espruino firmware on there, in which case you'd see exactly this problem.
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
You mention you're running under Linux. Do you see any new lines in
dmesg
when you plug it in?Honestly, if it works in bootloader but not in normal mode, it could be firmware. Are you totally sure you've got an up to date firmware designed for a Pico on there? The bootloader won't stop you flashing (for instance) an Original Espruino firmware on there, in which case you'd see exactly this problem.