Jump to content

Smartdrv.exe causing lockups under stress.


Chozo4

Recommended Posts

Not sure why it's been doing this and just now noticing it recently while being slightly more aggressive with my system. Never had this problem untill just recently...

I've been using the smartdrive disk cache (MSDOS7.1) for my system ever since setting it up. Now whenever i 'push' it by hitting it with multiple reads at once, it causes a complete system lockup (requiring a restart). I'm used to getting the occasional standstill during occasional writes (whicn clears up once it's done writing) but this happens only with read caching.

Say for instance, I copy 300 midi's to a ramdrive using a command console, it will lockup halfway through and just freeze. If I run an instance of internet explorer and load two pages at once (temp files cache in ramdrive), smartdrive causes the system to lockup yet again.

If I were to disable smartdrive, I don't get these issues. Would rather keep using it since the drive my system runs on can only run in compatibility mode (Pny-Attache' USB2 4gb FLASHdrive). Purpose also for smartdrive is to minimize read/write requests since I know a flash drive can only handle so many over time and this particular one is slow (~950kb write, ~8mb read).

Are the any other disk caches out there that could be used and is comparable (or better?) to Microsofts SmartDrv? I tried pc-kwik 3.0 but the physical drive layout is unknown to it and so would not work (would have been nice though as it can prioritize reads over writes).

If it helps any, here are my config.sys, autoexec.bat, win.ini, and system.ini files:

config.sys

[menu]
menuitem=LOAD, Normal
menuitem=SAFE, Safe mode
menuitem=SFCD, Safe mode w/ USBCD-Support
menuitem=CMDO, Command prompt only
menuitem=CMDC, Command prompt only w/ USBCD-Support
menuitem=CMDS, Safe mode command prompt only
submenu =DBUG, * Debug options
menudefault=LOAD,03
menucolor=5,0

[DBUG]
menuitem=DBG0, SxS through all modules
menuitem=DBG1, Do not load any Modules
submenu =menu, * Return to main menu

;Common Calls
[MAIN]
switches=/F
dos=high,umb,noauto
device=umbpci.sys
device=lowdma.sys
device=hiram.exe
devicehigh=himem.sys /testmem:off /v
buffershigh=11,0
fileshigh=40
fcbshigh=1,0
stackshigh=0,0
lastdrivehigh=z
devicehigh=ifshlp.sys
devicehigh=dblbuff.sys

;DEBUG Sections
;Use only with step-by-step mode
[DBG0]
switches=/F
switches=/F /E
dos=high,umb
dos=high,umb,auto
devicehigh=himem.sys /testmem:off /v
devicehigh=himem.sys /numhandles=128 /testmem:off /v
device=umbpci.sys
device=lowdma.sys
device=hiram.exe
devicehigh=himem.sys /testmem:off /v
devicehigh=himem.sys /numhandles=128 /testmem:off /v
buffershigh=11,1
fileshigh=60
fcbshigh=8,0
stackshigh=8,64
lastdrivehigh=z
devicehigh=ifshlp.sys
devicehigh=dblbuff.sys
devicehigh?=usbaspix.sys /v
devicehigh?=usbaspix.sys /v /f
devicehigh?=usbaspix.sys /v /f /nocbc
devicehigh?=usbaspix.sys /v /nocbc
devicehigh?=usbaspix.sys /v /norst
devicehigh?=usbaspix.sys /v /norst /f
devicehigh?=usbaspix.sys /v /norst /f /nocbc
devicehigh?=usbaspix.sys /v /norst /nocbc
devicehigh?=usbaspix.sys /v /e
devicehigh?=usbaspix.sys /v /e /slow
devicehigh?=usbaspix.sys /v /e /norst
devicehigh?=usbaspix.sys /v /e /norst /f
devicehigh?=usbaspix.sys /v /e /norst /f /noprt
devicehigh?=usbaspix.sys /v /e /norst /f /noprt /nocbc
devicehigh?=usbaspix.sys /v /e /norst /f /noprt /slow /nocbc
devicehigh?=usbaspix.sys /v /e /norst /f /noprt /slow
devicehigh?=usbaspix.sys /v /e /norst /noprt /nocbc
devicehigh?=usbaspix.sys /v /e /norst /nocbc
devicehigh?=usbaspix.sys /v /e /norst /noprt
devicehigh?=usbaspix.sys /v /e /norst /slow
devicehigh?=usbaspi.sys /v /e /f /nocbc
devicehigh?=usbaspi.sys /v /e /f /nocbc /slow
devicehigh?=usbaspi.sys /v /e /norst /f
devicehigh?=usbaspi.sys /v /e /norst /f /noprt
devicehigh?=usbaspi.sys /v /e /norst /f /noprt /nocbc
devicehigh?=usbaspi.sys /v /e /norst /f /noprt /slow /nocbc
devicehigh?=usbaspi.sys /v /e /norst /f /noprt /slow
devicehigh?=usbaspi.sys /v /e /norst /noprt
devicehigh?=usbaspi.sys /v /e /norst /noprt /nocbc
devicehigh?=usbaspi.sys /v /e /norst /nocbc
devicehigh?=usbaspi.sys /v /e /norst /slow
devicehigh?=usbaspi.sys /v /e /norst
devicehigh?=usbaspi.sys /v /norst
devicehigh?=usbaspi.sys /v
devicehigh?=aspiehci.sys /int /all
devicehigh?=aspidisk.sys
devicehigh?=di1000dd.sys /H0
devicehigh?=oakcdrom.sys /D:SakuCD
devicehigh?=aspicd.sys /D:SakuASPI
installhigh?=MSCDEX.EXE /D:SakuCD
installhigh?=MSCDEX.EXE /D:SakuASPI
set COMSPEC?=C:\command.com
shell?=C:\command.com C:\ /E:1280 /L:160 /U:160 /P /F

[DBG1]
include MAIN

;Primary Sections
[LOAD]
include MAIN
devicehigh=usbaspi.sys /v /e /f /norst /nocbc
devicehigh=di1000dd.sys /H0
devicehigh=oakcdrom.sys /D:SakuCD
installhigh=MSCDEX.EXE /D:SakuCD
accdate=C- D-
shell=C:\command.com C:\ /E:1280 /L:160 /U:160 /P /F

[SAFE]
include LOAD

[SFCD]
include MAIN
devicehigh=usbaspi.sys /v /e /f /norst /nocbc
devicehigh=di1000dd.sys /H0
devicehigh=oakcdrom.sys /D:SakuCD
devicehigh=aspicd.sys /D:SakuASPI
installhigh=MSCDEX.EXE /D:SakuCD /D:SakuASPI
accdate=C- D-
shell=C:\command.com C:\ /E:1280 /L:160 /U:160 /P /F

[CMDO]
include LOAD

[CMDC]
include SFCD

[CMDS]

Autoexec.bat (primary)

@echo off
if not %config%=='' goto %config%
goto end

:LOAD
set COMSPEC=C:\command.com
C: | call autoexec.bat
CLS
Echo Starting Windows...
win
goto end

:SFCD
:SAFE
set COMSPEC=C:\command.com
CLS
Echo Starting Windows...
win /D:M
goto end

:CMDO
C: | call autoexec.bat
goto END

:DBG0
:DBG1
:CMDS
:CMDC
:end

autoexec.bat (secondary)

if %config%==reload goto autoexec
if not %config%=='' goto %config%
goto end

:LOAD
goto reload

:SFCD
:SAFE
set COMSPEC=C:\command.com
CLS
Echo Starting Windows...
win /D:M
goto end

:CMD0
:reload
set config=reload
C: | autoexec.bat
exit

:autoexec
set config=
set COMSPEC=C:\command.com
SET PATH=A:
xmsdsk 131072 Z: /c4 /y /t
label Z:PORTAL
mkdir Z:\cmd
copy command.com Z:
xcopy32 A: Z:\cmd
xcopy32 C:\progra~1\abyssw~1\php\*.* Z:
xcopy32 C:\SharpE\Plugins\aclock\Try.bmp Z:
::Remove phantom floppy
dlmanip delete B
::redirect emulated floppy (A) to ramdrive
subst A: Z:\cmd
SET PATH=Z:\cmd;C:\windows\system;C:\windows;C:\windows\command
SET COMSPEC=Z:\cmd\COMMAND.COM
::smartdrv 8192 C+ /q /B:16384 /E:16384
smartdrv 8192 C+ /q /n /B:16384 /E:16384
::smartdrv C+ /q /n /l
set TMP=Z:\TEMP
set TEMP=%tmp%
mkdir %tmp%
mkdir %tmp%\nethood
mkdir %tmp%\printhood
rem >%tmp%\desktop.ini
attrib +a +s +h %tmp%\desktop.ini
if exist %windir%\temp\* deltree /y %windir%\temp
if exist %windir%\recent\* deltree /y %windir%\recent
CLS
Echo Starting Windows...
win

:DBG0
:DBG1
:CMDS
:CMDC
:end

win.ini

[Desktop]
Wallpaper=C:\WINDOWS\KILL_B~1.BMP
TileWallpaper=0
WallpaperStyle=2
Pattern=(None)

[intl]
iCountry=1
ICurrDigits=2
iCurrency=0
iDate=0
iDigits=2
iLZero=1
iMeasure=1
iNegCurr=0
iTime=0
iTLZero=0
s1159=AM
s2359=PM
sCountry=United States
sCurrency=$
sDate=/
sDecimal=.
sLanguage=enu
sList=,
sLongDate=dddd, MMMM dd, yyyy
sShortDate=M/d/yy
sThousand=,
sTime=:

[TrueType]
FontSmoothing=1

[MCICompatibility]
QTWVideo=0x0001
MCIXSND=0x0001
GDAnim=0x0001

[embedding]
Package=Package,Package,packager.exe,picture
midfile=MIDI Sequence,MIDI Sequence,C:\WINDOWS\mplayer.exe /mid,picture
SoundRec=Wave Sound,Wave Sound,C:\WINDOWS\sndrec32.exe,picture
mplayer=Media Clip,Media Clip,C:\WINDOWS\mplayer.exe,picture
PBrush=Paintbrush Picture,Paintbrush Picture,C:\PROGRA~1\ACCESS~1\MSPAINT.EXE,picture
Paint.Picture=Bitmap Image,Bitmap Image,C:\Progra~1\Access~1\MSPAINT.EXE,picture
Wordpad.Document.1=WordPad Document,WordPad Document,C:\PROGRA~1\ACCESS~1\WORDPAD.EXE,picture
Imaging.Document=Image Document,Image Document,C:\WINDOWS\KodakImg.Exe,picture
WangImage.Document=Image Document,Image Document,C:\WINDOWS\KodakImg.Exe,picture
avifile=Video Clip,Video Clip,C:\WINDOWS\mplayer.exe /avi,picture

[FontSubstitutes]
Helv=MS Sans Serif
Tms Rmn=MS Serif
Times=Times New Roman
Helvetica=Arial
MS Shell Dlg=MS Sans Serif
MS Shell Dlg 2=MS Sans Serif
Monotype.com=Andale Mono

[colors]
Scrollbar=242 241 240
Background=128 64 0
ActiveTitle=128 64 0
InactiveTitle=242 241 240
Menu=230 228 224
Window=255 255 255
WindowFrame=100 100 100
MenuText=0 0 0
WindowText=0 0 0
TitleText=255 255 255
ActiveBorder=192 192 192
InactiveBorder=230 228 224
AppWorkspace=163 155 139
Hilight=203 117 1
HilightText=255 255 255
ButtonFace=230 228 224
ButtonShadow=163 155 139
GrayText=163 155 139
ButtonText=0 0 0
InactiveTitleText=67 78 84
ButtonHilight=242 241 240
ButtonDkShadow=105 105 105
ButtonLight=230 228 224
InfoText=0 0 0
InfoWindow=255 255 225
ButtonAlternateFace=0 0 0
HotTrackingColor=0 102 204
GradientActiveTitle=255 128 0
GradientInactiveTitle=242 241 240

[SmartMon]
Interval=25
Frequency=100
AutoStop=1
UpdateBatch=0
TopMost=0

[Sounds]
SystemDefault=,

[programs]
vncviewer.exe=C:\Program Files\RealVNC\VNC4\vncviewer.exe
WINAMP.EXE=C:\Program Files\Winamp\WINAMP.EXE
[windows]

[Extensions]

vncviewer.exe=C:\Program Files\RealVNC\VNC4\vncviewer.exe

[COMPATIBILITY]
INSTALL=0x00400000

[SciCalc]
layout=0

[WS_FTP]
VERSION=98.03.17
DIR=C:\Program Files\WS_FTP
DEFDIR=C:\Program Files\WS_FTP
GROUP=WS_FTP
INSTOPTS=4

[WS_FTP95]
VERSION=98.03.17

[MSCharMap]
Font=Courier

[ActiveSetup5]
SuState=013200
Unattended=0

system.ini

[boot]
sound.drv=mmsound.drv
*DisplayFallback=0
display.drv=pnpdrvr.drv
drivers=mmsystem.dll power.drv
fonts.fon=vgasys.fon
fixedfon.fon=vgafix.fon
oemfonts.fon=vgaoem.fon
386Grabber=vgafull.3gr
mouse.drv=mouse.drv

[386Enh]
ebios=*ebios
woafont=dosapp.fon
mouse=*vmouse, msmouse.vxd
device=*dynapage
device=*vcd
device=*vpd
device=*int13
display=*vdd,*vflatd
MinSPs=16
ConservativeSwapfileUsage=0
DMABufferSize=64
LocalLoadHigh=0
MaxBPs=16384
MinTimeSlice=15
WindowUpdateTime=
PageBuffers=
MessageBackColor=4
MessageTextColor=F
PagingDrive=Z:
MaxPagingFileSize=35840
original_EMMExclude=<nil>
EMMExclude=a000-ffff

[NonWindowsApp]
TTInitialSizes=4 5 6 7 8 9 10 11 12 13 14 15 16 18 20 22

[drivers]
wavemapper=*.drv
MSACM.imaadpcm=*.acm
MSACM.msadpcm=*.acm
wave=mmsystem.dll
midi=mmsystem.dll

[Password Lists]
.=C:\WINDOWS\000.PWL

[boot.description]
mouse.drv=Standard mouse

[TTFontDimenCache]
0 4=2 4
0 5=3 5
0 6=4 6
0 7=4 7
0 8=5 8
0 9=5 9
0 10=6 10
0 11=7 11
0 12=7 12
0 13=8 13
0 14=8 14
0 15=9 15
0 16=10 16
0 18=11 18
0 20=12 20
0 22=13 22

[drivers32]
msacm.lhacm=lhacm.acm
VIDC.VDOM=vdowave.drv
msacm.msg711=msg711.acm
vidc.CVID=iccvid.dll
VIDC.IV31=ir32_32.dll
VIDC.IV32=ir32_32.dll
vidc.MSVC=msvidc32.dll
VIDC.MRLE=msrle32.dll
VIDC.IV50=ir50_32.dll
msacm.iac2=C:\WINDOWS\SYSTEM\IAC25_32.AX
MSACM.imaadpcm=imaadp32.acm
MSACM.msadpcm=msadp32.acm
MSACM.msgsm610=msgsm32.acm
MSACM.trspch=tssoft32.acm
VIDC.YUY2=msyuv.dll
VIDC.UYVY=msyuv.dll
VIDC.YVYU=msyuv.dll
msacm.l3acm=C:\WINDOWS\SYSTEM\L3CODECA.ACM
VIDC.WMV3=wmv9vcm.dll
vidc.ffds=ff_vfw.dll

Edited by Chozo4
Link to comment
Share on other sites


ShadeTreeLee is right! Q311561 is a must.

Did you try to use Win ME' smartdrv instead?

You're running out of a pen drive, having booted it, right? That's awesome! :thumbup

Well, not quite booted directly off it. It's getting help from a custom bootcd to load USB2 drivers through dos amongst a host of other bits (which is the config.sys up top). Which is then loading windows off the thumbdrive under drive C:

I've not tried the WinME smartdrive. Is there any significant difference between the win98se / winme smartdrv disk cache? Perhaps better handling or even performance?

Also, so far it's working fine at the moment. Trying to stress it a bit and the normal steps I used to reproduce the lockups aren't happening right now (load IE window, open high filecount folder, then copy a folder of 325 midi's to ramdrive which then locksup fully halfway through). I'd disabled the VirtualHDirq and Disabled Protected Mode Harddisk interrupt handling. Seeing how that goes (so far so good) for the moment.

I tried that patch Shadetreelee had linked to - it didn't solve my problem at all (thanks though!). It had still occured untill I started going through some troubleshooting options. Although I'm starting to think it may be driver (or cache clashing between smartdrv/vcache) related as I'm running the CD drive through 32-bit mode and the (thumb)local drive in 16-bit.

Link to comment
Share on other sites

Have you tried other caching software? Perhaps you'll get better results with UIDE (search for it as UDMA on www.freedos.org, the alternate site might still have it, since it has been removed from the main page) or something like that. Notice that UIDE is also a CD/DVD driver, as far as I remember, so you should remove OAKCDROM.SYS from config.sys if you decide to try.

(Btw, why are you using MSCDEX.EXE? Doesn't the Windows ATAPI driver override that? Besides, wouldn't using SHSUCDX be better, conventional memory-wise?)

Link to comment
Share on other sites

(Btw, why are you using MSCDEX.EXE? Doesn't the Windows ATAPI driver override that? Besides, wouldn't using SHSUCDX be better, conventional memory-wise?)

Precisely because of it: Win 98SE knows how to override MSCDEX, hence Win 98SE loads 32-bit file access for the CD/DVD drive, once it starts. SHSUCDX is better, faster and more carefully written, but Win 98SE knows nothing about it, so cannot override it, and the result is having compatibility mode for the CD/DVD drive... ;)

Edited by dencorso
Link to comment
Share on other sites

  • 1 month later...

Anonymous author of several patches sent this about Win98 SE Smartdrv:

Another not so recent MSFN post asks about the differences between Win98 and WinMe SMARTDRV.EXE.

The answer is: no performance improvements, etc. just a bug fix. Win98 SMARTDRV.EXE has a nasty bug and one would

hope the software engineer responsible for that bug no longer codes at M$.

I have seen this type of bug in several Win9x executables now.

Therefore, if using Windows 95, 98 or 98 SE [any edition] and/or MS-DOS 5/6/7/8, I strongly recommend to install the fixed SMARTDRV.EXE from WinME, which is also installed by 98SE2ME options 1 + 2:

http://www.mdgx.com/98-5.htm#KRM9S

Windows ME setup CD-ROM is needed to copy SMARTDRV.EXE to your hard drive.

HTH

Link to comment
Share on other sites

...just a bug fix. Win98 SMARTDRV.EXE has a nasty bug and one would hope the software engineer responsible for that bug no longer codes at M$.

I have seen this type of bug in several Win9x executables now.

Hi MDGx,

Any chance of getting more information on 'this type of bug' in several 9x exes? Which exes?

I'm interested now! :sneaky:

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...