Readme.txt Driver File Contents (BCOM_WAN_V20_Utilities_A.exe)

							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

How To Update Drivers Manually

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.

server: web1, load: 1.09