I've got an old film camera that uses a cable to connect to a PC. The camera records information like shutter speed, lens used, flash fired, focal length, etc. I'd like to download this information and keep it with my photos. The software that comes with this cable works only on Windows XP. I'm trying to get something that will work with a python script on linux ideally.

My first thought was to capture some usb/serial traffic and see what is sent and received. After several tries, I got some data captured. However, I can't really understand what is going on. It's rather cryptic to me.

List of Details:

  • In Windows XP the device shows up as using com3/4, hence I think it is a serial device over USB. I couldn't get portmon to capture anything at all.
  • I tried various USB sniffers inside windows xp virtual machine--none worked.
  • I tried capturing USB traffic in VMWare logs, this worked but it's cryptic and doesn't look terribly helpful.

I was hoping to get a set of commands that are available on this device to send and receive various pieces of data. Are there any good suggestions/tips/tricks that you can offer to get me started down a successful path? I know this will be trial and error, but what else can I try? Maybe the data I have is sufficient and I need to interpret somehow?

Any suggestions are appreciated!

  • I also got the same wire, but I don't know where to download the software. If you have one, could you please share it with me? Thanks
    – John
    Mar 28, 2021 at 4:18
  • John, you need the CD from Canon that comes with the ES-E1 cable. You might be able to download that from Canon or purchase the software. Mar 29, 2021 at 18:38

1 Answer 1


Reversing a USB protocol can be a daunting task but some tools can provide a lot of help. Wireshark understands the USB protocol and can help you make sense of some capture. I have only used on it Linux but the wiki provides instructions for Windows too. I suggest you always run Windows XP in the VM and capture on the host, it usually makes thing easier. You will need to familiar yourself with the USB protocol, USB in Nutshell is a good place to start.

Alternatively, you can try to directly capture the traffic at the COM port, see this post. It should be much simpler assuming you can make it work because it will give you much more higher-level information.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.