open_rndis.lua 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. --[[
  2. @module open_rndis
  3. @summary rndis 服务启动功能模块
  4. @version 1.0
  5. @date 2025.08.25
  6. @author 拓毅恒
  7. @usage
  8. 用法实例
  9. 启动 RNDIS 服务
  10. - 运行 rndis_task 任务,来执行开启 RNDIS 的操作。
  11. - RNDIS 需要在飞行模式下开启,所以首先进入飞行模式。
  12. - 进入飞行模式后,使用 mobile.config(mobile.CONF_USB_ETHERNET, 3) 来启用 RNDIS 功能。
  13. 注:在v2013以下固件使用mobile.config()的返回值有bug,无论是否开启成功,返回值均为false,需要烧录V2013及以上固件才能完整验证此功能。
  14. 本文件没有对外接口,直接在 main.lua 中 require "open_rndis" 即可加载运行。
  15. ]]
  16. -- 运行 RNDIS 模式任务
  17. local function rndis_task()
  18. -- 初始化重试计数器,用于记录进入飞行模式失败的重试次数
  19. local count = 0
  20. -- 尝试进入飞行模式,获取操作结果标志
  21. local fly_sign = mobile.flymode(0, true)
  22. -- 判断是否成功进入飞行模式
  23. if fly_sign then
  24. log.info("进入飞行模式成功,打开RNDIS模式")
  25. -- 调用 mobile.config 函数启用 RNDIS 功能
  26. log.info("我看看 RNDIS 是否启动成功:", mobile.config(mobile.CONF_USB_ETHERNET, 3))
  27. log.info("退出飞行模式")
  28. mobile.flymode(0, false)
  29. else
  30. log.info("进入飞行模式失败")
  31. end
  32. end
  33. -- 初始化一个系统任务,执行 rndis_task 函数
  34. sys.taskInit(rndis_task)