1
0
mirror of https://github.com/mik3y/usb-serial-for-android synced 2025-06-08 00:16:13 +00:00

FAQ update

kai-morich 2019-11-01 16:14:43 +01:00
parent e2032d68f0
commit 0d9f7e800a
2 changed files with 38 additions and 17 deletions

@ -19,14 +19,11 @@ usb-serial-for-android is compatible with many Android devices. These are the o
* ASUS Zenfone 4 (reported by Kevin Cheng) * ASUS Zenfone 4 (reported by Kevin Cheng)
* Nexus 6 (Motorola), Android 7.1.1 * Nexus 6 (Motorola), Android 7.1.1
There are many compatible devices that are not listed, because no one has confirmed them.
There are many compatible devices that are not listed, because no one has confirmed them. To report a new device, please let us know on the discussion list.
## Known Broken Devices ## Known Broken Devices
* LG Nexus 4 * LG Nexus 4. The `android.hardware.usb.host` feature has been disabled system-wide because the hardware "[cannot supply 5V](https://android.googlesource.com/device/lge/mako/+/fe9f2793424c61588c093df951733347d0d24df4)".
The `android.hardware.usb.host` feature has been disabled system-wide because the hardware "[cannot supply 5V](https://android.googlesource.com/device/lge/mako/+/fe9f2793424c61588c093df951733347d0d24df4)".
* Motorola Moto E * Motorola Moto E
* Samsung S3 Neo, Android 4.4

@ -1,22 +1,41 @@
This is a collection of FAQ-style troubleshooting tips. This is a collection of FAQ-style troubleshooting tips.
If your problem isn't covered here, or you'd like to suggest a new addition, please use the mailing list (linked at left). We do not read the wiki comments. ## My USB device is not recognized
## I am using a custom ROM or older Android build and nothing works. Check with an App that uses this library and shows all USB devices, e.g. [Serial USB Terminal](https://play.google.com/store/apps/details?id=de.kai_morich.serial_usb_terminal).
The *Serial Example* app in this project is not sufficient , as it does not show devices where no driver is detected.
Stop right there; this project probably isn't for you. If still no USB device is shown, check the web for [USB Host Mode](https://developer.android.com/guide/topics/connectivity/usb/host.html) aka. [USB OTG](https://en.wikipedia.org/wiki/USB_On-The-Go) support for your Android device.
Missing support is more likely for older devices.
usb-serial-for-android only supports devices which comply with the [Android USB Host API](http://developer.android.com/guide/topics/connectivity/usb/host.html). For a partial list of compatible devices, see CompatibleAndroidDevices. For an incomplete list of Android devices with known issues look [[here|Compatible-Android-Devices]].
## My USB device is recognized, but no driver is detected
The library includes a list of USB vendor and device ID's (VID/PID) that are typically used by the supported chips. In case of unusual ID's, use a [Custom Prober](https://github.com/mik3y/usb-serial-for-android#probing-for-unrecognized-devices) or specify a fixed driver.
Non USB-to-Serial devices like mass-storage, mouse, GPC receivers, ... and rarely used USB-to-Serial chips including Hoitek HE2325U and FTDI FT312D are not supported.
## I use one of the supported USB devices, but connection fails
This library is not compatible with very old CH340 chips.
## My device is connected, but I receive no / wrong data
A common issue is wrong baud rate.
## I am using an Arduino Uno, Sparkfun Pro Micro, or other Arduino and `if (Serial)` doesn't work.
Most Arduinos with CDC driver use the DTR line to determine serial channel readiness. In your Android code, call `setDTR(true);`
## How do I access `/dev/ttyUSB0`? ## How do I access `/dev/ttyUSB0`?
You don't; see previous question. `/dev/tty*` is the Linux kernel's driver interface to various serial devices. Certain devices and custom ROMs *may* expose serial devices this way, but this library does not use this interface. You don't. `/dev/tty*` is the Linux kernel's driver interface to various serial devices. Certain devices and custom ROMs *may* expose serial devices this way, but this library does not use this interface.
## I am using an Arduino Uno, Sparkfun Pro Micro, or other Arduino and "if (Serial)" doesn't work.
Some Arduinos use the DTR line to determine serial channel readiness. In your Android code, call `setDTR(true);`
## When reading a message, why don't all bytes arrive at the same time? ## When reading a message, why don't all bytes arrive at the same time?
@ -30,3 +49,8 @@ You need to account for this problem when designing your protocol. Some common t
* Fixed length messages: If you a message is always going to be 100 bytes, just keep reading until you have all 100. * Fixed length messages: If you a message is always going to be 100 bytes, just keep reading until you have all 100.
* Length-prefixed messages: Prefix every message with a fixed-length `size` value; your message is complete after you've read `size` more bytes. * Length-prefixed messages: Prefix every message with a fixed-length `size` value; your message is complete after you've read `size` more bytes.
* Newline-terminated messages: Read until you see a `\n` (or any other "terminal" character). * Newline-terminated messages: Read until you see a `\n` (or any other "terminal" character).
## Does this library work with Ionic/Cordova/Xamarin/App Inventor/... development framework?
If your framework can import Java .jar files, look [[here|Build-Variants#Jar]] for instructions about creating a .jar file.