Based on kernel version 4.13.3. Page generated on 2017-09-23 13:56 EST.
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 166 the sound modules and voilà - ThinkPad sound with Linux. 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 ===========================================================