工作日常相关
记录一些工作流程,踩的坑
MarkeyL
网络行业某产品部门开发,日常工作内容涉及嵌入式网络设备SSLVPN,国密,数字证书等模块.
同时也做一些SDWAN体系中集中管理平台的开发工作,也会经常和java打交道.
21年有跨平台图形客户端相关的工作内容,又开始接触C++和QT,以及qml.
展开
-
ubuntu20.04+windows10_1909显卡直通(GPU Passthrough)
休息的时候看到了Nvidia放开了个人显卡在虚拟机里使用的操作权限,就花了点时间研究了下,最终的目的是能在win虚拟机里流畅地打游戏~这里记录下踩过的坑。cpu支不支持虚拟化和你开没开虚拟化是俩玩意。网上的教程里都是让你敲命令检查cpu支不支持虚拟化,我一敲,支持,就没再管,可是后来VFIO开不开,研究半天才发现是CPU虚拟化没开,重新进bios开下就可以了。网上的很多教程在开了VFIO相关模块重启后,使用了lsmod去查vfio模块开没开,但是在ubuntu20.04系统里已经将VFIO模块内置在原创 2022-02-22 19:29:25 · 3590 阅读 · 2 评论 -
[20211014.B64驱动培训]转发模型初始化+网卡挂载设备链+网卡各项配置初始化+网卡使能
DRV_FWD_Init():转发模型初始化FWD_CpuInfoInit():CPU信息初始化关键结构体:g_stDrvCpuInfo获取并设置CPU Mask到全局结构体;同时多核情况下设置Hash分流数为不小于数据核心数目的2的幂数;同时设置Hash掩码g_ulHashLenMask为分流数-1.FWD_SmInit():转发系统中的控制管理线程初始化DRV_Hdisk_ReadFlowLoad():??,先记录下使用的结构体:g_astFlowLoadSaveFWD_SmTime..原创 2021-10-25 19:22:45 · 130 阅读 · 0 评论 -
工作中遇到的专业术语缩写总结
SOW——statement of work,工作说明书CMO——configuration management officer,配置管理员CCB——Change Control Board,变更控制委员会QA——Quality Assurance,质量保证Scrum是迭代式增量软件开发过程,通常用于敏捷软件开发...原创 2021-10-25 14:29:54 · 1215 阅读 · 0 评论 -
[20211014.B64驱动培训]linux内核启动+驱动初始化+网卡初始化
ROM(Read Only Memory只读存储器),里面固化了初始化程序(可以理解成BIOS),帮我们检查硬件是否完好等。然后从启动盘启动(这些代码由Grub2放置的),包括boot.img,实模式切换到保护模式,kernel.img等,最后kernel.img会启动我们的操作系统内核内核启动start_kernel(),进行进程管理初始化INIT_TASK(init_task),中断初始化trap_init(),内存管理初始化mm_init(),调度模块初始化sched_init(),虚拟文件系统.原创 2021-10-14 20:39:08 · 236 阅读 · 0 评论 -
数字证书基础
[此文档是着手处理数字证书模块前的准备工作,图片是网上找的]提出问题:1.非对称加密中公私钥都可以加密,那么什么时候用公钥加密,什么时候用私钥“加密” ?2.什么是数字签名,数字签名的作用是什么?3.为什么要对数据的摘要进行签名,而不是直接计算原始数据的数字签名?4.什么是数字证书,数字证书解决了什么问题?这篇文档,主要围绕数字签名和数字证书的原理以及它们的作用展开。1.什么是加密加密:对明文数据按某种特殊算法进行处理,使其成为不可读的一段代码,通常称为“密文“, 密文通过”密钥“解密后还原原创 2021-09-13 11:16:39 · 2028 阅读 · 0 评论 -
qt应用打包成deb安装包
制作deb包准备要打包的文件,存放目录如下|——MyDeb-deb |————usr |————local |——.sslvpn |——应用具体文件(包括bin,lib,启动脚本等.安装后应用就在/usr/local/.sslvpn) |————share |————icons |——deb.png(图标文原创 2021-09-06 14:23:15 · 1339 阅读 · 0 评论 -
qt应用QtConcurrent多线程启动失败
问题背景:在arm环境下测试客户端时,为了测试统信,银河麒麟两种系统.在arm服务器上起了一个虚拟机,测试发现虚拟机中客户端功能异常,一些工作线程未工作,日志也未打印.问题定位:pstree 问题进程id查看当前面运行的各进程,对比代码发现,使用QTConcurrent启动的线程有几个未正常启动.查询资料后发现,QTConcurrent使用了QThreadPool线程池创建的线程,而此线程池中的最大线程数默认值为QThread::idealThreadCount()与cpu核心数目一致.而..原创 2021-09-06 10:06:53 · 748 阅读 · 0 评论 -
源码编译qt5.15.2-./configure报错 -`Could not find qmake spec ‘’.`
源码编译qt5.15.2../configure报错Could not find qmake spec ‘’.Error processing project file: /home/kylin/桌面/qt-everywhere-src-5.15.2/qt.pro这是因为目录有汉字出现.解决方法:将源代码迁移到没有中文的路径,再编译...原创 2021-08-26 16:56:09 · 2695 阅读 · 0 评论 -
大小端,主机序,网络序
大端模式(Big_endian):字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。小端模式(Little_endian):字数据的高字节存储在高地址中,而字数据的低字节则存放在低地址中。网络序: 大端模式主机序: 和cpu架构有关,x86的一般为小端模式;arm的一般为小段模式;mips的一般为大端模式.为安全起见.一般在发送报文前,会对超过1字节的数据类型调用对应的主机需向网络序转换的函数(例如htonl()),不论当前是什么架构的cpu.可以利用联合体union来判断大小端.原创 2021-08-18 15:12:00 · 369 阅读 · 0 评论 -
vim日常常用操作
vim filename 打开或新建文件,光标位于第一行首:set num 显示行号set autoindent自动缩进Enter光标下移一行b左移一个单词至单词首w右移一个单词至单词首e 右移一个单词至单词尾0 光标移至行首$ 光标移至行尾gg移到第一行i 光标前插入文本A行尾插入文本o 当前行下新开一行O当前行上新开一行x删除光标后字符X删除光标前字符dd删除一行yy复制一行ynw复制n个单词ynl 复制n个字符p粘贴(dd和x删除的也可以)u 撤销前一次的操.原创 2021-08-17 10:48:15 · 90 阅读 · 0 评论 -
linux系统tar压缩及解压命令
压缩某目录为某压缩包tar czvf xxx.tar.gz /xxx/xxx解压缩某压缩包至某目录tar xzvf xxx.tar.gz -C /xxx/xxx原创 2021-08-10 15:07:04 · 94 阅读 · 0 评论 -
从内核源码角度分析TCP 三次握手
TCP三次握手的过程中,不仅仅是一个握手包的发送 和 TCP 状态的流转。还包含了端口选择,连接队列创建与处理等很多关键技术点。服务器 listen 时,计算了全/半连接队列的长度,还申请了相关内存并初始化。客户端 connect 时,把本地 socket 状态设置成了 TCP_SYN_SENT,选则一个可用的端口,发出 SYN 握手请求并启动重传定时器。服务器响应 ack 时,会判断下接收队列是否满了,满的话可能会丢弃该请求。否则发出 synack,申请 request_sock 添加到半连接队转载 2021-07-22 15:18:01 · 187 阅读 · 0 评论 -
linux重新启动tftp服务
service tftpd-hpa restart原创 2021-07-20 08:56:59 · 1443 阅读 · 0 评论 -
libcurl多线程环境下执行curl_seay_perform后发生coredump的原因及解决
libcurl多线程环境下执行curl_seay_perform后发生coredump的原因及解决问题背景设备上的某模块已上线稳定运行了两年了,最近突然发现了前方问题.初步定位后发现用户在配置集控服务器地址时,未切换大小写,导致地址配置成了x.x.x.x:8080,此处":"为中文符号.按常理推断,此时正常现象应为连接服务器失败,一分钟后尝试重连.但此时现场的现象为设备上集控进程crash并产生了coredump文件.若正常配置服务器地址,无任何问题.问题排查使用gdb查看core文件原创 2021-05-17 17:03:50 · 1976 阅读 · 0 评论