Como liberar / reinicializar os dispositivos FTDI da porta serial - Mac OSX

13

Estou tentando trabalhar com um PCB personalizado que usa um FTDI FT232RL para falar com meu computador (MacBookPro executando o OSX 10.11 El Capitan) para um projeto de hardware. Estou usando o Matlab para enviar comandos seriais, encontrando alguns problemas com o pino ClearToSend (CTS) aparentemente 'alto' (desligado), mas isso é outra história.

No entanto, meu problema agora é que o meu Mac não "libera" (não sei ao certo o que chamar isso) do dispositivo depois que eu o desconectei. Eu posso desligar o dispositivo e colocá-lo em outro barramento USB, mas eu realmente posso fazer isso apenas uma vez, porque a mesma coisa acontece novamente se eu desconectar - isso dificulta meu desenvolvimento, porque a única maneira que encontrei para consertar isso é reiniciar o computador inteiro. Como posso liberar / redefinir / limpar esses dispositivos?

Se eu abrir Informações do sistema > Hardware > USB , posso essencialmente ver o mesmo dispositivo listado duas vezes na árvore de dispositivos.

Isso faz com que quando eu tento o ls /dev/tty.* (no Matlab ou no Terminal) o dispositivo não esteja listado, ele é essencialmente bloqueado, mesmo que esteja conectado e exibido duas vezes na árvore do dispositivo. O que devo fazer?

Instalei o driver FTDI versão 2.3 e parece funcionar de outra forma. Por favor, deixe-me saber que outras informações posso fornecer para chegar ao fundo disto. Obrigado

    
por thkemp 17.10.2016 / 10:47

4 respostas

7

Eu tive o mesmo problema, embora na Sierra, falando com um clone do Arduino Nano (que também usa uma ponte FTDI FT232RL).

O que parece ter funcionado para mim é realmente remover o driver FTDI ( /Library/Extensions/FTDIUSBSerialDriver.kext ), depois de descobrir que a Apple envia um driver FTDI com o próprio SO ( /System/Library/Extensions/AppleUSBFTDI.kext ).

Acho que ter os dois drivers ativos ao mesmo tempo causa um conflito, o que prende a porta USB.

    
por 18.10.2016 / 09:30
6

Correção de driver FTDI do MacOS High Sierra 10.13.3 - 31 de janeiro de 2018

Por: Garrett Johnson Cansado do seu dev. placas não sendo reconhecidas em seu novo e brilhante macbook? Você está culpando esses malditos C-portos?

PROBLEMA: dispositivos FTDI não utilizáveis no MacOS High Sierra. No meu caso, eu estava tendo problemas para conectar dispositivos de chip FT232R ao meu MacBook Pro 2016 com portas C. Os dispositivos apareceram na minha árvore de dispositivos USB (Informações do sistema - > Hardware - > USB), mas não apareceram como um dispositivo serial usando o Arduino ou o Coolterm.     - NOTA: eles não apareceram quando no Terminal com o comando (ls / dev / cu *) ou (ls / dev / tty *)

SOLUÇÃO:

3) Faça o download dos drivers 2.4.2 do site da FTDI link e instale. A instalação será bem-sucedida, MAS, devido aos drivers FTDI incorporados da Apple, eles não funcionarão.

2) Reinicie o computador e entre no modo de recuperação Via desligar e manter pressionado o CMD + R na reinicialização.

3) No terminal de modo de recuperação, abra os utilitários na parte superior da tela e digite o seguinte para desativar normalmente a Proteção de Integridade do Sistema:

csrutil disable

O computador solicitará a reinicialização para que as alterações entrem em vigor.

4) Na reinicialização, agora precisamos desabilitar os drivers Apple FTDI (NOTA: isso pode ser revertido a qualquer momento, então não se preocupe).     - Abra o Terminal e digite o seguinte.

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

Agora, você terá desativado com sucesso os drivers FTDI internos da Apple e os substituído pelo FTDI v2.4.

5) Reinicie seu computador no modo de recuperação. Desligue, segure Command + R e abra o terminal na guia Utilitários. Digite o seguinte para reativar a proteção de integridade do sistema da Apple

csrutil enable

FINALMENTE! Uma reinicialização final e, em seguida, seus dispositivos seriais USB devem estar todos carregando corretamente!

** OBSERVAÇÃO: testei isso em um MacBook Pro 2016 com o MacOS 10.13.3 nos seguintes dispositivos / aplicativos: 1) Tela do terminal interno, CoolTerm, Bus Pirate V3.6, JTAGulator, Arduino Uno, Adafruit Mega AT, clone Mega Arduino.

    
por 02.02.2018 / 01:10
1

Eu gostaria de fornecer uma resposta adicional que resolva mais uma peça do quebra-cabeça que eu tive. Mesmo seguindo a excelente resposta de Garrett Johnson acima, meu motorista de FTDI ainda não estava funcionando. Acontece que - e eu sei que isso soa insano - que a guia "Segurança e Privacidade" das Preferências do Sistema não aceitou o clique do meu trackpad no botão "Permitir" que permitiria ao driver carregá-lo. Desci este caminho depois de ver esta mensagem no log de instalação:

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" }

Claro, cliquei em "Permitir", mas nada pareceu acontecer. O botão registrou o clique, mas eu não tinha nenhuma janela pop-up ou qualquer outra coisa para alguma forma de confirmação. Pesquisando nas Internets, eu descobri esse longo tópico na página do Github do Karabiner discutindo várias soluções para forçar as Preferências do Sistema a permitir o clique do mouse:

link

Aparentemente, eu tinha algum software em execução que estava interceptando a atividade do trackpad. Não foi chrome no meu caso, ao contrário de várias pessoas nessa lista. Eu não tenho idéia do que foi, o que é um pouco preocupante. A solução que funcionou para mim foi habilitar as teclas do mouse, em seguida, pressione "eu" para clicar o mouse sobre o botão "Permitir". Nesse ponto, uma janela apareceu e eu consegui permitir que o driver FTDI fosse carregado.

Ainda estou balançando a cabeça!

    
por 15.09.2018 / 23:03
0

Eu tive o mesmo problema. Eu tinha instalado os drivers FTDI através de um link das notas de instalação do Creality Ender 3, e o link instalado na versão 2.2.18, que é para o OS X 10.8 e abaixo. (Eu estou correndo Sierra, 10.12). O motorista trabalhou, mas não liberou. Eu apaguei o driver usando sudo rm /System/Library/Extensions/FTDIUSBSerialDriver.kext/ e, em seguida, baixei e instalei a versão 2.4.2. Tudo funcionando agora.

    
por 09.10.2018 / 00:31