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

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

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

No entanto, meu problema agora é que meu Mac não "libera" (não tenho certeza de como chamar isso) o dispositivo depois de desconectá-lo. Posso desconectar o dispositivo e colocá-lo em outro barramento USB, mas só posso fazer isso uma vez, porque a mesma coisa acontece novamente se eu desconectar - isso dificulta meu desenvolvimento, porque a única maneira que encontrei de consertar isso é reiniciar todo o computador. Como posso liberar/redefinir/limpar esses dispositivos?

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

insira a descrição da imagem aqui

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

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

Responder1

Tive o mesmo problema, embora no Sierra, ao conversar com um clone do Arduino Nano (que também usa uma ponte FTDI FT232RL).

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

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

Responder2

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

Por: Garrett Johnson Cansado do seu desenvolvedor. placas não sendo reconhecidas em seu macbook novinho em folha? Você está culpando aquelas malditas portas C?

PROBLEMA: Dispositivos FTDI não utilizáveis ​​no MacOS High Sierra. No meu caso, tive problemas para conectar dispositivos com 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 Arduino ou Coolterm. - NOTA: eles também não apareceram no Terminal com o comando (ls /dev/cu*) ou (ls /dev/tty*)

SOLUÇÃO:

3) Baixe os drivers 2.4.2 do site da FTDIhttp://www.ftdichip.com/Drivers/VCP.htm e instale. A instalação será bem-sucedida, MAS devido aos drivers FTDI integrados da Apple, eles não funcionarão.

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

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

csrutil disable

O computador solicitará que você reinicie para que as alterações tenham efeito.

4) Na reinicialização, agora precisamos desabilitar os drivers FTDI da Apple (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ê desativou com sucesso os drivers FTDI integrados da Apple e os substituiu pelo FTDI v2.4.

5) Reinicie o seu computador em 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

AFINAL! Uma reinicialização final e então todos os seus dispositivos seriais USB deverão estar carregando corretamente!

**NOTA: testei isso em um Macbook Pro 2016 com MacOS 10.13.3 nos seguintes dispositivos/aplicativos: 1) Tela do terminal, CoolTerm, Bus Pirate V3.6, JTAGulator, Arduino Uno, Adafruit Mega AT, Arduino Megaclone.

Responder3

Gostaria de fornecer uma resposta adicional que resolva mais uma peça do quebra-cabeça que eu tinha. Mesmo seguindo a excelente resposta de Garrett Johnson acima, meu driver FTDI ainda não estava funcionando. Acontece que - e eu sei que isso parece loucura - minha guia "Segurança e Privacidade" nas Preferências do Sistema não estava aceitando o clique do meu trackpad no botão "Permitir" que permitiria o carregamento do driver. Segui esse 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" lá, mas nada pareceu acontecer. O botão registrou o clique, mas não apareceu nenhuma janela pop-up ou qualquer outra coisa para alguma forma de confirmação. Pesquisando na Internet, descobri este 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:

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

Aparentemente, eu tinha algum software em execução que interceptava a atividade do trackpad. Não era o Chrome no meu caso, ao contrário de várias pessoas nessa lista. Não tenho ideia do que foi, o que é um pouco preocupante. A solução que funcionou para mim foi ativar as teclas do mouse e pressionar "I" para clicar com o mouse sobre o botão "Permitir". Nesse ponto, uma janela apareceu e consegui permitir o carregamento do driver FTDI.

Ainda estou balançando a cabeça!

Responder4

Eu tive o mesmo problema. Eu instalei os drivers FTDI por meio de um link das notas de instalação do Creality Ender 3, e o link instalou a versão 2.2.18, que é para OS X 10.8 e inferior. (Estou executando o Sierra, 10.12). O motorista trabalhava, mas não liberava. Excluí o driver usando sudo rm /System/Library/Extensions/FTDIUSBSerialDriver.kext/e baixei e instalei a versão 2.4.2. Tudo funcionando agora.

informação relacionada