libFTDI - FTDI USB driver with bitbang mode
libFTDI is an open source library to talk to FTDI chips: FT232BM, FT245BM, FT2232C, FT2232D, FT245R and FT232H including the popular bitbang mode. The library is linked with your program in userspace, no kernel driver required.
libFTDI works perfectly with Linux, Windows, MacOS X and BSD variants thanks to libusb.
News
2013-01-29: Version 1.0 of libftdi released
- Ported to libusb 1.x (initial work by Jie Zhang)
- Many eeprom handling improvements (Uwe Bonnes, Anders Larsen)
- Renamed pkconfig, library .so etc. files to "libftdi1" (Intra2net)
- ftdi_eeprom is part of libftdi now (Intra2net)
- New baudrate calculation code + unit tests (Uwe Bonnes and Intra2net)
- Improved python bindings including python3 support (Michel Zou)
- Switched completely to cmake build system (Intra2net)
- cmake: Easy libftdi discovery via find_package() (Michel Zou)
- eeprom handling now done via get()/set() functions (Uwe Bonnes)
- C++ wrapper: Fixed use-after-free in List::find_all() (Intra2net)
- Documentation updates (Xiaofan Chen)
- See the git history for more changes and fixes
- Support for FT232H (Uwe Bonnes)
- Fixed install location of header files (Uwe Bonnes and Intra2net)
- Backported serial_test tool from libftdi 1.x (Uwe Bonnes)
- Make kernel driver detach configurable (Thomas Klose)
- Correct ftdi_poll_modem_status() result code (Tom Saunders)
- cmake build system improvements (Evgeny Sinelnikov)
- Fix uninitialized memory access in async mode (Intra2net)
- Support for FT232R eeprom features (Hermann Kraus)
- Fix size returned by ftdi_read_data (Hermann Kraus)
- C++ wrapper: Fix infinite recursion in set_bitmode (Intra2net)
- Improvements to the python wrapper (Flynn Marquardt and Chris Zeh)
License
The library itself is licensed under LGPL 2.1 (not any later),
the EEPROM programmer is licensed under GPL 2 (not any later)

