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

今科网站建设费用旅游网站建设的目标是什么意思

今科网站建设费用,旅游网站建设的目标是什么意思,辽宁省企业信息系统,wordpress 机主题解决Ubuntu22.04.1上安装ch34x串口驱动报 Key was rejected by service 需要签名的问题问题官网下载解压驱动包编译安装给驱动签名再来载入模块#xff08;设备驱动程序#xff09;问题 Ubuntu22.04.1 Linux版本5.19.0-32-generic 运行Qt串口通信 m_serialPort-open(QIO… 解决Ubuntu22.04.1上安装ch34x串口驱动报 Key was rejected by service 需要签名的问题问题官网下载解压驱动包编译安装给驱动签名再来载入模块设备驱动程序问题 Ubuntu22.04.1 Linux版本5.19.0-32-generic 运行Qt串口通信 m_serialPort-open(QIODevice::ReadWrite) 时总是失败。 负责硬件的同事说可能是需要安装ch340驱动。 官网下载 WCH官网下载驱动 CH341SER_LINUX.ZIP 解压驱动包 ncyfNCYF:~/Downloads$ unzip -O GBK CH341SER_LINUX.ZIP Archive: CH341SER_LINUX.ZIPcreating: CH341SER_LINUX/inflating: CH341SER_LINUX/ch34x.c inflating: CH341SER_LINUX/Makefile inflating: CH341SER_LINUX/readme.txt ncyfNCYF:~/Downloads$ 编译安装 如果直接编译会报错 ncyfNCYF:~/Downloads$ cd CH341SER_LINUX/ ncyfNCYF:~/Downloads/CH341SER_LINUX$ ls ch34x.c Makefile readme.txt ncyfNCYF:~/Downloads/CH341SER_LINUX$ make make -C /lib/modules/5.19.0-32-generic/build M/home/ncyf/Downloads/CH341SER_LINUX make[1]: 进入目录“/usr/src/linux-headers-5.19.0-32-generic” warning: the compiler differs from the one used to build the kernelThe kernel was built by: x86_64-linux-gnu-gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0You are using: gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0CC [M] /home/ncyf/Downloads/CH341SER_LINUX/ch34x.o /home/ncyf/Downloads/CH341SER_LINUX/ch34x.c: In function ‘ch34x_close’: /home/ncyf/Downloads/CH341SER_LINUX/ch34x.c:591:9: error: unknown type name ‘wait_queue_t’; did you mean ‘wait_event’?591 | wait_queue_t wait;| ^~~~~~~~~~~~| wait_event /home/ncyf/Downloads/CH341SER_LINUX/ch34x.c:591:22: warning: unused variable ‘wait’ [-Wunused-variable]591 | wait_queue_t wait;| ^~~~ /home/ncyf/Downloads/CH341SER_LINUX/ch34x.c:590:14: warning: unused variable ‘timeout’ [-Wunused-variable]590 | long timeout;| ^~~~~~~ /home/ncyf/Downloads/CH341SER_LINUX/ch34x.c:589:13: warning: unused variable ‘bps’ [-Wunused-variable]589 | int bps;| ^~~ /home/ncyf/Downloads/CH341SER_LINUX/ch34x.c: At top level: /home/ncyf/Downloads/CH341SER_LINUX/ch34x.c:1297:27: error: initialization of ‘unsigned int (*)(struct tty_struct *)’ from incompatible pointer type ‘int (*)(struct tty_struct *)’ [-Werrorincompatible-pointer-types]1297 | .write_room ch34x_write_room,| ^~~~~~~~~~~~~~~~ /home/ncyf/Downloads/CH341SER_LINUX/ch34x.c:1297:27: note: (near initialization for ‘ch34x_device.write_room’) /home/ncyf/Downloads/CH341SER_LINUX/ch34x.c:1298:28: error: initialization of ‘unsigned int (*)(struct tty_struct *)’ from incompatible pointer type ‘int (*)(struct tty_struct *)’ [-Werrorincompatible-pointer-types]1298 | .chars_in_buffer ch34x_chars_in_buffer,| ^~~~~~~~~~~~~~~~~~~~~ /home/ncyf/Downloads/CH341SER_LINUX/ch34x.c:1298:28: note: (near initialization for ‘ch34x_device.chars_in_buffer’) cc1: some warnings being treated as errors make[2]: *** [scripts/Makefile.build:257/home/ncyf/Downloads/CH341SER_LINUX/ch34x.o] 错误 1 make[1]: *** [Makefile:1850/home/ncyf/Downloads/CH341SER_LINUX] 错误 2 make[1]: 离开目录“/usr/src/linux-headers-5.19.0-32-generic” make: *** [Makefile:5default] 错误 2 ncyfNCYF:~/Downloads/CH341SER_LINUX$ 原因在 readme.txt 里面有说明 // ChangeLog // 1.0 - 1.1 modified to solve transmition between ch341 and ch341 // 1.1 - 1.2 Support high Linux kernel InstructionsNote: 1.Please run followed executable programs as root privilege2.Current Driver support versions of linux kernel range from 2.6.25 to 3.13.x3.Current Driver support 32bits and 64bits linux systemsUsage:(load or unload linux driver of CH34x)//compile #make//load ch34x chips driver#make load//unload ch34x chips driver#make unload // 1.2 - 1.3 Fix some bugs第七行Current Driver support versions of linux kernel range from 2.6.25 to 3.13.x的意思是linux内核的当前驱动程序支持版本从2.6.25到3.13.x 而我的是5.19.0-32-generic 所以需要去查看ch34x.c的 源代码直接复制到CH341SER_LINUX/ch34x.c 中重新make ncyfNCYF:~/Downloads/CH341SER_LINUX$ make make -C /lib/modules/5.19.0-32-generic/build M/home/ncyf/Downloads/CH341SER_LINUX make[1]: 进入目录“/usr/src/linux-headers-5.19.0-32-generic” warning: the compiler differs from the one used to build the kernelThe kernel was built by: x86_64-linux-gnu-gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0You are using: gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0CC [M] /home/ncyf/Downloads/CH341SER_LINUX/ch34x.oMODPOST /home/ncyf/Downloads/CH341SER_LINUX/Module.symversCC [M] /home/ncyf/Downloads/CH341SER_LINUX/ch34x.mod.oLD [M] /home/ncyf/Downloads/CH341SER_LINUX/ch34x.koBTF [M] /home/ncyf/Downloads/CH341SER_LINUX/ch34x.ko Skipping BTF generation for /home/ncyf/Downloads/CH341SER_LINUX/ch34x.ko due to unavailability of vmlinux make[1]: 离开目录“/usr/src/linux-headers-5.19.0-32-generic” ncyfNCYF:~/Downloads/CH341SER_LINUX$ ls ch34x.c ch34x.ko ch34x.mod ch34x.mod.c ch34x.mod.o ch34x.o Makefile modules.order Module.symvers readme.txt ncyfNCYF:~/Downloads/CH341SER_LINUX$ 此时目录下已生成.ko文件说明 make 成功了。 载入模块设备驱动程序 ncyfNCYF:~/Downloads/CH341SER_LINUX$ sudo make load [sudo] ncyf 的密码 modprobe usbserial insmod ch34x.ko insmod: ERROR: could not insert module ch34x.ko: Key was rejected by service make: *** [Makefile:10load] 错误 1 ncyfNCYF:~/Downloads/CH341SER_LINUX$ 错误提示Key was rejected by service 说明.ko文件需要签名。 查看驱动签名情况 ncyfNCYF:~/Downloads/CH341SER_LINUX$ ls ch34x.c ch34x.ko ch34x.mod ch34x.mod.c ch34x.mod.o ch34x.o Makefile modules.order Module.symvers readme.txt ncyfNCYF:~/Downloads/CH341SER_LINUX$ hexdump -C ch34x.ko | tail 000566f0 08 00 00 00 00 00 00 00 18 00 00 00 00 00 00 00 |................| 00056700 09 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 |................| 00056710 00 00 00 00 00 00 00 00 f8 cd 02 00 00 00 00 00 |................| 00056720 37 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |7...............| 00056730 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00056740 11 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 |................| 00056750 00 00 00 00 00 00 00 00 20 59 05 00 00 00 00 00 |........ Y......| 00056760 e0 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00056770 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00056780 ncyfNCYF:~/Downloads/CH341SER_LINUX$ 此时没有签名。 给驱动签名 首先依赖mokutil和shim-signed sudo apt install mokutil sudo apt install shim-signed sudo update-secureboot-policy --new-key生成的证书(MOK.der)和私钥(MOK.priv)位于 /var/lib/shim-signed/mok/ 目录下。 openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj /CNDescriptive name/导入签名证书 sudo mokutil --import /var/lib/shim-signed/mok/MOK.der重新启动 电脑启动 UEFI 询问您是否要更改安全设置选择”Yes”。 将签名写入驱动 ncyfNCYF:~/Downloads/CH341SER_LINUX$ ls ch34x.c ch34x.ko ch34x.mod ch34x.mod.c ch34x.mod.o ch34x.o Makefile modules.order Module.symvers readme.txt ncyfNCYF:~/Downloads/CH341SER_LINUX$ hexdump -C ch34x.ko | tail 000566f0 08 00 00 00 00 00 00 00 18 00 00 00 00 00 00 00 |................| 00056700 09 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 |................| 00056710 00 00 00 00 00 00 00 00 f8 cd 02 00 00 00 00 00 |................| 00056720 37 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |7...............| 00056730 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00056740 11 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 |................| 00056750 00 00 00 00 00 00 00 00 20 59 05 00 00 00 00 00 |........ Y......| 00056760 e0 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00056770 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00056780 ncyfNCYF:~/Downloads/CH341SER_LINUX$ sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 /var/lib/shim-signed/mok/MOK.priv /var/lib/shim-signed/mok/MOK.der ch34x.ko ncyfNCYF:~/Downloads/CH341SER_LINUX$ hexdump -C ch34x.ko | tail 000568d0 c4 6c 1c 49 a8 4d e4 68 b2 c2 ab c1 a6 4f f7 45 |.l.I.M.h.....O.E| 000568e0 bd 9b 33 23 f1 3d 38 41 29 bb 05 5f 81 16 73 62 |..3#.8A).._..sb| 000568f0 b2 8c 2a f6 9c 7e e2 e9 1a 0f 79 32 9e b5 8e 6b |..*..~....y2...k| 00056900 50 0e a4 49 e4 06 59 79 8f 81 ef 7c df 9d e9 1f |P..I..Yy...|....| 00056910 3b 2f 15 0f 12 43 b9 5d 05 09 f3 d8 0e bc 8b aa |;/...C.]........| 00056920 e2 0a d7 bf cc 01 24 04 36 de 93 00 00 02 00 00 |......$.6.......| 00056930 00 00 00 00 00 01 ab 7e 4d 6f 64 75 6c 65 20 73 |.......~Module s| 00056940 69 67 6e 61 74 75 72 65 20 61 70 70 65 6e 64 65 |ignature appende| 00056950 64 7e 0a |d~.| 00056953 ncyfNCYF:~/Downloads/CH341SER_LINUX$ 此时驱动程序数据中有~Module signature appended~可知已写入签名。 再来载入模块设备驱动程序 ncyfNCYF:~/Downloads/CH341SER_LINUX$ sudo make load modprobe usbserial insmod ch34x.ko ncyfNCYF:~/Downloads/CH341SER_LINUX$ 对比之前的确实载入成功了。 ncyfNCYF:~/Downloads/CH341SER_LINUX$ sudo make load [sudo] ncyf 的密码 modprobe usbserial insmod ch34x.ko insmod: ERROR: could not insert module ch34x.ko: Key was rejected by service make: *** [Makefile:10load] 错误 1 ncyfNCYF:~/Downloads/CH341SER_LINUX$ 使用lsmod查看模块发现已识别。 ncyfNCYF:/lib/modules/5.19.0-32-generic/kernel/drivers/usb/serial$ lsmod Module Size Used by ch34x 24576 0 rfcomm 86016 4有的博主说需要将目录中生成ch34x.ko文件复制到/lib/modules/$(uname -r)/kernel/drivers/usb/serial下再使用lsmod查看模块本人好像没做也行。 参考 解决Ubuntu22.04无法使用ch34x串口问题 linux secure boot(安全启动)下为内核模块签名 Linux驱动 - Ubuntu驱动签名
http://www.hkea.cn/news/14416319/

相关文章:

  • 上海建筑网站郑州最牛的网站开发公司
  • 博宇娱乐网站建设做网站友情链接互换
  • 做更好的自己 网站网站怎么做发送邮件的超链接
  • 企业免费网站制作龙江人社 pp
  • 在哪些网站上做推广好北京海淀建设支行有哪些
  • 网站开发前端和后端工作柯桥做网站哪家好
  • 学习php网站开发微信开发小程序教程
  • 网站空间怎样设置用户名和密码wordpress 主题开发
  • 怎么才能打开一些网站经典设计产品
  • 一级做爰片a视频网站哈尔滨网站专业制作
  • 怎么做钓鱼网站北京装修公司加盟
  • 做网站大概一个月多少工资微信客户端入口
  • 常州企业网站建站模板二维码怎么制作出来的
  • 成品网站源码做网站公司哪个好
  • 万网企业网站建设建筑工程网格化管理
  • 网站关键字怎么分割今天刚刚的最新新闻
  • 网站设计包括哪些内容蛋糕网站内容规划
  • 成都网站设计创新互联网站制作1
  • 网站二次开发费用虚拟空间官网
  • 游戏平台网站开发大学生创新创意产品设计方案
  • 深圳专业建站公司有哪些天门建设局官方网站
  • 网站后台网址忘记了 php龙岗网站制作
  • 网站开发用户需求分析网站主动服务方案
  • 网站开发中的文档北京网站网站建设
  • 网站建设 甘肃wordpress首页显示指定分类文章
  • 江苏省建设工程上岗证查询网站福州网站建设招商
  • 素材下载网站潍坊做网站哪家公司最好
  • 本网站服务器用php做网站的书籍
  • ai做网站 如何切图视频会议系统直播聊天网站开发
  • 怎么找到要做网站推广的客户资源西安今天最新招聘信息