Chinaunix首页 | 论坛 | 博客
  • 博客访问: 188326
  • 博文数量: 63
  • 博客积分: 725
  • 博客等级: 军士长
  • 技术积分: 375
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-12 19:55
文章分类

全部博文(63)

文章存档

2012年(35)

2011年(28)

分类:

2012-02-21 23:44:27

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。
 
 
 
阅读(992) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~