Support for Mustang II V2

Issue #34 resolved
Jamie Arseneault
created an issue

It looks like the VID and PID for the amp have changed for the V2 which I just got yesterday. I'll work on adding them over the next few days. It looks like the defaults are all the same, so I'm hoping that it will just work. If anyone has a Mustang I V2 and can get the VID and PID for it, I can add that too.

Comments (32)

  1. Travis Sheldon

    Based on Jamie's fork I was able to successfully compile plug for my Mustang V2. If anyone is interested I modified the USB PID in the mustang.h file to match my V2.

    define OLD_USB_PID 0x0014

    Obviously the change will prevent non-V2 mustangs from working so I'd imagine Jamie will have a cleaner solution.. I just couldnt wait :)

  2. Jamie Arseneault reporter

    I added the new PID on my fork (in a backward compatible way, the old ones will still work) and it connects but I'm getting random segfaults. I'm guessing the protocol has changed slightly.

    I don't usually work on C++ apps (I'm a webdev guy) so it could be something dumb I did in the code, though I can't see it.

    @Piotrek, how are you reverse engineering the protocol? Are you hooking it up to FUSE in Windows and watching the USB traffic with a debugger?

  3. Travis Sheldon

    I had one segfault when I first ran it but it may have been due to me
    messing around with jackd . I've used it multiple times since yesterday
    without the issue reappearing

  4. Piotrek repo owner

    Please guys test this thoroughly because V2 is not just a new PID. V2's got new effects and maybe some other changes and I'd like to release this as PLUG 1.2.
    I think that this is a good idea to maybe add something like a variable which is set when PLUG connects to newer models and which is then checked in a program and if it set to some value then additional effects (present on V2) show up in a program.
    Unfortunately I don't have a V2 so I can't do it myself. The setup that I used to reverse engineer the protocol was:
    FUSE on Windows in VirtualBox on a Linux host machine with USB passed from host to guest. On Linux I load usbmon kernel module and launch Wireshark to sniff USB packets. The rest is figuring out what those digits really mean. ;)

  5. Jamie Arseneault reporter
    • changed status to open

    OK, I'll try to do some testing over the next couple of weekends and try to diff what's available on FUSE vs. what's currently available on PLUG to figure out what's new. I haven't worked directly with external hardware before so bear with me.

  6. Piotrek repo owner

    Also please check the PID of the amp when in update mode and either update you fork, add functionality in update function and create another pull request or report them directly to me and I will add the code.

  7. Tibor Kampeis

    Thanks for this great project!

    I tried it with my Mustang II V2 and I have reproduceable segmentation faults when trying to load the last preset from the amp. I think that is quite obvious, because there are 26 presets shown, but there are only 24 presets available in Mustang II.

    (maybe that is not an issue with V2 only?!)

  8. Thomas S-A

    For the Mustang 1 V2 the VID is 1ed8 and the PID is 0014.

    On the Fender Page the New Amp Models are
    “Fender ’57 Twin”
    “British Watts”
    “British Colour”
    “‘60s Thrift”
    “Stereo Preamp” – from the Mustang Floor: linear, flat eq

    Effects
    Diatonic Pitch Shifter – new pitch effect providing diatonic harmonizing capability
    Improved Chromatic Pitch Shifter (stays in tune better, less warble)
    “Greenbox” -
    “Orangebox”
    “Blackbox”
    “Big Fuzz”
    “Ranger”
    From the Mustang Floor: Touch and Pedal Wahs are available in both Stomp and Mod categories.

    I hope my usb sniffer will work to get the hex codes for the settings.

  9. Piotrek repo owner

    Guys, please, can any one of you (who have it) turn Mustang 1 v2 or 2 v2 into debug mode and give me the PID? Also PIDs for 3-5 v2 in both modes would be helpfull. I'd like to release PLUG v1.2 and this are the things that I'm missing.

  10. bm

    How to get the id's:

    Open a terminal and call

    lsusb
    

    This will list the usb devices. The ID's are formated like this:

    Bus <Bus-No.> Device <Device-No.>: ID <VID>:<PID> <Name>
    
    • VID = Vendor ID
    • PID = Product ID
  11. Travis Sheldon

    I haven't had my Mustang II V2 connected in a while so I'm not sure if it
    still works but here are the IDs

    Bus 008 Device 003: ID 1ed8:0014

    I noticed a lot of the times if the device was unplugged from the computer
    while plug is running then the only way to get it to connect again was to
    close the application and relaunch. I couldn't not do disconnect/connect.

  12. Piotrek repo owner

    @Travis Sheldon
    Thanks, but I think that what you posted is PID in normal mode. PID in firmware update mode is different than in normal, playing mode (at least on v1 devices). Can you please confirm that this is a PID in firmware update mode?

  13. Thomas S-A

    Here the Id's for Bronco 40 and Mustang 1 V2
    1ed8:000a usb id Fender Bronco 40

    1ed8:000b usb id Fender Bronco 40 during Update

    1ed8:0014 usb id Fender Mustang I ,II V 2

    1ed8:0015 usb id Fender Mustang I ,II V 2 during Update

  14. Donald Parker

    I can confirm that I see the same IDs Thomas S-A reported for my Mustang I V2. I tried downloading the source, modifying the Mustang.h file and rebuilding. There must be more to it that that. I still see the error that no suitable device was found. I know the electrical stuff is OK cause the same connection, same computer works fine when I reboot into Windows and launch FUSE. I know you can't just go out and buy every amp to play with them. If there is some data we could provide that would help, just say what and how to get it.

  15. Don Crowder

    I've been a full time Linux user since 2006 and a guitarist since nineteenmumble :) Just bought a Mustang IIv2 and would love to be able to tweak it with my reshly installed Debian desktop (it was Kubuntu yesterday). I've installed the mustang-plug app but get an error message when I click on "Connect" (Suitable device not found!). I've run the lsusb command requested above and copied the output to LibreOffice so as to highlight the significant bits.mustang.png
    I'm not a novice Linux user but neither am I a programmer and I'll do all I can to help, up to and including making a donation for your trouble.

  16. Piotrek repo owner

    @Don Crowder
    If you are installing version from repo then you have PLUG 1.1 and Mustang II v2 is supported since version 1.2. You either have to compile it from source yourself (it should be easy) or find if anybody already created a deb package with version 1.2 (I can see that PLUG 1.2 is available for Debian testing).

  17. Don Crowder

    Thanks for the reply! I was able to download the deb package...

    https://packages.debian.org/unstable/main/mustang-plug

    but the software insists there's an update and I'm not at all sure how to go about getting that. I'm able to connect to my amp now but there's clearly a learning curve with this software because I wasn't able to figure out how to read the parameters of any particular preset. Still, I'm ahead of where I was so I'll persist in hopes of sorting it out. :) Thanks again!

  18. Trent Jacobs

    I compiled v1.2 from the source on here today (Linux Mint), and it works correctly with Mustang I V2. I added the new device ID to the udev rules (Device 6, ID 14), and had to pull in libusb-1.0.0-dev to satisfy build dependencies (expected this).

    Thanks a bunch for the tool.

    Also, it looks like v1.2 will be in the October 2015 Ubuntu release, so hopefully Don's problem is automagically solved here in a month or two.

  19. Don Crowder

    I downloaded and installed the deb package and it sees my amp but I wasn't entirely able to figure out how to use it. I keep saying I'm going to get back into it but I have one preset tweaked and sounding good (using a neighbor's Windows machine) so I'm out of "panic" mode. I suppose that means I'm in "round tuit" mode but a friend is mailing me an older Win7 Home laptop so I know that, one way or the other, I'll get it sorted out eventually. Thanks y'all.

  20. rick johnson

    I just purchased a Mustang III v2 and I'm getting the same problem as Don above. Using Debian testing, apt-cache policy mustang-plug shows:

    mustang-plug:
      Installed: 1.2-1
      Candidate: 1.2-1
      Version table:
     *** 1.2-1 500
            500 http://debian.mirror.iweb.ca/debian testing/main amd64 Packages
            100 /var/lib/dpkg/status
         1.1-2 500
            500 http://debian.mirror.iweb.ca/debian stable/main amd64 Packages
    

    But strangely, when I open Help->About, it says that I have version 1.1. Anyways, I can connect to the amp using Fuse on Windows in Virtualbox and I updated the firmware this way but under linux, lsusb gives me:

    Bus 007 Device 014: ID 0b05:5601 ASUSTek Computer, Inc. 
    Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 004 Device 004: ID 1ed8:0016  
    Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 006 Device 002: ID 04f2:b053 Chicony Electronics Co., Ltd 
    Bus 006 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    

    'Bus 004 Device 004: ID 1ed8:0016' is apparently the amp but it doesn't identify itself and in plug, Connection -> Connect gives me "Suitable device not found!"
    I'm going to try compiling the package myself but it seems very odd that a debian package could have the wrong version number on it...

  21. rick johnson

    Success! I compiled the package and I now have PLUG 1.2.1. Dependencies needed on Debian testing were: libqt4-dev and libusb-1.0-0-dev. The amp is now connected and everything seems to be working. The Debian package maintainers just need a kick now...

  22. Log in to comment