How to try to survive an IBM Mwave under Linux SB drivers * IBM refuses to provide documentation. If anyone can ever find out what MWD50430.EXE actually does to load firmware then this comedy could go away. * If you'd like to ask IBM why they don't release Mwave information. phone IBM (425-556-8822) and ask them why they still haven't released any documentation. [http://204.200.238.31/cgi-bin/link.pl?co=i&cl=/ts/ibm/contact.html] ---------------------------------------------------------------------------- OK, first thing - the IRQ problem IS a problem, whether the test is bypassed or not. It is NOT a Linux problem, but an MWAVE problem that is fixed with the latest MWAVE patches. So, in other words, don't bypass the test for MWAVES! I have Windows 95 on /dev/hda1, swap on /dev/hda2, and Red Hat 5 on /dev/hda3. The steps, then: Boot to Linux. Mount Windows 95 file system (assume mount point = /dos95). mkdir /dos95/linux mkdir /dos95/linux/boot mkdir /dos95/linux/boot/parms Copy the kernel, any initrd image, and loadlin to /dos95/linux/boot/. Reboot to Windows 95. Edit C:/msdos.sys and add or change the following: Logo=0 BootGUI=0 Note that msdos.sys is a text file but it needs to be made 'unhidden', readable and writable before it can be edited. This can be done with DOS' "attrib" command. Edit config.sys to have multiple config menus. I have one for windows 95 and five for Linux, like this: ------------ [menu] menuitem=W95, Windows 95 menuitem=LINTP, Linux - ThinkPad menuitem=LINTP3, Linux - ThinkPad Console menuitem=LINDOC, Linux - Docked menuitem=LINDOC3, Linux - Docked Console menuitem=LIN1, Linux - Single User Mode REM menudefault=W95,10 [W95] [LINTP] [LINDOC] [LINTP3] [LINDOC3] [LIN1] [COMMON] FILES=30 REM Please read README.TXT in C:\MWW subdirectory before changing the DOS= statement. DOS=HIGH,UMB DEVICE=C:\MWW\MANAGER\MWD50430.EXE SHELL=c:\command.com /e:2048 ------------------- The important things are the SHELL and DEVICE statements. Then change autoexec.bat. Basically everything in there originally should be done ONLY when Windows 95 is booted. Then you add new things specifically for Linux. Mine is as follows --------------- @ECHO OFF if "%CONFIG%" == "W95" goto W95 REM REM Linux stuff REM SET MWPATH=C:\MWW\DLL;C:\MWW\MWGAMES;C:\MWW\DSP SET BLASTER=A220 I5 D1 SET MWROOT=C:\MWW SET LIBPATH=C:\MWW\DLL SET PATH=C:\WINDOWS;C:\MWW\DLL; CALL MWAVE START NOSHOW c:\linux\boot\loadlin.exe @c:\linux\boot\parms\%CONFIG%.par :W95 REM REM Windows 95 stuff REM c:\toolkit\guard SET MSINPUT=C:\MSINPUT SET MWPATH=C:\MWW\DLL;C:\MWW\MWGAMES;C:\MWW\DSP REM The following is used by DOS games to recognize Sound Blaster hardware. REM If hardware settings are changed, please change this line as well. REM See the Mwave README file for instructions. SET BLASTER=A220 I5 D1 SET MWROOT=C:\MWW SET LIBPATH=C:\MWW\DLL SET PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;E:\ORAWIN95\BIN;f:\msdev\bin;e:\v30\bin.dbg;v:\devt\v30\bin;c:\JavaSDK\Bin;C:\MWW\DLL; SET INCLUDE=f:\MSDEV\INCLUDE;F:\MSDEV\MFC\INCLUDE SET LIB=F:\MSDEV\LIB;F:\MSDEV\MFC\LIB win ------------------------ Now build a file in c:\linux\boot\parms for each Linux config that you have. For example, my LINDOC3 config is for a docked Thinkpad at runlevel 3 with no initrd image, and has a parameter file named LINDOC3.PAR in c:\linux\boot\parms: ----------------------- # LOADLIN @param_file image=other_image root=/dev/other # # Linux Console in docking station # c:\linux\boot\zImage.krn # First value must be filename of Linux kernel. root=/dev/hda3 # device which gets mounted as root FS ro # Other kernel arguments go here. apm=off doc=yes 3 ----------------------- The doc=yes parameter is an environment variable used by my init scripts, not a kernel argument. However, the apm=off parameter IS a kernel argument! APM, at least in my setup, causes the kernel to crash when loaded via loadlin (but NOT when loaded via LILO). The APM stuff COULD be forced out of the kernel via the kernel compile options. Instead, I got an unofficial patch to the APM drivers that allows them to be dynamically deactivated via kernel arguments. Whatever you chose to document, APM, it seems, MUST be off for setups like mine. Now make sure C:\MWW\MWCONFIG.REF looks like this: ---------------------- [NativeDOS] Default=SB1.5 SBInputSource=CD SYNTH=FM QSound=OFF Reverb=OFF Chorus=OFF ReverbDepth=5 ChorusDepth=5 SBInputVolume=5 SBMainVolume=10 SBWaveVolume=10 SBSynthVolume=10 WaveTableVolume=10 AudioPowerDriver=ON [FastCFG] Show=No HideOption=Off ----------------------------- OR the Default= line COULD be Default=SBPRO Reboot to Windows 95 and choose Linux. When booted, use sndconfig to configure the sound modules and voilą - ThinkPad sound with Linux. Now the gotchas - you can either have CD sound OR Mixers but not both. That's a problem with the SB1.5 (CD sound) or SBPRO (Mixers) settings. No one knows why this is! For some reason MPEG3 files, when played through mpg123, sound like they are playing at 1/8th speed - not very useful! If you have ANY insight on why this second thing might be happening, I would be grateful. =========================================================== _/ _/_/_/_/ _/_/ _/_/ _/ _/ _/_/ _/_/_/_/ Martin John Bartlett _/ _/ _/ _/ (martin@nitram.demon.co.uk) _/ _/_/_/_/ _/ _/ _/ _/_/ ===========================================================