0
\$\begingroup\$

I have two devices which use FTDI chips to communicate with a computer. Will it be possible to communicate between them using a USB cable?

For one of the devices I have complete control over the firmware, for the other one I don’t. What I am trying to achieve is communication between two embedded devices via UART but I only have access to the interfaces after the FTDI chips.

Something I’m thinking of is generating some kind of code, so that I can send a message from my device (the one I can control the firmware) to make the other device believe that there is a computer on the other side.

Any ideas?

\$\endgroup\$
13
  • 1
    \$\begingroup\$ I'm not clear on why you don't just connect the serial ports together without the FTDI in between? \$\endgroup\$ Commented Jun 26, 2018 at 16:30
  • \$\begingroup\$ "i only have access to the the interfaces after the FTDI chips" - I presume "after" means the USB side \$\endgroup\$ Commented Jun 26, 2018 at 17:25
  • \$\begingroup\$ Generally speaking a determined person could bypass the USB-serial chips; quite likely there are test points downstream of them, and even if not it's typically only 2 signals to pick up. Otherwise, a flash-MCU based USB host, while taking longer than a pi to get going, will be far more robust, and potentially low power in operation. \$\endgroup\$ Commented Jun 26, 2018 at 17:34
  • \$\begingroup\$ FTDI made a microcontroller with a USB host with special support for other FTDI devices (plus HID and mass storage). However it (Vinculum) never had good tooling and is pretty well abandoned. Other MCUs are going to have a terrible time talking to an FTDI due to the fact that it uses a non-standard protocol. \$\endgroup\$
    – Ben Voigt
    Commented Jun 26, 2018 at 18:02
  • 1
    \$\begingroup\$ @BenVoigt - no, other MCUs are not going to have a terrible time. The protocol is very well understood, as evidenced by the fact that there's been a Linux driver since basically forever, there are implementations atop Android's userspace USB host API, etc. \$\endgroup\$ Commented Jun 26, 2018 at 19:50

1 Answer 1

3
\$\begingroup\$

I assume you are referring to FT232 or the like. In that case your plan can't work, because those chips are USB slave devices, and two USB slaves can't talk to each other.

To connect them, you'd need a USB host with two ports, the FTDI driver installed, and a small app that copies characters from one (virtual) serial port to the other. Quite feasible with a Raspberry Pi.

\$\endgroup\$
0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.