Opções ftdibus.inf. Dispositivos de tecnologia futuros International Ltd. Aplicativo Nota An_107. Opções avançadas do driver

5. Opções ftdibus.inf.

Algumas opções de configuração padrão são configuráveis ​​através de ftdibus.inf. Esta seção descreve as opções disponíveis e como implementá-las.

Ajustando a contagem de repetição de tubos de reset

Em alguns casos raros, pode ser necessário aumentar o número de vezes que o driver tenta redefinir um tubo USB no qual ocorreu um erro, por exemplo, em ambientes barulhentos em que os erros USB podem ocorrer.

O valor padrão para a contagem de repetição do tubo de reset é 50. Este valor padrão pode ser alterado no arquivo ftdibus.inf editando ou incluindo o seguinte fragmento.

[Ftdibus.nt.addservice]
Addreg = ftdibus.nt.addservice.addreg [ftdibus.nt.addservice.addreg] HKR, parâmetros, “RetryresetCount”, 0x00010001,100
Neste exemplo, a solicitação de tubulação de reset é definida como 100. Esse valor é mantido na chave do Registro localizada em:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ FTDIBUS \ Parameters \ RetryresetCoun T

Usando IDs de localização.

Em algumas áreas de aplicação, pode ser desejável instalar dispositivos por local físico em vez de número de série. Nessas instâncias, isso pode ser realizado usando a entrada dos Locídicos no arquivo INF do Driver.
O driver usa locídeos para definir o conjunto de portas USB suportadas. Pode ser usado em sistemas que exigem apenas determinadas portas USB disponíveis, talvez em conjunto com MaxDEVs. O comportamento padrão é que todas as portas USB são suportadas. O padrão pode ser substituído, incluindo Locids na seção Chave de Serviço Ftdibus.inf.

[Ftdibus.nt.addservice]
Addreg = ftdibus.nt.addservice.addreg [ftdibus.nt.addservice.addreg] HKR, parâmetros, “Locados”, 1,21,00,00,00,00,00,00,00,00,00,00,00,00, 00,00.
Neste exemplo, infrações de arquivos inf, três portas USB são suportadas. Localização ID 0x00000021 Representa o controlador de host 1 Porta 1. ID de local 0x00000032 Representa o controlador do host 2 Porta 2.
ID de localização 0x00000011 Representa o controlador do host 0 Porta 1. Este valor é realizado na chave do Registro localizada em
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ FTDIBUS \ Parameters \ Locids

Note que a definição de Locais alterará radicalmente o comportamento do motorista; Entre em contato com o FTDI.

Se você acha que tem que mudar os locais.

Os IDs de localização podem ser obtidos usando a versão mais recente do Utilitário USBView disponível na seção Utilitários do site da FTDI. Uma nota de aplicativo no local IDS AN232B-07 Configurando os drivers VCP do FTDI para usar o ID do local também está disponível.

O USBView pode ser configurado para mostrar IDs de localização selecionando Opções> IDs de localização. A tela disparou abaixo mostra um PC com um hub conectado à localização 0x0000002a e dispositivos conectados nos locais 0x00000019 e 0x00002A3.

Figura 5.1 Vista USB

Figura 5.1 Vista USB

As entradas INF para os dispositivos conectados a estas portas seriam [ftdibus.nt.addservice.addreg] HKR, parâmetros, “Locids”, 1.19,00,00,00,00,2a, 00,00,00
Por favor, note que a entrada INF deve terminar com uma entrada 00 adicional para encerrar a lista de ID de localização.
Se uma tentativa for feita para instalar um dispositivo em um local que não seja suportado, um erro de código 10 (“Este dispositivo não pode iniciar”) é gerado para o novo dispositivo.

Observe que os IDs de local são representados no campo Locídicos como 4 bytes hexadecimais e em byte invertidos
pedido.

Nota também que, embora em controladores host USB sejam indexados de 0 e portas de 1, os IDs de local são calculados ajustando o número do controlador do host para que ele seja indexado de 1

Limitando o número de portas COM que podem ser instaladas

O número de portas COM Virtual FTDI que podem ser instaladas em um sistema podem ser limitadas definindo o parâmetro MaxDEVS. MaxDevs padroniza para 0, o que significa que o recurso é desativado e o driver sempre tentará criar uma porta COM. O padrão pode ser substituído, incluindo um valor máximo maxdevs na seção de tecla de serviço ftdibus.inf.

[Ftdibus.nt.addservice]

Addreg = ftdibus.nt.addservice.addreg [ftdibus.nt.addservice.addreg] hkr, parâmetros, “maxdevs”, 0x00010001,3
Neste exemplo, o número máximo de dispositivos é definido como 3. Esse valor é mantido na chave do Registro localizada em
HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ FTDIBUS \ Parameters \ MaxDevs
Se uma tentativa for feita para instalar mais do que dispositivos MaxDEVs, um erro de código 10 (“Este dispositivo não pode iniciar”) é gerado para o novo dispositivo.
Observe que a configuração de MaxDevs para um valor diferente de zero alterará radicalmente o comportamento do driver; Entre em contato com o FTDI se achar que tem que mudar a MaxDevs.

Substituir a configuração do driver EEPROM

No caso se dispositivos FT232R, FT245R e FT2232, o driver lerá o dispositivo EEPROM para determinar se deseja expor uma porta COM ou não. Os dispositivos anteriores da série B e AM não possuem uma configuração EEPROM para o tipo de driver, portanto, o padrão para instalar uma porta COM. Esse recurso pode ser desligado e a escolha do driver para carga pode ser feita por meio de uma configuração no arquivo de instalação.

Para uma instalação padrão, as seções a seguir podem ser adicionadas ao ftdibus.inf para substituir a configuração EEPROM e carregar o driver VCP:
[Ftdibus.nt.hw] addreg = ftdibus.nt.hw.addreg [ftdibus.ntamd64.hw] addreg = ftdibus.nt.hw.addreg [ftdibus.nt.hw.addreg] HKR ,, “CONFIGDATA”, 0x00010001, 4.
Bit 2 do parâmetro ConfigData determina o driver a ser carregado: Se estiver definido como 1, o driver VCP será carregado (como no exemplo acima); Caso contrário, apenas o driver D2XX é carregado. Portanto, adicionando as seções acima ao arquivo de instalação e, em particular, configurando o valor do ConfigData para 4, fará com que o driver VCP seja carregado, independentemente das configurações do EEPROM.

Este método pode ser estendido para o dispositivo Dual Channel FT2232. Nesse caso, novas seções devem ser criadas para cada canal para permitir que os canais sejam configurados e instalados separadamente. Os fragmentos a seguir mostram as alterações adicionais necessárias para configurar o canal A apenas para carregar o driver D2XX e o canal B para carregar o driver VCP.

[Ftdihw]
% USB \ vid_0403 & pid_6010 & mi_00.devicedesc% = ftdibusa, USB \ vid_0403 & pid_6010 & mi_00
% USB \ vid_0403 & pid_6010 & mi_01.devicedesc% = ftdibusb, USB \ vid_0403 & pid_6010 & mi_01 [ftdihw.ntamd64]
% USB \ vid_0403 & pid_6010 & mi_00.devicedesc% = ftdibusa.ntamd64, USB \ vid_0403 & pid_6010 & mi_00
% USB \ vid_0403 & pid_6010 & mi_01.devicedesc% = ftdibusb.ntamd64, USB \ vid_0403 & pid_6010 & mi_01 [ftdibusa.nt]

CopyFiles = ftdibus.nt.copy, ftdibus.nt.copy2 addreg = ftdibusa.nt.addreg [ftdibusa.ntamd64]
CopyFiles = ftdibus.ntamd64.copy, ftdibus.ntamd64.copy2, ftdibus.ntamd64.copy3 addreg = ftdibusa.nt.addreg
[Ftdibusa.nt.hw] addreg = ftdibusa.nt.hw.addreg [ftdibusa.ntamd64.hw] addreg = ftdibusa.nt.hw.addreg [ftdibusa.nt.hw.addreg] HKR ,, “ConfigData”, 0x00010001, 0 [ftdibusa.nt.services]

Addservice = ftdibus, 0x00000002, ftdibus.nt.addservice [ftdibusa.ntamd64.services]

Addservice = ftdibus, 0x00000002, ftdibus.nt.addservice [ftdibusb.nt] copyfiles = ftdibus.nt.copy, ftdibus.nt.copy2 addreg = ftdibusb.nt.addreg
[Ftdibusb.ntamd64] copyfiles = ftdibus.ntamd64.copy, ftdibus.ntamd64.copy2, ftdibus.ntamd64.copy3 addreg = ftdibusb.nt.addreg
[Ftdibusb.nt.hw] addreg = ftdibusa.nt.hw.addreg [ftdibusb.ntamd64.hw] addreg = ftdibusa.nt.hw.addreg [ftdibusb.nt.hw.addreg] HKR ,, “CONFIGDATA”, 0x00010001, 4 [ftdibusb.nt.services]

Addservice = ftdibus, 0x00000002, ftdibus.nt.addservice [ftdibusb.ntamd64.services]
Addservice = ftdibus, 0x00000002, ftdibus.nt.addservice

Observe que o valor do ConfigData é definido como 0 para o canal A (D2XX) e o valor do configData é definido como 4 para o canal B (VCP) para obter a configuração necessária. Claro, se o ConfigData não estiver incluído no arquivo de instalação, as configurações do EEPROM determinarão qual driver é carregado.

O parâmetro ConfigData é realizado no registro sob a chave

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControls et \ enum \ usb {vid do dispositivo, pid e interface} {número de série} \ DeviceParameters \ configdata

A porta COM também pode ser suprimida após a instalação através da guia Avançado da página de propriedades do conversor de serial USB, que está disponível através do Gerenciador de dispositivos.

Tempo limite de USB.

O tempo limite USB é o tempo máximo em milissegundos que uma solicitação USB pode permanecer em circulação. É improvável que isso precise ser alterado do valor padrão de 5000ms.

Este tempo limite USB (em milissegundos) é configurável através do arquivo Ftdibus Inf nos fragmentos INF mostrados abaixo:
[Ftdibus.nt.hw] addreg = ftdibus.nt.hw.addreg [ftdibus.ntamd64.hw] addreg = ftdibus.nt.hw.addreg [ftdibus.nt.hw.addreg]
HKR, “USBTimeout”, 0x00010001,5000
que corresponde à entrada do registro

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Enum \ USB {DISPOSITIVO VID, PID e
Interface} {número de série} \ DeviceParameters \ usbtimeout
O valor padrão para o tempo limite USB é de 5 segundos (5000ms).

Desativar Escreve EEPROM.

Em alguns casos, pode ser desejável desativar a capacidade de escrever no dispositivo EEPROM. Isso pode ser realizado através de um bit configData no arquivo Ftdibus Inf.
O driver pode ser feito para ignorar quaisquer solicitações de gravação EEPROM, definindo bit 0 do campo ConfigData, conforme mostrado no fragmento INF abaixo:
[Ftdibus.nt.hw] addreg = ftdibus.nt.hw.addreg [ftdibus.ntamd64.hw] addreg = ftdibus.nt.hw.addreg [ftdibus.nt.hw.addreg]
HKR, “CONFIGDATA”, 0x00010001,1
que corresponde à chave do registro
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Enum \ USB \ {dispositivo vid, pid e interface} \ {número de série} \ DeviceParameters \ configdata

Suspensão seletiva USB.

O driver de MDL suporta suspensão seletiva USB, um recurso que permite ao sistema suspender dispositivos que não estão em uso e, assim, reduzir o consumo geral de energia. Suspensão seletiva USB é controlada através de bit 5 do parâmetro CONFIGDATA e o valor SSidletimeout (em milissegundos) no arquivo ftdibus.inf.
Para uma instalação padrão, as seções a seguir podem ser adicionadas ao ftdibus.inf para ativar a suspensão seletiva:

[Ftdibus.nt.hw] addreg = ftdibus.nt.hw.addreg [ftdibus.ntamd64.hw] addreg = ftdibus.nt.hw.addreg [ftdibus.nt.hw.addreg]

HKR ,, “CONFIGDATA”, 0x00010001,0x20
HKR, “SSidletimeout”, 0x00010001.10000

Este fragmento de arquivo INF mostra a suspensão seletiva habilitada e o valor de tempo limite ocioso definido para 10 segundos.
Esses valores são mantidos no registro sob esta chave:

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ enum \ ftdibus {dispositivo vid, pid e número de série} \ 0000 \ Device Parameters
Nota: Se definir suspensão seletiva para a camada de barramento do driver, não deve ser definida na camada de porta (consulte a seção 6.9)

Última atualização em fevereiro 16, 2024 por driverbr

Informações adicionais

Se você tiver problemas para instalar drivers ou outro software para o seu dispositivo (impressora, scanner, monitor, teclado, etc.), informe-nos o modelo do seu dispositivo e a versão do seu sistema operacional (por exemplo: Windows 11, Windows 10 64-bits, Windows 8 64-bits, etc.) e tentaremos ajudá-lo. Escreva para nós..

instalar driverComo instalar o driver se não houver um arquivo setup.exe e como instalar o driver usando o arquivo .INF. Nesse caso, abra o arquivo baixado que deve conter o driver e use o arquivo .INF para instalar. Neste artigo, informaremos e mostraremos como instalar um driver usando um arquivo .INF.
Windows Update e adição manual de uma impressoraComo instalar um driver para uma impressora antiga no Windows 10 e Windows 11. Instruções passo a passo para procurar um driver pelo Windows Update e adicionar uma impressora manualmente. Esse método pode ajudar se o driver oficial não puder ser instalado, não estiver disponível no site do fabricante ou se a impressora tiver parado de funcionar após uma atualização do Windows.
software de scannerSe você não conseguir encontrar um software de scanner ou não souber como usar o scanner para digitalizar documentos e fotos. Esse problema ocorre porque algumas impressoras, scanners e multifuncionais têm apenas drivers, mas nenhum software específico para gerenciar o scanner.
Resolvendo problemas com impressoras e multifuncionais Xerox em laptops com Windows 11 ARMComo resolver problemas com impressoras e multifuncionais Xerox em notebooks com Windows 11 ARM. O artigo explica por que os drivers convencionais para Windows x64 podem não funcionar e como instalar o Xerox Global Print Driver ARM64 para conectar o dispositivo via USB ou rede. Também são apresentadas alternativas para impressão e digitalização.
Problemas que impedem o funcionamento da sua impressora ou scannerComo corrigir problemas que impedem o funcionamento de uma impressora ou scanner. O artigo aborda erros comuns na instalação de drivers e problemas de conexão de dispositivos via USB. Explica como instalar ou reinstalar os drivers corretamente, além de mostrar como realizar a instalação usando um arquivo INF.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *