Elegoo Mega 2560 R3 and Mini USB Sheild

Hello all. I'm having a head-scratcher issue. The main goal is to get my Elegoo Mega 2560 R3 and USB Mini Shield correctly working to control a Boss Katana guitar amp over USB. Which I know is possible as other have done this.

I'm running this library: GitHub - felis/USB_Host_Shield_2.0: Revision 2.0 of USB Host Library for Arduino. and the board_qc example. In the example I've had to modify it to set my RST pin as an output and run it HIGH.

If I run the test with my phone plugged in I get:

Circuits At Home 2011
USB Host Shield Quality Control Routine
Reading REVISION register... Die revision 03
SPI long test. Transfers 1MB of data. Each dot is 64K................ SPI long test passed
GPIO test. Connect GPIN0 to GPOUT7, GPIN1 to GPOUT6, and so on
Test failed. Value written: 00 Value read: FF 
Press any key to continue...
GPIO test passed.
PLL test. 100 chip resets will be performed
Resetting oscillator

Reset number 0 Time to stabilize - 314 cycles

Reset number 1 Time to stabilize - 314 cycles

Reset number 2 Time to stabilize - 315 cycles

Reset number 3 Time to stabilize - 315 cycles

Reset number 4 Time to stabilize - 315 cycles

Reset number 5 Time to stabilize - 315 cycles

Reset number 6 Time to stabilize - 315 cycles

Reset number 7 Time to stabilize - 315 cycles

Reset number 8 Time to stabilize - 315 cycles

Reset number 9 Time to stabilize - 315 cycles

Reset number 10 Time to stabilize - 315 cycles

Reset number 11 Time to stabilize - 314 cycles

Reset number 12 Time to stabilize - 314 cycles

Reset number 13 Time to stabilize - 314 cycles

Reset number 14 Time to stabilize - 314 cycles

Reset number 15 Time to stabilize - 314 cycles

Reset number 16 Time to stabilize - 314 cycles

Reset number 17 Time to stabilize - 314 cycles

Reset number 18 Time to stabilize - 314 cycles

Reset number 19 Time to stabilize - 314 cycles

Reset number 20 Time to stabilize - 314 cycles

Reset number 21 Time to stabilize - 314 cycles

Reset number 22 Time to stabilize - 315 cycles

Reset number 23 Time to stabilize - 315 cycles

Reset number 24 Time to stabilize - 315 cycles

Reset number 25 Time to stabilize - 314 cycles

Reset number 26 Time to stabilize - 314 cycles

Reset number 27 Time to stabilize - 314 cycles

Reset number 28 Time to stabilize - 314 cycles

Reset number 29 Time to stabilize - 314 cycles

Reset number 30 Time to stabilize - 314 cycles

Reset number 31 Time to stabilize - 314 cycles

Reset number 32 Time to stabilize - 314 cycles

Reset number 33 Time to stabilize - 314 cycles

Reset number 34 Time to stabilize - 314 cycles

Reset number 35 Time to stabilize - 314 cycles

Reset number 36 Time to stabilize - 314 cycles

Reset number 37 Time to stabilize - 315 cycles

Reset number 38 Time to stabilize - 315 cycles

Reset number 39 Time to stabilize - 315 cycles

Reset number 40 Time to stabilize - 315 cycles

Reset number 41 Time to stabilize - 314 cycles

Reset number 42 Time to stabilize - 314 cycles

Reset number 43 Time to stabilize - 314 cycles

Reset number 44 Time to stabilize - 314 cycles

Reset number 45 Time to stabilize - 314 cycles

Reset number 46 Time to stabilize - 314 cycles

Reset number 47 Time to stabilize - 314 cycles

Reset number 48 Time to stabilize - 314 cycles

Reset number 49 Time to stabilize - 314 cycles

Reset number 50 Time to stabilize - 314 cycles

Reset number 51 Time to stabilize - 315 cycles

Reset number 52 Time to stabilize - 315 cycles

Reset number 53 Time to stabilize - 315 cycles

Reset number 54 Time to stabilize - 315 cycles

Reset number 55 Time to stabilize - 315 cycles

Reset number 56 Time to stabilize - 314 cycles

Reset number 57 Time to stabilize - 314 cycles

Reset number 58 Time to stabilize - 314 cycles

Reset number 59 Time to stabilize - 314 cycles

Reset number 60 Time to stabilize - 314 cycles

Reset number 61 Time to stabilize - 314 cycles

Reset number 62 Time to stabilize - 314 cycles

Reset number 63 Time to stabilize - 314 cycles

Reset number 64 Time to stabilize - 314 cycles

Reset number 65 Time to stabilize - 314 cycles

Reset number 66 Time to stabilize - 314 cycles

Reset number 67 Time to stabilize - 314 cycles

Reset number 68 Time to stabilize - 315 cycles

Reset number 69 Time to stabilize - 315 cycles

Reset number 70 Time to stabilize - 315 cycles

Reset number 71 Time to stabilize - 314 cycles

Reset number 72 Time to stabilize - 314 cycles

Reset number 73 Time to stabilize - 314 cycles

Reset number 74 Time to stabilize - 314 cycles

Reset number 75 Time to stabilize - 314 cycles

Reset number 76 Time to stabilize - 314 cycles

Reset number 77 Time to stabilize - 314 cycles

Reset number 78 Time to stabilize - 314 cycles

Reset number 79 Time to stabilize - 314 cycles

Reset number 80 Time to stabilize - 314 cycles

Reset number 81 Time to stabilize - 314 cycles

Reset number 82 Time to stabilize - 315 cycles

Reset number 83 Time to stabilize - 315 cycles

Reset number 84 Time to stabilize - 315 cycles

Reset number 85 Time to stabilize - 315 cycles

Reset number 86 Time to stabilize - 314 cycles

Reset number 87 Time to stabilize - 314 cycles

Reset number 88 Time to stabilize - 314 cycles

Reset number 89 Time to stabilize - 314 cycles

Reset number 90 Time to stabilize - 314 cycles

Reset number 91 Time to stabilize - 314 cycles

Reset number 92 Time to stabilize - 314 cycles

Reset number 93 Time to stabilize - 314 cycles

Reset number 94 Time to stabilize - 314 cycles

Reset number 95 Time to stabilize - 314 cycles

Reset number 96 Time to stabilize - 315 cycles

Reset number 97 Time to stabilize - 315 cycles

Reset number 98 Time to stabilize - 315 cycles

Reset number 99 Time to stabilize - 315 cycles

Checking USB device communication.

Reset complete. Waiting for the first SOF...
Getting device descriptor
Descriptor Length: 12
Descriptor type: 01
USB version: 0210
Device class: 00
Device Subclass: 00
Device Protocol: 00
Max.packet size: 40
VendorĀ  ID: 18D1
Product ID: 4EE7
Revision ID: 0404
Mfg.string index: 01
Prod.string index: 02
Serial number index: 03
Number of conf.: 01

All tests passed. Press RESET to restart test

But if I plug anything else in like the guitar amp I want to control, the PS3 controller, or a bluetooth dongle I get:

Circuits At Home 2011
USB Host Shield Quality Control Routine
Reading REVISION register... Die revision 03
SPI long test. Transfers 1MB of data. Each dot is 64K................ SPI long test passed
GPIO test. Connect GPIN0 to GPOUT7, GPIN1 to GPOUT6, and so on
Test failed. Value written: 00 Value read: FF 
Press any key to continue...
GPIO test passed.
PLL test. 100 chip resets will be performed
Resetting oscillator

Reset number 0 Time to stabilize - 315 cycles

Reset number 1 Time to stabilize - 314 cycles

Reset number 2 Time to stabilize - 315 cycles

Reset number 3 Time to stabilize - 315 cycles

Reset number 4 Time to stabilize - 315 cycles

... [deleting very similar lines to make it easier to read... Reset number counts to 100]

Reset number 97 Time to stabilize - 314 cycles

Reset number 98 Time to stabilize - 314 cycles

Reset number 99 Time to stabilize - 315 cycles

Checking USB device communication.

Waiting for device...

The first test passing with my phone, that suggests the mini shield is functioning correctly doesn't it? Why will nothing else work? If I run the PS3USB example from the same library with the PS3 controller plugged in it just says:

PS3 USB Library Started

And hangs. Any ideas?

Don't expect any exotic USB hardware to run on the USB Host Shield without writing a driver for it yourself. The library you linked to supports some standard device classes as well as some common hardware used in the embedded world.

As you failed to provide a link to the developer manual for your guitar amp, we cannot check what USB hardware it contains and if it might be supported by one of the drivers.
You even failed to provide a link to your USB mini shield, so it's unclear if it's fully supported by the linked library.

The fact that the board is getting device info by having my phone plugged in suggests to me that it's both functioning and wired up correctly. But doesn't explain why nothing else will be picked up.

This is my board: https://www.elegoo.com/product/elegoo-mega-2560-r3-board-atmega2560-atmega16u2-usb-cable/

This is my shield: https://www.ebay.co.uk/itm/2-0-ADK-Mini-USB-Host-Shield-SLR-Development-Tool-Compatible-SPI-Interface-U3Y6/223871613395?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2057872.m2749.l2649

This is the guitar amp I'm looking to eventually control: BOSS - KATANA-50 MkII | Guitar Amplifier

I know of several people on another forum (one of them suggested this USB mini shield) that have used the library to connect the amp to the ardunio, so hopefully it's not too exotic. I have tried running some of their code (one here: GitHub - bauerbyter/KatanaFootController: A USB FootController for the Katana MK2) and I know they used a USB host shield with the same MAX3421E chip but there working code isn't working for me which suggests either the hardware or wiring could be the issue.

I have tried running some of their code (one here: GitHub - bauerbyter/KatanaFootController: A USB FootController for the Katana MK2) and I know they used a USB host shield with the same MAX3421E chip but there working code isn't working for me which suggests either the hardware or wiring could be the issue.

That code is for platformio and not for the Arduino IDE.

Your boss amp doesn't provide technical documentation so you have to reverse engineer what other not did for you yet.

Connect that amp to a PC and inspect the USB descriptors (WireShark is a big help for that).

I'm aware it's for platformio, it still runs on arduino with VScode. I don't need help with the amp or reverse engineering. There are working projects I can use to study that.

I need help with getting the Mega 2560 and mini shield connected correctly and working together before I can even attempt to get the amp involved.

We cannot help you with that because you still failed to provide a wiring diagram of your setup.