Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | How to try to survive an IBM Mwave under Linux SB drivers |
| 2 | |
| 3 | |
| 4 | + IBM have now released documentation of sorts and Torsten is busy |
| 5 | trying to make the Mwave work. This is not however a trivial task. |
| 6 | |
| 7 | ---------------------------------------------------------------------------- |
| 8 | |
| 9 | OK, first thing - the IRQ problem IS a problem, whether the test is bypassed or |
| 10 | not. It is NOT a Linux problem, but an MWAVE problem that is fixed with the |
| 11 | latest MWAVE patches. So, in other words, don't bypass the test for MWAVES! |
| 12 | |
| 13 | I have Windows 95 on /dev/hda1, swap on /dev/hda2, and Red Hat 5 on /dev/hda3. |
| 14 | |
| 15 | The steps, then: |
| 16 | |
| 17 | Boot to Linux. |
| 18 | Mount Windows 95 file system (assume mount point = /dos95). |
| 19 | mkdir /dos95/linux |
| 20 | mkdir /dos95/linux/boot |
| 21 | mkdir /dos95/linux/boot/parms |
| 22 | |
| 23 | Copy the kernel, any initrd image, and loadlin to /dos95/linux/boot/. |
| 24 | |
| 25 | Reboot to Windows 95. |
| 26 | |
| 27 | Edit C:/msdos.sys and add or change the following: |
| 28 | |
| 29 | Logo=0 |
| 30 | BootGUI=0 |
| 31 | |
| 32 | Note that msdos.sys is a text file but it needs to be made 'unhidden', |
| 33 | readable and writable before it can be edited. This can be done with |
| 34 | DOS' "attrib" command. |
| 35 | |
| 36 | Edit config.sys to have multiple config menus. I have one for windows 95 and |
| 37 | five for Linux, like this: |
| 38 | ------------ |
| 39 | [menu] |
| 40 | menuitem=W95, Windows 95 |
| 41 | menuitem=LINTP, Linux - ThinkPad |
| 42 | menuitem=LINTP3, Linux - ThinkPad Console |
| 43 | menuitem=LINDOC, Linux - Docked |
| 44 | menuitem=LINDOC3, Linux - Docked Console |
| 45 | menuitem=LIN1, Linux - Single User Mode |
| 46 | REM menudefault=W95,10 |
| 47 | |
| 48 | [W95] |
| 49 | |
| 50 | [LINTP] |
| 51 | |
| 52 | [LINDOC] |
| 53 | |
| 54 | [LINTP3] |
| 55 | |
| 56 | [LINDOC3] |
| 57 | |
| 58 | [LIN1] |
| 59 | |
| 60 | [COMMON] |
| 61 | FILES=30 |
| 62 | REM Please read README.TXT in C:\MWW subdirectory before changing the DOS= statement. |
| 63 | DOS=HIGH,UMB |
| 64 | DEVICE=C:\MWW\MANAGER\MWD50430.EXE |
| 65 | SHELL=c:\command.com /e:2048 |
| 66 | ------------------- |
| 67 | |
| 68 | The important things are the SHELL and DEVICE statements. |
| 69 | |
| 70 | Then change autoexec.bat. Basically everything in there originally should be |
| 71 | done ONLY when Windows 95 is booted. Then you add new things specifically |
| 72 | for Linux. Mine is as follows |
| 73 | |
| 74 | --------------- |
| 75 | @ECHO OFF |
| 76 | if "%CONFIG%" == "W95" goto W95 |
| 77 | |
| 78 | REM |
| 79 | REM Linux stuff |
| 80 | REM |
| 81 | SET MWPATH=C:\MWW\DLL;C:\MWW\MWGAMES;C:\MWW\DSP |
| 82 | SET BLASTER=A220 I5 D1 |
| 83 | SET MWROOT=C:\MWW |
| 84 | SET LIBPATH=C:\MWW\DLL |
| 85 | SET PATH=C:\WINDOWS;C:\MWW\DLL; |
| 86 | CALL MWAVE START NOSHOW |
| 87 | c:\linux\boot\loadlin.exe @c:\linux\boot\parms\%CONFIG%.par |
| 88 | |
| 89 | :W95 |
| 90 | REM |
| 91 | REM Windows 95 stuff |
| 92 | REM |
| 93 | c:\toolkit\guard |
| 94 | SET MSINPUT=C:\MSINPUT |
| 95 | SET MWPATH=C:\MWW\DLL;C:\MWW\MWGAMES;C:\MWW\DSP |
| 96 | REM The following is used by DOS games to recognize Sound Blaster hardware. |
| 97 | REM If hardware settings are changed, please change this line as well. |
| 98 | REM See the Mwave README file for instructions. |
| 99 | SET BLASTER=A220 I5 D1 |
| 100 | SET MWROOT=C:\MWW |
| 101 | SET LIBPATH=C:\MWW\DLL |
| 102 | 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; |
| 103 | SET INCLUDE=f:\MSDEV\INCLUDE;F:\MSDEV\MFC\INCLUDE |
| 104 | SET LIB=F:\MSDEV\LIB;F:\MSDEV\MFC\LIB |
| 105 | win |
| 106 | |
| 107 | ------------------------ |
| 108 | |
| 109 | Now build a file in c:\linux\boot\parms for each Linux config that you have. |
| 110 | |
| 111 | For example, my LINDOC3 config is for a docked Thinkpad at runlevel 3 with no |
| 112 | initrd image, and has a parameter file named LINDOC3.PAR in c:\linux\boot\parms: |
| 113 | |
| 114 | ----------------------- |
| 115 | # LOADLIN @param_file image=other_image root=/dev/other |
| 116 | # |
| 117 | # Linux Console in docking station |
| 118 | # |
| 119 | c:\linux\boot\zImage.krn # First value must be filename of Linux kernel. |
| 120 | root=/dev/hda3 # device which gets mounted as root FS |
| 121 | ro # Other kernel arguments go here. |
| 122 | apm=off |
| 123 | doc=yes |
| 124 | 3 |
| 125 | ----------------------- |
| 126 | |
| 127 | The doc=yes parameter is an environment variable used by my init scripts, not |
| 128 | a kernel argument. |
| 129 | |
| 130 | However, the apm=off parameter IS a kernel argument! APM, at least in my setup, |
| 131 | causes the kernel to crash when loaded via loadlin (but NOT when loaded via |
| 132 | LILO). The APM stuff COULD be forced out of the kernel via the kernel compile |
| 133 | options. Instead, I got an unofficial patch to the APM drivers that allows them |
| 134 | to be dynamically deactivated via kernel arguments. Whatever you chose to |
| 135 | document, APM, it seems, MUST be off for setups like mine. |
| 136 | |
| 137 | Now make sure C:\MWW\MWCONFIG.REF looks like this: |
| 138 | |
| 139 | ---------------------- |
| 140 | [NativeDOS] |
| 141 | Default=SB1.5 |
| 142 | SBInputSource=CD |
| 143 | SYNTH=FM |
| 144 | QSound=OFF |
| 145 | Reverb=OFF |
| 146 | Chorus=OFF |
| 147 | ReverbDepth=5 |
| 148 | ChorusDepth=5 |
| 149 | SBInputVolume=5 |
| 150 | SBMainVolume=10 |
| 151 | SBWaveVolume=10 |
| 152 | SBSynthVolume=10 |
| 153 | WaveTableVolume=10 |
| 154 | AudioPowerDriver=ON |
| 155 | |
| 156 | [FastCFG] |
| 157 | Show=No |
| 158 | HideOption=Off |
| 159 | ----------------------------- |
| 160 | |
| 161 | OR the Default= line COULD be |
| 162 | |
| 163 | Default=SBPRO |
| 164 | |
| 165 | Reboot to Windows 95 and choose Linux. When booted, use sndconfig to configure |
John Anthony Kazos Jr | be2a608 | 2007-05-09 08:50:42 +0200 | [diff] [blame] | 166 | the sound modules and voilà - ThinkPad sound with Linux. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 167 | |
| 168 | Now the gotchas - you can either have CD sound OR Mixers but not both. That's a |
| 169 | problem with the SB1.5 (CD sound) or SBPRO (Mixers) settings. No one knows why |
| 170 | this is! |
| 171 | |
| 172 | For some reason MPEG3 files, when played through mpg123, sound like they |
| 173 | are playing at 1/8th speed - not very useful! If you have ANY insight |
| 174 | on why this second thing might be happening, I would be grateful. |
| 175 | |
| 176 | =========================================================== |
| 177 | _/ _/_/_/_/ |
| 178 | _/_/ _/_/ _/ |
| 179 | _/ _/_/ _/_/_/_/ Martin John Bartlett |
| 180 | _/ _/ _/ _/ (martin@nitram.demon.co.uk) |
| 181 | _/ _/_/_/_/ |
| 182 | _/ |
| 183 | _/ _/ |
| 184 | _/_/ |
| 185 | =========================================================== |