全志 Tina 系统的 USB Gadget 配置方法,随笔记录,实测为 R311 平台,其它平台应该通用。 

一、配置内核

二、编译驱动并加载

# UAC
insmod usb_f_uac1.ko
# NCM
insmod u_ether.ko
insmod usb_f_ncm.ko
# ACM
insmod u_serial.ko
insmod usb_f_acm.ko
insmod usb_f_serial.ko

三、USB 串口、USB 声卡、ADB 三者共存配置

rm /sys/kernel/config/usb_gadget/g1/configs/c.1/f*
echo 0x18d1 > /sys/kernel/config/usb_gadget/g1/idVendor
echo 0x2d05 > /sys/kernel/config/usb_gadget/g1/idProduct
mkdir /sys/kernel/config/usb_gadget/g1/functions/ffs.adb
mkdir /sys/kernel/config/usb_gadget/g1/functions/uac1.gs0
mkdir /sys/kernel/config/usb_gadget/g1/functions/acm.usb0
ln -s /sys/kernel/config/usb_gadget/g1/functions/uac1.gs0 /sys/kernel/config/usb_gadget/g1/configs/c.1/f0
ln -s /sys/kernel/config/usb_gadget/g1/functions/acm.usb0/ /sys/kernel/config/usb_gadget/g1/configs/c.1/f1
ln -s /sys/kernel/config/usb_gadget/g1/functions/ffs.adb /sys/kernel/config/usb_gadget/g1/configs/c.1/f2
ls /sys/class/udc/ | xargs echo > /sys/kernel/config/usb_gadget/g1/UDC

四、USB 网卡、USB 声卡、ADB 三者共存配置

rm /sys/kernel/config/usb_gadget/g1/configs/c.1/f*
echo 0x18d1 > /sys/kernel/config/usb_gadget/g1/idVendor
echo 0x2d05 > /sys/kernel/config/usb_gadget/g1/idProduct
mkdir /sys/kernel/config/usb_gadget/g1/functions/ffs.adb
mkdir /sys/kernel/config/usb_gadget/g1/functions/uac1.gs0
mkdir /sys/kernel/config/usb_gadget/g1/functions/ncm.usb0
ln -s /sys/kernel/config/usb_gadget/g1/functions/uac1.gs0 /sys/kernel/config/usb_gadget/g1/configs/c.1/f0
ln -s /sys/kernel/config/usb_gadget/g1/functions/ncm.usb0/ /sys/kernel/config/usb_gadget/g1/configs/c.1/f1
ln -s /sys/kernel/config/usb_gadget/g1/functions/ffs.adb /sys/kernel/config/usb_gadget/g1/configs/c.1/f2
ls /sys/class/udc/ | xargs echo > /sys/kernel/config/usb_gadget/g1/UDC

设备端需要设置好网卡的 IP 地址,才能双向通信:

ifconfig usb0 192.168.3.2 up

【随笔记】Tina 系统的 ADB、声卡、网卡、串口多路共存的更多相关文章

  1. Linux系统运维笔记(6),CentOS 7.6双网卡路由配置

    Linux系统运维笔记(6),CentOS 7.6双网卡路由配置. 一,先确认系统版本: [root@localhost ~]# cat /etc/redhat-releaseCentOS Linux ...

  2. (九)全志平台Tina系统量产前adb shell设密码的方法

    全志平台Tina系统量产前adb shell设密码的方法[适用范围] 全志平台Tina系统 [问题现象] 通常产品量产后都想要以安全方式封闭adb shell,不允许用户或其他开发者使用,因此需要以安 ...

  3. 自己动手在win2003系统中添加虚拟网卡

    运用虚拟网卡我们可以更好地使用我们的网络,那么在win2003中该怎么操作呢?下面就为大家介绍下具体的步骤   虚拟网卡是用软件来实现虚拟的网卡,通过运用虚拟网卡我们可以更好地使用我们的网络.但是虚拟 ...

  4. 06 自学Aruba之win7系统802.1x认证网卡设置指导

    点击返回:自学Aruba之路 06 自学Aruba之win7系统802.1x认证网卡设置指导 步骤1.在桌面任务栏找到“打开网络和共享中心”,点击进入: 步骤2.点击“管理无线网络”,进入无线网络配置 ...

  5. Symfony2 学习笔记之系统路由

    mfony2 学习笔记之系统路由   漂亮的URL绝对是一个严肃的web应用程序必须做到的,这种方式使index.php?article_id=57这类的丑陋URL被隐藏,由更受欢迎的像 /read/ ...

  6. Linux学习笔记-Linux系统简介

    Linux学习笔记-Linux系统简介 UNIX与Linux发展史 UNIX是父亲,Linux是儿子. UNIX发行版本 操作系统 公司 硬件平台 AIX IBM PowerPC HP-UX HP P ...

  7. 查看linux 系统 当前使用的网卡

    使用ifconfig命令查看到linux 系统有三个网卡 ,其实我只要其中一个启用就可以了,用什么命令查看或者切换网卡,或者停用掉其他两个网卡? watch cat /proc/net/dev 看下哪 ...

  8. CentOS7.7 系统下 virbr0 虚拟网卡的维护与管理

    在 CentOS 7 系统的安装过程中,如果有选择相关虚拟化的的服务安装系统后,启动网卡时会发现有一个以网桥连接的私网地址的 virbr0 网卡,这个是因为在虚拟化中有使用到 libvirtd 服务生 ...

  9. 循环渐进linux笔记——linux系统基本机构

    第一篇 linux的基础介绍 1.linux是一个支持多用户多任务的超棒系统,它具由六个字符控制台,每个控制台都能独立作业,不会互相影响,如果需要在几个字符控制台互相切换的话可以用组合键 ctrl+a ...

  10. ubuntu系统下adb连接手机

    发现Ubuntu12.04不能连接小米开发,adb devices不能看到设备!  搞了一个上午才搞成功! 小米手机利用USB连接到Ubuntu 12.04系统.运行下面的命令: longskywan ...

随机推荐

  1. FastApi学习1

    先写路由文件: 其次通过ORM操作数据库相关:

  2. vue 项目中不更新的问题

    在项目中 做矩阵题  嵌套的v-for <!-- 多选矩阵题 --> <template v-if="question.name==='MATRIX_CHECKBOX'&q ...

  3. 【k8s连载系列】2. k8s整体架构

    # 一.Kubernetes的整体架构 学习k8s,最终目的是为了部署应用,部署一个完整的k8s, 就要知道k8s的组成.k8s主要包含两大部分: 中间包含三个绿色包的是master服务器. 下面是n ...

  4. springboot集成支付宝的支付(通用版)

    [1.引依赖] <dependency> <groupId>com.alipay.sdk</groupId> <artifactId>alipay-sd ...

  5. php统一的gocheck方法

    这半个月断断续续在学习用PHP的ThinkPHP框架开发后端API.现在总结记录一下开发一个接口需要做好哪些事,以此提高开发效率,并且也有不错的扩展性. 一.流程概要 基本是这么一个流程,略过环境搭建 ...

  6. 基于python的数学建模---传染病六个模型

    六个模型的区别 SI-Model import scipy.integrate as spi import numpy as np import matplotlib.pyplot as plt # ...

  7. Training: ASCII

    题目链接:http://www.wechall.net/challenge/training/encodings/ascii/index.php 让我们使用标准的美国信息交换编码格式解下面的ASCLL ...

  8. devexpress中searchLookUpEdit赋值不显示

    给searchLookUpEdit进行赋值的时候使用 string str="123"; searchLookUpEdit1.EditValue = str; 一直不显示或者显示为 ...

  9. Linux 常用命令(持续更新)

    Linux常用命令介绍(备查) *所有的命名都可以用 命令 --help/man 命令 查看使用说明 1.pwd 显示当前路径 2.dir 和 ls用法一样 都是列出当前路径下的文件(不包括隐藏文件) ...

  10. 为什么 Random.Shared 是线程安全的

    在多线程环境中使用 Random 类来生成伪随机数时,很容易出现线程安全问题.例如,当多个线程同时调用 Next 方法时,可能会出现种子被意外修改的情况,导致生成的伪随机数不符合预期. 为了避免这种情 ...