For me the problem was related to syncing Books. None of the above ideas fixed the (-54) for me, but when I turned off "Sync Books" in iTunes, the error went away. So I went into the iBooks application, deleted the most recent book I had added, and then turned "Sync Books" back on again in iTunes. Syncing now works, including syncing of books, with no (-54).
Some more details: I noticed that after deleting the problematic book from iBooks, it reappeared again there for some reason. I must have somehow gotten two copies of that particular book added to my iBooks library, but the second copy wasn't visible in either iBooks or iTunes, and manually deleting the book from within iBooks must have deleted the bad entry, leaving just the good one and thus fixing everything, maybe?
(I also tried the "ls -lOR | grep uchg" trick mentioned in another thread, but it found no locked files anywhere in my user folder, including the iTunes subfolders, so for me locked files seems not to have been the problem. Note that the other thread says to use a lower case "o" flag in the "ls" command, but according to the ls doc and my testing, it should actually be upper case "O".)
I really wish Apple would make this error message more specific, at least specifying which file triggered the "unknown" error.
Hopefully this info might help someone.