Android下USBpppd实现方案.docVIP

  • 31
  • 0
  • 约小于1千字
  • 约 2页
  • 2017-06-08 发布于重庆
  • 举报
Android下USBpppd实现方案

Android下的USB pppd实现方案 目标: 实现AP或/和modem睡眠唤醒后,依然能正常上网。 当前困难: 在MODEM进入睡眠后,USB所创建的usbtty0,1,2,3均丢失,但PPPD不会释放usbtty0的句柄,导致重新唤醒后,pppd所持有的句柄无效,导致通讯不能正常。 方案一:增加一个虚拟驱动 实现方法: 增加一个虚拟驱动,该驱动负责将PPPD的数据包转发给modem 通过USB口 ,并将modem的数据透明传输给上层应用。当pppd试图传输数据给modem的时候,它会把数据发给Trans Drvier,此driver会判断usbtty0是否被打开,如果没有打开,则打开它;当系统进入睡眠的时候,TransDrv释放掉Usbtty0的句柄。这样,在modem能够保持住链路的情况下,系统唤醒后,pppd依然可以传输数据给modem 优点: 可行 缺点: 方案二:pppd控制usbtty0的节点 实现方法: 在系统进入睡眠的时候,通知pppd应用,使得pppd在系统睡眠前释放掉usbtty0的句柄,唤醒后,再重新open此句柄 优点: 简单明了 当前困难: 我们对Android系统不熟悉,尤其上层 方案三:修改USB驱动,使得USB在休眠唤醒过程中不枚举USBTTY 当前困难: 难度很大 Android APP PPPD Kernel USBSerial0 USBSerial1 USBSerial2-3 MODEM USBSerial2-3 Kernel RIL/MUX PPPD RIL/MUX Android APP USB Trans Driver USBSerial1 USBSerial0 USB MODEM

文档评论(0)

1亿VIP精品文档

相关文档