diff -up ./mainwindow.cpp.orig ./mainwindow.cpp
--- ./mainwindow.cpp.orig 2012-09-10 21:59:23.388373021 +0100
+++ ./mainwindow.cpp 2012-09-10 22:29:57.776258400 +0100
@@ -664,7 +664,7 @@ void MainWindow::update_firmware()
QString filename;
int ret = 0;
- QMessageBox::information(this, "Prepare", "Please power off the amplifier, then power it back on while holding \"Save\" button.<br>After pressing \"OK\" choose firmware file and then update will begin.<br>It will take about one minute. You will be notified when it's finished.");
+ QMessageBox::information(this, "Prepare", "Please power off the amplifier, then power it back on while holding down:<ul><li>The \"Save\" button (Mustang I and II)</li><li>The Data Wheel (Mustang III, IV and IV)</li></ul>After pressing \"OK\" choose firmware file and then update will begin.It will take about one minute. You will be notified when it's finished.");
filename = QFileDialog::getOpenFileName(this, tr("Open..."), QDir::homePath(), tr("Mustang firmware (*.upd)"));
if(filename.isEmpty())
diff -up ./mustang.cpp.orig ./mustang.cpp
--- ./mustang.cpp.orig 2012-09-10 21:38:55.322810243 +0100
+++ ./mustang.cpp 2012-09-10 23:02:36.685180287 +0100
@@ -1286,11 +1286,15 @@ int Mustang::update(char *filename)
return ret;
// get handle for the device
- amp_hand = libusb_open_device_with_vid_pid(NULL, USB_UPDATE_VID, USB_UPDATE_PID);
+ amp_hand = libusb_open_device_with_vid_pid(NULL, USB_UPDATE_VID, OLD_USB_UPDATE_PID);
if(amp_hand == NULL)
{
- libusb_exit(NULL);
- return -100;
+ amp_hand = libusb_open_device_with_vid_pid(NULL, USB_UPDATE_VID, NEW_USB_UPDATE_PID);
+ if(amp_hand == NULL)
+ {
+ libusb_exit(NULL);
+ return -100;
+ }
}
// detach kernel driver
diff -up ./mustang.h.orig ./mustang.h
--- ./mustang.h.orig 2012-09-10 21:38:47.948033052 +0100
+++ ./mustang.h 2012-09-10 21:40:04.731709631 +0100
@@ -17,7 +17,8 @@
// amp's VID and PID while in update mode
#define USB_UPDATE_VID 0x1ed8
-#define USB_UPDATE_PID 0x0006
+#define OLD_USB_UPDATE_PID 0x0006 //Mustang I and II
+#define NEW_USB_UPDATE_PID 0x0007 //Mustang III, IV, V
// for USB communication
#define TMOUT 500