This sample demonstrates basic Isochronous IO under WDM with the Intel i82930
USB controller.
See the document for the corresponding Bulk IO sample, "BulkUsb.Doc" for
discussion of basic architechtural issues,as well as Plug and Play and Power
Management IRP handling, as it is basically the same as in this sample.
The accompanying console test application for IsoUsb.Sys, RwIso.Exe, operates
similarly to RwBulk.Exe, the console test app for BulkUsb.sys. See BulkUsb.Doc.
Installing IsoUsb.sys
---------------------
On Windows 2000:
When you plug in the device, the "Found New Hardware Wizard" dialog box will appear with the subheading "Install Hardware Device Drivers". Hit the radio button labelled "Search for a suitable driver for your device (Recommended)" and then hit the "Next" button. The following screen has you specify your installation source floppy or directory. Do so, then hit the "Next" button. The next screen should indicate that Windows 2000 is ready to install the driver. Near the middle of the box, you should see the full source path to IsoUsb.Inf. Hit the "Next" button. You'll briefly see a "copying Files" message box, then once again the "Found New Hardware Wizard" box, now displaying the subheading, "Hardware Install: The hardware installation is complete". Hit the "Finish" button. You should now have a copy of IsoUsb.Sys in your \System32\Drivers directory, a IsoUsb.Inf in your \Winnt\Inf directory, and a newly-created IsoUsb.Pnf file, which is a precompiled setup info file that Windows 2000 creates. If the final "Add New Hardware Wizard" box indicates any error, or if the OS says you must reboot to finish installation of this device, something has gone wrong. Check your Inf file, Install directory, or driver code, follow the instructions in the below section on simulating a 'first-time' install, and start over.
On Win98:
Plug in the device. The "Add New Hardware Wizard" dialog box will appear, indicating that "This wizard searches for new drivers for: [your deviceName as programmed into your board's hardware]. Hit the "Next" button. On the following screen, hit the radio button labelled "Search for the best driver for your device (Recommended)" . Hit the "Next" button. The next screen has you specify your installation source floppy or directory. Do so, then hit the "Next" button. The next screen should indicate that Windows is ready to install the driver. You should see the full source path to IsoUsb.Inf under the label: "Location of Driver". Hit the "Next" button. You will see the "Building Driver Information Database" message box, then, if the installation and loading of the driver have succeeded, you will see the final wizard box saying " Windows has finished installing the software that your new hardware device requires." Hit the "Finish" button. If the final "Add New Hardware Wizard" box indicates any error, or if the OS says you must reboot to finish installation of this device, something has gone wrong. Check your Inf file, Install directory,or driver code, follow the below instructions on simulating a 'first-time' install, and start over.
Updating the Driver
-------------------
To install a new version of your driver after a successful initial installation, simply replace the binary in \System32\Drivers. If the initial or last installation failed for any reason, follow the below instructions on simulating a 'first-time' install.
Simulating a 'First-time' Install
-------------------------------
If you want to test Inf file or installation program modifications, or if your
first install failed for any reason and you need to do, in effect, a new
'first-time' driver installation without reinstalling a fresh Win98 or Windows
2000, do the following:
For Windows 98:
Delete the following registry key:
\LocalMachine\System\Enum\USB\[the key with your device ID/PID],
( in the case of our sample as published, this would be:
\LocalMachine\System\Enum\USB\VID_045E&PID_930A )
For Windows 2000:
Delete the following registry key:
\LocalMachine\System\CurrentControlSet\Enum\USB\[the key with your deviceId/PID]
On Windows 2000, you must restart the system before reinstalling the driver; this is not neccesary on Win98.
IsoUsb.Inf is in the Sys subdirectory.
It allows you to set registry overrides for:
"DebugLevel" debug verbosity level, where 0 == no debug output, 1 == default , higher == more verbose.