web-dev-qa-db-ja.com

シリアルポートFTDIデバイスをリリース/リセットする方法-Mac OSX

ハードウェアプロジェクトのカスタムPCB FTDI FT232RLを使用してコンピューター(OSX 10.11 El Capitanを実行しているMacBookPro)と通信する)で作業しようとしています。Matlabを使用してシリアルコマンドを送信しています。 ClearToSend(CTS)ピンでいくつかの問題が発生すると、明らかに「高」(オフ)になりますが、それは別の話です。

しかし、私の今の問題は、私のMacを取り外した後、デバイスが "解放"されないことです(これを他に何と呼ぶか​​わかりません)。デバイスを取り外して別のUSBバスに置くことはできますが、実際にこれを行うことができるのは一度だけです。なぜなら、取り外した場合も同じことが起こるためです。これは、これを修正する唯一の方法を見つけたので、開発が困難になるためです。コンピュータ全体を再起動することですこれらのデバイスをリリース/リセット/クリアするにはどうすればよいですか?

システム情報>ハードウェア> USBを開くと、基本的に同じデバイスがデバイスツリーに2回表示されます。

enter image description here

これにより、ls /dev/tty.*(Matlabまたはターミナルのいずれかで)デバイスはリストに表示されません。接続されていてデバイスツリーに2回表示されますが、基本的にブロックされています。私は何をすべきか?

バージョン2.3のFTDIドライバーをインストールしましたが、それ以外の方法で動作するようです。この問題の根底に到達するために提供できる他の情報を教えてください。ありがとう

17
thkemp

シエラではありますが、Arduino Nanoクローン(これもFTDI FT232RLブリッジを使用します)と話して、同じ問題が発生しました。

私にとってうまくいったように見えるのは、実際にはFTDIドライバー(/Library/Extensions/FTDIUSBSerialDriver.kext)、それを見つけた後Appleは、OS自体にFTDIドライバーを出荷します(/System/Library/Extensions/AppleUSBFTDI.kext)。

両方のドライバーを同時にアクティブにすると競合が発生し、USBポートが拘束されると思います。

9
robertklep

MacOS High Sierra 10.13.3 FTDIドライバーの修正-2018年1月31日

問題:FTDIデバイスはMacOS High Sierraでは使用できません。私自身のケースでは、Cポートを備えた2016 Macbook ProにFT232Rチップデバイスを接続するのに問題がありました。デバイスはUSBデバイスツリー([システム情報]-> [ハードウェア]-> [USB])に表示されましたが、ArduinoまたはCooltermを使用したシリアルデバイスとして表示されませんでした。 -注:コマンドは(ls/dev/cu *)または(ls/dev/tty *)を使用してターミナルに表示されませんでした。

解決:

3)2.4.2ドライバーをFTDIのWebサイト http://www.ftdichip.com/Drivers/VCP.htm からダウンロードしてインストールします。インストールは成功しますが、Appleの組み込みFTDIドライバーが原因で、機能しません。

2)コンピューターを再起動し、再起動時にCMD + Rの電源を切り、押したままにして、リカバリーモードに入ります。

3)リカバリモードで、画面上部のユーティリティからターミナルを開き、次のように入力してシス​​テム整合性保護を一時的に無効にします。

csrutil disable

コンピュータは、変更を有効にするために再起動するように求めます。

4)再起動時にApple FTDIドライバーを無効にする必要があります(注:これはいつでも元に戻すことができるので心配しないでください)。-ターミナルを開いて次のように入力します。

cd /system/library/extensions

Sudo mv AppleUSBFTDI.kext AppleUSBFTDI.disabled

Sudo touch /System/Library/Extensions

chgrp -R wheel FTDIUSBSerialDriver.kext

Sudo mv D2zzHelper.kext D2xxHelper.disabled

これで、Appleの組み込みFTDIドライバーが無効になり、FTDI v2.4に置き換えられました。

5)リカバリーモードでコンピューターを再起動します。シャットダウンし、コマンド+ Rキーを押しながら、[ユーティリティ]タブでターミナルを開きます。 Appleのシステム整合性保護を再度有効にするには、次のように入力します

csrutil enable

**注:私は次のデバイス/アプリでMacOS 10.13.3を搭載した2016 Macbook Proでこれをテストしました:1)端末内からの画面、CoolTerm、Bus Pirate V3.6、JTAGulator、Arduino Uno、Adafruit Mega AT、Arduinoメガクローン。

11
Garrett Johnson

私が持っていたパズルのもう1つのピースを解決する追加の答えを提供したいと思います。上記のGarrett Johnsonの優れた答えを踏襲しても、私のFTDIドライバーはまだ機能していませんでした。私のシステム環境設定の[セキュリティとプライバシー]タブで、ドライバーのロードを許可する[許可]ボタンのトラックパッドのクリックを受け入れていなかったことがわかりました。インストールログに次のメッセージが表示された後、このパスを取得しました。

2018-09-15 16:21:04-04 Host installd[1160]: kextcache: Kext rejected due to system policy: <OSKext 0x7f869ab80530 [0x7fff87e7aaf0]> { URL = "file:///Library/StagedExtensions/Library/Extensions/FTDIUSBSerialDriver.kext/", ID = "com.FTDI.driver.FTDIUSBSerialDriver" }

もちろん、ここで「許可」をクリックしましたが、何も起こらないようです。ボタンはクリックを記録しましたが、確認用のウィンドウポップアップなどはありませんでした。インターネットを検索してみたところ、カラビナのgithubページでこの長いスレッドを発見し、システム設定でマウスのクリックを許可するためのいくつかのソリューションについて説明しました。

https://github.com/tekezo/Karabiner-Elements/issues/1017

どうやら私はトラックパッドの活動を妨害しているいくつかのソフトウェアを実行していた。それはchromeではありませんでした。そのリストのいくつかの人々とは異なります。それが何であるかについての手がかりはありません。少し心配です。私にとって有効な解決策は、マウスキーを有効にすることでした次に、「I」を押して「許可」ボタンの上でマウスをクリックすると、ウィンドウがポップアップし、FTDIドライバーのロードを許可することができました。

私はまだ頭を振っています!

2
Mike Andrews

同じ問題がありました。 Creality Ender 3のインストールノートからのリンクを介してFTDIドライバーをインストールし、リンクはOS X 10.8以下用のバージョン2.2.18をインストールしました。 (私はSierra、10.12を実行しています)。ドライバーは機能しましたが、解放されませんでした。 Sudo rm /System/Library/Extensions/FTDIUSBSerialDriver.kext/を使用してドライバーを削除し、バージョン2.4.2をダウンロードしてインストールしました。すべては今働いています。

0
Steve Johnson