Simulação de atualização de firmware do dispositivo HID virtual CFU
Este tópico fornece um passo a passo de uma atualização de firmware simulada em um dispositivo HID virtual.
Observação
O CFU está disponível no Windows 10, versão 2004 (Atualização de maio de 2020 do Windows 10) e versões posteriores.
Criar e instalar o exemplo de dispositivo HID virtual CFU
Instale o Visual Studio 2019 e o WDK (Windows Driver Kit), conforme descrito em Baixar o WDK (Windows Driver Kit).
Clonar o repositório do Microsoft CFU em um diretório de repositório local
git clone https://github.com/microsoft/CFU.git
No diretório do repositório local da CFU, em um prompt de comando, execute os seguintes comandos git para obter o submódulo DMF (Driver Module Framework) necessário para criar o exemplo:
git submodule init
git submodule update
Criar a solução de dispositivo CfuVirtualHid no Visual Studio
Navegue até o local do arquivo CfuVirtualHid.sln em seu sistema de desenvolvimento. Por exemplo:
C:\<your_repo_folder>\CFU\Host\CFUFirmwareSimulation\CfuVirtualHid.sln
Abra o arquivo CfuVirtualHid.sln no Visual Studio.
No menu Compilar, selecione Compilar Solução. Você deve ver o texto de saída indicando que a solução foi criada com êxito:
Instalar o dispositivo e o driver CfuVirtualHid
Navegue até o local do arquivo cfuvirtualhid.inf em seu sistema de desenvolvimento. Por exemplo:
C:\<your_repo_folder>\CFU\Host\CFUFirmwareSimulation\x64\Debug\CfuVirtualHid
Em um prompt de comando administrativo, execute o seguinte comando:
devcon.exe install cfuvirtualhid.inf HID\CFU_VIRTUAL_DEVICE
Você deve ver o texto de saída indicando que o dispositivo virtual foi instalado com êxito:
No Painel de Controle, abra o Gerenciador de Dispositivos, selecione o menu Exibir e selecione o item de menu Dispositivos por tipo.
Na lista de dispositivos, expanda o nó Firmware e selecione o dispositivo CfuVirtualHid conforme mostrado aqui:
Clique com o botão direito do mouse no dispositivo CfuVirtualHid para abrir o menu de contexto e, em seguida, clique no item de menu Propriedades para abrir a janela de diálogo Propriedades do dispositivo CfuVirtualHid.
Selecione a guia Detalhes na janela de diálogo Propriedades do Dispositivo CfuVirtualHid e, em seguida, selecione IDs de Hardware na lista suspensa Propriedade.
Você deve ver o HID\CFU_VIRTUAL_DEVICE na caixa de listagem Valor, conforme mostrado aqui:
No menu Gerenciador de Dispositivos, selecione o menu Exibir e selecione o item de menu Dispositivos por conexão.
Navegue até o dispositivo CfuVirtualHid e expanda o nó Dispositivo CfuVirtualHid, expanda o nó do dispositivo HID VHF (Virtual HID Framework) e selecione o item de lista de dispositivos compatíveis com HID, conforme mostrado aqui:
Clique com o botão direito do mouse no dispositivo compatível com HID para abrir o menu de contexto e, em seguida, clique no item de menu Propriedades para abrir a janela de diálogo Propriedades do dispositivo compatível com HID.
Selecione a guia Detalhes na janela de diálogo Propriedades do dispositivo compatível com HID e, em seguida, selecione IDs de hardware na lista suspensa Propriedade.
Você deve ver HID\VID_045E&UP:FA00_U:00F5 na caixa de listagem Valor, conforme mostrado aqui:
Instalar uma atualização de firmware para o dispositivo HID virtual CFU
Esta seção fornece um exemplo de instalação de uma atualização de firmware no dispositivo de Dispositivo CfuVirtualHid de exemplo criado no Visual Studio 2019 e instalado usando a ferramenta de linha de comando devcon.exe, conforme descrito na seção acima.
Navegue até o local do arquivo .inf e a oferta de firmware e os arquivos de .bin de carga útil para o dispositivo de destino. Por exemplo:
Em um editor de texto, abra o arquivo INF de atualização de firmware. Neste exemplo, usaremos o arquivo CfuVirtualHidDeviceFwUpdate.inf descrito na configuração do INF da CFU.
No arquivo INF de atualização de firmware, vá para a
[Standard.NTamd64]
seção e verifique se existem as seguintes informações para o dispositivo HID\VID_045E&UP:FA00_U:00F5 :[Standard.NTamd64] %CfuVirtualHidDeviceFwUpdate.DeviceDesc%=CfuVirtualHidDeviceFwUpdate, HID\VID_045E&UP:FA00_U:00F5 ; HardwareID for VirtualHidDevice MCU [CfuVirtualHidDeviceFwUpdate.NT] Include = HidCfu.inf Needs = HidCfu.NT CopyFiles = CfuVirtualHidDeviceFwUpdate.CopyFiles [CfuVirtualHidDeviceFwUpdate.NT.Wdf] Include = HidCfu.inf Needs = HidCfu.NT.Wdf
Em um prompt de comando administrativo, execute o seguinte comando:
pnputil /add-driver CfuVirtualHidDeviceFwUpdate.inf /install
Esse comando retornará a saída do Utilitário PnP. Por exemplo:
No Gerenciador de Dispositivos, navegue até o nó Dispositivo CfuVirtualHid e expanda o nó para verificar se a Atualização de Firmware CfuVirtualHidDevice foi instalada, conforme mostrado aqui:
Selecione o nó Atualização de Firmware CfuVirtualHidDevice e abra a janela Propriedades de Atualização de Firmware CfuVirtualHidDevice, conforme mostrado aqui:
Na janela Propriedades de Atualização de Firmware CfuVirtualHidDevice, selecione a guia Detalhes e, em seguida, selecione IDs de Hardware na lista suspensa Propriedade, conforme mostrado aqui:
Verifique se o dispositivo HID\VID_045E&UP:FA00_U:00F5 aparece no Valor de IDs de Hardware da Atualização de Firmware CfuVirtualHidDevice.
Use o aplicativo TraceView para visualizar informações de mensagens de log para a instalação do dispositivo HID virtual CFU. Por exemplo: