Two identical cameras; still image works for one, not the other

I’m wondering how to debug this. These are two identical D-Link cams. Both show up in their own Lovelace card, but one is missing the still image. The camera stream works for either. I can cut and paste the still_image_url from the config and both work when accessed directly.

camera:
  - platform: generic
    name: Cam1
    still_image_url: http://192.168.21.11/image/jpeg.cgi
    stream_source: http://admin:[email protected]/video/mpegts.cgi
    verify_ssl: false
    username: admin
    password: XXXXXXXX
    authentication: basic
  - platform: generic
    name: Cam2
    still_image_url: http://192.168.21.41/image/jpeg.cgi
    stream_source: http://admin:[email protected]/video/mpegts.cgi
    verify_ssl: false
    username: admin
    password: YYYYYYYY
    authentication: basic

I’ve tried setting:

homeassistant.components.camera: debug
homeassistant.components.camera.generic: debug 

but can’t find anything. I can see the the browser periodically requesting the images. For cam1 the response is a broken jpeg. For cam2 it’s a working jpeg.

If I catch the URL that runs through /api/camera_proxy/ and paste it in a new tab, Firefox says the image “cannot be displayed because it contains errors”. Somehow the image is getting broken between the camera and being re-shown through the UI.

Are there other steps I should take to debug? Is there a cache somewhere?