Download your favorite Linux distribution at LQ ISO.
Go Back > Forums > Linux Forums > Linux - Hardware > Linux - Embedded & Single-board computer
User Name
Linux - Embedded & Single-board computer This forum is for the discussion of Linux on both embedded devices and single-board computers (such as the Raspberry Pi, BeagleBoard and PandaBoard). Discussions involving Arduino, plug computers and other micro-controller like devices are also welcome.


  Search this Thread
Old 01-21-2019, 12:33 AM   #1
Registered: Dec 2017
Posts: 34

Rep: Reputation: Disabled
Embedded Linux device configured as a USB Gadget is not recognized by a certain smart phone

I've been working on an ARM processor that is supposed to behave as a USB peripheral when connected to smart phones via an OTG cable. To that end, I built a Linux kernel (v3.2) with Gatgetfs option built in.
Then, I found and modified a sample user code.

In general, the application works as expected. My two different Android smart phones (whose versions are below 8.1) detect my processor as a peripheral and communicate with it through a USB client app.

However, there is one smart phone with Android 8.1 installed that does not recognize the device at all. I checked if other USB apps (e.g. USB Device Info app from Google Play) would detect it, but they did not, either. Could it be because of Android 8.1? Might Google have updated the way Android recognizes USB peripherals in such a way that my peripheral application does not meet certain criteria?

The USB parameters in my Linux application are as follows: (this info was also obtained through the USB Device Info app from pre-8.1 phone)

Device Class: Vender Specific (0xFF)
Vendor ID: 0x1CBE
Product ID: 3

Interface #0

Class: Vendor Specific (0xFF)
Endpoint #0

Address: 0x81
Number: 1
Direction: Inbound
Type: Bulk
Poll Interval: 0
Max Packet Size: 512
Attributes: 000000010
Endpoint #1

Address: 0x01
Number: 1
Direction: Outbound
Type: Bulk
Poll Interval: 1
Max Packet Size: 512
Attributes: 000000010
Endpoint #2

Address: 0x83
Number: 3
Direction: Inbound
Type: Interrupt
Poll Interval: 6
Max Packet Size: 8
Attributes: 000000011
Old 01-30-2019, 09:11 PM   #2
LQ Newbie
Registered: Jan 2019
Posts: 2

Rep: Reputation: Disabled
Are you powering your device from phone? If yes please try with external power - there can be limited current or the phone powers off the device before it boots up because of no communication. If this is not the case check if the phone supports host mode at all by connecting for example USB keyboard to it.
Old 01-31-2019, 12:22 AM   #3
Registered: Dec 2017
Posts: 34

Original Poster
Rep: Reputation: Disabled
Hi, Kemada,

No, the device is already powered externally.
And the phone can detect and communicate with USB thumb drives.

By the way, it seems to be Android-related, rather than phone-related, because we tried connecting the device to two other phones from different manufacturers (both running Android 8.1), and they didn't recognize it, either. Oddly enough, connecting the device to a phone running Android 8.0 or 8.2 is successful. Something must be wrong with version 8.1, I think.


android, arm9, gadget, usb

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
[gadget driver] HOST turns unresponsive to gadget driver niroop Linux - Embedded & Single-board computer 4 04-22-2015 09:30 AM
help: Chipidea driver failed to detect mx28 USB 0 as gadget Device tedminator Linux - Hardware 0 10-04-2013 04:44 PM
Mount userspace directory as "/dev" block device for USB Gadget API? Robert_A Programming 5 02-17-2011 03:26 AM
MSC (UMS) instead MTP on linux embedded device. Linux-USB Gadget / GadgetFS rclemente Linux - Embedded & Single-board computer 2 08-28-2009 04:34 AM > Forums > Linux Forums > Linux - Hardware > Linux - Embedded & Single-board computer

All times are GMT -5. The time now is 08:44 AM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration