Blog / Troubleshooting a freezing Canon EOS RP camera

This week, I've been trying out Canon EOS RP, Canon's smallest full-frame camera.

The camera has a USB-C socket that can handle both data and inbound power. This is very handy - my other camera uses a proprietary socket so when I travel, I have to remember to pack the special cable as well. With the RP, I'm looking forward to just being able to use any standard USB cable.

Well, almost any:

I found a USB-A to USB-C cable from another device I had lying in my cable drawer, and boldly plugged it into the camera. But things didn't go as smoothly as I hoped. Sometimes the camera would connect, sometimes it would freeze.

When connecting the camera powered off, its access lamp (LED) would start flashing about once per second. Canon's user guide explains that that indicates charging problems. With the LED flashing, turning the power switch (knob) from OFF to ON would do nothing. Turning it back to OFF, nothing. The camera's screen would be off. Disconnecting the USB cable would make no difference - the LED would keep flashing, camera still a brick. In this situation, Canon recommends unplugging the cord and disconnecting the battery for few minutes. For me, opening and closing the battery compartment did the job. On the computer side, there'd be no log entries to help find out what's wrong.

When I connected the camera while it was powered on, thing would look much better - the access LED would stay off, camera wouldn't freeze, and I'd be able to browse files on the camera's memory card from the computer. In /var/log/syslog, the computer would log this ...

kernel: [46172.632640] usb 1-1: new high-speed USB device number 16 using xhci_hcd
kernel: [46172.786173] usb 1-1: New USB device found, idVendor=04a9, idProduct=32e2, bcdDevice= 0.02
kernel: [46172.786175] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
kernel: [46172.786176] usb 1-1: Product: Canon Digital Camera
kernel: [46172.786177] usb 1-1: Manufacturer: Canon Inc.
mtp-probe: checking bus 1, device 16: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-1"
mtp-probe: bus: 1, device: 16 was not an MTP device

... so we're looking good, right?

Well, not quite:

While plugging the camera in while powered lets it connect, the fact that the camera freezes if it's OFF reflects poorly on the manufacturer. This feels like the firmware was rushed out of the door too quickly.

On top of this, even if the camera does connect, it turns out that the connectivity is still hobbled because some advanced features still don't work.

Eventually, I ran into an article that pointed me in a different direction: while the EOS RP User Guide says nearly nothing about USB cables, the article suggests using a USB-C to USB-C cable instead of anything else - after all, this is the type of interface cable that Canon sells on their website.

And, just like that, using a USB-C to USB-C cable fixed all of the issues I've described above. The camera no longer freezes, connects once we turn it on, and exposes the full range of supported features.

I hope this article saves you some troubleshooting time!

Posted Nov. 7, 2020