uevent专题

Android uevent机制

http://blog.chinaunix.net/uid-25581264-id-3389750.html

android UEvent剖析

Uevent是内核通知android有状态变化的一种方法,比如USB线插入、拔出,电池电量变化等等。其本质是内核发送(可以通过socket)一个字符串,应用层(android)接收并解释该字符串,获取相应信息。 一、Kernel 部分: UEVENT的发起在Kernel端,主要是通过函数 int kobject_uevent_env(struct kobject *kobj,

浅析libusb控制接口和mountd守护进程处理uevent切换usb设备的实现

浅析libusb控制接口和mountd守护进程处理uevent切换usb设备的实现 1. UMS mode (USB Mass-Storage mode) [ums] 2. 从usb_gadget_register_driver的实现来看,insmod xxx.ko,然后重新插拔一下usb cable,那么pc再次枚举到的设备就是insmod xxx.ko对应的设备了[luther.gliet

《Linux设备节点创建》内核kobject上报uevent过滤规则

说明:本文基于Android2.3和Linux2.6,其余版本仅供参考。 Android2.3及Linux2.6.29内核模拟器版本编译与调试 阅读本文前请阅读:Linux总线、设备、驱动与设备节点创建、用户测试程序  一、netlink监听程序 testnet.c #include <stdio.h>#include <stdlib.h>#include <string.h>#

Linux 设备模型浅析之 uevent 篇

Linux 设备模型,仅仅看理论介绍,比如 LDD3 的第十四章,会感觉太抽象不易理解,而 通过阅读内核代码就更具体更易理解,所以结合理论介绍和内核代码阅读能够更快速的理解掌 握 linux 设备模型。这一序列的文章的目的就是在于此,看这些文章之前最好能够仔细阅读 LDD3 的第十四章。 uevent ,即 user space event ,就是内核

Linux设备模型(五) - uevent kernel实现

1. Uevent的功能 Uevent是Kobject的一部分,用于在Kobject状态发生改变时,例如增加、移除等,通知用户空间程序。用户空间程序收到这样的事件后,会做相应的处理。 该机制通常是用来支持热拔插设备的,例如U盘插入后,USB相关的驱动软件会动态创建用于表示该U盘的device结构(相应的也包括其中的kobject),并告知用户空间程序,为该U盘动态的创建/dev/目录下的设备节

Linux设备模型(四) - uevent应用:内核发送uevent,用户空间接收uevent

1,内核发送uevent 内核发送uevent的API由lib/kobject_event.c文件实现,include/linux/kobject.h是头文件。 enum kobject_action {KOBJ_ADD,KOBJ_REMOVE,KOBJ_CHANGE,KOBJ_MOVE,KOBJ_ONLINE,KOBJ_OFFLINE,KOBJ_MAX};/* kobject_uevent

中断 Uevent

一、概述       添加一个新的硬件设备,使应用层能响应该硬件的设备状态变化。 二、分析 (1)Kernel层     告诉操作系统该硬件所占用的中断号,注册中断,定义中断处理程序。这样系统就能支持该设备的中断。 1.注册中断 ret = switch_dev_register(&Hook_dev.sdev); 该函数执行后生成设备文件和及其节点。 2.中断服务程序    在

嵌入式 linux下kernel中kobject之kobject_uevent.c文件分析

struct      kset_uevent_ops {        int                 (*filter)(struct kset *kset, struct kobject *kobj);          //过滤函数,kset中的kobj是否需要处理        const char      *(*name)(struct kset *kset, struc