I used to have a problem that sometimes after waking from sleep the webcam video would be black in certain applications (Cheese and Skype), but not in guvcview (meaning that the driver was working properly). I used to be able to resolve this by rebooting or simply logging out of my GUI user session and logging back in. The problem seemed to become much less frequent when I switched from Unity to XFCE, as did another possibly related problem of networking getting disabled during sleep.

However I now find that I have this black video problem and that nothing I do will resolve it, not even rebooting (but the video still works in guvcview). I have tried logging in to another user session and I have tried launching Cheese as root, but nothing works. How can I get my webcam working properly again?