diff --git a/tools/sky/serialdump.c b/tools/sky/serialdump.c index 447999026..d0e7fac3c 100644 --- a/tools/sky/serialdump.c +++ b/tools/sky/serialdump.c @@ -164,8 +164,11 @@ main(int argc, char **argv) } fprintf(stderr, "connecting to %s (%s)", device, speedname); -#ifndef __APPLE__ +#ifdef O_SYNC fd = open(device, O_RDWR | O_NOCTTY | O_NDELAY | O_DIRECT | O_SYNC); + if(fd < 0 && errno == EINVAL){ // O_SYNC not supported (e.g. raspberian) + fd = open(device, O_RDWR | O_NOCTTY | O_NDELAY | O_DIRECT); + } #else fd = open(device, O_RDWR | O_NOCTTY | O_NDELAY | O_SYNC ); #endif