Pico not found in Linux

I hope this isn't too off-topic for this board, but I am using the new Arduino IDE 2 on my Fedora 36 Linux install. I'm trying to do a simple LED blink for my Raspberry Pico but the IDE can't seem to find it. I've installed the Pico in the board manager.

When plugging in the Pico, I can view the contents of the flash drive.

But I cannot seem to find it under the /dev/tty* ports.

When using my Uno, I see dev/ttyACM0 just fine. But nothing like that for the Pico.

Does anyone know what I'm missing or perhaps know of a better place to ask if this isn't the right place?

Thanks.

On a command line "dmesg | tail" will dump the end of the kernel log which should tell you whether the USB device was recognized and the device name if it was successfully registered. "dmesg" in this dumps the kernel activity log and "tail" just shows the end of it.

I haven't done Arduino development on Fedora, but there is an issue on some Ubuntu distributions with one of the services recognizing USB serial devices as a modem or some such and capturing the device to the exclusion of the IDE.

My Raspberry Pi Pico did not work well with linux in the past. Now it works just fine (with Arduino 2.0.0).

I have a Ubuntu based linux. The "modemmanager" package is removed. The initial upload to get a serial port working is already done. It is no longer seen as a flash drive.
Could you try in Windows if that will upload the file for a serial port ?

Here is the output of that command:

kern  :info  : [  +0.000088] scsi host6: usb-storage 3-2:1.0
kern  :notice: [  +1.011116] scsi 6:0:0:0: Direct-Access     RPI      RP2              2    PQ: 0 ANSI: 2
kern  :notice: [  +0.000179] sd 6:0:0:0: Attached scsi generic sg2 type 0
kern  :notice: [  +0.000199] sd 6:0:0:0: [sdb] 262144 512-byte logical blocks: (134 MB/128 MiB)
kern  :notice: [  +0.001430] sd 6:0:0:0: [sdb] Write Protect is off
kern  :debug : [  +0.000001] sd 6:0:0:0: [sdb] Mode Sense: 03 00 00 00
kern  :warn  : [  +0.001998] sd 6:0:0:0: [sdb] No Caching mode page found
kern  :warn  : [  +0.000001] sd 6:0:0:0: [sdb] Assuming drive cache: write through
kern  :info  : [  +0.007718]  sdb: sdb1
kern  :notice: [  +0.000153] sd 6:0:0:0: [sdb] Attached SCSI removable disk

So the dmesg log indicates that the device is mounting, but as a USB disk, not a serial device which is what you said in the original post.

Per the tutorial linked below, apparently one has to hold the "BOOTSEL" button when plugging in the USB to get into "bootloader" mode. Have you done that?
https://learn.adafruit.com/rp2040-arduino-with-the-earlephilhower-core?view=all

Yeah, I tried that a few times with two different Pico's.

On a hunch, I tried adding r/w permissions on /dev/ttyS0.
After doing that, I see that as an option for the port.

After trying to upload the blink example, I get this error:

Sketch uses 50636 bytes (2%) of program storage space. Maximum is 2093056 bytes.
Global variables use 7268 bytes (2%) of dynamic memory, leaving 254876 bytes for local variables. Maximum is 262144 bytes.
Resetting /dev/ttyS0
Converting to uf2, output size: 131584, start address: 0x2000
Traceback (most recent call last):
  File "/home/cbmeeks/.arduino15/packages/rp2040/hardware/rp2040/2.6.0/tools/uf2conv.py", line 401, in <module>
    main()
  File "/home/cbmeeks/.arduino15/packages/rp2040/hardware/rp2040/2.6.0/tools/uf2conv.py", line 388, in main
    drives = get_drives()
  File "/home/cbmeeks/.arduino15/packages/rp2040/hardware/rp2040/2.6.0/tools/uf2conv.py", line 262, in get_drives
    for d in os.listdir(rootpath):
FileNotFoundError: [Errno 2] No such file or directory: '/opt/media'
Failed uploading: uploading error: exit status 1

I tried creating the /opt/media folder (my /opt is empty), but that did not help.

UPDATE

I found the uf2 file in the cache folder and manually copied it over to the Pico (it's the blink example) and it's working!

So for whatever reason, the Arduino IDE cannot seem to do the same thing. I've never programmed the Pico before so I don't know if this is normal or not but seems that I should be able to upload from the IDE.

Did you install the udev rules?

I forgot about the udev rules, but I have installed that "60-rp2040.rules" file.

That worked! Installing the udev rules worked.

Thanks to everyone for their help.