| How to try to survive an IBM Mwave under Linux SB drivers | |
| + IBM have now released documentation of sorts and Torsten is busy | |
| trying to make the Mwave work. This is not however a trivial task. | |
| ---------------------------------------------------------------------------- | |
| 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) | |
| _/ _/_/_/_/ | |
| _/ | |
| _/ _/ | |
| _/_/ | |
| =========================================================== |