现在的位置: 首页 > 综合 > 正文

hotplug

2013年08月09日 ⁄ 综合 ⁄ 共 1301字 ⁄ 字号 评论关闭

英语我是很烂的,但是不练就提不高。请大家将就下,并提出意见。谢谢。

hotplug.txt

内容:

LINUX热插拔
在USB之类支持热插拔的总线上,上电后的设备将被注册在总线上。很多时候,用户想要设备能立即可用,这意思是说系统需要做一些事情,包括:
1。查找一个驱动能与设备相匹配,包括加载内核模块,新的驱动能使用 modeule-init-tools 支持用户正常使用。
2。将设备与驱动绑定。总线框架将调用此设备驱动的proble()函数。
3。告诉其它子系统去配置这新设备,打印队列可能需要被使能。网络打开,硬盘分区挂载,等等。一些情况下他将被driver-specific调用。

这包括一个最小内核模式和用户模式动作。这设备能立即可用的意思是所有用户模式的操作不能等着他们管理:这内核需要去触发他们,两者被动(触发监控后台程序调用一个帮助程序)主动(直接调用用户空间的帮助程序)。被触发的动作必需能支持系统的管理模块。
这会有诸如“policy agents”之类的程序被调用,比如会调用一些脚本分派一些熟悉的管理工具。

因为一些调用依赖驱动提供的信息,所以  只有当这个驱动被动态链接时普通是可用的,当你配置一个高标准的系统时you get the best hotpluggin.

KERNEL HOTPLUG HELPER (/sbin/hotplug)
当你在编译内核的时候打开CONFIG_HOTPLUG这个宏时,你将得到一个新的内核参数:
/proc/sys/kernel/hotplug,正常情况下会放在/sbin/hotplug.这是一个在很多时候可以被内核调用的程序。

 

hotplug和其它可用的资源放在:

http://linux-hotplug.sourceforge.net

 

邮件列表也挂在这个网站上。

 

USB POLICY AGENT

 

当往系统中加入或者移出USB设备时,USB子系统将会调用/sbin/hotplug。调用者是一个叫hub的后台线程[khubd],或者是根HUB的其它初始化部分。(done by init, modprobe, kapmd, etc),信号命令行参数是是"usb"这个字符串。他传递这么一些环境变量:

    ACTION ... "add", "remove"
    PRODUCT ... USB vendor, product, and version codes (hex)
    TYPE ... device class codes (decimal)
    INTERFACE ... interface 0 class codes (decimal)

 

如果"usbdevfs"已经被配置好,设备和设备文件系统也被传递好了。这device的路径名是DEVICE,可用于多种设备和/或
候补接口复杂驱动的选择,USB热插拔的的“usbdevfs”是独立的,不使用文件系统你也可以对USB设备的基本部分做设置,并在运行中的用户模式后台检测系统配置的变化。

现有的policy agent可以实现驱动程序的加载,并可以调用驱动程序指定的安装脚本.USB module-init-tools 支持最新的功能。之后policy agent可以卸载驱动程序。

【上篇】
【下篇】

抱歉!评论已关闭.