It's actually the subsequent 'adb shell' which is producing the protocol fault error:
$ adb wait-for-device && echo $? && adb shell 0 error: protocol fault (no status) $ echo $? 1 'adb help' describes wait-for-device as, "block until device is online". The meaning of 'online' however is not defined. It either means: (1) the device has reached some sequence point in its boot path. (2) the device is ready to accept 'adb shell' connections. I'm guessing it actually means (1). However, users would expect it to mean (2) to be useful. A rather awful work-around for current behaviour: $ adb wait-for-device && while ! adb shell true; do sleep 1; done && adb shell ** Summary changed: - 'adb wait-for-device' returns too early + 'adb wait-for-device' returns too early causing subsequent 'adb shell' to report "error: protocol fault (no status)" -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to android-tools in Ubuntu. https://bugs.launchpad.net/bugs/1358784 Title: 'adb wait-for-device' returns too early causing subsequent 'adb shell' to report "error: protocol fault (no status)" Status in “android-tools” package in Ubuntu: New Bug description: $ adb wait-for-device && adb shell error: protocol fault (no status) $ echo $? $ adb version Android Debug Bridge version 1.0.31 ProblemType: Bug DistroRelease: Ubuntu 14.10 Package: android-tools-adb 4.2.2+git20130218-3ubuntu27 ProcVersionSignature: Ubuntu 3.16.0-9.14-generic 3.16.1 Uname: Linux 3.16.0-9-generic x86_64 ApportVersion: 2.14.6-0ubuntu1 Architecture: amd64 CurrentDesktop: Unity Date: Tue Aug 19 15:45:56 2014 InstallationDate: Installed on 2014-04-11 (129 days ago) InstallationMedia: Ubuntu 14.04 LTS "Trusty Tahr" - Daily amd64 (20140409) SourcePackage: android-tools UpgradeStatus: Upgraded to utopic on 2014-05-08 (103 days ago) To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/android-tools/+bug/1358784/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp