dj control mp3 e2 -...
 
Notifications
Clear all

dj control mp3 e2 - insufficient system resources exist to complete the api

15 Posts
2 Users
0 Likes
3 Views
0
Topic starter

my dj control mp3 e2 doesnt work on my new notebook. i am getting the infamous warning sign on a "usb composite device" with the error message "this device cannot start. (code 10)", adding "insufficient system resources exist to complete the api" in the details. i call bs, but i am totally out of ideas.

the controller works absolutely fine on two other notebooks - my old one, which i am replacing, as well as my wifes. the os is the same on all systems, windows 10 x64 updated to latest. the only notable difference is that my new notebook (a hp pavilion 15-ec0140ng) runs on an amd architecture (ryzen 7 3750h), while the other two, on which its working, run on intel.

i tried everything i found online:

- i installed the latest drivers.
- i updated the controllers firmware using one of the other notebooks.
- the windows device manager tells me that all usb controller drivers are up to date; hp does not offer any specific ones.
- my bios is up to date.
- reinstalling windows doesnt make any sense, its a fresh installation.
- the "upperfilters" or "lowerfilters" keys do not exist in my registry.
- i tried all usb ports, the usb 3.0 and the usb 2.0 one, with no luck.
- i even just bought a powered usb hub, but nope, that doesnt help.

its the only usb device that doesnt work on this notebook. the led behind "hercules" logo is lit up, so it is receiving power, and windows also recognizes it as a mp3 e2 after installing the drivers. yet, it refuses to work. does anybody have an idea what i can do to fix this, or at least find out what is even wrong? i need to be djing with this soon. thanks!

0

Hello,

Welcome on the forum.

Please check in Windows (Left click) > Device manager the name of the USB host controller.
I have found a PC with an AMD USB 3.1 controller (AMD USB 3.1 extensible – 1.10 : X399 Serie USB 3.1 xHCI Controller) where the DJ Control MP3 e2 cannot boot (while it boots on AMD USB 3.0 controller). It is a PC which has also an AMD USB 3.0 where DJControl MP3 e2 boots.

If your PC has another USB host controller, can you try and connect the DJControl MP3 e2 on this other USB host?

PS: for sake of clarity, it would be better if you could complete a bit your profile in My Space > My Profile.
- In "Hercules Equipment In Use", check DJ Control MP3 e2
- In "Describe your equipment", type the info on your computer and operating system

0
Topic starter

Hello, and thanks!

First off, I have filled my profile info as requested.

My notebook has the following USB controllers:

  1. NVIDIA USB 3.10 eXtensible-Hostcontroller – 1.10 (Microsoft) (USB-xHCI)
  2. AMD USB 3.10 eXtensible host controller – 1.10 (Microsoft) (USB-xHCI)
  3. AMD USB 3.10 eXtensible host controller – 1.10 (Microsoft) (USB-xHCI)
That's no mistake, I have two AMD controllers.

I just checked in USB Device Tree Viewer how things are set up, and all of my notebook's USB slots are connected to controller #3: a USB 2.0 slot, a USB 3.0 slot and a USB-C slot. #2 only seems to be used for the webcam and #1 has no connected devices, it's probably some kind of internal controller of my graphics card (which is NVIDIA).

So I cannot use any of the other controllers, only #3 has slots, and it's the AMD 3.1 one that you say does not work. That may explain why no methods worked, not even a powered hub. {#emotions_dlg.frown} Is there any possibility for me now?

0

Hello,

Sorry, I did not find an affordable way to get the DJControl MP3 e2 to work on AMD USB 3.1 host controller.

The cause is that DJControl MP3e2 device USB descriptor endpoint does not follow one of USB description rules: AMD USB 3.1 host is the only USB host I know which refuses this decription (no such issue on USB 3.1 hosts from Intel, Nvidia, ASMedia, Texas) but the truth of the matter is that in the future other USB 3.1 hosts may refuse to enumerate DJControl MP3 e2 for the same reason.
I know the descriptor is the cause of this issue on AMD USB 3.1 host since DJ Control Glow (an update version of DJ Control MP3 e2, released in 2015) has an up to date USB descriptor and is compatible with AMD USB 3.1 host.

DJControl MP3 e2 descriptor cannot be reprogrammed as it is stored in a ROM (Read Only Memory), so correcting the USB descriptor would require connecting a hardware emulation USB peripheral (=USB hacking tool) between the USB port and the DJ controller. I do not think using on 1 PC an old & affordable hardware as DJ Control MP3 e2 is worth this effort, but if you already have such a USB emulator device, I can send you in the forum private messaging area the 2 lines of the Endpoint descriptors to correct to support the AMD USB 3.1 host: please send me an invitation to  https://www.herculesdjmixroom.com/en-us/members/117369/  (Invitation = add to my friends) if you want this endpoint descriptor so that I can send it in the private messaging area.

0
Topic starter

Thank you very much for the elaboration! If it's not possible to fix it in a feasible way that's a shame, but it's very good to know.

With that in mind, I am very certain that the MP3e2 is not the only device with said descriptor problems: I tried a friend's Behringer DJ controller this week and I observed the very same behaviour. In any event, this means I will keep my old notebook and use that for DJing for a while. Indeed, those USB emulation devices are not worth getting as they seem to easily outprice most contollers. {#emotions_dlg.laughing}

Do you think it is safe to assume that future or other controllers (e.g. Inpulse) are probably going to work?

0

Hello,

Thanks for the feedback.

I have tested all the DJ controllers from Hercules I found on this AMD USB 3.1 hub and the only 3 controllers with this issue are DJ Control MP3 (MK1), DJ Control MP3 e2 and DJ Control MP3 LE, all the other units I tested are OK on this AMD hub. 

0
Topic starter

Hey again!
Just wanted to come here and confirm that the Inpulse 300 indeed works just fine. {#emotions_dlg.smile} Thanks a bunch for the help!

0

Hello,

1) Perfect, thanks for the feedback, please let us know how you use DJControl Inpulse 300 and do not forget to update the drivers, to use the Pad FX mode which many people on the forum had requested.

2) When I talked of connecting between the computer with AMD 3.1 USB Host and the DJ Control MP3 e2 a USB device acting as an emulator to change the USB descriptors, I meant USB gears in the style of GreatFET One, whose main difficulty is not just the cost, but the technical level needed to use them efficiently.

0
Topic starter

Does anybody know the serial key for the hercules dj control mp3 e2 virtual dj key for the controller????

0

Hello Dan,

Welcome on the forum.
Each unit of DJControl MP3 e2 had its own VirtualDJ serial number, it was not a generic serial: if you have lost it, I am afraid you cannot find it, except if you registered on VirtualDJ website (to download VirtualDJ updates).
If you registered on VirtualDJ website,  and if you remember with with email account you registered on VirtualDJ website, then you may read this number on your virtualDJ account (in the licence area).

Anyway, if you use a computer in Windows 10, the VirtualDJ version of that time is no longer supported in Windows 10, but you may
- use a current version of VirtualDJ (not for free),
- or download and use Djuced which now supports DJControl MP3 e2 for free, 
- or download and use Mixxx, which supports DJControl MP3 e2 for free.
 

0
Topic starter

@User Experience Team

Hi, I am currently experiencing the same issue and I wanted to experiment with usb-proxy to fix the incorrect usb descriptor. Can you please share which exact fields of the descriptor need to be fixed? Thanks!!

0

Hello Pr8x,

It is a 3-year old story, so I do not remember which field and I am not sure I may find it now as I have no longer access to a DJControl MP3e2. 
The issue was the length of a USB descriptor, the descriptor was too short in one of fields.  

0
Topic starter

Do you remember which tool you used to verify/validate the usb descriptor?
I dumped the device descriptor and at first glance it seems fine:


    ---------------------- Device Descriptor ----------------------
bLength                  : 0x12 (18 bytes)
bDescriptorType          : 0x01 (Device Descriptor)
bcdUSB                   : 0x110 (USB Version 1.1)
bDeviceClass             : 0x00 (defined by the interface descriptors)
bDeviceSubClass          : 0x00
bDeviceProtocol          : 0x00
bMaxPacketSize0          : 0x40 (64 bytes)
idVendor                 : 0x06F8 (Guillemot Corporation)
idProduct                : 0xB105
bcdDevice                : 0x0109
iManufacturer            : 0x01 (String Descriptor 1)
iProduct                 : 0x02 (String Descriptor 2)
iSerialNumber            : 0x00 (No String Descriptor)
bNumConfigurations       : 0x01 (1 Configuration)
Data (HexDump)           : 12 01 10 01 00 00 00 40 F8 06 05 B1 09 01 01 02   .......@........ 

However String Descriptors are missing...
                           00 01 
0

Hello,

Sorry, I cannot remember.
The person who may remember is on vacation, so you cannot get the answer before mid August.

0
Topic starter

Just found this tool: USB hardware verifier (USB3HWVerifierAnalyzer.exe) - Windows drivers | Microsoft Learn . It scrapes ETW records for USB failures and it actually reports the faulty field!

Record #1 (Key = 0x2dfe07caa378)
  VendorID/ProductID: 0x6f8/0xb105
  DeviceInterfacePath: \??\USB#VID_06F8&PID_B105#6&25a4b41b&0&4#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
  DeviceDescription: USB Composite Device
  PortPath:  0x4, 0x0, 0x0, 0x0, 0x0, 0x0
  All errors encountered:
    #1: (UsbHub3/176): DescriptorValidationErrorBulkEndpointInvalidWMaxPacketSize
    #2: (UsbHub3/176): DescriptorValidationErrorBulkEndpointInvalidWMaxPacketSize
    #3: (UsbHub3/176): DescriptorValidationErrorBulkEndpointInvalidWMaxPacketSize
    #4: (UsbHub3/176): DescriptorValidationErrorBulkEndpointInvalidWMaxPacketSize
    #5: (UsbHub3/157): UCX IOCTL Failed
    #6: (UsbHub3/177): Device getting Re-Enumerated. This Enumeration is not Visible to PnP Manager
    #7: (UsbHub3/176): DescriptorValidationErrorBulkEndpointInvalidWMaxPacketSize
    #8: (UsbHub3/176): DescriptorValidationErrorBulkEndpointInvalidWMaxPacketSize
    #9: (UsbHub3/157): UCX IOCTL Failed
    #10: (UsbHub3/177): Device getting Re-Enumerated. This Enumeration is not Visible to PnP Manager
    #11: (UsbHub3/176): DescriptorValidationErrorBulkEndpointInvalidWMaxPacketSize
    #12: (UsbHub3/176): DescriptorValidationErrorBulkEndpointInvalidWMaxPacketSize
    #13: (UsbHub3/157): UCX IOCTL Failed
    #14: (UsbHub3/177): Device getting Re-Enumerated. This Enumeration is not Visible to PnP Manager

So somwhere in some endpoint descriptor there's a wrong WMaxPacketSize. Now I only need to know which one and patch it properly using somemthing like this: AristoChen/usb-proxy: A USB proxy based on raw-gadget and libusb (github.com)

0
Topic starter

Good news everyone! I managed to fix the issue with the help of a Teensy 4.1 MCU. You can find the solution here: pr8x/djcontrolmp3le_usb_proxy: Hardware fix for deprecated Hercules DJControl MP3 LE controller (Using Teensy 4.1) (github.com)

It actually works flawlessly and even made the (horrible, sorry!) drivers for Windows and Mac obsolete by using a class-compliant MIDI implementation.

gbgg
Page 1 / 2