[Galaxy S II Q&A, Help & Troubleshooting] myolxda:
So I finally found the issue, after battling with heimdall on ubuntu 14.04 for hours. Its a hardware problem. :rolleyes:

I'm just going to leave my experience here in case someone else has the same issue, since anything to do with all the issue I am about to describe don't seem to be documented anywhere on the web clearly.

Firstly, I battled with heimdall 1.3.2 to recognise my phone on ubuntu. I kept getting;

ERROR: Failed to receive response!

After a number of threads talking about installing usblibx drivers I found one about which libs to install from terminal;

sudo apt-get install libXXXX

libusb-ocaml
libdevice-usb-perl
libhpmud0 (not sure if it's essential)
libusb-0.1-4
libusb-1.0-0
libusb-1.0-0-dev
libusb-dev
libusbprog-dev
libusb++-0.1-4c2
libusb++-dev
libusbtc08-1
libusbmuxd-dev
libusbprog0
libusbmuxd1

I installed all but couldn't find libusbmuxd1, restarted anyway, to the same error. I purged heimdall 1.3.2 and instead installed it from the Ubuntu software centre, which using

sudo apt-cache policy heimdall

showed that I had version 1.4 installed. Then I managed to find

libusbx-1.0.14_1.0.14-1_amd64.deb

floating somewhere on the internet, which finally installed the proper libusb stuff and allowed heimdall to continue without the error message.

I made a .pit file from my phone. I recommend this first. After hours searching for a stock rom (samsung has removed most of its firmware downloads? and asked links to be removed on other sites!?) came across this site

(I can't post links as a new user) - google [TUTORIAL] Flashing i9000, i9100 or i9300 with Heimdall

Which explains how to flash using heimdall. After a successful flash, my phone didn't get farther than the boot animation. I booted into stock recovery with vol up-home-power to factory reset, but noticed a dead droid and red writting. Rather than continue, I wanted to fix this, so I followed the tutorial again, but this time checked repartition under the pit path, and hoped for the best. The phone stalled at the boot anim again, but this time in recovery, all was good.

I did a data wipe / factory reset, cache wipe etc, but nothing. So I stuck the stock rom zip onto the micro sd and installed it from recovery, factory reset, and rebooted. (which is odd, having to install the rom from recovery - because doesn't that kinda defeat the point of using the same image on heimdall in the first place?!?)

The phone booted! So after all that, (Having data/factory reset, wiped the cache, (wiped the dalvik cache when i had CWM before and formatted all I could in mounts and storage) flashed the stock ROM AND repartitioned the phone) i thought that would eliminate any software issues. I thought the camera would work.

Nope.

As usual, the front camera worked, but the back, now, after a pause would give the samsung error:

unknown error by errorcallback

Now, after googling this (Cyanogenmod gave a different error with no related answers on google) and being annoyed at my time lost, I took the tongue and cheek advice from some random forum commenter, to tap the camera hard.

It worked.

Apparently, the entire time the camera was suffering from a hardware issue. Something about a 'sticky shutter'. Anyways, i'm going to leave the stock ROM and take it into a shop to get it fixed. Just leaving this trail of breadcrumbs in the hope it helps someone else.

Perhaps this could be marked as 'solved'.