123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185 |
- 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)
- _/ _/_/_/_/
- _/
- _/ _/
- _/_/
- ===========================================================
|