Uniaud for OS/2 4, 4.51/4.52 and eComStation 1.0/1.1/1.2/1.2R/2.0 ======================================================================== 1.0 About Uniaud 2.0 Installation 2.1 Upgrade 2.2 Basic Installation: Common 2.3 Installing HDA Support 2.4 Device Driver Load Options 3.0 Removal 1.0 About Uniaud ================== Thank you for downloading Uniaud, the Universal Audio Support Driver for OS/2 and eComStation. Uniaud is still under development and we need your feedback to improve it. It is very important that you report your experiences, both for sound cards which work and for those which may have problems (see Supported Hardware). Uniaud was a project created by InnoTek Systemberatung GmbH, now hosted by Netlabs. Uniaud is based on the Linux ALSA project. Uniaud supports a broad range of PCI audio cards/chipsets, including AC'97 and HDA audio codecs. AC'97 audio codecs will be found in systems with integrated (onboard) audio, typically built up through 2004. HDA codecs will be found in modern systems with integrated audio, built during or after 2004. HDA is currently better supported in the experimental builds of uniaud32.sys which may be downloaded from Paul Smedley's download page: http://download.smedley.info Look for the latest uniaud32-1.9.x build, and see installation notes, below. Uniaud also supports some legacy audio hardware. 2.0 Installation ================== 2.1 Upgrade ------------- If Uniaud is already installed, it is safest to make a backup of your existing drivers located in x:\MMOS2 (where x: is your boot volume) and just copy uniaud32.sys and uniaud16.sys over them. 2.2 Basic Installation: Common -------------------------------- Uniaud installs using the built-in multimedia installer in OS/2 or eComStation. Therefore, once you have downloaded the file(s) mentioned above, simply unzip the package to a safe place and run install.cmd from that directory. This will launch the multimedia installer which will guide you through the process. If you are not installing support for an HDA card, then simply reboot at the end of the installation; you are likely done (restarting the desktop will not suffice, as the driver needs to be loaded from CONFIG.SYS). If you are installing HDA support, then one file must be overlaid (see the next section for details). DO NOT REBOOT FOLLOWING THE INITIAL INSTALLATION. 2.3 Installing HDA Support ---------------------------- To provide HDA support, you should download the (experimental) HDA-enabled uniaud32.sys as mentioned above. Unzip the distribution to a safe location, peruse the readme, and copy uniaud32.sys on top of the one previously installed in your \MMOS2 directory. Once this is done, as an added precaution, you may want to disable system sounds (these have been known to cause hangs as the desktop comes up, presumably due to the overlapping of them as one event follows quickly after the other). Shut down and reboot (the driver must be loaded from CONFIG.SYS, so merely restarting the desktop will not produce the desired effect). 2.4 Device Driver Load Options -------------------------------- The following options are supported in CONFIG.SYS: DEVICE=x:\MMOS2\UNIAUD32.SYS /V /C:CARDNAME - /V - Verbose - /C:CARDNAME - Force detection of specified audio hardware Where CARDNAME is: - SBLIVE : Sound Blaster Live! - CS4281 : Cirrus Logic CS4281 - ALS4000 : Avance Logic ALS4000 - CMEDIA : C-Media CMI8738, CMI8338 - ICH : Intel ICHx, NFORCE1/2/3 - CS46XX : Cirrus Logic CS4280, CS46XX - VIA82XX : VIA VT82C686A/B/C, VT8233A/C, VT8235 - ESS1938 : ESS Solo-1 (ESS 1938) - MAESTRO : ESS Maestro1/2/2E, TerraTec DMX - MAESTRO3 : ESS Maestro3/Allegro/Canyon3D-2 - YAMAHA : Yamaha YMF 724/724F/740/740C/744/754 - ENSONIQ : Ensoniq AudioPCI ES1371/73, Creative Labs SB PCI64/128 - ALI5451 : ALI 5451 - TRIDENT : Trident 4D Wave, SI7018 Default: /V (verbose messages; card detected automatically) DEVICE=x:\MMOS2\UNIAUD16.SYS /V /C /M /L - /V - Verbose - /C - Enable CD output - /M - Enable Microphone output - /L - Enable Line-In output Default: /V /C ((verbose messages; CD output enabled) 3.0 Removal ============= To temporarily disable Uniaud, simply comment the following two lines in CONFIG.SYS: DEVICE=x:\MMOS2\UNIAUD32.SYS DEVICE=x:\MMOS2\UNIAUD16.SYS To uninstall Uniaud, run the included uninstal.exe. This will completely and safely remove the Uniaud entries from MMPM2.INI and CONFIG.SYS. Uninstalling from the Multimedia GUI tool will not work. 4.0 Troubleshooting ===================== 4.1 No Sound -------------- This is typically caused by one of two different issues. Either the speaker output levels are set very low (or muted) or the audio device has not not been activated (incorrect identification, incorrect/incompatible IRQ, etc.) To eliminate the first possibility, download the latest LBMix mixer application from Hobbes: http://hobbes.nmsu.edu/h-search.php?key=lbmix&pushbutton=Search and install it. Try to adjust the volume from LBMix and/or the standard volume control object. Note that some devices need to have their output levels set at each reboot. If adjusting the output levels has no effect, then perhaps the hardware is not being properly identified. In that case, ensure that the /V option is specified on the DEVICE=x:\MMOS2\UNIAUD32.SYS line in CONFIG.SYS, reboot, and at the boot blob (square block in the upper left hand corner of the screen) press Alt-F4. This will allow you to step through the CONFIG.SYS processing, enabling you to read the output message from the device driver. Note the card which has been identified, the detected mixer, and the IRQ being used. Compare this information to the hardware you know to be installed, and if necessary, perform one of the following two actions: a) Force full hardware detection: Reboot, and at the boot blob press Alt-F1. At the "Recovery Choices" screen, select "F5 full hardware detection" and continue the boot sequence. Review the new output from the device driver details to see if your card has been properly identified. If that does not resolve the issue, then try the next option. b) Override auto-detection of your card (see _2.4 Device Driver Load Options_, above). Even if the card is being properly detected (or forced), it is possible that the IRQ which the system (or ACPI PSD) has assigned to it may be incompatible with the hardware. With ACPI systems, it may be necessary to adjust the IRQ in ACPI.CFG (see ACPI documentation for proper use of the REMAP directive). Some systems may allow the IRQ to be locked in BIOS setup; this may be worth trying. It is also possible that the proper information is not getting entered into MMPM.INI. In this case, follow the appropriate procedure: a) For eComStation 1.1 - 2.0, start the Multimedia Installer (MINSTALL.EXE) and select the option to reset your MMeCS settings. Reboot, and re-install Uniaud. b) For earlier releases of eComStation and for Warp, uninstall Uniaud (see _3.0 Removal_), reboot, and re-install. 4.2 Distorted Sound --------------------- Distortion is usually caused in the output section of the audio device, due to the preamp circuit overdriving the signal, or due to extremely loud output settings causing the noise at the speakers themselves. In some cases, this overdrive condition may be addressed by the use of a good mixer application or judicious use of the volume control. Audio distortion may also be caused by device conflicts, typically with PS/2 mice. USB devices may also cause these issues, and in both cases, the IRQ does not need to directly conflict with the audio hardware. Refer to the notes in _4.1 No Sound_ for suggestions on adjusting the IRQ. To test, try commenting out the mouse driver in CONFIG.SYS (caution: be sure that you are comfortable enough navigating your desktop without a mouse before disabling the device!) and rebooting. Try disconnecting all USB devices to determine the source of the conflict. 4.3 Looping Sound ------------------- This is a close cousin to the condition described in _4.2 Distorted Sound_, and in fact, is a particular type of distortion. Looping is usually caused by a card mis-detection or an IRQ conflict. Review the procedures outlined in _4.1 No Sound_ and _4.2 Distorted Sound_ to properly identify your hardware and to try to resolve IRQ conflicts. 4.4 Hang at Boot ------------------ This is most often seen with HDA hardware, and is typically caused by an IRQ conflict. Review the procedures outlined in _4.1 No Sound_ and _4.2 Distorted Sound_ to properly identify your hardware and to try to resolve IRQ conflicts. 4.5 Hang at Desktop Start --------------------------- This is typically a problem in uniaud16.sys, and appears to happen more frequently when system sounds are enabled and startup events are occurring in rapid succession, seemingly" on top of each other." Try booting to a maintenance partition, from CD, or even to a command prompt via Alt-F1 (see _4.1 No Sound_ for more on Alt-F1), editing CONFIG.SYS to disable Uniaud (see _3.0 Removal_), rebooting, and disabling system sound. Edit CONFIG.SYS to un-comment the Uniaud device driver lines, and reboot. Note that when system sounds are disabled at startup, it is often possible to re-enable them afterward, however, once the same conditions exist as are present during startup (multiple events occurring almost simultaneously), the hang is likely to re-manifest itself. 4.6 Hang During Playback -------------------------- See the notes in _4.5 Hang at Desktop Start_ for some tips. Try limiting the number of audio streams attempting to be played at one time. Look for other sources of the condition (Flash, defective media, MPlayer codec, etc.) 4.7 Traps ----------- A typical trap involving Uniaud will be TRAP008, which indicates a direct IRQ conflict. Often, these are seen with HDA hardware in ACPI systems, and may occur right at system start, even after a complete power cycle (some data does not get cleared immediately between hard resets). Some suggested actions include forcing full hardware detection to ensure that Uniaud is indeed seeing the correct device (see _4.1 No Sound_ for procedures), or adjusting IRQ(s) to avoid conflicts (see _4.1 No Sound_ and _4.2 Distorted Sound_). To preserve the data from the trap screen, follow this procedure: N.B.: You should only do this if you have a floppy drive in your system or a memory dump partition. Support and directions for setting up the latter are beyond the scope of this document, but detailed instructions may be found at the following url: http://home.earthlink.net/~steve53/os2diags/TrapDumpRef.txt 1. Press Ctrl-Alt-F10 twice (note never do this on a running system!!). You will be asked to insert a diskette (please note the complete diskette will be wiped!!). You _only_ need to fill up one diskette to get the trap screen. 2. Insert the diskette. 3. When prompted to insert the next diskette, reboot with Ctrl-Alt-Del, and either allow the system to boot normally, or follow one of the recovery procedures outlined above to temporarily disable Uniaud. 4. Upon a successful boot, you may download and run this script: http://home.earthlink.net/~steve53/os2diags/DumpTrapScreen.zip to extract the trap screen from the diskette. Trap screen data is extremely helpful when raising a support ticket. 5.0 Raising Support Tickets and Reporting Bugs ================================================ Sometimes, the troubleshooting tips outlined above may not be enough to resolve a particular issue. In that case, you may raise a support ticket. Likewise, if you believe that you've found a bug, the Uniaud team is anxious to hear about it. The best option is to use the corresponding debug package for this version of Uniaud and UniInfo.zip, both of which are available from the Netlabs ftp site: ftp.netlabs.org/pub/uniaud . After replacing uniaud16.sys and uniaud32.sys with their debug counterparts, ensure that you copy the corresponding .sym files to x:\MMOS2. Reboot the system to load the debug builds. Extract UniInfo.zip to a safe directory, and run uniinfo.cmd from there. This will generate a number of logs and will zip them into a single archive, removing the individual log files it has just created. The archive will be located in the directory from which you run uniinfo.cmd. Attach this archive to your bug report. All bug reports should go to Uniaud Trac which may be found on: http://svn.netlabs.org/uniaud/report . If you do not have your own login credentials, you can request one at: http://www.netlabs.org/en/site/member/member.xml . Describe your bug briefly, but be as specific as possible. If your system has some exotic hardware which may or may not be involved, mention this in your report. Describe whatever steps you deem necessary to recreate the condition, whether the condition occurs sometimes, always, or very rarely. Mention any troubleshooting steps you have attempted prior to raising the ticket. Finally, per the above recommendation, attach the unilog.zip archive to the ticket. 6.0 FAQ ========= Q. What is OS/2? A. If you ask this one, you probably don't need UniAud. Go to www.eComStation.com to get more information or to purchase a license. Q. What is Uniaud? A. Uniaud is the Universal Audio Support driver for OS/2 and eComStation, based on the Linux ALSA project (http://www.alsa.com ). Q. Uniaud detected my card successfully but I have no sound A. Follow the procedures outlined in _4.1 No Sound_. Q. Uniaud detected my card successfully but when I try to play something I got error: MCI Error 5134: No device driver found. A. Follow the procedures outlined in _4.1 No Sound_. Q. I installed MIDI support, but when I click on a Midi file I hear no music. What is happening ? A. Most audio cards don't support MIDI. So if there is no MIDI playback its most likely not support by Uniaud in conjunction with your chipset. Q. Where may I obtain the latest version of Uniaud? A. The latest version of Uniaud is available from Netlabs: ftp.netlabs.org/pub/uniaud Q. I want to assist in the development of Uniaud. A. See _7.0 Project Support_. 7.0 Project Support ===================== We need your feedback! Consider making a donation, and of course, report bugs. Talented developers are welcome to join the team, and others whose talents may lie elsewhere but who would also like to contribute may do so either by testing or by performing other tasks (website maintenance, documentation, education, etc.) For more information, stop by the Uniaud Trac Wiki: http://trac.netlabs.org/uniaud To make a financial contribution to the project, please visit the Mensys website: http://shop.mensys.nl/uk/netlabs