当前位置: 首页 > article >正文

宇泰串口卡驱动在Ubuntu22.04编译、安装汇总

从官网下载驱动官网地址

上传到Ubuntu, 目录结构如下:

驱动源代码: 驱动代码是基于开源项目编译来的

编译路径不能有中文路径,否则可能有类似错误

 

源码是基于Linux2.3内核编译,我当前是6.8.0-51,数据结构有升级,需要调整以下,否则有类似编译错误:

代码调整如下:

修改以上内容,应该就可以编译成功。

编译成功后,手动安装驱动,遇到一个问题,解决了好长时间

insmod: ERROR: could not insert module test.ko: Invalid module format

原因非常多,有说是gcc版本与编译Linux内核的版本不匹配,依赖的内核源码不匹配等等。

总体原因是:

linux-header搞坏了,也就是/lib/modules/$(uname -r)/build指向的kernel tree。重新安装以下linux header。

为了验证这个问题,我写了一个简单的驱动模块,没有业务逻辑,发现也是安装不成功。下面具体讲一下排除办法:

uname -r                                // 先查看当前操作系统的linux内核版本 

dpkg -l | grep linux-image // 查看已经安装的内核linux-header版本,把多余的删掉

apt remove --purge linux-image-6.8.0-50-generic

安装成功后:

但是无法显示ttyXR串口可用,查看一下日志

dmesg | tail -20

两种解决办法:一种是对内核进行签名,一种禁用安全启动

可能是设备的原因,我这里各种配置都试了一遍,在UEFI模式下还是无法成功加载驱动。然后切换到Legacy 模式意外的成功了。原来Legacy主要是没有安全启动模块,对系统安全有一些威胁,但测试环境可以忽略。


http://www.kler.cn/a/504701.html

相关文章:

  • 【算法学习笔记】31:试除法分解质因数及求解欧拉函数
  • MySQL 排除指定时间内重复记录的解决方案
  • Qwins的使用
  • Wireshark抓包教程(2024最新版个人笔记)
  • C#,入门教程(27)——应用程序(Application)的基础知识
  • 开发人员学习书籍推荐(C#、Python方向)
  • 【PGCCC】PostgreSQL 临时文件的使用
  • 【Unity】unity3D 调用LoadSceneAsync 场景切换后比较暗 部门材质丢失
  • 【AI】探索 Anything LLM:解锁多领域语言模型的无限可能
  • 系统架构设计师-第1章-计算机系统知识要点
  • Uniapp判断设备是安卓还是 iOS,并调用不同的方法
  • C#Halcon视觉流程框架个人封装流程心得
  • MySQL程序之:简要概述
  • 基于 Python 和 Django 的课程管理系统设计与实现
  • rtthread学习笔记系列--29 SPI驱动
  • 基于微信小程序的智能停车场管理系统设计与实现(LW+源码+讲解)
  • Android - 仓库镜像记录
  • 【Unity踩坑】Unity中提示缺少Visual Studio组件
  • 分布式 IO 模块:引领立体车库迈向智能化新时代
  • 一文了解汽车嵌入式软件开发Franca IDL 知识
  • java根据模板导出word,并在word中插入echarts相关统计图片
  • vite功能之---TypeScript
  • Grails应用http.server.requests指标数据采集问题排查及解决
  • 分类问题常用评估指标
  • 小程序如何引入腾讯位置服务
  • 思科—网络安全笔记