Midi controller not recognised (Device descriptor request failed). - Page 1
Forum section: electronics / repair

author: Califauna
author_rank: Contributor
timestamp: July 20, 2020, 03:30:13 pm
content: Hi all. First post here.I have an EKS XP10 midi controller with a Burr Brown DAC which isn't being recognised by Windows.I've taken it apart and found the chips have had the codes scratched off them. Apparently manufacturers do this sometimes so their products can't be reversed engineered.Any suggestions? I was thinking of reflowing any chip or solders that might be badly connected. I have a solder reflow station. Perhaps I could start with the chip that contains the device descriptor information?

author: Audiorepair
author_rank: Frequent Contributor
timestamp: July 20, 2020, 07:00:32 pm
content: Isn't this far more likely to be a software/driver problem?

author: Califauna
author_rank: Contributor
timestamp: July 20, 2020, 10:34:09 pm
content: Definitely something up with the controller. Forgot to mention I have two more of the same controllers. Only this one has this problem.

author: magic
author_rank: Super Contributor
timestamp: July 21, 2020, 05:39:22 am
content: If it's not some stupid damage to the USB connector or its PCB traces, see if supply voltages are in spec and there is no ripple.

author: Califauna
author_rank: Contributor
timestamp: July 21, 2020, 12:35:03 pm
content: OK. I have checked and confirm there is steady 5v across legs 1 and 4 of USB socket on the underside of the board. Also 3v across data pins 2 and 3.

author: Califauna
author_rank: Contributor
timestamp: July 21, 2020, 03:02:30 pm
content: I have also checked the voltage between ground and various testing points on the board and they seem to be the same, except across the two silver contacts at the top left of the board . On the bad board, there are two components with 472 written on them, which look like green painted capacitors to me, soldered on the other side of the board (the side without the components on it). The voltage across them is 0.26 volts.On the good boards, the components at that spot are 800 ohm resistors soldered on the component side of the board and have 0.5 volts across them.

author: magic
author_rank: Super Contributor
timestamp: July 22, 2020, 11:27:45 am
content: Not sure what those components are but if they are placed at some analog connector, meh, unlikely to be the problem.USB input seems to go straight to U2. I see no obvious soldering problems with that chip. See if there is continuity from the USB port to the chip. It seems there are two series resistors there so test them too.As for power supplies, wrong voltage is one thing, ripple might be another. This would take a scope to test for, or just replace all electrolytics (there seems to be only like 3 different types on the whole board) or at least those powering U2.

author: fzabkar
author_rank: Super Contributor
timestamp: July 22, 2020, 06:31:46 pm
content: U2 could be an FT232RL:https://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT232R.pdf

author: Califauna
author_rank: Contributor
timestamp: July 23, 2020, 10:50:31 am
content: Photo of chip.

author: magic
author_rank: Super Contributor
timestamp: July 23, 2020, 11:51:34 am
content: Nice fingerprintsThat's not FT232 because it's a standard SO28 package with 1.27mm terminal pitch, not SSOP28. No idea what it is.Check if the 22Ω resistors are good, check if there is continuity from them to the USB port and a pair of pins on U2.The 1k5 resistor almost certainly goes to 3.3V supply, by the way.

author: Califauna
author_rank: Contributor
timestamp: July 23, 2020, 01:05:01 pm
content: The two resistors read 22.5 ohms.There is continuity from the resistors and various legs of the chip to the data pins on the usb.

author: fzabkar
author_rank: Super Contributor
timestamp: July 23, 2020, 07:55:04 pm
content: The logo is very familiar, but it's not coming to mind. :-(

author: Califauna
author_rank: Contributor
timestamp: July 23, 2020, 10:52:56 pm
content: Yes there's clearly the bottom half of a circle in the bottom right hand corner where they haven't fully sanded off the print.

author: fzabkar
author_rank: Super Contributor
timestamp: July 24, 2020, 03:27:59 am
content: The A, B and I (index?) terminals of the jog wheel appear to head towards U2. If U2 takes input from the wheel, and if it also connects to the USB port, then it is probably a custom programmed microcontroller rather than a USB bridge of some kind. One of the adjacent 8-pin ICs might be a serial flash memory (?), otherwise the uC would have internal flash. There appears to be a second uC (QFP) which receives input from the pushbuttons and switches.You could use USBDeview to check whether any device appears on the USB port. Just be aware that USBDeview will report all USB devices which have ever been connected to the PC.https://www.nirsoft.net/utils/usb_devices_view.htmlBTW, I'm wondering where the RAM is, assuming that data is buffered somewhere??

author: Califauna
author_rank: Contributor
timestamp: July 24, 2020, 11:14:24 am
content: Pins 2 and 5 (from left to right) from jogwheel have direct track connection with legs 10, 11, 15, 16, 25, and 28. 1 and 3 go down to two test holes by R66., which then go (EDIT)left and downto test holes between r61 and r75 via track on both sides.The track changes to the other side, connecting two test holes, then comes back to the component side by r66.

author: Califauna
author_rank: Contributor
timestamp: July 24, 2020, 11:23:12 am
content: USBdevview doesn't seem to provide anything beyond windows device manager. Its listed as unknown device with failed device descriptor and loading the BADDEVICE.Dev.NT driver.In windows is it possible to manually associate a device with a driver and a device description, on the offchance that it could work even with this chip failing, if that is the cause?

author: mikerj
author_rank: Super Contributor
timestamp: July 24, 2020, 12:09:14 pm
content: Clean the top of the ICs and drop a small amount of IPA or similar on top of them, often partially sanded markings can be made visible.

author: Califauna
author_rank: Contributor
timestamp: July 24, 2020, 02:20:31 pm
content: Still not visible.

author: fzabkar
author_rank: Super Contributor
timestamp: July 24, 2020, 06:55:51 pm
content: Quote from: Califauna on July 24, 2020, 11:14:24 amIf you look closely at the hub of the wheel, you will see "B5vAIG", with a "1" above the "G". If you haven't come to the same conclusion already, I would think that this identifies the pins as follows:1. Ground2. Index3. A4. 5V supply5. B

author: Califauna
author_rank: Contributor
timestamp: July 24, 2020, 08:16:58 pm
content: Ok so I should have said:Jogwheel pins are 1 to 5 right to left looking from the component side of the board. Pins 4 and 1 (5v and Ground) have direct track connection with legs 10, 11, 15, 16, 25, and 28 on the presumed UART chip U2. Pins 2 and 5 (Index and B) go down to two test holes by R66, which then go left and down to test holes between r61 and r75 (via test holes connecting to track on both sides).

author: Califauna
author_rank: Contributor
timestamp: July 24, 2020, 08:43:01 pm
content: The DAC IC (Burr Brown 2702) is between C37 and L5.https://pdf1.alldatasheet.pl/datasheet-pdf/view/56839/BURR-BROWN/PCM2702.htmlI checked and 6 and 7 of the 2702 go to legs 21 and 22 on the presumed UART chip U2. From there I can't see. There is 1300 or so ohms between legs 6 and 7 and the USB port data pins.

author: fzabkar
author_rank: Super Contributor
timestamp: July 24, 2020, 09:25:21 pm
content: Could the PCM2702 be one of several USB devices on the PCB, and could U2 be a USB hub???Does the EKS appear as several devices in Device Manager, or maybe a composite device (I'm referring to a working device, not your faulty one)?Can you identify the markings on any of the 8-pin chips? If we identify as many of the ICs as possible, perhaps we will have a better idea of the overall block diagram of the circuit. It would help to associate each of the input/output components (eg pushbuttons, jog wheel) with their respective ICs.Where is the +3.3V supply generated?

author: Califauna
author_rank: Contributor
timestamp: July 24, 2020, 10:55:23 pm
content: This is what Devview gives me:==================================================Device Name : Burr-Brown Japan PCM2702Description : USB Audio DeviceDevice Type : AudioConnected : YesSafe To Unplug : YesDisabled : NoUSB Hub : NoDrive Letter :Serial Number :Created Date : 7/25/2020 12:50:51 AMLast Plug/Unplug Date: 7/25/2020 12:50:51 AMVendorID : 08bbProductID : 2702Firmware Revision : 1.00USB Class : 01USB SubClass : 01USB Protocol : 00Hub / Port :Computer Name : DESKTOP-42V9VISVendor Name :Product Name :ParentId Prefix :Service Name : usbaudioService Description: @wdma_usb.inf,%USBAudio.SvcDesc%;USB Audio Driver (WDM)Driver Filename : usbaudio.sysDevice Class :Device Mfg : (Generic USB Audio)Friendly Name : Burr-Brown Japan PCM2702Power : 0 mAUSB Version : 1.00Driver Description: USB Audio DeviceDriver Version : 10.0.18362.1Driver InfSection : USBAudioDriver InfPath : wdma_usb.infInstance ID : USB\VID_08BB&PID_2702&MI_00\9&2094a6b5&3&0000Capabilities : SilentInstall, SurpriseRemovalOK====================================================================================================Device Name : Burr-Brown Japan PCM2702Description : USB Composite DeviceDevice Type : UnknownConnected : YesSafe To Unplug : YesDisabled : NoUSB Hub : NoDrive Letter :Serial Number :Created Date : 7/25/2020 12:50:51 AMLast Plug/Unplug Date: 7/25/2020 12:50:51 AMVendorID : 08bbProductID : 2702Firmware Revision : 1.00USB Class : 00USB SubClass : 00USB Protocol : 00Hub / Port :Computer Name : DESKTOP-42V9VISVendor Name :Product Name :ParentId Prefix : 9&2094a6b5&3Service Name : usbccgpService Description: @usb.inf,%GenericParent.SvcDesc%;Microsoft USB Generic Parent DriverDriver Filename : usbccgp.sysDevice Class :Device Mfg : (Standard USB Host Controller)Friendly Name :Power : 0 mAUSB Version : 1.00Driver Description: USB Composite DeviceDriver Version : 10.0.18362.693Driver InfSection : Composite.Dev.NTDriver InfPath : usb.infInstance ID : USB\VID_08BB&PID_2702\8&889cc25&0&4Capabilities : Removable, SurpriseRemovalOK==================================================

author: Califauna
author_rank: Contributor
timestamp: July 24, 2020, 11:34:16 pm
content: It installs the following in ' software devices' in Windows device manager:EKS Midi DriverSWD\MMDEVAPI\MIDII_E83C0101.P_0004

author: Califauna
author_rank: Contributor
timestamp: July 25, 2020, 12:16:03 am
content: Quote from: fzabkar on July 24, 2020, 09:25:21 pmComposite device by the looks of it?Only one with anything partially visible is the ones attached.Can't tell for sure where the 3.3 V is generated but the 5v supply goes down to U2 and legs 1 and 3 on that have 3.2V at them.

author: fzabkar
author_rank: Super Contributor
timestamp: July 25, 2020, 12:29:04 am
content: The USB VendorID of 08bb belongs to Texas Instruments, and the ProductID of 2702 belongs to the chip itself. Since this chip is just a stereo DAC for audio applications, I don't see where the MIDI driver comes into it. :-?Moreover, how does EKS know that this VID/PID combination belongs to its "XP10 midi controller" and not just some plain generic audio amplifier based on the PCM2702 chip? Does this unit come with an INF file in its installation package? If so, are there references to other USB devices in this INF?The other thing I don't understand is how the DAC communicates with the USB port. Your measurements would suggest that U2 is an intermediary between the DAC and the USB host. Would it make sense to lift those resistors in the USB path between DAC and U2, and then directly connect a bared USB cable to the Data +/- pins at the DAC? This would verify whether the DAC is brain dead.

author: fzabkar
author_rank: Super Contributor
timestamp: July 25, 2020, 12:46:32 am
content: The QFP chip nearest U2 appears to be labelled "CYPRESS ".The "733" (?) date code on the crystal would suggest that the device was manufactured in week 33 of 2007, so we should be looking at chips which were available at or before then.This is the Cypress web site as of Dec 2007:https://web.archive.org/web/20071229005327/http://www.cypress.com/Edit:See pages 35 and 36 of the EZ-USB Technical Reference Manual:https://static6.arrow.com/aropdfconversion/e707430c59e34655cca45d9e65cd9a08b1b96e71/an21xx_8.pdfThe two 2R00 resistors appear to be connected to the Cypress chip's USB Data +/- pins. Perhaps these are the resistors you should be looking for when trying to identify any additional USB connected ICs?I think the way these EZ-USB chips work is that they power up as functionless ICs, and then they retrieve their code from an attached EEPROM or from a USB host. This code then defines their function. I now believe that U2 is a 4-port USB hub that connects to 4 (?) USB ICs on the PCB. If I'm right, then there should be 4 devices in Device Manager.Edit #2:I believe the mystery logo on U2 is Cypress Semiconductor.Edit #3:Could one of these 4-port USB hub controllers be U2?https://media.digikey.com/pdf/Data%20Sheets/Cypress%20PDFs/CY7C65100.pdfdlm.cypress.com.edgesuite.net/akdlm/old/design_resources/datasheets/contents/cy7c65013_8.pdfThe oscillator frequency is 12MHz and is consistent with all the IC candidates.

author: magic
author_rank: Super Contributor
timestamp: July 25, 2020, 07:43:03 am
content: PCM2702 has no GPIOs and no programmable internal MCU according to the datasheet. I think fzabkar is onto something - there must be more USB chips in there and some kind of a hub.List all detected USB devices which pop up when this gadget is plugged in.editPCM2702 has to be the chip near that large green THT inductor / resistor(?)

author: fzabkar
author_rank: Super Contributor
timestamp: July 25, 2020, 07:05:07 pm
content: The OP has already identified the location of the DAC.I confess that I don't understand several aspects of this DJ gadget. The first is the concept of MIDI.https://en.wikipedia.org/wiki/MIDII always thought that MIDI was a protocol for enabling computers to control musical instruments. That is, a PC would control an instrument by sending a command to play a particular note at a desired tempo and pitch. In fact I have an old Casio keyboard that works this way. In the OP's case, the gadget accepts inputs from the DJ (jog wheel, pushbuttons, pitch slider) and sends these control commands to the computer. So it seems that the original MIDI spec has been extended.That being the case, I would have expected to see some kind of input device in USBDeview and Device Manager. However, the OP reports only a USB Audio Device (PCM2702) and a USB Composite Device on a working unit.I tried to find a user manual, but EKS want you to register.https://web.archive.org/web/20101217093842/http://eks.fi/index2.php?p=support&o=XP%20Serieshttps://web.archive.org/web/20101125022535/http://eks.fi/index2.php?p=products_frontInstead I examined manuals for similar products.Vestax DJ MIDI Controller VCI-100 English Manual:https://images.static-thomann.de/pics/atg/atgdata/document/manual/113145_neu.pdfpcdj DAC-3 Controller Manual:https://pcdj.com/Manuals/DAC3Manual.pdfThe Vestax device shows a USB Audio Device and a USB Composite Device in Device Manager (page 6 of PDF).The DAC-3 device shows a HID-compliant Device and a USB Human Interface Device in Device Manager (page 3).

author: magic
author_rank: Super Contributor
timestamp: July 25, 2020, 08:30:57 pm
content: I assume the USB composite device appears on a hub which the OP failed to identify as part of this gizmo. There ought to be more devices on that hub, then it will all make sense.PCM2702 doesn't appear to have any MIDI or GPIO capability. It's just a USB DAC. There must be more to this box than MIDI, there are RCA connectors on it after all.MIDI is a serial protocol for sending "start this note here", "end that note there" messages from anything to anything. You can play MIDI files from a computer, record MIDI files onto a computer, connect a keyboard to a synthesizer and play in real time, whatever capabilities your hardware has. There might be MIDI events defined for things like pedals and control wheels, I wouldn't be surprised.There is a USB class specification for MIDI over USB, I have a keyboard with USB device functionality which implements it.

author: fzabkar
author_rank: Super Contributor
timestamp: July 25, 2020, 08:58:17 pm
content: The OP's MIDI device is not the kind of MIDI that we are used to. In our case the computer controls the MIDI device, but in the OP's case the MIDI device controls the computer.

author: magic
author_rank: Super Contributor
timestamp: July 25, 2020, 09:10:00 pm
content: Come on.Quote from: magic on July 25, 2020, 08:30:57 pmYour Casio keyboard probably has an output too.

author: fzabkar
author_rank: Super Contributor
timestamp: July 26, 2020, 12:15:39 pm
content: AISI, if neither the PCM2702 nor USB Composite Device appear in Device Manager, then the possible culprits could be:1/ problem in D+ or D- lines between U2 and USB connector2/ bad U23/ missing 3.3V VCC4/ missing 12MHz clock

author: Renate
author_rank: Super Contributor
timestamp: July 26, 2020, 01:10:21 pm
content: We're floundering here, we don't even know the topology.Go to Device Manager, devmgmt.mscGo to View > Devices by connectionFind the hub, find the siblings.We know it has a Burr-Brown DAC (which doesn't do Midi).We know that this box does do Midi (it has the software driver loaded).So, where's the hub?"Device descriptor request failed" is MS-speak for pretty much total USB failure since that's the first request made (at FS or LS).We still don't know which USB device they are talking about.

author: fzabkar
author_rank: Super Contributor
timestamp: July 26, 2020, 10:27:00 pm
content: Microsoft had an old tool called UVCView which still runs under Windows 10 32-bit.http://www.users.on.net/~fzabkar/USB_IDs/UVCView.x86.exeMy multifunction Canon printer/scanner/copier (with slots for memory cards) shows up as a USB Composite Device with several Interface Descriptors.Code:---===>Device Information<===---English product name: "MP370 Series"ConnectionStatus:Current Config Value: 0x01 -> Device Bus Speed: HighDevice Address: 0x02Open Pipes: 7===>Endpoint Descriptor<===bLength: 0x07bDescriptorType: 0x05bEndpointAddress: 0x01 -> Direction: OUT - EndpointID: 1bmAttributes: 0x02 -> Bulk Transfer TypewMaxPacketSize: 0x0200 = 0x200 max bytesbInterval: 0x00===>Endpoint Descriptor<===bLength: 0x07bDescriptorType: 0x05bEndpointAddress: 0x81 -> Direction: IN - EndpointID: 1bmAttributes: 0x02 -> Bulk Transfer TypewMaxPacketSize: 0x0200 = 0x200 max bytesbInterval: 0x00===>Endpoint Descriptor<===bLength: 0x07bDescriptorType: 0x05bEndpointAddress: 0x02 -> Direction: OUT - EndpointID: 2bmAttributes: 0x02 -> Bulk Transfer TypewMaxPacketSize: 0x0200 = 0x200 max bytesbInterval: 0x00===>Endpoint Descriptor<===bLength: 0x07bDescriptorType: 0x05bEndpointAddress: 0x82 -> Direction: IN - EndpointID: 2bmAttributes: 0x02 -> Bulk Transfer TypewMaxPacketSize: 0x0200 = 0x200 max bytesbInterval: 0x00===>Endpoint Descriptor<===bLength: 0x07bDescriptorType: 0x05bEndpointAddress: 0x83 -> Direction: IN - EndpointID: 3bmAttributes: 0x03 -> Interrupt Transfer TypewMaxPacketSize: 0x0040 = 1 transactions per microframe, 0x40 max bytesbInterval: 0x0B===>Endpoint Descriptor<===bLength: 0x07bDescriptorType: 0x05bEndpointAddress: 0x84 -> Direction: IN - EndpointID: 4bmAttributes: 0x02 -> Bulk Transfer TypewMaxPacketSize: 0x0200 = 0x200 max bytesbInterval: 0x00===>Endpoint Descriptor<===bLength: 0x07bDescriptorType: 0x05bEndpointAddress: 0x04 -> Direction: OUT - EndpointID: 4bmAttributes: 0x02 -> Bulk Transfer TypewMaxPacketSize: 0x0200 = 0x200 max bytesbInterval: 0x00===>Device Descriptor<===bLength: 0x12bDescriptorType: 0x01bcdUSB: 0x0200bDeviceClass: 0x00 -> This is an Interface Class Defined DevicebDeviceSubClass: 0x00bDeviceProtocol: 0x00bMaxPacketSize0: 0x40 = (64) BytesidVendor: 0x04A9 = Canon Inc.idProduct: 0x263DbcdDevice: 0x1701iManufacturer: 0x01English (United States) "Canon Inc."iProduct: 0x02English (United States) "MP370 Series"iSerialNumber: 0x03English (United States) "703BXL"bNumConfigurations: 0x01===>Configuration Descriptor<===bLength: 0x09bDescriptorType: 0x02wTotalLength: 0x0055 -> ValidatedbNumInterfaces: 0x03bConfigurationValue: 0x01iConfiguration: 0x00bmAttributes: 0xC0 -> Bus PoweredMaxPower: 0x01 = 2 mA===>Interface Descriptor<===bLength: 0x09bDescriptorType: 0x04bInterfaceNumber: 0x00bAlternateSetting: 0x00bNumEndpoints: 0x02bInterfaceClass: 0x07 -> This is a Printer USB Device Interface ClassbInterfaceSubClass: 0x01bInterfaceProtocol: 0x02CAUTION: This may be an invalid bInterfaceProtocoliInterface: 0x00===>Endpoint Descriptor<===bLength: 0x07bDescriptorType: 0x05bEndpointAddress: 0x01 -> Direction: OUT - EndpointID: 1bmAttributes: 0x02 -> Bulk Transfer TypewMaxPacketSize: 0x0200 = 0x200 max bytesbInterval: 0x00===>Endpoint Descriptor<===bLength: 0x07bDescriptorType: 0x05bEndpointAddress: 0x81 -> Direction: IN - EndpointID: 1bmAttributes: 0x02 -> Bulk Transfer TypewMaxPacketSize: 0x0200 = 0x200 max bytesbInterval: 0x00===>Interface Descriptor<===bLength: 0x09bDescriptorType: 0x04bInterfaceNumber: 0x01bAlternateSetting: 0x00bNumEndpoints: 0x03bInterfaceClass: 0xFF -> Vendor Specific DevicebInterfaceSubClass: 0x00*!*CAUTION: This appears to be an invalid bInterfaceSubClassbInterfaceProtocol: 0xFF*!*WARNING: must be set to PC_PROTOCOL_UNDEFINED 0 for this classiInterface: 0x00*!*ERROR: 0xFF is the prerelease USB Video Class ID===>Endpoint Descriptor<===bLength: 0x07bDescriptorType: 0x05bEndpointAddress: 0x02 -> Direction: OUT - EndpointID: 2bmAttributes: 0x02 -> Bulk Transfer TypewMaxPacketSize: 0x0200 = 0x200 max bytesbInterval: 0x00===>Endpoint Descriptor<===bLength: 0x07bDescriptorType: 0x05bEndpointAddress: 0x82 -> Direction: IN - EndpointID: 2bmAttributes: 0x02 -> Bulk Transfer TypewMaxPacketSize: 0x0200 = 0x200 max bytesbInterval: 0x00===>Endpoint Descriptor<===bLength: 0x07bDescriptorType: 0x05bEndpointAddress: 0x83 -> Direction: IN - EndpointID: 3bmAttributes: 0x03 -> Interrupt Transfer TypewMaxPacketSize: 0x0040 = 1 transactions per microframe, 0x40 max bytesbInterval: 0x0B===>Interface Descriptor<===bLength: 0x09bDescriptorType: 0x04bInterfaceNumber: 0x02bAlternateSetting: 0x00bNumEndpoints: 0x02bInterfaceClass: 0x08 -> This is a Mass Storage USB Device Interface ClassbInterfaceSubClass: 0x06bInterfaceProtocol: 0x50iInterface: 0x00===>Endpoint Descriptor<===bLength: 0x07bDescriptorType: 0x05bEndpointAddress: 0x84 -> Direction: IN - EndpointID: 4bmAttributes: 0x02 -> Bulk Transfer TypewMaxPacketSize: 0x0200 = 0x200 max bytesbInterval: 0x00===>Endpoint Descriptor<===bLength: 0x07bDescriptorType: 0x05bEndpointAddress: 0x04 -> Direction: OUT - EndpointID: 4bmAttributes: 0x02 -> Bulk Transfer TypewMaxPacketSize: 0x0200 = 0x200 max bytesbInterval: 0x00

author: Renate
author_rank: Super Contributor
timestamp: July 26, 2020, 10:51:44 pm
content: Quote from: fzabkar on July 26, 2020, 10:27:00 pmMicrosoft also had an old tool called UsbView:https://www.ftdichip.com/Support/Utilities.htm#MicrosoftUSBView(Neither of these tools allow you to see HID report descriptors, nor does Windows itself trivially allow it.)In any case, Device Manager (by connection) will show you the lower level software components (since we are talking MIDI).