Fix most communication problems (#698 without waiting for "start")

see #698

I removed this patch as daid suggested:

elif 'ok' in line or 'start' in line:
           self._changeState(self.STATE_OPERATIONAL)

hope the request will be accepted now.

Changing the other pull request didn't work with Mercurial, so I created a new one