Android + FTDI FT232H Compatibility

1.3k Views Asked by At

I am building a C library that interfaces the FTDI FT232H USB to SPI converter. It currently works on Windows/Linux with the D2XX drivers.

On Android (6), the library will be accessed through JNI on devices running armeabi-v7a and arm64-v8a architectures.

Problem: FTDI isn't explicitly supported by Android.

The D2XX Linux drivers are using hard-floats, but Android requires soft-floats. What are my alternatives?

2

There are 2 best solutions below

2
Kai On

I recently built an Android app that communicates through a similar chip (FT2232H).

I had to compile a kernel with the FTDI single-port serial driver to make the device natively support FTDI chips. This, of course, means rooting the device and finding the kernel source that the device manufacturer is legally required to release by the GPL.

For what it's worth, I used the chip in VCP mode using a Java wrapper library for the Linux syscalls

0
itorra On

I'm facing in the exact same situation. I need a native solution to write to ftdi chip on android devices (armv7a,armv8,x86). A proper solution I've found is compiling libusb 1.x and libftdi. libusb can be compiled from the last release and as for libftdi you may take the diffs to catch up with v1.5. forked libftdi for android original libftdi