FTDI Community

Please login or register.

Login with username, password and session length.
Advanced Search  

News:

Welcome to the FTDI Community!

Please read our Welcome Note

Technical Support enquires
please contact the team
@ FTDI Support


New Bridgetek Community is now open

Please note that we have created the Bridgetek Community to discuss all Bridgetek products e.g. EVE, MCU.

Please follow this link and create a new user account to get started.

Bridgetek Community

Pages: 1 2 3 [4] 5

Author Topic: VCP driver on macOS 11  (Read 117250 times)

scotttmiller

  • Newbie
  • *
  • Posts: 4
    • View Profile
Re: VCP driver on macOS 11
« Reply #45 on: September 17, 2021, 11:58:11 AM »

Hello.  My name is Scott Miller and I am a BCI researcher.  I too am experiencing severe latency issues with the VCP driver on macOS 11.  I am using a MacBook Pro M1 running the latest version of Big Sur.

I read this entire thread and several others blog threads across the internet.  I emailed and spoke with Cameron from FTDI tech support in Oregon.  Cameron was very helpful.  He let me know that the latest 1.4.7 driver runs on both x86_64 and arm64.  I tried modding the 1.4.7 driver on my M1 but ran into the same code signing issues described by others in this thread.

Cameron also reached out to the FTDI team in the UK on my behalf.  That team replied with some links which talk about how to build my own driver, but that's not very useful to me at this point in time.

I also tried calling tech support in Glasgow, during normal working hours in GMT, but was unable to reach anyone at all.  The voice mailboxes are all full, and not even an operator answered my calls.  I tried repeatedly.

I suspect that FTDI is for some reason unable to obtain a DriverKit entitlement from Apple.  Is that the case?  Has FTDI made any progress on this issue?
Logged

FTDI Community

  • Administrator
  • Hero Member
  • *****
  • Posts: 892
    • View Profile
Re: VCP driver on macOS 11
« Reply #46 on: September 17, 2021, 02:50:05 PM »

Hello Scott,

Thank you for your question.

I would like to apologise that you haven't be able to contact any via phone in the UK office, unfortunately we are still working form home currently.

We are currently investigating how to generate a codeless .dext wrapper for any Info.plist modifications which might be required by an end user.
Is this what you are trying to achieve?

Could you describe the latency issues you are seeing?

Hello.  My name is Scott Miller and I am a BCI researcher.  I too am experiencing severe latency issues with the VCP driver on macOS 11.  I am using a MacBook Pro M1 running the latest version of Big Sur.

I read this entire thread and several others blog threads across the internet.  I emailed and spoke with Cameron from FTDI tech support in Oregon.  Cameron was very helpful.  He let me know that the latest 1.4.7 driver runs on both x86_64 and arm64.  I tried modding the 1.4.7 driver on my M1 but ran into the same code signing issues described by others in this thread.

Cameron also reached out to the FTDI team in the UK on my behalf.  That team replied with some links which talk about how to build my own driver, but that's not very useful to me at this point in time.

I also tried calling tech support in Glasgow, during normal working hours in GMT, but was unable to reach anyone at all.  The voice mailboxes are all full, and not even an operator answered my calls.  I tried repeatedly.

I suspect that FTDI is for some reason unable to obtain a DriverKit entitlement from Apple.  Is that the case?  Has FTDI made any progress on this issue?

Best Regards,
FTDI Community.
Logged

scotttmiller

  • Newbie
  • *
  • Posts: 4
    • View Profile
Re: VCP driver on macOS 11
« Reply #47 on: September 17, 2021, 05:17:52 PM »

Yes I am trying to modify the Info.plist to adjust the latency and buffer settings, because I am experiencing extreme jitter in the timestamp intervals.  The issue is so severe that unless I can correct it, I cannot use the FTDI chip for my experiments.

My teammate is using the same chip on his older, Intel-based MacBook Pro.  He is also running the latest version of Big Sur.  He tried the unmodified 1.4.7 driver, and a modified 2.4.4 driver.  The unmodified 1.4.7 provides smoother streaming with less jitter than the modified 2.4.4, but it's still not good enough for our experiments.

The following are the settings he added to the Info.plist of the 2.4.4 driver:

  <dict>
    <key>InBufferSize</key>
    <integer>128</integer>
    <key>LatencyTimer</key>
    <integer>24</integer>
  </dict>

Can you recommend a different driver or different modifications for him?

--Scott
Logged

FTDI Community

  • Administrator
  • Hero Member
  • *****
  • Posts: 892
    • View Profile
Re: VCP driver on macOS 11
« Reply #48 on: September 20, 2021, 02:12:53 PM »

Hello Scott,

Thank you for the details.
The Latency timer and buffer settings are the correct settings to alter in this case.

However as I'm sure you have noticed performance on different machines can vary, this is due to the inherent nature of USB.

USB products can’t reliably be used in real-time applications with time interval resolution guarantees.

Sometimes the behaviour of USB can be a problem and applications cannot be guaranteed throughput.
If there is more USB traffic then the OS and USB have to schedule the communication with each of the USB devices.
It’s highly dependent on the OS and USB Host and is out with our control.

You could take a look at the following App notes:

Data Throughput, Latency & Handshaking
Optimising D2XX Data Throughput

These apply to all of our USB products.

The latency timer can only be set to 1ms minimum for our High Speed USB products and nothing less, and 2ms for our Full Speed USB products (like FT232R inside the USB-RS485-WE cable).

Best Regards.
FTDI Community
Logged

scotttmiller

  • Newbie
  • *
  • Posts: 4
    • View Profile
Re: VCP driver on macOS 11
« Reply #49 on: September 22, 2021, 12:08:53 PM »

Thanks for the docs.   The VCP doc is informative, but it does not contain instructions for MacOS.  Can you please also send me instructions for reconfiguring your VCP driver on MacOS.
Logged

FTDI Community

  • Administrator
  • Hero Member
  • *****
  • Posts: 892
    • View Profile
Re: VCP driver on macOS 11
« Reply #50 on: September 22, 2021, 03:41:41 PM »

Hello,

Unfortunately we currently only have instructions for the previous .kext version of the driver:
https://ftdichip.com/wp-content/uploads/2020/08/TN_105-Adding-Support-for-New-FTDI-Devices-to-Mac-Driver.pdf

The edits to the info.plist would remain the same in terms of the latency timer and inbuffersize attributes, however Apple stipulating a codeless .dext approach for modifying drivers in macOS 11. The driver team are currently looking into the best way to produce a codeless .dext.

Best Regards,
FTDI Community
Logged

scotttmiller

  • Newbie
  • *
  • Posts: 4
    • View Profile
Re: VCP driver on macOS 11
« Reply #51 on: September 27, 2021, 01:33:07 AM »

Thanks again! That is indeed a useful doc.  What is the latest version of MacOS for which those instructions are valid?
Logged

FTDI Community

  • Administrator
  • Hero Member
  • *****
  • Posts: 892
    • View Profile
Re: VCP driver on macOS 11
« Reply #52 on: September 27, 2021, 01:47:33 PM »

Hello,

That would be the last version of macOS to support .kext drivers, this would be 10.15, but there is an extra notarization step for .kext drivers required by Apple in 10.15, that is not noted in that document. As such it would be safe to assume these instructions work up for drivers up till macOS 10.14.

Best Regards,
FTDI Community
Logged

William J. Croft

  • Newbie
  • *
  • Posts: 5
  • neurofeedback, biofeedback engineering, OpenBCI
    • View Profile
    • Lightfield Systems
Re: VCP driver on macOS 11
« Reply #53 on: November 15, 2021, 10:27:29 PM »

Hello,

That would be the last version of macOS to support .kext drivers, this would be 10.15, but there is an extra notarization step for .kext drivers required by Apple in 10.15, that is not noted in that document. As such it would be safe to assume these instructions work up for drivers up till macOS 10.14.

Best Regards,
FTDI Community

Hi "FTDI Community" / moderator,

I've been in contact with @scottmiller regarding his difficulty adjusting the macOS 11 FTDI 'latency' setting. (macOS 11 is required for Apple hardware using the new M1 CPU.) For our Windows customers, this is extremely easy: they just bring up the Windows driver control panel, and type in the new Latency value. In this case '1' ms is the Latency value we need for optimum packet latency with the OpenBCI Cyton product.

What we are requesting: is a similarly easy way to do this on macOS 11. That should not require modifying Info.plist files, or signing a driver. It should be an external file that you look for, upon driver loading time. This would have fields similar to a .plist, for adjusting values like are possible on Windows. But it would not have to be a .plist, could even be something simple like one line per adjustment: "variablename value".

Can you give us a timeline for when FTDI will release this macOS 11 compatible driver with adjustable settings? The lack of this is causing great difficulty with our Mac customers.

Thanks,

William Croft
OpenBCI Forum admin
Logged

William J. Croft

  • Newbie
  • *
  • Posts: 5
  • neurofeedback, biofeedback engineering, OpenBCI
    • View Profile
    • Lightfield Systems
Re: VCP driver on macOS 11
« Reply #54 on: November 16, 2021, 08:13:54 PM »

Hi, as a manufacturer of equipment that utilizes many hundreds of your FT231XQ chips, we would like an update on the status of a configurable macOS 11 driver. Our customers MUST be able to set the Latency Timer to 1 ms, to flush the radio packets into the laptop for real-time EEG processing.

This was 'possible' with older drivers, but such drivers cannot be used by newer Macs using the M1 CPU chips. Those machines are limited to macOS 11.

We realize that your driver is in 'beta', but this capability seems WAY overdue, many months overdue.

I'd appreciate an acknowledgement that your engineers are prioritizing a workable solution.

William Croft
OpenBCI
https://openbci.com/
Logged

William J. Croft

  • Newbie
  • *
  • Posts: 5
  • neurofeedback, biofeedback engineering, OpenBCI
    • View Profile
    • Lightfield Systems
Re: VCP driver on macOS 11
« Reply #55 on: November 17, 2021, 10:12:25 PM »

Hello,

I have be liaising with the driver team recently and they are making good progress. We are currently establishing which features supported in our driver but not in the Apple driver are most pertinent for a beta release. For example, baud rate aliasing or latency timer settings.

If you are using any of these feature please let me know.

Best Regards,
FTDI community.

Could I get an acknowledgement from "FTDI community" FTDI staff member? You explicitly asked on MARCH 17, SEVEN MONTHS ago, for customer needed capability in your macOS 11 Big Sur FTDI driver. Both Scott and I (post yesterday) have an urgent need for the ability to set the Latency Timer in your driver. WITHOUT needing code signing or Info.plist editing.

What is the timeline and estimate for availability? Is ANYONE at FTDI actually concerned that customers using many hundreds of your chips, are now facing increasing customer complaints?? And that we will drop purchasing of your chips in the future?

William Croft
OpenBCI
https://openbci.com/
Logged

FTDI Community

  • Administrator
  • Hero Member
  • *****
  • Posts: 892
    • View Profile
Re: VCP driver on macOS 11
« Reply #56 on: November 18, 2021, 04:00:49 PM »

Hello,

We have received your email and are in contact with our R&D team about this.

Please continue to work with us on email as the forum is maybe not the best medium to get the quickest support.

Best Regards,
FTDI Community
Logged

colinbroad

  • Newbie
  • *
  • Posts: 2
    • View Profile
Re: VCP driver on macOS 11
« Reply #57 on: February 15, 2022, 08:33:52 PM »

It is now February 2022, have there been any developments with the VCP driver on macOS 11. I particular, how to set latency?
Logged

FTDI Community

  • Administrator
  • Hero Member
  • *****
  • Posts: 892
    • View Profile
Re: VCP driver on macOS 11
« Reply #58 on: February 16, 2022, 01:16:32 PM »

Hello,

FTDI’s Mac OS X10.15 and macOS 11/12 VCP driver can change the latency timer but you will need to edit the info.plist but this means that the driver would need to be resigned as driver signing is enforced on macOS:

https://ftdichip.com/drivers/vcp-drivers/

See TN_105 Adding Support for New FTDI Devices to Mac Driver.

Signing requires you to join the Apple Dev program and applying for a signing certificate.

The other alternative for MacOS is to use the D2XX drivers. See the Mac OS X Installation Guide and the D2XX Programmer’s Guide and the FT_SetLatencyTimer API.
Example d2xx code is provided with the d2xx driver download.

Best Regards,
FTDI Community
Logged

William J. Croft

  • Newbie
  • *
  • Posts: 5
  • neurofeedback, biofeedback engineering, OpenBCI
    • View Profile
    • Lightfield Systems
Re: VCP driver on macOS 11
« Reply #59 on: June 03, 2022, 05:47:31 PM »

A workaround solution now exists for setting Latency on macOS 11

It was created by Matt Keeter. It is a small C program running on macOS, that sets the latency to any desired value. The program needs to be run once per FTDI usb device insertion, since the latency value is not remembered in the macOS driver.

For links see this post and thread on our OpenBCI Forum discussion board:

https://openbci.com/forum/index.php?p=/discussion/comment/17915/#Comment_17915

https://openbci.com/forum/index.php?p=/discussion/3108/ftdi-driver-latency-timer-for-macbook-m1#latest

I would hope that FTDI management makes this available to those not reading this FTDI Community thread.

William Croft
OpenBCI Forum moderator
Logged
Pages: 1 2 3 [4] 5