USB mass storage porting
一、基本检测原理
当usb插入时kenel会通过NETLINK机制向vold发消息。vold会调用NetlinkHandler:onEvent()进行处
理。这些event分block,switch,battery,power_supply,其中block指的是usb/sdcard这一类
usbmassstorage; switch指的是headset,usb wire这类设备。
这时会调到VolumeManager::handleBlockEvent()处理.
二、流程分析
USB mass storage也是通过Vold来连接到PC的。
Vold会读取/sys/devices/virtual/switch/usb_mass_storage/state的状态,这个状态是online或
offline。
根据状态的不同调用vm->notifymsConnected()发送信息到socket;
然后MountService和VolumeManager会处理相关信息。
如果处理成功,会连接/sys/devices/platform/fsl-usb2-udc/gadget/lun0/file到PC。
阅读(3941) | 评论(0) | 转发(1) |