Author Topic: Why isn't my USB Device getting detected?  (Read 11230 times)

jani12

  • Member
  • ***
  • Posts: 10
Why isn't my USB Device getting detected?
« 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)


Jan Axelson

  • Administrator
  • Frequent Contributor
  • *****
  • Posts: 3033
    • Lakeview Research
Re: Why isn't my USB Device getting detected?
« Reply #1 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.

jani12

  • Member
  • ***
  • Posts: 10
Re: Why isn't my USB Device getting detected?
« Reply #2 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,

Jan Axelson

  • Administrator
  • Frequent Contributor
  • *****
  • Posts: 3033
    • Lakeview Research
Re: Why isn't my USB Device getting detected?
« Reply #3 on: November 21, 2019, 10:27:07 am »
Yes, there are typically multiple layers of USB drivers on a host system.