PORTS Forum

Ports and Interfaces => USB => Topic started by: jani12 on November 14, 2019, 03:55:20 pm

Title: Why isn't my USB Device getting detected?
Post by: jani12 on November 14, 2019, 03:55:20 pm
Embedded usb host is running on NXP MCIMX8QXP-CPU evaluation board.  This board boots from SD card which contains default Android embedded Linux distribution that came with the board.

I connect usb stick to this board and it gets detected.  Please see attached file usb_stick_to_eval_board.png.
I connect Rifle Scope to this board and detection fails with an error.  Please see attached file connect_device.png

Is my usb device undetected for following reasons?
Device class is miscellaneous (0xEF)
It's a composite device class(CDC) which includes vendor defined class(0xFF) for bulk live video transfer, communication device class for communication interface(0x02), and Communication device class for data interface(0x0A)

Title: Re: Why isn't my USB Device getting detected?
Post by: Jan Axelson on November 15, 2019, 12:39:33 pm
To communicate with a USB device, the host uses information in the descriptors to identify a driver that tells the host how to communicate with the device. It's unlikely that your embedded host has a driver for your vendor-defined class, and possible that it also doesn't support the communications device interfaces.
Title: Re: Why isn't my USB Device getting detected?
Post by: jani12 on November 19, 2019, 08:22:07 am
Hello Jan

Thank you for providing the important next step, which is to write a embedded host driver.  I was always unsure where the embedded host driver fits in the entire USB Communication Process.



Regards,
Title: Re: Why isn't my USB Device getting detected?
Post by: Jan Axelson on November 21, 2019, 10:27:07 am
Yes, there are typically multiple layers of USB drivers on a host system.