Unless initialiseRx() has been called (by setRxBufferSize or read), isReadable() always returns false.