I haven't used the Petrel, but I've seen random odd problems with the Perdix AI (but that is BLE only, not BT rfcomm) when it thinks it is paired to some other device and then gets confused when you access it from a new device.
It randomly goes away, and things start working again, but I don't know if your problem is the same. Sadly, there is no way to explicitly unpair on the shearwater devices afaik.
If you have used the shearwater sync app on your phone (I forget the name of it) recently, maybe that's it. Make sure the phone that the shearwater may think it is paired to is not near (or off), and try again after turning the shearwater on and off.
But I never figured out what the pattern really is. But once it connect to my laptop, it seems to *continue* to connect ok.
But I use Fedora, not Ubuntu, and my laptop is different anyway, and you have a different dive computer. So your problem may simply not be related at all.
One thing that might also be worth testing is to simply do the download on your phone using subsurface - if you have an Android phone. You'll obviously need to have cloud sync set up for subsurface for that to be useful.
Linus