Windows Driver Pack Solution

0 views
Skip to first unread message

Reuquen Lanier

unread,
Aug 5, 2024, 5:35:42 AM8/5/24
to indreamidac
Totarget Windows 8.1, Windows 8, and Windows 7, install an older WDK and an older version of Visual Studio either on the same machine or on a separate machine. For links to older kits, see Other WDK downloads.

Join the Windows Insider Program to get WDK Insider Preview builds. For installation instructions for the Windows Insider Preview builds, see Installing preview versions of the Windows Driver Kit (WDK).


The WDK NuGet package consists of essential libraries, headers, DLL, tools, and metadata used for building Windows drivers that can be shared and supported by modern CI/CD pipelines. Users can access and consume the NuGet packages directly from nuget.org within Visual Studio. Using NuGet with the WDK provides a convenient solution for WDK acquisition and updates. It manages dependencies such as the SDK, to help keep the driver development tool chain up to date. For more information, see Install the latest WDK using NuGet - Step by Step.


Starting with WDK version 10.0.26100.1, the WDK now supports development, testing and deployment of drivers on ARM64 machines. The WDK/EWDK can be installed and run natively on ARM64 hardware, in addition to the previously supported emulation of x86 KMDF/UMDF2 drivers on ARM64 hardware. There is also support for debugging and deployment of drivers to an ARM64 target machine from both ARM64 and x64 host machines. The process of installing WDK/EWDK on ARM64 machines will automatically identify and install all the necessary dependencies including build tools, binaries, and libraries.


The provided links for the SDK and the WDK have matching build numbers, which is always required for the kits to work together. If you decide to install your own SDK/WDK pair, perhaps for a different Windows version, ensure that the build numbers match. For more details, see Kit versioning.


As an alternative to downloading Visual Studio, the SDK, and the WDK, you can download the EWDK, which is a standalone, self-contained command-line environment for building drivers. It includes Visual Studio Build Tools, the SDK, and the WDK.


You can optionally use the Visual Studio interface with the build tools provided in the EWDK. To do this, ensure that the Visual Studio major version matches the version of the Visual Studio Build Tools in the EWDK. For example, Visual Studio 2022 works with the EWDK that contain VS17.X build tools. For a list of Visual Studio 2022 version numbers, see Visual Studio 2022 Releases.


To build a driver, the build number of your SDK installation must match the build number of your WDK installation. The QFE values does not need to match unless your driver uses functionality that is only available in the headers included with a later QFE.


A quick way to see the full build string for locally installed kits is to go to Windows settings (Win+I), navigate to Apps, then Installed apps, and in the Search box type kit. The full build string appears to the right of the kit name. If you navigate to C:\Program Files (x86)\Windows Kits\10\Include, note that the QFE shown there is hardcoded to .0, so this is not a reliable way to check your QFE identifier. Also note that when you install a kit, the new installation replaces any previously existing installation of the same build number. When you install Visual Studio with the Desktop development with C++ workload, if the installation payload includes the Windows SDK, the right-hand Summary pane also shows a hardcoded .0 for QFE.


Reddit user Space192 and I found a driver solution for the USB Blaster on Windows 11 ARM. It has been tested on Windows 11 ARM Parallels for M1/M2 Macs and also on a Raspberry Pi 4. The solution is to use the FTDI ARM64 .SYS file with the Quartus USB Blaster x64 .DLL files.


To install the attached driver without disabling signature enforcement and enabling test mode, first add the security certificate to Trusted Root Certification Authorities as well as Trusted Publishers.


I've attached proven drivers for Quartus 17 through 18, Quartus 13, and Quartus 9. To install a driver without disabling signature enforcement, first add the security certificate to (Local Machine) Trusted Root Certification Authorities as well as (Local Machine) Trusted Publishers.


If you have a version of Quartus not listed, the ARM driver version with DLL file sizes matching those found in \quartus\drivers\usb-blaster\x64\ should work. If there is no match, replacing the DLL files of any ARM driver version and disabling driver signature enforcement should work.


I added the certificate, and I did check that it was installed in the right places. I get the error message "A certificate chain processed, but terminated in a root certificate which is not trusted by the trust provider."


That's where I installed the certificate and checked for it. I ended up disabling signature enforcement. I still need to actually test it, but it does show up properly when connecting the USB Blaster.


With signature enforcement disabled I even managed to install it with the latest version of the DLLs. It's just too bad the RNDIS driver for the DE10-nano isn't available for ARM, but it does work through the ethernet port.


I tried to install the original drivers on a Windows 11 Intel 64 bits, and I did get the same error message. It looks like the problem lies somewhere else. I did have to disable signature enforcement on that machine too in order to install the drivers.


I checked that the USB blaster is displayed in the device manager, the drivers are installed, and the event log indicates that the device is working. But there is no USB blaster in the Quartus hardware setup. Could the reason be that I bought the blaster on Aliexpress?


I'm using 21.1. I checked the work with the DE-1 Soc board which works with usb blaster ii. Quartus detects usb blaster ii, everything works fine. Apparently the usb blaster clone from Aliexpress does not work correctly. Thanks for help.


After trying every solution suggested in the replies and disabling the signature enforcement, I've decided to go one by one and install all the drivers manually by right-clicking the usbblstr.inf file and manually install and authorize it by overriding system protection. After doing that the device manager started identify the device and I'm now able to use it with the 23.1 programmer.

Thank you everyone!


Intel does not verify all solutions, including but not limited to any file transfers that may appear in this community. Accordingly, Intel disclaims all express and implied warranties, including without limitation, the implied warranties of merchantability, fitness for a particular purpose, and non-infringement, as well as any warranty arising from course of performance, course of dealing, or usage in trade.


The way I have it set up is that my laserjet 1000 is plugged into a seperate old PC running windows 2000 with laserjet 1000 drivers loaded on it as its shared by various household computer ranging from Macbook to XP and now windows7.


I have tried what you proposed, but unfortunately I have a window saying "Please make sure the printer is connected to the USB port and powered on. Detecting connection..." and it remains stuck that way.


Then, Right-Click on the Laserjet1000 printer > Properties > Hardware > Properties > Change Parameters > Driver > Updated Pilote > I chose the "choose drivers locally" and then choose "Konica" as manufacturer, then selected the "2430DL" model. After driver insalled, I made the proposed change (Winprint/RAW), but when trying to print the test page, nothing happens, and the printer enters the error state.


Thank you so much Anthony! How in the world did you figure all this out?



For those of you who need a little more direction, I will elaborate on Anthony's instructions with a step-by-step guide:



The printer needs to be plugged into a computer that is running a 32-bit version of Windows and networked to your Windows 7 64-bit machine. The computer running 32-bit Windows will be your print server. On the 32-bit machine, install the HP drivers found here:



and share the printer over the network.



On the computer running Windows 7 64-bit, download and unzip the magicolor 2430DL driver that Anthony pointed to.

Double click on \mc2430DL_win7_x64_v2024200\En\Setup.exe.

When setup asks what components to install, only select the driver, deselecting the other options, and click OK.

Next, it will ask you whether it's a local or network printer. Select Local Printer and click OK

Next, under Select Port, select Other, leaving the drop-down box as is and click OK.

Change the name to 'hp LaserJet 1000' and click OK.

The printer driver should install successfully.


Next, click on the start menu > Devices and Printers and right click on hp LaserJet 1000 and click on Printer properties.

Under the Advanced tab, click on the Print Processor... button then select winprint for the print processor and RAW for the default data type. Click OK

Still in Printer properties, go to the Ports tab and click on Add Port...

Select Local Port and click on New Port...

For the port name, type \\your print server's name or ip address\printer's share name.

For example, if the name of the 32-bit computer that is directly hooked up to the printer is WATSON and its ip address is 192.168.0.13, and the printer's share name is Printer5, you type:

\\WATSON\Printer5

or

\\192.168.0.13\Printer5

Click OK and that should be it.



If you don't know the name of the 32-bit computer acting as print server, or the printer's share name, do the following:

For Windows XP 32-bit:

Right click My Computer and click on properties, then under the Computer Name tab it will tell you the computer's name next to 'Full computer name:'. This is not to be confused with 'Computer description:', thought they may be the same. For the IP address, click on run in the start menu, then type cmd in the text box and press enter. In the command prompt, type ipconfig and press enter. The IP address will be displayed.

To find out the printer's share name, in the start menu or control panel click on Printers and Faxes (Devices and Printers in Windows 7). Right-click on hp LaserJet 1000 and click on Printer properties. Under the Sharing tab, it will show you the share name, which may be different from the name that appears in Printers and Faxes. If the name is greyed out, check Share this printer, give it a share name, and press OK.



I haven't tried to get this to work by hooking the printer up to the Windows 7 64-bit computer directly via USB cable, but if I figure it out I will post an update.

3a8082e126
Reply all
Reply to author
Forward
0 new messages