- 博客(40)
- 资源 (2)
- 收藏
- 关注
原创 C语言指针与柔性数组应用
这样,a这个二级指针就可以存放10个指针了,后面的大小选择void *是因为64位和32位内核,指针的长度是不一样的,sizeof(void *)会根据编译器配置的是32位不是64自动得到指针的长度。一个payload,并且payload还是一个大小为0的数组,这个数组在这里所起的作用相当大。要知道,虽然我们看到变量名是一个二级指针,但是从C语言(或者汇编的角度来看,它其实还是一个一级指针,只不过,他里边存的还是一个指针的地址。c的指针,不同的类型++时移动的偏移量会随之变化。这里会用到c指针的一个特点。
2022-10-15 23:52:30 168
原创 c++构造函数研究
这是因为实例化时,是使用的是无参数实例化的,这时返回的是无参数的构造函数的实例。当我们把默认构造函数中的赋值操作删除,会发现,get回来的值也不会是4,而是0;虽然调用也调用了有参数的那个构造函数,但是,也只是被调用了,但并未将实例返回。1:在直接在构造函数中调用构造数,虽然执行流程是理想的,但数据是独立的。在学习C++的过程中,发现C++的构造函数在调用的时候一些现象。但是当你把代码复制出来,测试之后,你会发现,num3其实等6;上面的代码,从直觉上来看,get回来的num3应该等于4,
2022-10-15 01:10:01 170
原创 qemu虚拟机网络配置
QEMU添加-net nic -net tap之后,在启动时默认会调用,并且会将TAP设备名传递过来。添加/etc/qemu-ifup和/etc/qemu-ifdown。通过以上配置之后,所有在br0中的设备都将与QEMU虚拟机网络相通。在QEMU启动和关闭时将调用这2个脚本。在这里完全对宿主机的配置。所以脚本就可以这么写。
2022-09-18 14:23:10 4322 1
原创 linux uart驱动
将待发送数据添加到发送队列中后,需要调用tty_flip_buffer_push和tty_kref_put将队列中的数据。在config_port回调中,需要设置port的type和uartclk, uartclk为串口波特率的16倍大小。iotype:使用于描述端口类型,常用的类型有UPIO_MEM, UPIO_MEM32,区别在于8位和32位数据。在调用uart_add_one_port后,set_mctrl,config_port会被调用。最调用uart_add_one_port。
2022-09-02 22:08:59 616
原创 rndis wlan折腾记
前言 最近因为某些东西,需要在linux上虚拟一个wifi设备,研究了一段时间linux的gadget function这个东西。发现里边需要可以虚拟各种设备,但是唯一不能虚拟wifi。本打算自己写一个function用来虚拟wifi.在测试的过程中发现,linux的wifi驱动里边有一个rndis_wlan.c的驱动。经过阅读代码发现,这个驱动用到了rndis_host.c的大部份API。于是又去研究usb gadget里的f_rndis。遇到问题&nb
2022-03-16 23:20:29 891
原创 lxc共享usb设备
添加lxc config device add 容器名 设备名[移除时需要使用] usb vendorid=xxx productid=xxx删除lxc config device remove 容器名 设备名
2022-02-16 11:18:15 1549
原创 移远ec20模式与切换
移远EC20支持4种模式。0:rmnet模式 通过QMI工具发的QMI命令,获取公网IP。这种模式可以配合usb_ecm驱动或高通GobiNet驱动使用。1:ecm模式 通过标准的CDC-ECM发起data call,是发送标准的ECM命令,获取局域网ip。这种模式配合cdc_ether驱动使用2:mbim模式 Mobile Broadband Interfa
2022-02-12 22:05:07 7815
原创 linux usb gadget functionfs的使用
1、关于functionfs 在听说这个之后,我查了一下资料,现在很多资料的介绍都是内核手册里的一段介绍,使用也只是简单的几个命令怎么用命令去配置usb device的设备,而关于怎么通信却少之又少。 在3.11之后的内核中,引入了一种新的概念,将原来需要在使用内核模块的工作转移到了用户态,这个概念就是functionfs,在引入functionfs之后,内核引入了gadgetfs,gadgetf
2022-02-11 10:42:21 5756 13
原创 配置SSH证书登录
1、生成证书cd到home/.ssh目录,如果没有,mkdir .ssh创建一个。ssh-keygen 一路回车,生成证书。cat id_rsa > authorized_keys修改文件权限为06002、复制私钥到电脑主机复制id_rsa到自己电脑主机的.ssh目录。文件名不变。修改权限为0600这时就能直接用证书登录了...
2022-02-10 10:27:26 1002
原创 LXC共享目录添加与删除
添加lxc config device add 容器名 注释 disk source=主机端要共享的目录 path=容器内目录删除lxc config device remove 容器名 注释
2022-02-08 22:58:57 1548
原创 linux设备树驱动三要素
Linux设备树驱动三要术`struct xxx_device_id`MODULE_DEVICE_TABLE(type, name)`module_platform_driver(name)`struct xxx_device_id驱动程序匹配ID表xxx有of、platform、i2c、spi、acpi、usb、pci也可以是位于include/linux/mod_devicetable.h中定义的总线类型。MODULE_DEVICE_TABLE(type, name)使用MODULE_DEVI
2021-12-30 18:45:09 815
原创 openwrt最新版安装freeradius3
记录一下最近用openwrt 19.07安装mysql php nginx + freeradius3的一些问题。安装中遇到的问题:1:php安装支持的组件不全导致php不支持session,mysql等。解决方法:重新编译,可以选择所有组件。2:mysql的安装Mysql的安装和大部分常规的源码编译安装区别不大。只需要修改/etc/config/mysql配置文件。将enable改为1.运行mysql_install_db --defaults-file=/etc/mysql/
2020-10-06 22:08:09 1274
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人