X-Git-Url: http://git.zerfleddert.de/cgi-bin/gitweb.cgi/hmcfgusb/blobdiff_plain/4371275b6337ea3ae513f1c19463f8b4745d89d8..53d7bde277d9bc02e80195c4cbe44a97f21facd5:/hmsniff.c diff --git a/hmsniff.c b/hmsniff.c index e842453..39133d3 100644 --- a/hmsniff.c +++ b/hmsniff.c @@ -32,6 +32,7 @@ #include #include +#include "version.h" #include "hexdump.h" #include "hmcfgusb.h" @@ -188,6 +189,7 @@ int main(int argc, char **argv) } printf("HM-CFG-USB opened!\n"); + hmcfgusb_send_null_frame(dev, 1); hmcfgusb_send(dev, (unsigned char*)"K", 1, 1); while(!quit) { @@ -199,14 +201,19 @@ int main(int argc, char **argv) rdata.wrong_hmid = 0; hmcfgusb_send(dev, (unsigned char*)"K", 1, 1); } - fd = hmcfgusb_poll(dev, 10); + fd = hmcfgusb_poll(dev, 1); if (fd >= 0) { fprintf(stderr, "activity on unknown fd %d!\n", fd); continue; } else if (fd == -1) { if (errno) { - perror("hmcfgusb_poll"); - break; + if (errno != ETIMEDOUT) { + perror("hmcfgusb_poll"); + break; + } else { + /* periodically wakeup the device */ + hmcfgusb_send_null_frame(dev, 1); + } } } }