Unfortunately, every new version of iOS seems to get more difficult to get working properly outside of Windows/Mac.
The answer here isn't one specific application, but rather the libraries which make it possible to talk to an iDevice in the first place, as they are no longer simple USB mass storage devices as the previous generations of iPod's were. To start, make sure you have the latest
libimobiledevice and ifuse.
If you already have the latest versions, then it is going to be a matter of trying to find where the failure is occurring. Checking the logs as soon as the iPhone is connected/mounted will probably be the most help.