阅读:1280回复:7
系统如何找到一个新设备???!!!
各位大侠:
俺对系统启动时对硬件的检查的理解是这样: 系统开机后,BIOS扫描所有的总线,从总线号0到总线号n,直到全部找完,当BIOS发现一个总线号上有设备,就通过总线上的配置信息(该配置信息由设备上附带的EEPROM提供)向该设备分配一定量的内存空间,BIOS分配内存的过程是针对所有的设备,包括新设备和以前安装了驱动程序的设备。不知俺的理解对否? 俺想问的是系统如何区分没有安装的驱动程序的新设备和已经安装了驱动程序的旧设备???通过什么机制使进入操作系统后在桌面弹出一个发现新硬件的对话框,并要求安装驱动程序??? 谢谢!!! |
|
最新喜欢:![]() |
沙发#
发布于:2003-01-17 12:48
PCI系统的配置石油系统完成,当任何总线驱动程序生成了系统的INF文件中没有的PNP ID,系统就会显示发现新硬件对话框。
|
|
板凳#
发布于:2003-01-20 11:14
SETUP OS时:
BIOS检查生成一堆信息. OS SETUP BOOT, 根据信息生成REG ENTRY. 查找DRIVER LIBRARY. 生成对应的项, COPY文件到DRIVER目录. 一般情况下, 所有的LEAGACY DEVICE必须在这时刻完成配置. 否则就无法被识别. 这就是安装好的OS无法直接拔硬盘到另外一种机器上跑的原因. OS已经跑了: ROOT ENUMERATOR查找LEAGACY DEVICE. LOAD BUS DRIVER. BUS DRIVER查找自己BUS上的DEVICE. 向PNP MGR汇报. PNP MGR统一处理LOAD DRIVER. 发现有DEVICE无法找到DRIVER. 就不去处理. USER MODE的PNP MANAGER SERVICE启动后,保存这些没有DRIVER的设备信息. 等到等同于ADMIN的USER登录后, 弹出ADD DEVICE的对话框. 提示要驱动. |
|
|
地板#
发布于:2003-01-22 10:55
讲的非常好。有没有办法手工让系统去枚举总线上的设备呢? :o
|
|
地下室#
发布于:2003-01-22 12:33
在设备管理器中,在某个总线设备上点击右键,有一个扫描设备选项
|
|
5楼#
发布于:2003-01-22 13:13
没用,如果停用了一个USB设备以后,只有重新拨插设备才能让系统识别出来。有什么办法吗? :(
|
|
6楼#
发布于:2003-01-22 16:47
那是因为电气信号并没有消失. 所以OHCI并没有向PNP MGR报告DEVICE REMOVEL的结果. 既然没有REMOVEL, OHCI就不汇报发现. 没有发现, 后面的DRIVER也不会去DETECT DEVICE的存在. 如果当用户一要REMOVE DEVICE, OHCI立刻干掉对应DEVICE的信息的话, 那个电气信号会立刻导致DEVICE ARRIVAL, 那就永远卸载不了了.
|
|
|
7楼#
发布于:2003-01-22 22:19
那是因为电气信号并没有消失. 所以OHCI并没有向PNP MGR报告DEVICE REMOVEL的结果. 既然没有REMOVEL, OHCI就不汇报发现. 没有发现, 后面的DRIVER也不会去DETECT DEVICE的存在. 如果当用户一要REMOVE DEVICE, OHCI立刻干掉对应DEVICE的信息的话, 那个电气信号会立刻导致DEVICE ARRIVAL, 那就永远卸载不了了. 那是不是说没有办法对停用的即插即用设备进行手工的检索呢? |
|