Board logo

标题: 【紧急求救】PS2键盘影响网卡驱动加载的问题 [打印本页]

作者: emo     时间: 2007-7-2 11:24    标题: 【紧急求救】PS2键盘影响网卡驱动加载的问题

一台电脑出现这样一个怪问题:

A:插上PS2键盘启动,网卡驱动会按照批处理的设置加载到高端内存,基本内存剩余511K。

B:使用中为了防止误操作,故要求本机不带键盘,但是发现不带PS2键盘启动,启动后自动执行的应用程序会提示内存不足。这时插上键盘用 mem 命令查看内存占用情况发现空闲基本内存只有466K。

C:在A、B两种情况下分别使用 mem /c /p 命令,这时会发现在没有插PS2键盘的时候(B情况),网卡驱动没有加载到高端内存,而是占用了基本内存,导致基本内存剩余只有466K,这样我的应用程序就运行不起来了。

请教众位高手,怎样解决这个问题?

先谢了!


附件1:Autoexec.bat文件内容如下:

@ECHO OFF
PROMPT $p$g
LH /L:0 C:\DOS\SMARTDRV.EXE /X
PATH C:\DOS;C:\PCTCP;C:\UCDOS;C:\BC31\BIN;C:\TOOLS;
SET TEMP=C:\DOS

rem C:\PCTCP\RTSPKT.COM 0x60

LH /L:1,18880 C:\PCTCP\LSL.COM
LH /L:1,41024 C:\PCTCP\E1000ODI.COM
LH /L:2,7008 C:\PCTCP\ODIPKT.COM

SET PCTCP=C:\PCTCP\PCTCP.INI
C:\PCTCP\ETHDRV.EXE

C:\SNDDRV\SETAUDIO
SET BLASTER=A220 I5 D1 H5 T4
C:\SNDDRV\C3DMIX /MFF000 /FFF000 /WFF000 /L00100 /E00100 /A00100 /C00100 /P00000 /400000 /R0f0ff /D040ff /Q0  


附件2:Config.sys文件内容如下:

DEVICE=C:\DOS\HIMEM.SYS /TESTMEM:OFF
DEVICE=C:\DOS\EMM386.EXE NOEMS D=64
BUFFERS=20,0
FILES=40
DOS=UMB
LASTDRIVE=Z
FCBS=4,0
rem DEVICE=C:\DOS\CHKSTATE.SYS /S:FR1 /27920
DOS=HIGH


附件3:有PS2键盘时启动后的内存占用情况如下:

Modules using memory below 1 MB:

  Name           Total       =   Conventional   +   Upper Memory
  --------  ----------------   ----------------   ----------------
  MSDOS       16,845   (16K)     16,845   (16K)          0    (0K)
  HIMEM        1,120    (1K)      1,120    (1K)          0    (0K)
  EMM386       3,120    (3K)      3,120    (3K)          0    (0K)
  COMMAND      2,928    (3K)      2,928    (3K)          0    (0K)
  SMARTDRV    29,024   (28K)     29,024   (28K)          0    (0K)
  ETHDRV      54,304   (53K)     54,304   (53K)          0    (0K)
  LSL          5,376    (5K)          0    (0K)      5,376    (5K)
  E1000ODI    41,040   (40K)          0    (0K)     41,040   (40K)

  ETHDRV      20,656   (20K)          0    (0K)     20,656   (20K)
  ODIPKT       3,056    (3K)          0    (0K)      3,056    (3K)
  Free       537,920  (525K)    523,264  (511K)     14,656   (14K)

Memory Summary:

  Type of Memory       Total   =    Used    +    Free
  ----------------  ----------   ----------   ----------
  Conventional         630,784      107,520      523,264
  Upper                 84,784       70,128       14,656
  Reserved                   0            0            0
  Extended (XMS)    66,958,544    2,446,544   64,512,000
  ----------------  ----------   ----------   ----------
  Total memory      67,674,112    2,624,192   65,049,920

  Total under 1 MB     715,568      177,648      537,920

  Largest executable program size        522,896   (511K)
  Largest free upper memory block         13,168    (13K)
  MS-DOS is resident in the high memory area.


附件4:没有PS2键盘时启动后的内存占用情况如下:

Modules using memory below 1 MB:

  Name           Total       =   Conventional   +   Upper Memory
  --------  ----------------   ----------------   ----------------
  MSDOS       16,845   (16K)     16,845   (16K)          0    (0K)
  HIMEM        1,120    (1K)      1,120    (1K)          0    (0K)
  EMM386       3,120    (3K)      3,120    (3K)          0    (0K)
  COMMAND      2,928    (3K)      2,928    (3K)          0    (0K)
  SMARTDRV    29,024   (28K)     29,024   (28K)          0    (0K)
  LSL          5,376    (5K)      5,376    (5K)          0    (0K)
  E1000ODI    41,008   (40K)     41,008   (40K)          0    (0K)

  ETHDRV      54,304   (53K)     54,304   (53K)          0    (0K)
  ODIPKT       3,056    (3K)          0    (0K)      3,056    (3K)
  ETHDRV      20,656   (20K)          0    (0K)     20,656   (20K)
  Free       525,616  (513K)    476,880  (466K)     48,736   (48K)

Memory Summary:

  Type of Memory       Total   =    Used    +    Free
  ----------------  ----------   ----------   ----------
  Conventional         630,784      153,904      476,880
  Upper                 72,448       23,712       48,736
  Reserved                   0            0            0
  Extended (XMS)    66,970,880    2,446,592   64,524,288
  ----------------  ----------   ----------   ----------
  Total memory      67,674,112    2,624,208   65,049,904

  Total under 1 MB     703,232      177,616      525,616

  Largest executable program size        476,368   (465K)
  Largest free upper memory block         29,344    (29K)
  MS-DOS is resident in the high memory area.


注意观察上面红色的部分,有键盘时占用高端内存,无键盘时占用基本内存。
作者: emo     时间: 2007-7-3 09:09
这么多人看过了,难道没有一点建议吗?
作者: Climbing     时间: 2007-7-3 11:24
不懂。既然如此,就用ps/2键盘好了。
作者: emo     时间: 2007-7-3 14:50
使用中要求不能有键盘插在电脑上,所以必须解决这个问题。
作者: 本是     时间: 2007-7-3 15:40
"网卡驱动没有加载到高端内存,而是占用了基本内存,导致基本内存剩余只有466K"
加载网卡驱动时,用的是DEVICE还是DEVICEHIGH?

CONFIG.SYS、AUTOEXEC.BAT的内容怎么不贴出来好让别人分析?
作者: emo     时间: 2007-7-3 16:23


  Quote:
Originally posted by 本是 at 2007-7-3 15:40:
"网卡驱动没有加载到高端内存,而是占用了基本内存,导致基本内存剩余只有466K"
加载网卡驱动时,用的是DEVICE还是DEVICEHIGH?

CONFIG.SYS、AUTOEXEC.BAT的内容怎么不贴出来好让别人分析?

问题及相关情况已经补全,还请众位高手指点迷津。再谢!

[ Last edited by emo on 2007-7-3 at 04:33 PM ]
作者: Climbing     时间: 2007-7-4 08:36
试试把EMM386.exe从config.sys中去掉,一般情况下,emm386不是必需的了吧?
作者: emo     时间: 2007-7-4 09:19
回楼上,EMM386还是需要的,原因如下:

lh [程序]  将程序装入高端内存

使用此命令时,config.sys文件中需有下面两条语句:
device=emm386.exe  
dos=umb