-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mustang GT 40: No device found #25
Comments
The device PID isn't supported and not listed here. The main question is though: Does it use the Mustang protocol, or something different like the LT series?
Nice, thank you! 😃 |
Ha! I didn't see the list... Shame on me. Regarding the similarity with the LT, I don't know, both products look surprisingly similar from an external point of view. I've only used the Fender Tone android App to access it via Bluetooth. I now wonder if the GT provides anything more than an audio interface over USB... I will check that. |
You can do a simple test:
|
I added diff --git a/src/com/ConnectionFactory.cpp b/src/com/ConnectionFactory.cpp
index 6c52c31..71b6b2d 100644
--- a/src/com/ConnectionFactory.cpp
+++ b/src/com/ConnectionFactory.cpp
@@ -41,6 +41,7 @@ namespace plug::com
inline constexpr std::uint16_t mustangFloor{0x0012};
inline constexpr std::uint16_t mustangI_II_v2{0x0014};
inline constexpr std::uint16_t mustangIII_IV_V_v2{0x0016};
+ inline constexpr std::uint16_t mustangGT_40{0x0032};
}
inline constexpr std::initializer_list<std::uint16_t> pids{
@@ -50,7 +51,8 @@ namespace plug::com
usbPID::mustangMini,
usbPID::mustangFloor,
usbPID::mustangI_II_v2,
- usbPID::mustangIII_IV_V_v2};
+ usbPID::mustangIII_IV_V_v2,
+ usbPID::mustangGT_40};
DeviceModel getModel(std::uint16_t pid)
{
@@ -70,6 +72,8 @@ namespace plug::com
return DeviceModel{"Mustang I/II", DeviceModel::Category::MustangV2, 24};
case usbPID::mustangIII_IV_V_v2:
return DeviceModel{"Mustang III/IV/V", DeviceModel::Category::MustangV2, 100};
+ case usbPID::mustangGT_40:
+ return DeviceModel{"Mustang GT40", DeviceModel::Category::MustangV2, 100};
default:
throw CommunicationException{"Unknown device pid: " + std::to_string(pid)};
} Last changed line: total guess! I also added the productId in a udev file rule with:
Running the compiled version: $ LIBUSB_DEBUG=4 ./src/plug
[timestamp] [threadID] facility level [function call] <message>
--------------------------------------------------------------------------------
[ 0.000019] [000fd316] libusb: debug [libusb_init_context] created default context
[ 0.000024] [000fd316] libusb: debug [libusb_init_context] libusb v1.0.27.11882
[ 0.000031] [000fd316] libusb: debug [usbi_add_event_source] add fd 16 events 1
[ 0.000037] [000fd316] libusb: debug [usbi_io_init] using timer for timeouts
[ 0.000040] [000fd316] libusb: debug [usbi_add_event_source] add fd 17 events 1
[ 0.000047] [000fd316] libusb: debug [get_kernel_version] reported kernel version is 6.6.16-2-MANJARO
[ 0.000065] [000fd316] libusb: debug [op_init] found usbfs at /dev/bus/usb
[ 0.000069] [000fd316] libusb: debug [op_init] max iso packet length is (likely) 98304 bytes
[ 0.000074] [000fd316] libusb: debug [op_init] sysfs is available
[ 0.000250] [000fd31d] libusb: debug [linux_udev_event_thread_main] udev event thread entering
[ 0.005661] [000fd316] libusb: debug [linux_get_device_address] getting address for device: usb1 detached: 0
[ 0.005669] [000fd316] libusb: debug [linux_get_device_address] scan usb1
[ 0.005693] [000fd316] libusb: debug [linux_get_device_address] bus=1 dev=1
[ 0.005697] [000fd316] libusb: debug [linux_enumerate_device] busnum 1 devaddr 1 session_id 257
[ 0.005713] [000fd316] libusb: debug [linux_enumerate_device] allocating new device for 1/1 (session 257)
[ 0.005795] [000fd316] libusb: debug [linux_get_device_address] getting address for device: 1-2 detached: 0
[ 0.005799] [000fd316] libusb: debug [linux_get_device_address] scan 1-2
[ 0.005821] [000fd316] libusb: debug [linux_get_device_address] bus=1 dev=16
[ 0.005823] [000fd316] libusb: debug [linux_enumerate_device] busnum 1 devaddr 16 session_id 272
[ 0.005827] [000fd316] libusb: debug [linux_enumerate_device] allocating new device for 1/16 (session 272)
[ 0.005849] [000fd316] libusb: debug [linux_get_parent_info] dev 0x55a5a14a4d50 (1-2) has parent 0x55a5a14eefa0 (usb1) port 2
[ 0.005922] [000fd316] libusb: debug [linux_get_device_address] getting address for device: 1-3 detached: 0
[ 0.005929] [000fd316] libusb: debug [linux_get_device_address] scan 1-3
[ 0.005955] [000fd316] libusb: debug [linux_get_device_address] bus=1 dev=2
[ 0.005959] [000fd316] libusb: debug [linux_enumerate_device] busnum 1 devaddr 2 session_id 258
[ 0.005962] [000fd316] libusb: debug [linux_enumerate_device] allocating new device for 1/2 (session 258)
[ 0.005987] [000fd316] libusb: debug [linux_get_parent_info] dev 0x55a5a14ef0c0 (1-3) has parent 0x55a5a14eefa0 (usb1) port 3
[ 0.006052] [000fd316] libusb: debug [linux_get_device_address] getting address for device: 1-4 detached: 0
[ 0.006056] [000fd316] libusb: debug [linux_get_device_address] scan 1-4
[ 0.006078] [000fd316] libusb: debug [linux_get_device_address] bus=1 dev=3
[ 0.006080] [000fd316] libusb: debug [linux_enumerate_device] busnum 1 devaddr 3 session_id 259
[ 0.006083] [000fd316] libusb: debug [linux_enumerate_device] allocating new device for 1/3 (session 259)
[ 0.006104] [000fd316] libusb: debug [linux_get_parent_info] dev 0x55a5a14a4a50 (1-4) has parent 0x55a5a14eefa0 (usb1) port 4
[ 0.006162] [000fd316] libusb: debug [linux_get_device_address] getting address for device: 1-4.1 detached: 0
[ 0.006165] [000fd316] libusb: debug [linux_get_device_address] scan 1-4.1
[ 0.006188] [000fd316] libusb: debug [linux_get_device_address] bus=1 dev=4
[ 0.006192] [000fd316] libusb: debug [linux_enumerate_device] busnum 1 devaddr 4 session_id 260
[ 0.006195] [000fd316] libusb: debug [linux_enumerate_device] allocating new device for 1/4 (session 260)
[ 0.006218] [000fd316] libusb: debug [linux_get_parent_info] dev 0x55a5a14a5b30 (1-4.1) has parent 0x55a5a14a4a50 (1-4) port 1
[ 0.006276] [000fd316] libusb: debug [linux_get_device_address] getting address for device: 1-4.4 detached: 0
[ 0.006278] [000fd316] libusb: debug [linux_get_device_address] scan 1-4.4
[ 0.006299] [000fd316] libusb: debug [linux_get_device_address] bus=1 dev=6
[ 0.006301] [000fd316] libusb: debug [linux_enumerate_device] busnum 1 devaddr 6 session_id 262
[ 0.006304] [000fd316] libusb: debug [linux_enumerate_device] allocating new device for 1/6 (session 262)
[ 0.006330] [000fd316] libusb: debug [linux_get_parent_info] dev 0x55a5a14a5a10 (1-4.4) has parent 0x55a5a14a4a50 (1-4) port 4
[ 0.006382] [000fd316] libusb: debug [linux_get_device_address] getting address for device: usb2 detached: 0
[ 0.006385] [000fd316] libusb: debug [linux_get_device_address] scan usb2
[ 0.006406] [000fd316] libusb: debug [linux_get_device_address] bus=2 dev=1
[ 0.006409] [000fd316] libusb: debug [linux_enumerate_device] busnum 2 devaddr 1 session_id 513
[ 0.006412] [000fd316] libusb: debug [linux_enumerate_device] allocating new device for 2/1 (session 513)
[ 0.006482] [000fd316] libusb: debug [linux_get_device_address] getting address for device: usb3 detached: 0
[ 0.006486] [000fd316] libusb: debug [linux_get_device_address] scan usb3
[ 0.006507] [000fd316] libusb: debug [linux_get_device_address] bus=3 dev=1
[ 0.006510] [000fd316] libusb: debug [linux_enumerate_device] busnum 3 devaddr 1 session_id 769
[ 0.006513] [000fd316] libusb: debug [linux_enumerate_device] allocating new device for 3/1 (session 769)
[ 0.006581] [000fd316] libusb: debug [linux_get_device_address] getting address for device: 3-2 detached: 0
[ 0.006585] [000fd316] libusb: debug [linux_get_device_address] scan 3-2
[ 0.006606] [000fd316] libusb: debug [linux_get_device_address] bus=3 dev=2
[ 0.006609] [000fd316] libusb: debug [linux_enumerate_device] busnum 3 devaddr 2 session_id 770
[ 0.006611] [000fd316] libusb: debug [linux_enumerate_device] allocating new device for 3/2 (session 770)
[ 0.006635] [000fd316] libusb: debug [linux_get_parent_info] dev 0x55a5a14a4bf0 (3-2) has parent 0x55a5a14a6340 (usb3) port 2
[ 0.006688] [000fd316] libusb: debug [linux_get_device_address] getting address for device: usb4 detached: 0
[ 0.006690] [000fd316] libusb: debug [linux_get_device_address] scan usb4
[ 0.006711] [000fd316] libusb: debug [linux_get_device_address] bus=4 dev=1
[ 0.006715] [000fd316] libusb: debug [linux_enumerate_device] busnum 4 devaddr 1 session_id 1025
[ 0.006717] [000fd316] libusb: debug [linux_enumerate_device] allocating new device for 4/1 (session 1025)
[ 0.078059] [000fd316] libusb: debug [libusb_get_device_list]
[ 0.078087] [000fd316] libusb: debug [libusb_get_device_descriptor]
[ 0.078090] [000fd316] libusb: debug [libusb_get_device_descriptor]
[ 0.078093] [000fd316] libusb: debug [libusb_get_device_descriptor]
[ 0.078097] [000fd316] libusb: debug [libusb_get_device_descriptor]
[ 0.078100] [000fd316] libusb: debug [libusb_get_device_descriptor]
[ 0.078102] [000fd316] libusb: debug [libusb_get_device_descriptor]
[ 0.078107] [000fd316] libusb: debug [libusb_get_device_descriptor]
[ 0.078110] [000fd316] libusb: debug [libusb_get_device_descriptor]
[ 0.078114] [000fd316] libusb: debug [libusb_get_device_descriptor]
[ 0.078116] [000fd316] libusb: debug [libusb_get_device_descriptor]
[ 0.078124] [000fd316] libusb: debug [libusb_open] open 1.16
[ 0.078151] [000fd316] libusb: debug [usbi_add_event_source] add fd 24 events 4
[ 0.078156] [000fd316] libusb: debug [libusb_claim_interface] interface 0
[ 0.078459] [000fd316] libusb: debug [libusb_submit_transfer] transfer 0x55a5a1a813f0
[ 0.078469] [000fd316] libusb: debug [add_to_flying_list] arm timer for timeout in 1000ms (first in line)
[ 0.078495] [000fd316] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 0.078498] [000fd316] libusb: debug [handle_events] event sources modified, reallocating event data
[ 0.078503] [000fd316] libusb: debug [usbi_wait_for_events] poll() 3 fds with timeout in 60000ms
[ 0.078837] [000fd316] libusb: debug [usbi_wait_for_events] poll() returned 1
[ 0.078847] [000fd316] libusb: debug [reap_for_handle] urb type=2 status=0 transferred=4
[ 0.078851] [000fd316] libusb: debug [handle_control_completion] handling completion status 0
[ 0.078855] [000fd316] libusb: debug [arm_timer_for_next_timeout] no timeouts, disarming timer
[ 0.078860] [000fd316] libusb: debug [usbi_handle_transfer_completion] transfer 0x55a5a1a813f0 has callback 0x7fd1d1679c90
[ 0.078863] [000fd316] libusb: debug [sync_transfer_cb] actual_length=4
[ 0.078869] [000fd316] libusb: debug [libusb_free_transfer] transfer 0x55a5a1a813f0
[ 0.078873] [000fd316] libusb: debug [libusb_submit_transfer] transfer 0x55a5a1a814e0
[ 0.078877] [000fd316] libusb: debug [add_to_flying_list] arm timer for timeout in 1000ms (first in line)
[ 0.078887] [000fd316] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 0.078890] [000fd316] libusb: debug [usbi_wait_for_events] poll() 3 fds with timeout in 60000ms
[ 0.079202] [000fd316] libusb: debug [usbi_wait_for_events] poll() returned 1
[ 0.079211] [000fd316] libusb: debug [reap_for_handle] urb type=2 status=0 transferred=56
[ 0.079214] [000fd316] libusb: debug [handle_control_completion] handling completion status 0
[ 0.079217] [000fd316] libusb: debug [arm_timer_for_next_timeout] no timeouts, disarming timer
[ 0.079221] [000fd316] libusb: debug [usbi_handle_transfer_completion] transfer 0x55a5a1a814e0 has callback 0x7fd1d1679c90
[ 0.079225] [000fd316] libusb: debug [sync_transfer_cb] actual_length=56
[ 0.079228] [000fd316] libusb: debug [libusb_free_transfer] transfer 0x55a5a1a814e0
[ 0.079254] [000fd316] libusb: debug [libusb_submit_transfer] transfer 0x55a5a1a81720
[ 0.079258] [000fd316] libusb: debug [add_to_flying_list] arm timer for timeout in 500ms (first in line)
[ 0.079263] [000fd316] libusb: debug [submit_bulk_transfer] need 1 urbs for new transfer with length 64
[ 0.079268] [000fd316] libusb: error [submit_bulk_transfer] submiturb failed, errno=2
[ 0.079272] [000fd316] libusb: debug [submit_bulk_transfer] first URB failed, easy peasy
[ 0.079275] [000fd316] libusb: debug [arm_timer_for_next_timeout] no timeouts, disarming timer
[ 0.079279] [000fd316] libusb: debug [libusb_free_transfer] transfer 0x55a5a1a81720
ERROR: Input/Output Error
`` |
That's a different error than expected. Do you get this error each time? |
No. If I start the application, I get the IO Error.
|
This might be an indication of a different protocol. Usually it should fail with some kind of 'invalid id', not on USB writing. |
That is sad news. |
I'm trying to make plug work with my Mustang GT 40.
I took to ownership of the AUR package for this plugin as the previous versions did not compile anymore.
I'm using version 1.4.5.
Is there any successful attempt by someone fro this amp ?
Seems that the amp is seen by the system. I can use it as an audio device.
I don't see anything useful here.
Is there something I can try to make this work ?
The text was updated successfully, but these errors were encountered: