Can't set DTR using AppleUSBFTDI.kext

Originator:murat1
Number:rdar://17560031 Date Originated:July 3 2014
Status:open Resolved:
Product:OS X Product Version:10.9.4
Classification: Reproducible:always
 
Summary:
A number of hobbyist devices (Arduino, BASIC Stamp, etc) use signaling on DTR to indicate that the device should reset.

I can toggle DTR using FTDI's driver (FTDIUSBSerialDriver.kext, 2.2.18) but not the driver built into Mavericks (AppleUSBFTDI.kext).

Steps to Reproduce:
1. Aquire an FTDI based USB-serial adapter.

2. Rig up some way to observe the TX and DTR signals provided by the adapter. 

I used a Parallax USB Board of Education which has a built-in FTDI based adapter, with LEDs plugged into the socket where the BS2 chip would normally go. One LED across Sin (Pin2) and Vss (Pin16) shows the state of TX, another LED across ATN (Pin3) and the other Vss (Pin4) monitors DTR (see enclosed schematic for reference).

3. Plug the rig into a Mac running Mavericks with XCode installed.

4. Build and run the enclosed project "SerialPortSample (FTDI Bug)" which is the Apple supplied "SerialPortSample" modified to find and use a FTDI chip based usb-serial interface.

When SerialPortSample attempts to communicate over the serial port, the LED driven by the DTR signal never flashes, though the TX LED does.

5. Download and install the latest available driver from <http://www.ftdichip.com/Drivers/VCP.htm>

6. Restart the Mac.

7. Re-run the enclosed project "SerialPortSample (FTDI Bug)".

Result: Both TX and DTR LEDs flash. 


Expected Results:
I expect that the DTR LED should light up when the code asserts DTR (i.e. ioctl(fileDescriptor, TIOCSDTR)).

(If you use the Parallax USB Board of Education to try to reproduce this, the DTR LED will flash instead of lighting up. This is due to the capacitor in line with the DTR line.)

Actual Results:
The DTR LED does *not* light up at all. Ever.

Version:
10.9.4, 13E28

Notes:
Note that for many schools who use these devices and also have strict security requirements, using the driver supplied by FTDI is not an option. FTDI does not sign their installer so it won't even launch on locked down systems. Additionally, there are reports of (and I have experienced) kernel panics when both the FTDI supplied driver and the Apple supplied driver are installed (see <https://developer.apple.com/library/mac/technotes/tn2315/_index.html>) .

Configuration:
MacBook Air, Mid 2012

Attachments:
'SerialPortSample (FTDI Bug).zip' and '28850-BOE-USB-Schematic-D.pdf' were successfully uploaded.

Comments

Exactly the same problem applies to control of the RTS line

By nwalsh.net at Jan. 16, 2015, 12:08 p.m. (reply...)

Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!