From 843e9120b35ae0e4de791cebb37fa8ce46272d76 Mon Sep 17 00:00:00 2001 From: Denis Ahrens Date: Sat, 1 Dec 2012 08:41:25 +0100 Subject: [PATCH] libztex: Match mining firmware ZTEX descriptor against the dummy firmware The first 8 bytes are matched, which ensures that the mining firmware actually fits the hardware, assuming that the correct dummy firmware is present in the device. --- libztex.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/libztex.c b/libztex.c index de00baed..f179c680 100644 --- a/libztex.c +++ b/libztex.c @@ -152,6 +152,15 @@ static enum check_result libztex_checkDevice(struct libusb_device *dev) goto done; } + // in buf[] is still the identifier of the dummy firmware + // use it to compare it with the new firmware + char *rv = memmem(fw_buf, got_bytes, buf, 8); + if (rv == NULL) + { + applog(LOG_ERR, "%s: found firmware is not ZTEX", __func__); + goto done; + } + // reset 1 buf[0] = 1; cnt = libusb_control_transfer(hndl, 0x40, 0xA0, 0xE600, 0, buf, 1,1000);