Installing Rawether V5.5.18.04
on Windows Vista

 

Knowledge Base ID

KB11140601
Category INFO

Effected Product

Rawether/WINDIS32  - Win32 NDIS Framework

Effected Versions

V5.5.18.04
Effected Platforms Windows Vista

 

Remarks

Rawether V5.5.18.04 was developed and released prior to the release of Windows Vista. Although this version of Rawether does not include Vista support, as an interim measure it can be made to work on Vista.

Windows Vista introduces new features that are not supported by Rawether V5.5.18.04:

bulletUser Account Control (UAC) - A feature that makes it difficult to perform operations requiring administrator privileges.
 
bulletNDIS Version 6 - A new version of NDIS that provides higher performance and additional functionality.
 
bulletDriver Signing - Vista introduces new driver signing requirements and different system behavior with respect to unsigned drivers.

Of these new features, UAC provides the most difficulty in initially installing Rawether V5.5.18.04 on Windows Vista. This note addresses steps to accommodate UAC when installing Rawether V5.5.18.04 on Windows Vista.

Rawether V5.5.18.05 will further simplify the installation process process and Rawether V6.0 will provide complete Vista support.

 

Rawether Installation Steps with No Software Modification

This section describes how to install the Rawether V5.5.18.04 executables on Vista without making any software modifications. Some of these steps are awkward, and a later section will describe how to make the install go smoothly by making a simple modification to the PCANUser application.

 

Step 1 - Copy Driver Files to Drivers Folder

Copy PCASp50.sys and PCAMp50.sys to the %Windows%/System32/Drivers folder.

 

Step 2 - Verify and Edit W32N55.INI (or W64N55.INI) File

Rawether uses the W32N55.INI file to identify which Rawether driver should be used on a Windows platform.

The INI file section names (in square brackets) identify the type of Rawether driver and the host platform. For example:

    [SinglePacket.x86]

identifies the section that contains information for the Rawether Single Packet Read (SPR) driver when running on the 32-bit "x86" platform.

The keys within a section are NDIS versions and the values are the names of the Rawether protocol driver that supports that NDIS version. For example:

    NDIS50=PCASp50

identifies PCASp50.sys as being the Rawether Single Packet Read NDIS 5 protocol driver for the x86 platform.

Rawether V5.5.18.04 does not include NDIS 6 protocol drivers for Vista. However, Vista does provide support for both NDIS 5 and NDIS 6 protocol drivers. This means that as an interim measure the Rawether NDIS 5 protocol drivers can be used instead of the more desirable NDIS 6 protocol drivers (which will be provided in Rawether V6.0).

Verify that your W32N55.INI file has the NDIS6 key/value pairs as indicated in RED below.

; These are the V5.5 names for the traditional "PCANDIS" single-packet read
; drivers on 32-bit Windows.
[SinglePacket.x86]
NDIS31=PCASp31
NDIS40=PCASp40
NDIS50=PCASp50
NDIS60=PCASp50  ; For Rawether 1804 use PCASp50 as "NDIS 6" x86 SPR driver.
; These are the V5.5 names for the traditional "PCAMPR" multi-packet read
; drivers on 32-bit Windows.
[MultiPacket.x86]
NDIS31=PCAMp31
NDIS40=PCAMp40
NDIS50=PCAMp50
NDIS60=PCAMp50  ; For Rawether 1804 use PCAMp50 as "NDIS 6" MPR x86 driver.
[SinglePacket.amd64]
NDIS50=PCASp50a64
NDIS60=PCASp50a64  ; For Rawether 1804 use PCASp50a64 as "NDIS 6" SPR x64 driver.
[MultiPacket.amd64]
NDIS50=PCAMp50a64
NDIS60=PCAMp50a64  ; For Rawether 1804 use PCASp50a64 as "NDIS 6" <PR x64 driver.

Rawether V5.5.18.04 and higher support using either 32-bit or 64-bit user-mode applications on the x64-based platform. However, if you are actually using 64-bit applications, you a different Rawether DLL and INI file are used.

The W64N55.DLL and W64N55.INI file are used by 64-bit Rawether applications. For 64-bit application use, verify that the W64N55.INI file is setup as described above for the W32N55.INI file.

Step 3 - Use "Run as administrator" to Run the NDIScope Application

When you run NDIScope this way the first time it will fail (the Adapter Chooser list will be empty...).

However, when it ran it created the Service Control Manager (SCM) registry settings that describe the drivers. The only thing that it did not do is set the discretionary access control list (DACL) to a value that will allow a non-admin user to start and access the NDIS protocol drivers.

Running the PCANUser application (Step 4) will set the DACL.

Step 4 - Use "Run as adninistrator" to run the PCANUser Application

When you run the PCANUser application (as administrator) it will adjust the DACL so non-admin users can start and access the NDIS protocol drivers.

Step 5 - Run the NDIScope Application

This time NDIScope, as well as other Rawether applications, should run successfully.

 

Rawether Installation Steps with PCANUser Modification

It is certainly awkward to have to use the "Run as administrator" tool to run NDIScope (Step 3) and then PCANUser (Step 4). With a fairly simple modification Step 3 can be eliminated.

The Rawether SDK includes source to the PCANUser application. In Rawether V5.5.18.04 PCANUser assumes that NDIScope has been already run once by an administrator. Doing so created the SCM entries necessary to allow the Rawether drivers to be run. Then PCANUser simply set a NULL DACL on the Rawether driver registry entries.

To eliminate the need to run NDIScope prior to running PCANUser, modify PCANUser by adding a call to SCM_CreateDriverService prior calling SCM_SetNullDacl. Do this in two places: once for W32N_GetServiceName (as illustrated in RED below) and then again after MPR_GetServiceName:

    //
    // Setup Single-Packet Read Driver For Non-Admin User
    //
    ServiceName = W32N_GetServiceNameA();
    //
    // Attempt To Create Driver Service
    //
    bResult = SCM_CreateDriverService( ServiceName );
    if( !bResult )
    {
        printf( "\n%s: Unable to create %s service.\n", ProgramName, ServiceName );
        if( !bHide )
        {
            printf( "Press any key to continue...\n" );
            getchar();
        }
        exit(1);
    }
    nResult = SCM_SetNullDacl( ServiceName );

Make the same change for MPR_GetServiceNameA.

After making this change Step 3.) is eliminated. You now simply have to use "Run as administrator" one time to run the modified PCANUser application.

 

Rawether Installation Steps with Windows Installer

It would be even better to eliminate the need to explicitly run PCANUser at all!!!

This actually can be accomplished if you use Windows Installer (WI) to install Rawether components.

Your WI can copy the Rawether drivers to the %Windows%/System32/Drivers folder. After that, use a WI "Custom Action" to call the modified PCANUser application.

This goes very smoothly because once the user selects "Ok" in the Windows Installer the install process is performed using the non-filtered administrator security token. This means that when your WI Custom Action is called it will automatically behave as if it had been run using "Run as administrator".

 

Signing the Rawether NDIS Protocol Drivers

Windows Vista driver signing requirements are different than previous Windows versions. In some respects the Vista driver signing requirements are more sensible than on earlier Windows versions. In any event, the Vista driver signing requirements must be accommodated.

The most significant Vista driver signing requirement concerns operation on x64-based versions of Windows Vista. Simply put:

x64-based versions of Windows Vista requires that a kernel-mode driver be signed in order for the driver to load.

On x64-based version of Windows Vista the Rawether NDIS protocol drivers simply will not load if they are not digitally signed.

See this Article on NDIS.com for more information on:

Self-Signing NDIS Protocol Drivers for Windows Vista

 

Keywords RAWETHER, VISTA, INSTALL
Created November 14, 2006

 

Mailing Lists  · PCAUSA Newsletter · PCAUSA Discussion List
·
Privacy Statement · 
WinDis 32 is a trademark of Printing Communications Assoc., Inc. (PCAUSA).
Rawether for Windows and Rawether .NET are trademarks of Printing Communications Assoc., Inc. (PCAUSA).
Microsoft, MS, Windows, Windows 95, Windows 98, Windows Millennium, Windows 2000, Windows XP, and Win32 are registered trademarks and Visual C++ and Windows NT are trademarks of the Microsoft Corporation.
Send mail to rawether-webmaster@pcausa.com with questions or comments about this web site.
Copyright © 1996-2008 Printing Communications Assoc., Inc. (PCAUSA).
All rights reserved.
Last modified: December 31, 2007