android7.1固定usb转串口设备节点名称

2023-05-16

使能ch340驱动

修改源码路径下mklinux.sh添加make menuconfig图形配置一下。
使能ch340驱动。
配置环境变量。
单独编译内核文件。
打包镜像烧写文件。

ubuntu固定USB串口设备端口号

参考链接:http://t.zoukankan.com/zhouzhishuai-p-10438776.html

android固定USB串口设备端口号

采用打补丁的方式修改/kernel/drivers/usb/serial/usb-serial.c文件。
参考链接:https://wenku.baidu.com/view/c6a00d1240323968011ca300a6c30c225901f02b.html

通过USB设备名去识别USB转串口插入的哪个U口,再根据不同的U口分配一个不同的节点。博主测试了3个USB接口分别打印出的信息是5-1,7-1.1,7-1.2。主要是修改/kernel/drivers/usb/serial/usb-serial.c文件下这两个函数。

static int allocate_minors(struct usb_serial *serial, int num_ports)
{
	struct usb_serial_port *port;
	unsigned int i, j;
	int minor;

	dev_dbg(&serial->interface->dev, "%s %d\n", __func__, num_ports);

	mutex_lock(&table_lock);
	for (i = 0; i < num_ports; ++i) {
		port = serial->port[i];
		minor = idr_alloc(&serial_minors, port, 0, 0, GFP_KERNEL);
		/* 固定USB转串口设备名 */
		if(!strcmp(dev_name,"5-1"))
		{
			minor=1;
		}
		else if(!strcmp(dev_name,"7-1.1"))
		{
			minor=2;
		}
		else if(!strcmp(dev_name,"7-1.2"))
		{
			minor=3;
		}
		if (minor < 0)
			goto error;
		port->minor = minor;
		port->port_number = i;
	}
	serial->minors_reserved = 1;
	mutex_unlock(&table_lock);
	return 0;
error:
	/* unwind the already allocated minors */
	for (j = 0; j < i; ++j)
		idr_remove(&serial_minors, serial->port[j]->minor);
	mutex_unlock(&table_lock);
	return minor;
}
static int usb_serial_probe(struct usb_interface *interface,
			       const struct usb_device_id *id)
{
...内容省略...
	if (allocate_minors(serial, num_ports)) { 
替换为
	if (allocate_minors(serial, num_ports,dev_name(&port->serial->dev->dev))) {
		dev_err(ddev, "No more free serial minor numbers\n");
		goto probe_error;
	}
...内容省略...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

android7.1固定usb转串口设备节点名称 的相关文章

  • 检测 Android 上的 USB 网络共享

    有没有什么方法可以 以编程方式 在您的活动 应用程序中知道用户已在其手机上启用 USB 网络共享 您还可以使用反射来访问用于设置 USB 网络共享的隐藏功能 这是我的代码 ConnectivityManager cm Connectivit
  • USB 控制传输能否保证交付?

    USB 2 0 指定 http www usb org developers docs usb20 docs 4 种传输类型 第 5 4 节传输类型 控制转移 同步传输 中断传输 批量转账 第 5 8 节规定批量转账提供 在带宽可用的基础上
  • ALSA 记录 - 了解内存映射

    我尝试使用 ALSA 从 USB 音频设备获取输入并将其作为一系列内容写入磁盘signed short价值观 我最终得到的是看似有效的数据块 其中散布着大块的零 我猜测我的缓冲区设置不正确并且没有正确使用内存映射 我正在尝试什么 采样率 8
  • 使用 DeviceWatcher 监视 USB 驱动器并检索设备信息?

    I m a WinForms开发人员和我已经知道如何使用 WMI 监视连接或断开连接的 USB 但不久前我发现了设备观察者 http msdn microsoft com en us library windows devices enum
  • 如何在 OSX Catalina (10.15) 中使用 Wireshark 捕获 USB 流量

    我正在尝试让 Wireshark USB 捕获工作 显然 Catalina 之前的技巧就是调出界面 以便 Wireshark 可以看到它 https forums developer apple com thread 95380 https
  • 使用 C# 向 USB 连接的 GPRS 调制解调器发送 AT 命令

    任何人都可以给我一个关于如何访问连接到 USB 端口的 GPRS 调制解调器的良好指示或指南 我应该为我的程序制作一个 USB 驱动程序以将 AT 命令发送到调制解调器吗 或者就像一个路由器 我可以使用IP地址访问它 谢谢 如果 Windo
  • 使用 python 检测 Windows 10 上的 USB 设备插入

    我无法获取以下代码检测USB设备插入 http timgolden me uk python win32 how do i detect device insertion html在我的 Windows 10 64 位 计算机上使用 Pyt
  • 发现多个 USB-IrDA 设备,打开并连接每个设备的套接字

    对于任何优秀的套接字程序员 是否可以使用套接字枚举通过 USB 端口连接到 PC 的多个活动 IrDA 设备 如果是这样 怎么办 这确实是我的主要问题 帖子的其余部分完善了细节并描述了我所尝试的内容 我正在使用 Microsoft SDK
  • 不支持混合类型

    请看一下下面的头文件 pragma once using namespace UsbLibrary ref class MissileLauncher public MissileLauncher void private Bytes us
  • Android 上的 HP TouchPad USB 驱动

    我可以在运行的 HP TouchPad 上进行应用程序开发吗氰基模组 http en wikipedia org wiki CyanogenMod 9 我有一个安装了 CyanogenMod 9 的 HP TouchPad 并且正在尝试从E
  • 通过Android USB主机与智能卡读卡器通信

    我正在尝试向智能卡发送命令 我用一个金雅拓 IDBridge CT30 PC TWIN 读卡器 http www smartcardfocus com images content GEMTR jpg and a ID桥K30 http c
  • 如何枚举 USB 设备*并*对其进行读/写?

    我需要与一个自定义 USB 设备进行通信 它没有特定的驱动程序 该设备不显示为 dev tty I 发现 http www signal11 us oss udev 我该如何使用libudev枚举 USB 设备 假设我设法获得相应的stru
  • 使用Python直接向USB发送信号

    如何使用 Python 将 USB 端口连接设置为高或低 这可用于定制 USB 设备 例如 假设我有一个 LED 连接到 USB 端口 数据线 现在通过代码我想闪烁它或控制它 现在 这可以通过使用任何微控制器 Arduino Raspber
  • 我无法找到 libftdi 的 mpsse (SPI) 模式的示例代码

    这不是一个家庭作业问题 尽管这是一个工作问题 几个月前 我刚写完一份规范 老板就会把它外包出去 因为资金紧张 所以我正在尝试自己做这件事 我是一个很弱的 C 编码员 如果 gcc 能输出一些运行时不会出现段错误的东西 或者有时根本没有任何东
  • 如何在 C# 中从 USB 令牌读取证书

    我有一个 USB 令牌 其中包含一个加密证书 该证书具有公钥和私钥 现在我想用 C 创建一个应用程序 通过它我可以找到可访问的证书信息 当我插入 USB 令牌时 它会被检测到 但计算机部分上没有显示任何驱动器 就像闪存驱动器一样 如何从 U
  • 如何将 Android USB 连接模式更改为仅充电? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案
  • 使用 Windows 原始访问 API 直接访问 USB 驱动器

    在USB物理驱动器的末尾 我想使用Windows原始访问API直接写入数据 我不想使用内核驱动程序来做到这一点 据我所知 出于安全原因 Windows XP SP2 或 SP3 阻止了 HDD 直接访问 我不确定 USB 驱动器是否如此 请
  • 如何在 ADB 连接期间禁用电池充电?

    问题描述 每次我在电脑和手机之间连接 USB 线时 电池都会自动充电 我想使用 ADB 协议 但我不想在 ADB 连接期间为电池充电 是否可以关闭此充电功能 当然 我该怎么做呢 环境 Android 操作系统 4 及更高版本的手机 我只需要
  • ASP.NET/Silverlight 控制 USB 设备

    我想使用某种 USB 设备 例如闪光灯 提醒用户有新消息 是否可以从 ASP NET 或 Silverlight 控制 USB 设备 您可以在网页中使用自定义 ActiveX 组件和一些 javascript 来完成此操作 或者 您可以使用
  • IntelliJ IDEA 中的 Android 开发导致电脑死机

    我使用 IntelliJ IDEA 10 5 进行 Android 开发 并使用最新的 Google USB 驱动程序 版本 4 进行调试 在 IntelliJ IDEA 中开发一段时间后 当通过 USB 连接 Android 设备 Nex

随机推荐

  • element-ui如何在表格中插入图片

    第一种 xff1a span class token operator lt span el span class token operator span table span class token operator span colum
  • Cannot find module node-sass解决

    过假期想着在家跑下项目 xff0c 写下代码 xff0c 结果把代码拉下来之后 xff0c 就死活跑不起来了 xff0c 以为是自己电脑node版本的原因 xff0c 结果卸载了node安装了最新版本的 xff0c 结果npm run de
  • element-ui表格中复选框只能选中一个

    代码 xff1a span class token operator lt span el span class token operator span table ref span class token operator 61 span
  • python操作鼠标进行点击

    python中的pyautogui库可以操作鼠标 安装 xff1a pip install pyautogui span class token keyword import span time span class token keywo
  • go中的bcrypt加密

    1 bcrypt是不可逆的加密算法 xff0c 无法通过解密密文得到明文 2 bcrypt和其他对称或非对称加密方式不同的是 xff0c 不是直接解密得到明文 xff0c 也不是二次加密比较密文 xff0c 而是把明文和存储的密文一块运算得
  • go gRPC 服务端推送给客户端流demo

    具体文件目录看上一篇的grpc xff0c 这个demo演示的是服务端以流的形式推送给客户端 pb hello proto syntax span class token operator 61 span span class token
  • docker常用命令

    打包镜像 docker build span class token operator span t demo v1 span class token punctuation span 运行镜像 docker run span class
  • docker镜像加载原理

    docker的镜像实际上是由一层一层的文件系统组成 xff0c 这种层级的文件系统叫做UnionFS bootfs boot file system 主要包含bootloade和kernel xff0c bootloader主要是引导加载k
  • docker网络

    docker network常见的四种模式 桥接模式 bridge xff1a 为每一个容器分配 设置ip等 xff0c 并将容器连接到一个叫做docker0的虚拟网桥 xff0c docker网络默认为该模式 xff0c 使用 netwo
  • 玩客云刷armbian更新源报错The repository ‘http://apt.armbian.com stretch Release‘ does not have a Release file

    玩客云刷armbian系统更新源报错的解决方法 xff08 E The repository 39 http apt armbian com stretch Release 39 does not have a Release file x
  • GPT-4工具是软件工程师工作效率的倍增器

    1 xff0c 你现在正在哪个领域学习或工作呢 xff1f 你用过哪些AI智能工具 xff1f 主要从事AI算法数据集处理 xff0c 模型部署工具开发 xff0c 以及低代码工具开发 使用 Github的 Copilot 编程伴侣超过1个
  • HDFS Java API操作(IDEA版)

    目标 通过Java API来操作HDFS xff0c 完成的操作有 xff1a 文件上传 文件下载 新建文件夹 查看文件 删除文件 前提条件 1 Windows下安装好jdk1 8 2 Windows下安装好maven xff0c 这里使用
  • Ubuntu20.04 安装 CUDA10.1 和 CUDNN7.6.5

    说明 xff1a 本人的实验环境为 xff1a ubuntu20 04 xff0c 显卡 xff1a GTX1060 xff0c 已安装Nvidia驱动 查看你的NVIDIA显卡驱动是否支持cuda10 1版本 查看显卡驱动命令 xff1a
  • C++ 20 新特性 ranges 精讲

    C 43 43 20 新特性 ranges 精讲 C 43 43 20 中的 ranges 库使得使用 STL 更加舒适和强大 ranges 库中的算法是惰性的 xff0c 可以直接在容器上工作 xff0c 并且可以很容易地组合 简而言之
  • C语言学习篇(概念题)

    关键字static的作用是什么 1 xff09 在模块内 xff08 在函数内 xff09 xff0c 则此静态变量只能在该函数内使用 超出范围不能使用 但是它还占用内存 还存在 2 xff09 在模块内 xff08 但在函数体外 xff0
  • DMA控制器

    DMA控制器 DMA 简介 直接存储器访问 DMA 用于在外设与存储器之间以及存储器与存储器之间提供高速数据传 输 可以在无需任何 CPU 操作的情况下通过 DMA 快速移动数据 这样节省的 CPU 资源可 供其它操作使用 DMA 控制器基
  • STM32 软硬件调试

    调试IO口占用 JTMS SWDIO PA13 JTCK SWCLK PA14 JTDI PA15 JTDO PB3 JNTRST PB4 STM32 软硬件调试 硬件调试 硬件调试通常是通过JTAT或者SWD调试下载器来进行调试 首先需要
  • Linux 音频驱动

    Linux 音频驱动 硬件介绍 WM8960与IMX6ULL之间有两个通信接口 xff1a I2C和I2S 其中I2C用于配置WM8960 I2S用于音频数据传输 修改设备树文件 编写I2C子节点设备树 codec span class t
  • RK3399android源码编译ninja: build stopped: subcommand failed报错原因

    ninja build stopped subcommand failed 编译RK3399 android源码的时候报错 xff1a ninja build stopped subcommand failed 发现网上很多解决方法都不行
  • android7.1固定usb转串口设备节点名称

    使能ch340驱动 修改源码路径下mklinux sh添加make menuconfig图形配置一下 使能ch340驱动 配置环境变量 单独编译内核文件 打包镜像烧写文件 ubuntu固定USB串口设备端口号 参考链接 xff1a http