HWDIAGS.EXE 1. SUMMARY HWDIAGS.EXE is the low-level hardware diagnostics for BCM 4XXX chipsets. It's designed as a DOS-based application but it can be also run from Windows 9X, Windows NT and Windows 2000 command prompt with some restrictions (see below). Individual test modules can be specified in command line or ini file to scale testing if needed. Only modules specified in command line will be executed. If no modules are specified all modules will be executed. Options can be passed to HWDIAGS in either command line or in HWDIAGS.INI file. If there is a conflict option supplied in a command line takes precedent. USAGE: HWDIAGS [/?] [/f<ini file name>] [/t<module1>] [/t<module2>] ... [/p<option1>] [/p<option2>] ... Ini file name: the default file name is hwdiags.ini but can be overridden by specifying /f and the filename on the command line Supported modules: PCI_CONFIG -- Test PCI Configuration Header and Data CORE_OPERATION -- Test Basic PCI Controller Functionality CODEC_OPERATION -- Test Basic Codec Functionality DAA_OPERATION -- Test DAA Functionality AUDIO_OPERATION -- Test Audio Functionality EXTERNAL_MODEM -- Test External Modem Connection Supported options: DEVICE_TYPE=<device type> -- specify device type in decimal format (default is 21) possible device types are: -- 15 (BCM412X on Intel AC'97 chipset) -- 16 (BCM412X on VIA AC'97 chipset) -- 21 (BCM4211/4212/4413) -- 25 (BCM4402/4307/4710) DEVICE_ID=<PCI device ID> -- specify Modem PCI device ID in hex format (default is 4212) VENDOR_ID=<PCI vendor ID> -- specify Modem PCI vendor ID in hex format (default is 14E4) CLASS_CODE=<PCI class code> -- specify Modem PCI class code in hex format (default is 07030000) SUBSYSTEM_VENDOR_ID=<vendor ID> -- specify Modem PCI subsystem vendor ID in hex format (default is 14E4) SUBSYSTEM_ID=<PCI subsystem ID> -- specify Modem PCI subsystem ID in hex format (default is 0x0009) CLASS_CODE_TEST=<Y|N> -- enable/disable class code test SUBSYSTEM_VENDOR_ID_TEST=<Y|N> -- enable/disable subsystem vendor id test SUBSYSTEM_ID_TEST=<Y|N> -- enable/disable subsystem id test MEMORY_BASE=<Base memory address> -- specify base memory address for Modem function if it wasn't provided by BIOS/OS IRQ_ASSERT_TEST=<Y|N> -- enable/disable IRQ assert and deassert test BACKPLANE_FREQUENCY=<freq> -- specify backplane frequency for OCP cores in kHz (default is 62500) MCLK_DIVIDER=<divider> -- specify backplane frequency divider for mclk for OCP cores (default is 2) INTL_TEST=<Y|N> -- enable/disable international support test INTL_SUPPORT=<Y|N> -- specify whether DUT has international support LOOP_CURRENT_TEST=<Y|N> -- enable/disable loop current test MAX_LOOP_CURRENT=<current> -- specify maximum allowed loop current value in mA (default is 45 mA) MIN_LOOP_CURRENT=<current> -- specify minimum allowed loop current value in mA (default is 20 mA) AUDIO_TEST=<Y|N> -- enable/disable support for dual codec speakerphone boards LOOPBACK_DIAL_STRING=<number> -- specify number to be dialed before performing loopback tests to get rid of dial tone xxx_LOOPBACK_TEST=<Y|N> -- enable/disable xxx loopback test ANALOG -- Analog loopback HYBRID -- Hybrid loopback DIGITAL -- Digital loopback FRE -- Frequency Response Estimation AUDIO_DIGITAL1 -- Audio Digital loopback 1 AUDIO_DIGITAL2 -- Audio Digital loopback 2 AUDIO_ANALOG -- Audio Analog loopback AUDIO_FRE -- Audio Frequency Response xxx_LOOPBACK_TEST_THRESHOLD=<arg1, arg2, arg3, arg4> -- set xxx loopback test passing criteria all values are expressed in dB if only one argument is given then arg2 = -arg1 defaults are 42, -42, 10, -10 -arg1: minimum echo minus residual power -arg2: max residual power -arg3: max echo power -arg4: min echo power FRE_LOOPBACK_TEST=<Y|N> -- enable/disable frequency response estimation test FRE_BAND_MAG_RANGES=<fl1,fh1,ml1,mh1,...> -- specify FRE test frequency (Hz) and magnitude (dB) constraints (default is 125,3281.5,-3,2) FRE_AVG_MAG_RANGE=<mag_low,mag_high> -- specify low and high constraints for average magnitude of frequency response in dB (default is 60,90) FRE_NOTCH_MAG_RANGE=<mag_low,mag_high> -- specify low and high constraints for magnitude of frequency response at two 'notch' points in dB (points where frequency of trasnsmitted signal approaches 0) (default is -500,-40) FRE_LOOPBACK_TEST_WRITE_DATA_FILE=<Y|N> -- enable/disable writing of data files for transmitted and received time and frequency domain signals FAST_LOOPBACK_SCHEME=<Y|N> -- enable/disable fast loopback testing when redundant loops are not tested EXTERNAL_MODEM_COM_PORT=<n> -- specify COM port for external modem test where n is COM port number (default is external modem not connected) EXTERNAL_MODEM_BAUD_RATE=<n> -- specify baud rate for external modem (default is 38400) EXTERNAL_MODEM_INIT_STRING=<string> -- specify init string for external modem (default is AT&F&D2) LOCAL_NUMBER -- specify phone number DUT is connected to (default is 101) CALLER_ID_TEST=<Y|N> -- enable/disable Caller ID test (default is enabled) LIVE_CONNECTION_TEST=<Y|N> -- enable/disable live connection test (default is enabled) MIN_RX_RATE=<rxRate> -- specify minimum rx rate for live connection test to pass (default is 33600) MIN_TX_RATE=<txRate> -- specify minimum tx rate for live connection test to pass (default is 33600) CLOCK_OFFSET_TEST=<Y|N> -- enable/disable clock offset test MAX_CLOCK_OFFSET=<offset. -- specify maximum allowed clock offset in ppm (default is 100) HPNA_TEST=<Y|N> -- test HPNA function (limited) HPNA_DEVICE_ID=<PCI device ID> -- specify HPNA PCI device ID in hex format (default is 4212) HPNA_VENDOR_ID=<PCI vendor ID> -- specify HPNA PCI vendor ID in hex format (default is 14E4) HPNA_CLASS_CODE=<PCI class code> -- specify HPNA PCI class code in hex format (default is 07030000) HPNA_SUBSYSTEM_VENDOR_ID=<vendor ID> -- specify HPNA PCI subsystem vendor ID in hex format (default is 14E4) HPNA_SUBSYSTEM_ID=<PCI subsystem ID> -- specify HPNA PCI subsystem ID in hex format (default is 0x0009) HPNA_MAC_ADDR_VENDOR=<MAC Vendor> -- specify first 6 bytes of the MAC address PCI_SCAN_ONLY -- check device presence only SWAP -- enable hot swap support (requires special PCI extender) VERBOSE -- display advanced debug information REPORT_FAIL_ONLY -- print only failed tests results to minimize screen output MULTI_DEVICE=<number of devices> -- perform multiple device test STRESS_TEST=<number of iterations> -- perform multiple iterations test SPEAKER_MUTE -- mute on-board speaker while running test LOG_MODE=<n> -- set logging mode 0 - Disable (default) 1 - Failures only 2 - Full LOG_FILE=<name> -- specify log file name STOP_ON_FAILURE=<Y|N> -- stop test after first error MODULES_LIST=<list of modules to be tested> -- specifies a comma separated list of modules to be tested Examples: HWDIAGS /tPCI_CONFIG /tCORE_OPERATION /pCLASS_CODE=04020000 /pSUBSYSTEM_ID=0103 /pVERBOSE 2. RUNNING UNDER DOS (NOT A WINDOWS COMMAND PROMPT) You must set BIOS option "PnP OS" (or similar) to "NO" in order to provide hardware resources to the device under DOS and must have cwsdpmi.exe (part of this distribution) in the same directory. 3. RUNNING UNDER WINDOWS LIMITATIONS: (a) THIS PROGRAM WILL NOT WORK PROPERLY AND MAY CAUSE SYSTEM TO CRASH UNDER WINDOWS WHEN ANOTHER DEVICE USES THE SAME IRQ AS MODEM DEVICE (IRQ SHARING). If it is impossible to configure the test station to avoid IRQ sharing, then "IRQ Assert Test: should be disabled by IRQ_ASSERT_TEST=N option. (b) THIS PROGRAM WILL NOT WORK PROPERLY AND MAY CAUSE SYSTEM TO CRASH UNDER WINDOWS WHEN BROADCOM MODEM IS IN USE BY ANY APPLICATION. (c) THIS PROGRAM WILL NOT WORK PROPERLY AND MAY CAUSE SYSTEM TO CRASH UNDER WINDOWS WHEN EXECUTED OVER A NETWORK. 3.1 RUNNING UNDER WINDOWS 9X When Broadcom Modem VxD driver is installed, Windows may disable the device and will not provide hardware resources to the device if modem port is not opened. This program will try to provide base memory address but that is not 100% reliable. Workarounds: (a) Install WDM Modem Driver. (b) Uninstall Modem using "Add/Remove Programs" icon in the Control Panel, reboot, and once Windows finds Modem device do not provide a driver. Verify that Windows had placed Modem device under "unknown" device category in the Device Manager. (c) Specify different base address with MEMORY_BASE argument. 3.2 RUNNING UNDER WINDOWS NT AND WINDOWS 2000/XP You will need to have DIAGSVDD.DLL, DIAGSSYS.SYS and DIAGSXP.SYS (part of this distribution) in the same directory as HWDIAGS.EXE. You must run it from a local drive (not a network). 4. PACKAGE CONTENTS 1. HWDIAGS.EXE -- Main diagnostics program 2. CWSDPMI.EXE -- DPMI host to run HWDIAGS under DOS 3. DIAGSVDD.DLL -- VDD (Virtual Dos Driver) DLL to run HWDIAGS under Windows NT 4. DIAGSSYS.SYS -- Kernel mode SYS driver to supplement DIAGSVDD.DLL 5. DIAGSXP.SYS -- Kernel mode SYS driver to supplement DIAGSVDD.DLL under Windows XP 6. HWDIAGS.INI -- An example of the options file 7. README.TXT -- This file 5. DJGPP HWDIAGS.EXE was developed with DJGPP Version 2.02. DJGPP is a non-proprietary environment for developing 32-bit protected mode software in C/C++ under MS-DOS. The DJGPP home page on the WWW is http://www.delorie.com/djgpp/. Look on this web page for information on the latest versions of various DJGPP packages. This package includes modified version of CWSDPMI.EXE, copyrighted by CW Sandmann (sandmann@clio.rice.edu) and distributed under the terms of the GNU General Public License.Download Driver Pack
After your driver has been downloaded, follow these simple steps to install it.
Expand the archive file (if the download file is in zip or rar format).
If the expanded file has an .exe extension, double click it and follow the installation instructions.
Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.
Find the device and model you want to update in the device list.
Double-click on it to open the Properties dialog box.
From the Properties dialog box, select the Driver tab.
Click the Update Driver button, then follow the instructions.
Very important: You must reboot your system to ensure that any driver updates have taken effect.
For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.