O objetivo desta nota de aplicação é fornecer aos usuários de chips FTDI um procedimento simples para instalar drivers FTDI para dispositivos FTDI usados no MAC OS X.
1. Introdução
O objetivo desta nota de aplicação é fornecer aos usuários de chips FTDI um procedimento simples para instalar drivers FTDI para seus dispositivos no MAC OS X.
2. Obtendo drivers de dispositivos FTDI
Os drivers FTDI podem ser obtidos no site da FTDI.
Existem dois tipos de driver: VCP (Porta COM Virtual) e D2XX (acesso direto).
Obtendo VCP
O VCP cria uma porta de comunicação virtual no MAC e permite que os aplicativos que usam a interface de programação POSIX se comuniquem com o dispositivo. Este é efetivamente o mesmo que nós usando uma porta de comunicação legada.
O download é um arquivo de imagem de disco (dmg) em: http://www.ftdichip.com/Drivers/VCP.htm
Baixe a versão relevante para a sua versão do sistema operacional.
Clicar no link da web inicia um download.
Dentro do FTDIUSBSerialDriver_v2_2_18.dmg, existem 2 arquivos de pacote:
FTDIUSBSerialDriver_10_3.mpkg que é específico para OS X 10.3 (Panther)
FTDIUSBSerialDriver_10_4_10_5_10_6_10_7.mpkg que é específico para OS X 10.4 (Tiger), OS X 10.5 (Leopard), 10.6 (Snow Leopard), 10.7 (Lion) e 10.8 (Mountain Lion).
Dentro do FTDIUSBSerialDriver_v2_3.dmg, há 1 arquivo de pacote:
FTDIUSBSerial.pkg é adequado para OS X 10.9 (Mavericks) e posterior.
Obtendo D2XX
D2xx usa a interface de programação FTDI para acessar recursos avançados dos chips.
O download é um arquivo de imagem de disco (dmg) em http://www.ftdichip.com/Drivers/D2XX.htm
A versão atual no momento da escrita (versão 1.2.2) cobre todas as versões do OS X de 10.4 em diante.
3. Instalando Drivers
Instalação de drivers VCP no OS X 10.3 a OS X 10.8
Para instalar o driver no MAC, basta clicar no .mpkg que corresponde à sua versão do OS X.
Com o Lion e o Mountain Lion, você precisará ignorar a nova função de segurança do Gatekeeper para instalar o arquivo pkg. Basta pressionar Cntrl-Click ao selecionar FTDIUSBSerialDriver_10_4_10_5_10_6_10_7.pkg. Isso abrirá um menu pop-up. Selecione Abrir neste menu:
O seguinte pop-up aparecerá:
Selecione “Abrir” e o processo de instalação do driver VCP começará (veja a próxima página).
Selecione continuar para instalar o driver.
Selecione continuar na tela Leia-me.
Selecione Instalar. Neste ponto, sua senha pode ser solicitada para autenticar a instalação. Isso é exatamente o mesmo que você faria para se conectar à máquina para começar a usá-lo.
Após a autenticação, selecione Fechar para concluir a instalação.
Agora conecte o dispositivo.
Se o dispositivo estiver instalado corretamente, você verá entradas no diretório / dev:
/dev/cu.usbserial-xxxxxxxx
/dev/tty.usbserial-xxxxxxxx
onde xxxxxxxx é o número de série do dispositivo ou, para dispositivos não serializados, uma string de localização que depende da porta USB à qual seu dispositivo está conectado. Observe que, para dispositivos FT2232D, a porta A é indicada pelo número de série anexado a ‘A’ e a porta B é designada pelo número de série anexado a ‘B’.
/ dev pode ser acessado por meio do aplicativo Terminal. O aplicativo Terminal pode ser iniciado selecionando Go> Applications> Utilities> Terminal. Digite as seguintes linhas na janela do Terminal para produzir a lista de arquivos:
cd / dev
ls-l
Instalação de drivers VCP no OS X 10.9 em diante
Desde 10.9 (Mavericks), o OS X incluiu suporte parcial integrado para alguns dispositivos FTDI no modo VCP. A partir de 10.11 (El Capitan), o próprio driver da Apple parece ser suficientemente abrangente para que muitos clientes não precisem instalar o próprio VCP da FTDI, a menos que desejem usar seus recursos avançados, como aliasing de taxa de transmissão e tempos de latência configuráveis.
Se desejar usar o VCP FTDI, desative o driver FTDI VCP fornecido pela Apple de acordo com a seção 7.
Para instalar o driver no MAC, basta clicar em FTDIUSBSerial.pkg mostrado na seção 2.1.
Selecione Continuar
Selecione Continuar na tela Leia-me.
Depois de ler o Contrato de Licença de Software, pressione Continuar.
Clique em concordar para continuar ou discordar para abortar a instalação.
Selecione Instalar.
A tela mostrará brevemente ‘Preparando para instalação …
Neste ponto, sua senha pode ser solicitada para autenticar a instalação. Isso é exatamente o mesmo que você faria para se conectar à máquina para começar a usá-lo. Em seguida, selecione Instalar software.
A tela mostrará ‘Preparing FTDI USB Serial Driver…
A tela mostrará ‘Validando pacotes…
A tela mostrará ‘Registrando componentes atualizados …
A tela final deve mostrar que a instalação foi bem-sucedida. Selecione fechar e reinicie.
Agora conecte o dispositivo.
Se o dispositivo estiver instalado corretamente, você verá entradas no diretório / dev:
/dev/cu.usbserial-xxxxxxxx
/dev/tty.usbserial-xxxxxxxx
onde xxxxxxxx é o número de série do dispositivo ou, para dispositivos não serializados, uma string de localização que depende da porta USB à qual seu dispositivo está conectado. Observe que para porta de dispositivos FT2232D
A é indicado pelo número de série anexado com ‘A’ e a porta B é designada pelo número de série anexado com ‘B’.
/ dev pode ser acessado por meio do aplicativo Terminal. O aplicativo Terminal pode ser iniciado selecionando Go> Applications> Utilities> Terminal. Digite as seguintes linhas na janela do Terminal para produzir a lista de arquivos:
cd /dev
ls-l
Instalando Drivers D2xx
Observe que os aplicativos que usam D2XX não podem acessar um dispositivo FTDI se o OS X já carregou um driver VCP para ele. O OS X faz isso quando detecta um dispositivo com o fornecedor FTDI padrão e identificadores de produto sendo conectados. Isso se aplica ao VCP da FTDI e, no OS X 10.9 em diante, à Apple.
Para evitar este cenário, se o VCP da FTDI estiver instalado, desinstale-o seguindo as instruções na seção 4. No OS X 10.9 e posterior, bloqueie, descarregue ou desative o driver da Apple seguindo as instruções na seção 7.
Baixe a imagem do disco D2XX de acordo com a seção 2.2 deste documento. Clique no item dmg na área Downloads para montar a imagem do disco e arraste a pasta D2XX para a área de trabalho.
Inicie uma sessão de Terminal (Vá> Aplicativos> Utilitários> Terminal) Mude o diretório para / usr / local / lib:
cd / usr / local / lib
Observação: se / usr / local / lib ainda não existir, tente novamente após criá-lo com:
sudo mkdir –p / usr / local / lib
Copie a biblioteca dinâmica libftd2xx para / usr / local / lib (observe que o espaço e o ponto final são essenciais):
sudo cp ~ / Desktop / D2XX / bin / 10.5-10.7 / libftd2xx.1.2.2.dylib.
Crie um link simbólico independente de versão para a biblioteca:
sudo ln -sf libftd2xx.1.2.2.dylib libftd2xx.dylib
O driver agora está instalado. Você pode vinculá-lo especificando –lftd2xx em seu comando de construção.
Amostras escritas em C são fornecidas para mostrar como usar a biblioteca e verificar a instalação. Esses são aplicativos de linha de comando que devem ser executados a partir da janela Terminal. Para compilar e executar os exemplos, execute as etapas a seguir (pressupõem que você copiou todos os arquivos de distribuição para a área de trabalho e instalou a biblioteca de acordo com a seção Instalação acima):
Abra uma janela do Terminal (Vá> Aplicativos> Utilitários> Terminal). Mude o diretório para o diretório raiz de amostras:
cd ~ / Desktop / D2XX / Amostras
Crie todas como sed:
faço
Se você tiver problemas neste estágio, revise a seção de instalação acima para garantir que a biblioteca esteja instalada corretamente. Leia as mensagens de erro e tente determinar a origem do problema. Se você ainda tiver problemas, entre em contato com o suporte detalhando seu problema com o máximo de informações possível.
Para testar a execução de um aplicativo, conecte um dispositivo FTDI com VID padrão (0x0403) e PID (por exemplo, 0x6001) e digite:
sudo EEPROM / ler / ler
Nota: a execução como superusuário (sudo) é necessária porque o OS X não dá aos usuários comuns permissão para acessar o USB diretamente.
Se você tiver problemas neste estágio, consulte os tópicos de solução de problemas na seção 6. Se a seção de solução de problemas não ajudar, entre em contato com o suporte com os detalhes do problema.
4. Desinstalando drivers FTDI no OS X
Siga os procedimentos abaixo se desejar remover os drivers fornecidos pela FTDI do seu MAC.
Desinstalando drivers FTDI VCP no OS X 10.3 a OS X 10.8
Para remover os drivers do Mac OS X, o usuário deve estar conectado como root.
Root é um nome de usuário reservado que possui os privilégios necessários para acessar todos os arquivos.
Inicie uma sessão de Terminal (Vá> Aplicativos> Utilitários> Terminal) e digite os seguintes comandos no prompt de comando:
cd /System/Library/Extensions
rm -r FTDIUSBSerialDriver.kext
cd /Library/Receipts
rm -r ftdiusbserialdriver.pkg
rm -r ftdiusbserialdriverinstallerPostflight.pkg
rm -r ftdiusbserialdriverinstallerPreflight.pkg
Para operar temporariamente como usuário root você pode usar sudo no início do comando
e.g.
cd /System/Library/Extensions
sudo rm -r FTDIUSBSerialDriver.kext
cd /Library/Receipts
sudo rm -r ftdiusbserialdriver.pkg
sudo rm -r ftdiusbserialdriverinstallerPostflight.pkg
sudo rm -r ftdiusbserialdriverinstallerPreflight.pkg
O driver será removido do sistema.
Desinstalando drivers FTDI VCP no OS X 10.9 em diante
Para remover os drivers do Mac OS X 10.9 em diante, o usuário deve estar conectado como root. Root é um nome de usuário reservado que possui os privilégios necessários para acessar todos os arquivos.
Inicie uma sessão de Terminal (Vá> Aplicativos> Utilitários> Terminal) e digite os seguintes comandos no prompt de comando:
cd / Biblioteca / Extensões
rm -r FTDIUSBSerialDriver.kext
então reinicie
Para operar temporariamente como usuário root você pode usar sudo no início do comando
por exemplo.
cd / Biblioteca / Extensões
sudo rm -r FTDIUSBSerialDriver.kext
então reinicie
O driver será removido do sistema.
Desinstalando Drivers D2XX
Para desinstalar o driver D2XX, basta excluir a biblioteca e o link simbólico:
Inicie uma sessão de Terminal (Vá> Aplicativos> Utilitários> Terminal)
Mude o diretório para / usr / local / lib (cd / usr / local / lib)
Exclua a biblioteca (rm libftd2xx.1.2.2.dylib)
Exclua o link simbólico (rm libftd2xx.dylib)
Se você instalou o D2xxHelper (necessário para OS X 10.11 em diante), ele também deve ser removido:
sudo rm –r /Library/Extensions/D2xxHelper.kext
Conclua a desinstalação reiniciando.
5. Solução de problemas de VCP
Como posso saber qual é o meu deviceID?
Inicie o utilitário Visão do Sistema ou Apple System Profiler para versões anteriores do OS X. Isso pode ser acessado indo ao Finder e selecionando Aplicativos no menu Ir e, em seguida, abra a pasta Utilitários.
Selecione USB em Hardware no painel à esquerda e, em seguida, selecione o dispositivo apropriado na árvore de dispositivos USB.
Na captura de tela abaixo (do OS 10.4), o dispositivo tem um deviceID fornecido por:
ID do fornecedor: 0x0403
ID do produto: 0x6001
Se o dispositivo não funcionar após a instalação do driver, é provável que o PID não seja compatível com o driver. Nesse caso, entre em contato com o fornecedor do seu produto para determinar se ele fornece um driver editado para oferecer suporte ao produto. Se eles não fornecerem um driver editado, você mesmo pode fazer as edições seguindo as instruções em TN_105 Adicionar suporte para novos dispositivos ao driver MAC do site da FTDI
http://www.ftdichip.com/Documents/TechnicalNotes/TN_105%20Adding%20Support%20for%20New%20FTDI%20Devices%20to%20Mac%20Driver.pdf
Por favor, note que editar o kext para adicionar um VID / PID, ou apelido de uma taxa de transmissão agora requer uma nova assinatura com um certificado de assinatura kext.
Se o VID não for 0x0403, é provável que o dispositivo não seja um dispositivo FTDI e não tenhamos suporte para isso.
O dispositivo não aparece no diretório / dev
FTDIUSBSerialDriver não suporta o seu deviceID (VID e PID).
Desative a EEPROM para que o dispositivo volte ao seu ID de dispositivo padrão e reconecte.
Para obter suporte para o seu deviceID integrado ao FTDIUSBSerialDriver, entre em contato com o fornecedor do seu produto para determinar se ele fornece um driver editado para oferecer suporte ao produto. Se eles não fornecerem um driver editado, você mesmo pode fazer as edições seguindo as instruções em TN_105 Adicionar suporte para novos dispositivos ao driver MAC do site da FTDI
http://www.ftdichip.com/Documents/TechnicalNotes/TN_105%20Adding%20Support%20for%20New%2 0FTDI%20Devices%20to%20Mac%20Driver.pdf
No OS X 10.11 ou posterior, outra possibilidade é que o VCP tenha sido bloqueado pela instalação do D2xxHelper, junto com um aplicativo. VCP e tal aplicativo são mutuamente exclusivos. Para forçar o uso de VCP, desative D2xxHelper:
cd /Library/Extensions
sudo mv D2xxHelper.kext D2xxHelper.disabled
Em seguida, reinicie. Para forçar o uso de D2xx novamente, renomeie D2xxHelper.disabled para D2xxHelper.kext e reinicie.
O texto ‘NewPort Detected’ não é exibido nas Preferências do Sistema-Rede
O dispositivo não aparece na janela System Preferences Netwoork porque a Apple solicitou a remoção.
O dispositivo não pode ser acessado, embora o deviceID seja compatível com FTDIUSBSerialDriver
Um problema de propriedade ou permissões está impedindo o sistema de tornar o dispositivo acessível.
Verifique se o driver pertence ao root e ao wheel. O sintoma mais comum é o grupo para FTDIUSBSerialDriver não ser roda.
Para alterar o grupo, faça login como root e execute o seguinte script em uma janela do Terminal (Vá> Aplicativos> Utilitários> Terminal):
cd / sistema / biblioteca / extensões
chgrp -R wheel FTDIUSBSerialDriver.kext
Reinicialize para que a alteração tenha efeito.
No OS X 10.11 ou posterior, outra possibilidade é que o VCP tenha sido bloqueado pela instalação do D2xxHelper, junto com um aplicativo. VCP e tal aplicativo são mutuamente exclusivos. Para forçar o uso de VCP, desative D2xxHelper:
cd / Biblioteca / Extensões
sudo mv D2xxHelper.kext D2xxHelper.disabled
Em seguida, reinicie. Para forçar o uso de D2xx novamente, renomeie D2xxHelper.disabled para D2xxHelper.kext e reinicie.
Como abro uma janela do Terminal?
Uma janela do Terminal pode ser iniciada selecionando
Vá> Aplicativos> Utilitários> Terminal
A janela do terminal é equivalente a um prompt do DOS no Windows.
6. Solução de problemas D2XX
Não consigo abrir um dispositivo, embora a instalação tenha sido bem-sucedida
Isso é possivelmente devido a outro driver reivindicando o dispositivo para uso como uma porta COM virtual. Para verificar, digite:
kextstat | grep FTDI
Se a saída contiver linhas que se referem a (ou ambos) AppleUSBFTDI ou FTDIUSBSerialDriver, a solução é uma das seguintes:
– Reprogramar o chip FTDI com identificadores não FTDI (fornecedor / produto). Isso evita que o OS X combine o dispositivo com qualquer outro driver. Consulte http://www.ftdichip.com/Support/Documents/TechnicalNotes/TN_100_USB_VID- PID_Guidelines.pdf para obter orientação sobre isso.
– No OS X 10.9 e posterior: instale D2xxHelper que bloqueia AppleUSBFTDI e
FTDIUSBSerialDriver dos chips FTDI padrão correspondentes. Consulte a seção 7.3.
– No OS X 10.10 e anterior: desative ou descarregue temporariamente os drivers seriais. Para FTDIUSBSerialDriver, consulte a seção 4; para AppleUSBFTDI, consulte a seção 7.
Outra possibilidade é um VID / PID incorreto. Tente alterar seu aplicativo para usar a chamada FT_SetVIDPID API para determinar rapidamente se esse é o caso.
Depois de executar um aplicativo duas ou três vezes, a comunicação para
É sempre recomendável que você feche um identificador de arquivo obtido por FT_Open / FT_OpenEx antes de sair de um aplicativo. Os efeitos colaterais de não fechar a alça com a configuração multithread (conforme ilustrado acima) podem ser falhas na comunicação futura com o dispositivo (sempre teste isso antes de habilitar essa configuração).
Os aplicativos de amostra demonstram um método de interceptar uma saída anormal (operação de controle C) e fechar cada alça por vez.
Se você não conseguir encontrar uma solução alternativa, tente configurar o bit USB Reset After Open no arquivo ftd2xx.cfg, mas apenas como último recurso.
Problemas de atualização para o driver D2XX mais recente
Atualizar a biblioteca D2XX pode causar problemas, como uma correção de bug relatada que não parece ter sido corrigida. Provavelmente, isso está relacionado ao executável do aplicativo que aponta para uma versão anterior da biblioteca.
Para determinar qual biblioteca D2XX seu aplicativo está usando, execute as seguintes etapas (os exemplos entre colchetes pressupõem que você copiou todos os arquivos para a área de trabalho e compilou com êxito os exemplos, conforme descrito na seção Amostras):
Abra uma janela do Terminal (Vá> Aplicativos> Utilitários> Terminal).
Mude o diretório para a pasta executável do aplicativo (cd Desktop / D2XX / Samples / Simple)
Use otool para determinar o caminho da biblioteca (otool -L simple).
O texto a seguir é um exemplo do que é exibido
simples:
/usr/local/lib/libftd2xx.1.2.2.dylib (versão de compatibilidade 1.2.2, versão atual 1.2.2)
/usr/lib/libSystem.B.dylib (versão de compatibilidade 1.0.0, versão atual 88.1.6)
Conforme ilustrado, o aplicativo simples está apontando para libftd2xx.1.2.2.dylib.
Para alterar a biblioteca para que a amostra simples aponte para usar o install_name_tool (por exemplo, install_name_tool -change /usr/local/lib/libftd2xx.1.2.2.dylib /usr/local/lib/libftd2xx.dylib simple).
Observe que pode ser necessário alterar o modo do usuário para executar esta função, dependendo das permissões de arquivo definidas no executável.
Execute o otool (ilustrado na etapa 3 acima) para confirmar se a biblioteca apontada pelo aplicativo mudou e está correta.
7. Desativando o VCP fornecido pela Apple no OS X 10.9 e posterior
Um driver VCP para a maioria dos conversores FTDI USB para serial é fornecido como parte do kernel no OS X 10.9 e posterior. O OS X carrega este driver (AppleUSBFTDI.kext) quando um dispositivo com fornecedor FTDI padrão e identificadores de produto é conectado. Para usar o próprio VCP da FTDI, ou para usar programas D2XX, AppleUSBFTDI deve ser desativado, descarregado ou bloqueado, como segue.
Desativar renomeando (OS X 10.9 e 10.10 apenas)
Nota: este método funciona apenas em 10.9 Mavericks e 10.10 Yosemite.
Inicie uma sessão de terminal (Vá> Aplicativos> Utilitários> Terminal) e copie / cole o seguinte texto no prompt de comando:
cd /System/Library/Extensions/IOUSBFamily.kext/Contents/Plugins
sudo mv AppleUSBFTDI.kext AppleUSBFTDI.disabled
sudo touch / Sistema / Biblioteca / Extensões
em seguida, reinicie.
Para reativar o VCP, renomeie AppleUSBFTDI.disabled de volta para AppleUSBFTDI.kext
cd /System/Library/Extensions/IOUSBFamily.kext/Contents/Plugins
sudo mv AppleUSBFTDI.disabled AppleUSBFTDI.kext
sudo touch / Sistema / Biblioteca / Extensões
em seguida, reinicie.
Descarregue temporariamente (todas as versões do OS X)
Nota: este método funciona em todas as versões do OS X.
É possível descarregar o VCP da Apple para a sessão atual, ou seja, até a próxima reinicialização:
sudo kextunload –b com.apple.driver.AppleUSBFTDI
(Se uma mensagem de aviso indicar que o kext não pode ser descarregado, reinicie e tente novamente o comando acima.)
Para recarregar:
sudo kextload –b com.apple.driver.AppleUSBFTDI
Os comandos kextunload e kextload podem ser executados em qualquer diretório.
Bloquear com D2xxHelper (OS X 10.9 e posterior)
Nota: este é o único método não temporário que funciona em 10.11 El Capitan.
A FTDI fornece uma extensão de kernel assinada (D2xxHelper.kext) que não contém nenhum código, mas age para evitar que o OS X combine um chip FTDI (com o fornecedor padrão e identificadores de produto) com um driver VCP, seja da Apple ou FTDI. Isso deixa o dispositivo não reclamado e disponível apenas para programas D2XX.
1. Desconecte todos os dispositivos FTDI.
2. Baixe e execute o instalador D2xxHelper em http://www.ftdichip.com/Drivers/D2XX.htm
3. Reinicialize.
4. Reconecte os dispositivos FTDI.
7.3.1 Distribuindo D2xxHelper
Para incluir D2xxHelper.kext com seu próprio instalador de aplicativo D2XX, baixe o pacote do link acima e extraia-o com:
pkgutil –expand D2xxHelper.pkg tmpdir
tar –xf tmpdir/dst.pkg/Payload
Isso cria Library / Extensions / D2xxHelper.kext no diretório atual.
Apêndice A – Abreviações
Terms | Description |
PID | ID do produto, uma identificação única do produto emitida pelo titular do |
VID | ID do fornecedor, um número de identificação exclusivo do fornecedor emitido pelo USB |
USB | USB Universal Serial Bus |
OS | Operating System |
Última atualização em fevereiro 16, 2024 por driverbr
Deixe um comentário