--- amidi.c.orig 2015-11-20 23:10:21.230502547 +0100 +++ amidi.c 2016-03-20 16:52:55.366066476 +0100 @@ -559,7 +559,7 @@ int i, length; unsigned short revents; - err = poll(pfds, npfds, 200); + err = poll(pfds, npfds, 5); if (stop || (err < 0 && errno == EINTR)) break; if (err < 0) { @@ -567,7 +567,7 @@ break; } if (err == 0) { - time += 200; + time += 5; if (timeout && time >= timeout) break; continue; @@ -589,7 +589,7 @@ } length = 0; for (i = 0; i < err; ++i) - if (!ignore_active_sensing || buf[i] != 0xfe) + if (!ignore_active_sensing || buf[i] < 0xf8) buf[length++] = buf[i]; if (length == 0) continue;