offa / plug

Software for Fender Mustang Amps.
GNU General Public License v3.0
54 stars 20 forks source link

Mustang V v2 amp not recognized. #3

Open beelzebud opened 4 years ago

beelzebud commented 4 years ago

Plug v1.2.1 identifies the amp and works correctly, but this version does not. I'm not sure what the difference is. If you need any info from the Mustang V v2, just let me know and i'll get it.

offa commented 4 years ago

Thanks for reporting. Can you check die usb vid / pid of your amp (eg. using lsusb)? It should show a vid of 0x1ed8 and a pid of either 0x0014 or 0x0016 (supported pid's).

beelzebud commented 4 years ago

Ok today I had a chance to see the output of lsusb. In normal mode the amp reads 0x0016, and in maintenance mode it reads 0x0017

beelzebud commented 4 years ago

Also if it helps, the old software recognized the amp at v1.2.1. https://bitbucket.org/piorekf/plug/src/default/ is the version that works with the MustangV v2.

offa commented 4 years ago

The vid is still 0x1ed8? The supported pid's don't have changed between both versions and 0x0016 is still available. What kind of error do you get btw.?

Since there's a working earlier version, the udev rule or other permission issues aren't the root cause.

If you have some time left, you can use git bisect to figure out the causing commit. There are tags for the mercurial v1.2.1 and initial importing commit. Unfortunately I don't have a V2 around.

zavorra commented 4 years ago

Hi, I didn't noticed this issue, so i forked your project and added an initial support for V2 amps.

To be more precise, my Mustang II V2 was recognized and works correctly, but plug lacks the "V2-only" features (some mod, stomp and amp).

moreover, I am trying to fix some weird issue on raspberry pi with USB communication, and changed something in USBComm to handle transmission retries (as in mustang-midi-bridge). Some other changes including loadfromfile to handle (maybe) incorrect fuse files.

Still no changes in updater

Could you please review my changes and in case take them into account?

You can find them in https://github.com/zavorra/plug.git

offa commented 4 years ago

Still no changes in updater

Are there still updates for V2? V1 is dead.

Great to see people working on this! Feel free to submit PRs – either here or on Gitlab, whatever suits best for you.

Snayler commented 3 years ago

Getting a similar issue on a Mustang IV V2.

lsusb output as follows: Bus 002 Device 007: ID 1ed8:0016 FENDER MUSICAL INSTRUMENTS CORPORATION Mustang IV v.2

On the GUI it only says: Error: Failed to open usb device

Are there any log files that I can check?

Are there still updates for V2? V1 is dead.

The latest firmware update for V2 is 2.2, it's some years old and with fender removing support for Mustang V1/V2, I doubt there will be more updates.

offa commented 3 years ago

VID / PID look good, so the application should pick it up correctly. The error indicates there's no device found though. Does this happen always?

Just to be sure: udev rules are installed and working?

Are there any log files that I can check?

Unfortunately no, the application itself doesn't write any logs yet. Maybe you can get some hints through the system logs.

Are there still updates for V2? V1 is dead.

The latest firmware update for V2 is 2.2, it's some years old and with fender removing support for Mustang V1/V2, I doubt there will be more updates.

So the situation is the same as V1. :-1: Is there a still a reason to keep the updater code? If so, it definitely needs some improvements.

Snayler commented 3 years ago

Just to be sure: udev rules are installed and working?

Ok, the issue was I forgot to create the plugdev group and add my user to that group. Might be a good idea to include the same note piorekf added to his wiki to your README.md file.

Could also be a good idea to change the links to a wayback machine link, since apparently piorekfs repository is no longer available.

Is there a still a reason to keep the updater code? If so, it definitely needs some improvements.

Could be useful if someone is still running an older version of the firmware and wants to update. Some digging would need to be done to find the firmware files, as fender decided to stop hosting everything Mustang V1/V2 related. I keep a backup of everything on my computer just in case.

On another note, have you included anything from zavorra's repo?

offa commented 3 years ago

Ok, the issue was I forgot to create the plugdev group and add my user to that group. Might be a good idea to include the same note piorekf added to his wiki to your README.md file.

make install takes care of the udev files already. Is it a good idea to include another target, which installs the udev files only (in case someone wants the rules, but not the application installed)?

Could also be a good idea to change the links to a wayback machine link, since apparently piorekfs repository is no longer available.

Good point, all links back to Bitbucket are dead now. Well done Atlassian.

Could be useful if someone is still running an older version of the firmware and wants to update. Some digging would need to be done to find the firmware files, as fender decided to stop hosting everything Mustang V1/V2 related. I keep a backup of everything on my computer just in case.

The updater code is still there, but the updater is disabled in the UI (however, just a boolean to flip). Let's see if someone realy needs it.

On another note, have you included anything from zavorra's repo?

Not yet.

offa commented 3 years ago

Coming back to the origial issue: To get some more infos out of the USB device error, it's neccessary to replace the related libusb code, allowing error handling. It shouldn't be difficult though. But at this point it's worth thinking about replacing plain C libusb calls with something improved, eg. libusbpp or libusbpp11 (suggestions welcome).

Odzinic commented 3 years ago

I'm unsure if I'm experiencing the same issue, but I have been receiving a ERROR: Invalid amp id: 0 error for my Mustang I (V.2) with a lsub output of ID 1ed8:0014 FENDER MUSICAL INSTRUMENTS CORPORATION Mustang I (V.2).

offa commented 3 years ago

@Odzinic what version are you using? The usb vid / pid are ok.

Odzinic commented 3 years ago

@Odzinic what version are you using? The usb vid / pid are ok.

1.4.2 compiled from git yesterday.

offa commented 3 years ago

Could you test with latest master? I've rewritten most of the USB code. You can enable additional libusb logging by setting LIBUSB_DEBUG.

Odzinic commented 3 years ago

Sorry my previous message was my convoluted way of saying I compiled from master so I think I'm as up to date as possible.

I ran debugs 1-3 and didn't get anything other than ERROR: Invalid amp id: 0 but I captured the debug output if it can help: plug_debug.txt

offa commented 3 years ago

The exception indicates a corrupted amp packet – unfortunately not more information. Does this happen always? I've experienced the issue too, but quite rarely. Typically a reconnect of the usb connection solved it.

In doubt, we could try to dump all received packets to get some more insight of what's transmitted actually.

Odzinic commented 3 years ago

This has happened to me every single time I've tried to run plug with this amp. I have never been able to connect successfully (tried with other versions in the past as well but can't recall the exact versions).

I tried reconnecting the USB five times but kept getting the same error. The only difference was that id went from 0 to 1 on the second reconnection:

ERROR:  Invalid amp id: 0 (Running plug first time)
ERROR:  Invalid amp id: 0 (First USB reconnection while plug was still open)
ERROR:  Invalid amp id: 1
ERROR:  Invalid amp id: 1
ERROR:  Invalid amp id: 1
ERROR:  Invalid amp id: 1
zavorra commented 3 years ago

Forgive my stupid question, have you tried different cables? And, you are using an usb3 port? An USB hub? Could you try different hw?

Z

P.S. Is It a Raspberry Pi or a PC?

Il mar 13 lug 2021, 20:08 Omar Dzinic @.***> ha scritto:

This has happened to me every single time I've tried to run plug with this amp. I have never been able to connect successfully (tried with other versions in the past as well but can't recall the exact versions).

I tried reconnecting the USB five times but kept getting the same error. The only difference was that id went from 0 to 1 on the second reconnection:

ERROR: Invalid amp id: 0 (Running plug first time) ERROR: Invalid amp id: 0 (First USB reconnection while plug was still open) ERROR: Invalid amp id: 1 ERROR: Invalid amp id: 1 ERROR: Invalid amp id: 1 ERROR: Invalid amp id: 1

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/offa/plug/issues/3#issuecomment-879294306, or unsubscribe https://github.com/notifications/unsubscribe-auth/AC4BNMWHWHZCNGRF7O2JIOLTXR6I3ANCNFSM4KLHEQJA .

offa commented 3 years ago

This is strange ...

Does the amp setting on your amp show any amp listed here?

It could be interesting to see whether you'll get past the amp packet or fail on the next. Eg. replace the throw clause with a return of a valid value (one of the switch statements).

Odzinic commented 3 years ago

Forgive my stupid question, have you tried different cables? And, you are using an usb3 port? An USB hub? Could you try different hw? Z P.S. Is It a Raspberry Pi or a PC?

I have used multiple cables and have had the same issue on all. I just tested both USB2.0 and 3.0 but it persisted on both. I have tested this on a PC and just tried testing it on my RPi but it seems I have to have a display connected to run the program due to its GUI.

This is strange ...

Does the amp setting on your amp show any amp listed here?

It could be interesting to see whether you'll get past the amp packet or fail on the next. Eg. replace the throw clause with a return of a valid value (one of the switch statements).

The amp that I was testing with was FENDER_65_TWIN_REVERB but I just tested it with every other amp setting in that list and they all returned ERROR: Invalid amp id: 0. If I try connecting to the amp again after I get that error without removing the usb cable I get ERROR: Resource busy.

A thought that popped into my mind was that I do recall connecting the amp to the official fender amp program a while back. I can't recall if it was through Wine or a dual boot but could that have possible changed around the amp ids to make them undetectable by plug?

offa commented 3 years ago

So at least we can eliminate a HW issue.

I'll write a dumper so we get some insight what's going on here.

A thought that popped into my mind was that I do recall connecting the amp to the official fender amp program a while back. I can't recall if it was through Wine or a dual boot but could that have possible changed around the amp ids to make them undetectable by plug?

No, the former FUSE software doesn't change anything persistent on the amp (except doing an update of course 😄). A simple power off, power on reverts back to the state saved on the amp.

offa commented 3 years ago

I've pushed a test branch: test/amp_id_repro. It'll print all packets received.

Additionally, building with -DINTEGRATIONTEST=ON creates a simple test executable test/integration/CommIT without UI. It connects to the amp, receives the stored preset data and closes.

Odzinic commented 3 years ago

Thanks for creating the branch. Here is the response I received when running it: plug_debug.txt.

offa commented 3 years ago

@Odzinic lets move this problem to a new issue (#6).

offa commented 12 months ago

I have pushed some v2 related changes (see #6), could you give them a try?