buildroot系统调试苹果手机网络共享功能

这篇具有很好参考价值的文章主要介绍了buildroot系统调试苹果手机网络共享功能。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

苹果手机usb共享网络调试

  • 首先了解usb基础知识,比如usb分为主设备和从设备进行通信,

1.HOST模式下是只能做主设备,

2.OTG模式下是可以即做主又可以做从,主设备即HCD,从设备即UDC(USB_GADGET )。而我们这里调试的usb网络共享属于做从设备,

3.OTG控制器集成在CPU内,当有OTG线插入OTG设备时产生中断,中断处理函数上半部通过读取OTG控制器寄存器相应值判断OTG设备属于Host(HCD)还是Gadget(UDC),下半部通过工作队列由回调函数类似host->resume()或gadget->resume()重启Host或Gadget控制器,resume()具体的实现过程在HCD或UDC相关驱动里实现

4.USB_GADGET介绍:

 Gadget源码位于./drivers/usb/gadget/下,涉及的驱动程序和数据结构相对较多。

USB Gadget 是运行在USB Peripheral 上配置USB功能的子系统,正常可被枚举的USB设备至少有3层逻辑

层,有些功能还会在用户空间多跑一层逻辑代码。Gadget API就是具体功能和硬件底层交互的中间层。

从下到上,逻辑层分布为:

USB Controller: USB上最底层的软件代码,直接与硬件交互,并抽象出endpoint概念,用于管理数

据流的进出,并供给USB Gadget层调用。

USB Gadget: 进一步封装USB Controller,调用USB Controller实现硬件无关的软件配置。例如,在

ep0协议上运行各种class-specific协议来启动特定功能,并管理端点的进出信息等。

Upper Level: 大部分的Gadget驱动都会连接到具体的Linux驱动或框架,通过连接这些具体功能的驱

动或框架让USB正常工作。

Additional Layers: 除开以上3层代码,还有可能有其他多出的代码层,比如kernel里的网络协议栈,

也有可能是一个用户上层应用,通过调用POSIX系统的标准接口实现,如 open() , close() ,

read() and write()

  • 内核具体代码修改及调试步骤
  1. 根据上面分析我们是要使能usb_gadget子系统,修改menuconfig打开usb_gadget,如下:
  2. buildroot系统调试苹果手机网络共享功能

 

需要设置我们插入设备的usb口输入的usb控制器为otg模式如下:

buildroot系统调试苹果手机网络共享功能

 

  1. 通过代码及资料知道,rk3399sdk是支持以下功能:

 ADB:是一种功能多样的命令行调试工具,可以实现文件传输,Unix Shell登录等功能

 UAC:通过USB虚拟标准PCM接口给Host设备,实现DeviceHost之间音频互传功能

 UVC:做usb video camera供主设备获取图像数据

 RNDIS:提供基于USB的网络接口规范,可以使用网络命令(SSH等)实现DeviceHost的数据交互

MTP:是由Microsoft提出的一套媒体文件传输协议,可以方便的在DeviceHost之间共享媒体文件

UMS:Host设备提供大容量外挂存储

ACM:USB虚拟串口,在Device/Host两端生成TTY设备

  1. 我们这里usb网络共享功能属于rndis功能范畴,需要打开linux默认支持的驱动:

buildroot系统调试苹果手机网络共享功能

 

  1. 我们内核是kernel4.4带的ipheth.c是不够新的,我们通过反复对比测试,需要跟新驱动,去内核官网下载5.1最新的代码,进行比较同步,部分diff如下:

buildroot系统调试苹果手机网络共享功能

 

  1. 因为我们的usb口是typec口,所以需要支持typec协议,这里配置fusb302默认为DRP即可:

buildroot系统调试苹果手机网络共享功能

 

到此内核代码修改完成(Android手机usb网络共享即可支持)。而想要能与苹果手机进行网络共享,还需要专门针对苹果手机的应用程序去匹配。

  • 应用程序代码添加
  1. 通过网络以及github查询,我们若要支持苹果手机usb网络共享需要添加如下库和执行程序:
  2. buildroot系统调试苹果手机网络共享功能

 

具体package添加修改如下:

buildroot系统调试苹果手机网络共享功能

 

buildroot系统调试苹果手机网络共享功能

 

buildroot系统调试苹果手机网络共享功能

 

进入系统后,默认执行 /usr/sbin/usbmuxd &即可支持我们设备接上苹果手机即可通过usb网络共享功能文章来源地址https://www.toymoban.com/news/detail-484495.html

到了这里,关于buildroot系统调试苹果手机网络共享功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • iPhone苹果手机地震预警功能怎么开启?

    iPhone苹果手机地震预警功能怎么开启? 1、打开iPhone苹果手机设置; 2、在iPhone苹果手机设置内找到辅助功能; 3、在辅助功能内找到触控; 4、在iPhone苹果手机辅助功能触控内找到振动,如果是关闭状态请启; 开启功能说明:此开关关闭时,iPhone上包括地震、海啸和其他紧急

    2024年02月14日
    浏览(37)
  • webadb通过usb调试功能操作手机

    谷歌浏览器 windows11系统 红米手机(只要是智能机,机型不重要。不过请确保打开开发者模式里面的usb调试) 本人使用的浏览器是谷歌浏览器(火狐也行,其他的没试过,但谷歌肯定行) 其次请确保手机开发者模式里面打开usb调试 最后请用数据线连接电脑和手机。(有的数据

    2024年02月12日
    浏览(38)
  • 苹果14手机网络信号不好尝试性解决办法

    苹果手机一直以来最被人诟病的话题就是电池和信号,电池续航差和手机信号不好是一直以来的槽点,现在电池续航能力已经改善了很多,但是信号问题貌似一直没有大的改变,苹果14手机信号不好怎么办,下面有几种尝试性的办法解决如下: 1.解锁手机,依次点击设置——

    2024年02月13日
    浏览(37)
  • 苹果手机无法更新系统问题

    有些苹果手机,打开设置-通用-软件更新显示iOS已是最新版本。然而其它人的手机已经有更新的版本可以更新。 造成这个问题的原因有两个: 第一个是:苹果不支持该设备更新了。如iPhone SE及更老的手机不支持升级到iOS10。具体查看苹果每次系统大版本更新时,苹果官网公布

    2024年02月13日
    浏览(23)
  • 苹果最新系统iOS 17的调试和适配方法 - Xcode 14.3.1 真机调试指南

    最近苹果发布了iOS 17作为其最新操作系统版本,作为开发者,你可能需要了解如何在Xcode 14.3.1中进行真机调试和适配。本文将为你详细介绍步骤和注意事项。 I. 检查Xcode版本 在开始之前,确保你已经安装了Xcode 14.3.1或更高版本。你可以在Xcode菜单中选择\\\"关于Xcode\\\"来查看具体版

    2024年01月17日
    浏览(33)
  • 电脑通过usb共享网络给手机上网

    背景:手机无流量,电脑有网,想通过电脑共享网络给手机,在网络找了好几篇教程,但不够详细,或者就是手机USB共享网络给电脑的文章。 其他:通过该方法,手机流量全部走电脑宽带,甚至手机开飞行模式也可正常浏览网页。在工作上,通过该方法还可以捉手机上app的数

    2024年02月09日
    浏览(43)
  • 苹果iPhone手机iOS17系统怎么下载安装更新iPhone苹果ios17系统?

    苹果iPhone手机iOS17系统怎么下载安装更新iPhone苹果ios17系统? 1、在苹果iPhone手机上,找到并打开【设置】; 2、打开设置后,找到并点击进入【通用】; 3、在通用内找【软件更新】并点击进入; 4、在软件更新内找到并点击【Beta版更新】,选择【iOS17】;  5、选择iOS17后,点击

    2024年02月12日
    浏览(42)
  • 【教程】如何在苹果手机上查看系统文件?

    ​ 目录 引言 用户登录工具和连接设备 查看设备信息,电池信息 查看硬盘信息 硬件信息 查看 基带信息 销售信息 电脑可对手机应用程序批量操作 运行APP和查看APP日志 IPA包安装测试 注意事项 苹果手机与安卓手机不同,无法直接访问系统文件夹。但是,如果我们想要查看苹

    2024年01月24日
    浏览(30)
  • iPhone苹果下载skype for business和skype有什么区别?苹果iPhone手机iOS系统如何下载Skype到iPhone苹果手机?

    skype for business和skype有什么区别? 在国内iPhone苹果手机App Store上搜索:Skype,找不到真证的Skype,只能找到skype for business(以前称为Lync 2013); 而skype for business却不是一部分人要找到Skype。如何找到真证的Skype,那么需要大家按下面的教程操作; iPhone苹果手机如何下载Skype到苹

    2024年02月09日
    浏览(38)
  • 苹果手机的ios系统ipa应用app文件怎么安装手机上

    当您有一个.ipa安装包时,您可以使用以下方法将其安装到手机上: 方法1:使用Xcode 连接设备:使用USB将您的iPhone或iPad设备连接到您的电脑。 打开Xcode:打开Xcode开发工具。 选择设备:在Xcode的顶部工具栏中,选择您连接的设备作为目标设备。 导入.ipa文件:在Xcode左侧导航栏

    2024年02月04日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包