FaceTime HD Camera (Built-in) detected on USB hub, but no picture? `sudo Killall VDCAssistant`, restarting, etc does nothing

camerafacetimeusb

Why does my laptop camera keep losing picture? Is this possibly just a hardware failure? Specifically, this is in regards to a mid-2012 MacBook Air running macOS Sierra 10.12.5 with a 2GHz i7 & 8GB RAM. The laptop has led a pretty sedentary, suburban life (not banged around a lot or used on the go). Maybe it's just five year old ribbon cables from the camera through the laptop hinge finally giving up?

As of today, the camera picture just isn't coming back. None of these get me picture again:

  1. zapping the PRAM:
    • hold down +option+p+r while booting/restarting…
    • let the mac chime 3-4 times, then let go.
  2. Disk Utility's First Aid in recovery mode (or internet recovery mode):
    • +r, or,
    • +option+r at bootup
  3. resetting the SMC (System Management Controller):
    • shut down, unplug power, hold SHIFT+CTRL+option+POWER for ten-fifteen seconds then boot up.
  4. Apple Hardware Test:
    • Restart holding down d
    • Running the basic test, and, running the extended test just result in the message: 4HDD/11/40000000: SATA(0,0) for a computer which does not have an HDD…
  5. note: invoke these commands until the return msg appears
    $ sudo killall VDCAssistant
    No matching processes were found
  6. sudo killall AppleCameraAssistant
    No matching processes were found

… no picture, but the camera is still detected on the USB hub:

enter image description here

After zapping PRAM, resetting SMC, recovery mode Disk Utility:

After zapping PRAM, resetting SMC, recovery mode Disk Utility:

After sudo killall VDCAssistant:

After <code>sudo killall VDCAssistant</code>

OF NOTE:

  • I'm not sure, but I don't think AppleCameraAssistant is a thing
    anymore in macOS Sierra?
  • Also, takes a couple invocations of $ sudo killall VDCAssistant to
    get the No matching processes were found return message. I have no
    apps open which use the camera, so I am not sure why this happens.
  • sudo Killall VDCAssistant does nothing except, for example,
    PhotoBooth.app or FaceTime.app change from a completely black screen
    to a black screen with the "There is no connected camera." message.
    The camera still detected on USB 2.0 bus and after restarting, the app displays a black screen with no "…no connected camera" message.
  • Even when the picture is missing (with or w/o the "no connected cam"
    msg) and there's no green indicator light, the device is still
    detected on the USB bus. There's no picture in PhotoBooth,
    FaceTime.app, or meeting software like zoom.us.
  • Restarting in Recovery mode and using FirstAid in the Disk Utility
    used to resuscitate the camera, but after a couple uses, launching an app that accesses the camera would result in nothing but
    a black picture and no green indicator light.

Any suggestions for troubleshooting would be very welcome. Thanks you.


UPDATE: the camera functionality has "magically" reappeared and is now consistent. I think it might be the connecting wires. I noticed after traveling that the camera went away. I gently tapped on the hinge side of the laptop with the Air book closed, and that got it working again.

Best Answer

You most likely have a hardware failure of the Facetime camera.

It doesn't have to show up in AHT for there to be a problem. Like any test, AHT isn't immune to false positives/negatives.

To truly verify if it's your hardware or software, install a generic USB camera (FaceTime camera is technically a USB camera) which uses the same underlying software as the FaceTime cam. If it works, it's a hardware issue.

Regarding your AHT error code indicating a bad drive; just because it uses the code "HDD" doesn't mean it's not applicable to SSDs. An SSD or HDD uses the exact same ATA command set to interface with so if you are getting an error code it is valid and applicable.

Again, AHT is not the definitive answer, but a tool to help you diagnose problems. If it's giving you an error code, it's something you should start looking into.