- 博客(54)
- 资源 (4)
- 收藏
- 关注
转载 Ubuntu修改密码和用户名
Ubuntu是一个Linux操作系统,修改密码和用户名是有危险的动作,请谨慎修改。一、Ubuntu修改密码和用户名Ubuntu更改密码步骤:1、进入Ubuntu,打开一个终端,输入 sudo su转为root用户。 注意,必须先转为root用户!!!2、sudo passwd user(user 是对应的用户名)3、输入新密码,确认密码。4、修改密码成功,重启,输入新密码进入Ubun...
2019-12-26 10:20:41 26252 5
转载 PPPoE
PPPoE技术白皮书PPPoE技术白皮书关键词:PPP,Ethernet,PPPoE摘 要:PPPoE是一种通过一个远端接入设备为以太网上的主机提供接入服务,并可以对接入的每个主机实现控制和计费的技术。本文介绍了PPPoE的产生背景、技术优点、工作过程和典型组网应用。缩略语:缩略语英文全名中文解释
2017-03-23 17:27:54 10510
转载 btctl 网桥
将对应的有线LAN和无线LAN都绑定在这个虚拟bridge口上,给这个bridge口分配一个地址,其他子网微机配置网关为bridge口的地址便可以实现局域网内互联。brctl 功能:在当前 AP 中将指定无线空口加入到默认(default)桥中。参数含义:addif:将指定空接口加入到指定桥中.delif:删除指定桥中指定无线空接口。bridge:指定桥名称。
2017-03-23 16:33:46 956
原创 iwpriv/iwconfig/iwlist命令
1. iwpriv interface [private-command [private-arguments]]功能: 用来配置无线网络接口的各种私有可选参数iwpriv wifi0 //查看所有radio接口相关参数iwpriv ath0 //查看bss接口相关参数It is recommended to use the radio layer comma
2017-03-23 16:21:32 3129
转载 WAPI
什么是WAPI WAPI是WLAN的另外一种标准,和WIFI也是一种无线传输的协议,其英文全称是“Wireless LAN Authentication and Privacy Infrastructure”,这是一个由中国提出来的无线传输的协议,其在用户层面的实际使用上和WIFI没有任何区别,都是短距离的无线网络,只是在在加密的算法上更加高级,因此号称比WIFI更为安全。
2017-03-23 14:12:45 1046
原创 wireless参数
radio: 射频: 2.4G 5G 5G和2.4G两个频率范围段的无线信号 频段:其实就是分配给特定应用的频率范围mode: 802.11b/g/n(2.4GHZ) 802.11b/g(2.4GHZ) 802.11b(2.4GHZ); 802.11a/n(5GHZ) 802.11a/n/ac(5GHZ)country: CN/US 不同国家支持的信道不
2017-03-23 11:28:12 2607
转载 linux网络协议栈内核分析
1. Linux 网络路径1.1 发送端1.1.1 应用层(1) Socket 应用层的各种网络应用程序基本上都是通过 Linux Socket 编程接口来和内核空间的网络协议栈通信的。Linux Socket 是从 BSD Socket 发展而来的,它是 Linux 操作系统的重要组成部分之一,它是网络应用程序的基础。从层次上来说,它位于应用层,是操作系统为应用程
2017-03-23 10:11:18 642
转载 IEEE802.11协议栈
1、概述mac80211:是一个Linux内核子系统,是驱动开发者可用于为SoftMAC无线设备写驱动的框架。mac80211在内核空间实现STA模式,在用户空间实现AP模式(hostapd)。cfg80211:用于对无线设备进行配置管理,与FullMAC,mac80211和nl80211一起工作。nl80211:用于对无线设备进行配置管理,它是一个基本Ne
2017-03-23 10:03:57 9576 1
原创 bootloader
bootloader最终目的:启动内核BootLoader就是在操作系统运行之前运行的一段小程序。通过这段小程序,可以初始化硬件设备,从而将系统的 软硬件环境带到一个合适的状态,以便为最终调用操作系统做好准备在嵌入式系统中,通常没有像BIOS那样的固件程序,因此整个系统的加载启动任务就完全由BootLoader来完成。 一个嵌入式系统从软件角度来看分为三个层次:1. 引
2017-03-21 16:20:37 8715
原创 sqlite3
内存数据库:rc = sqlite3_open(":memory:", &db);在调用完以上函数后,不会有任何磁盘文件被生成,取而代之的是,一个新的数据库在纯内存中被成功创建了。临时数据库:rc = sqlite3_open("", &db);磁盘文件被创建用于存储临时数据库中的数据信息,但是实际上临时数据库通常也会驻留在内存中,以提高增删查改的速度。如果
2017-03-21 15:57:56 558
原创 freeradius
A) freeradius安装sudo apt-get install freeradiusB)添加用户sudo vim /etc/freeradius/userstest Cleartext-Password := "5678"C)配置client 网段sudo vim /etc/freeradius/clients.confclient 192.168.1.
2017-03-21 15:30:18 463
原创 类class
自动创建设备文件,可以让驱动自动创建设备文件,不再使用 mknod /dev/myled c 250 0一个struct class结构体类型变量对应一个类,内核同时提供了class_create(…)函数,可以用它来创建一个类,这个类存放于sysfs下面,一旦创建好了这个类,再调用 device_create(…)函数来在/dev目录下创建相应的设备节点。这样,加载模块的时候,用户空
2017-03-21 15:04:38 254
原创 内核中的时间流
时间的一个重要概念jiffies: 内核的一个全局变量,jiffies每隔一个固定时间就会增加1,这个固定间隔由定时器中断来实现每秒钟产生多少个定时器中断,由在中定义的宏HZ确定HZ是一个宏在编译内核时,这个__KERNEL__是编译选项#ifdef __KERNEL__#define HZ CONFIG_HZ#define USER_HZ HZ#
2017-03-21 15:01:55 357
原创 输入子系统
Linux系统提供了input子系统,按键、触摸屏、键盘、鼠标等输入都可以利用input接口函数来实现设备驱动input设备用input_dev结构体描述,(struct input_dev代表一个输入设备)使用input子系统实现输入设备驱动的时候,驱动的核心工作是向系统报告按键、触摸屏、键盘、鼠标等输入事件(event,通过input_event结构体描述)具体的输入设备驱
2017-03-21 14:58:39 261
原创 中断机制
裸板中的中断处理1.硬件处理(1)cpu强制进入中断模式(2)cpsr ->spsr(3)lr = pc -4(4)cpu强制跳转到中断向量表 2.软件处理初始化中断(1)设置中断管脚(2)设置触发方式(电平、边沿 EINT0/1/2)(3)设置中断模式 (IRQ/FIQ)INTMOD(4)使能中断,开屏蔽位 INTMSK,EINTMASK,CPSR
2017-03-21 14:49:45 335
原创 互斥机制
竞争发生的情况1. 多核cpu之间访问资源2. 低优先级的进程和高优先级的进程之间3. 中断处理程序和进程之间解决竞争的机制:互斥机制:1.关中断: 非抢占单CPU 别人的中断不会干扰 自己的中断会干扰 2.原子操作: 抢占多CPU 3.自旋锁:关抢占没关中断 一般配合关中断使用 忙等锁 里面放的代码尽量少 保证进程间互斥(多CPU)4.
2017-03-21 14:45:21 720
原创 IO模型
IO模型 阻塞 非阻塞 多路复用 信号驱动阻塞机制1. 使用等待队列去实现阻塞机制等待队列1. 头文件: 或则 #include 2. 等待队列头的定义wait_queue_head_t q;struct __wait_queue_head { spinlock_t lock; struct lis
2017-03-21 14:40:46 223
原创 字符设备驱动
如何一步一步执行驱动:在进行驱动加载的过程中使用 insmod mydev.ko时,会执行驱动的加载函数,在驱动的加载函数中会进行设备的注册1. MKDEV (hello_major, hello_minor)去生成设备号2. 向内核去注册设备节点result = register_chrdev_region (dev, number_of_devices, "hello");
2017-03-21 14:31:44 302
原创 proc文件系统
proc文件系统被用于内核向用户导出信息。通过它可以使用一种新的方法在 Linux内核空间和用户空间之间进行通信。struct proc_dir_entry { unsigned int low_ino; unsigned short namelen; const char *name; mode_t mode;
2017-03-21 14:30:08 359
原创 交叉工具链
应用硬件平台不同:所用的交叉工具不同 在linux下通过arm-linux-gcc 编译出来的可执行程序用与在ARM平台下执行 gcc编译出来的程序适用于386平台解压+配置解压:tar -xvzf arm-linux-gcc-4.3.2.tgz -C / 修改 /etc/bash.bashrc export PATH=$PATH:/home/linu
2017-03-21 14:23:49 340
原创 deb/rpm软件包
软件包 deb软件包 rpm软件包软件包管理工具 dpkg aptrpm包-在红帽LINUX、SUSE、Fedora可以直接进行安装,但在Ubuntu中却无法识别;deb包-是Ubuntu的专利,在Ubuntu中双击deb包就可以进入自动安装进程;filename_Version_Reversion_Architectrue.deb软件包名_软件版本_修订版
2017-03-21 14:20:06 429
原创 编译&链接
库:默认搜索路径 /lib 或 /usr/lib头文件:默认搜索路径 /usr/include 生成静态库:1.生成 .o 文件:gcc -c .c文件 -o .o文件2.生成静态库:ar -cr lib库名.a *.o //lib是前缀 .a是库后缀3.链接静态库:gcc .c文件 -L 库所在的绝对路径 -l库名 //库
2017-03-21 13:50:52 265
原创 ARM体系架构
ARM官网:www.arm.com 一:什么是嵌入式: 嵌入式是为了完成某个特定功能,在软件和硬件上进行了裁剪,低成本,低功耗(电源管理模块,软件判断硬件是否使用),便携式(封装),实时性(中断)比较强,代码可固化(一般固化到Flash(rom)中),计算机系统。二:什么是ARM: 1:是一个公司的名称 2:一种微处理器的架构 3:一种技术三
2017-03-21 13:44:03 5763
原创 ARM汇编指令
条件执行:EQ:相等则执行NE:不相等则执行GE:大于等于执行LE:小于等于执行GT:大于执行LT:小于执行AL:无条件执行伪指令: 是有一些指令,不方便用汇编去实现,汇编器就提供一些指令,用于去实现一些不好实现的一些功能,最终这些伪指令都要生成相应的汇编指令操作数2 : 可以是一下几种情况:1. 可以是寄存器2. 可以使寄存
2017-03-21 13:35:38 1441
原创 netcat 应用
netcat是一个用于TCP/UDP连接和监听的linux工具, 主要用于网络传输及调试领域。netcat 可以打开TCP连接 发送UDP报文,监听在TCP和UDP端口, 以及TCP端口扫描, 而且脚本对用户友好,错误消息输出到屏幕上。它可以从文件或网络的一端读取数据,原封不动的将数据发送到另一台主机或文件中 netcat一般缩写为nc1.支持客户端和服务器2.支持连出和连入, T
2017-03-20 20:09:12 9684
转载 qos实现之tc流量控制
TC介绍在 linux 中,TC 有二种控制方法 CBQ 和 HTB.HTB 是设计用来替换 CBQ 的。它是一个层次式的过滤框架.TC包括三个基本的构成块: 队列规定 qdisc(queueing discipline )、类(class)和分类器(Classifiers)TC 中的队列(queueing discipline): 用来实现控制网
2017-03-20 12:57:48 2850 1
原创 内核中的内存与分配
1. 内核空间和用户空间 1G ~ 3G 用户空间使用的地址范围(3G) 3G ~ 4G 内核空间使用的地址范围(1G)2. 内存的申请(1)用户空间的内存申请: malloc free(2)内核空间的内存申请:a.__get_free_pages() 与void free_page(unsigned long addr)ext
2017-03-20 11:10:03 383
原创 platform_bus
静态编译驱动: 1. 首先把led.c 放到内核中放到 driver/char目录中2. 添加一个编译的选项 修改driver/char/Kconfig 文件 config S5PV210_LED bool "s5pv210 led device support" tristate "s5pv210 led device support" help
2017-03-20 11:05:13 731
原创 进程间通信IPC
一个大型的应用系统,往往需要众多进程协作,进程间通信的重要性显而易见。 首先,进程间通信至少可以通过传送打开文件来实现,不同的进程通过一个或多个文件来传递信息,事实上,在很多应用系统里,都使用了这种方法。但一般说来, 进程间通信(IPC:InterProcess Communication)不包括这种似乎比较低级的通信方法。Unix系统中实现进程
2017-03-20 11:02:12 273
转载 reaver 和 aircrack-ng 安装与使用
安装1. 下载 reaver最新版本 (这里用1.4) 2. 解压: tar -xvf reaver-1.4.tar.gz3. cd reaver-1.4/src4. ./configure5. sudo make6. sudo make install如果缺少库的话在./configure 时会有提示。我在安装时提示缺少pcap library. 于是s
2017-03-20 10:46:30 8016
转载 GDB调试
1. tftp将附件gdbserver拷贝到AP的/bin目录2. AP上执行 gdbserver 10.0.0.201:2345 clid启动调试clid3. 在host主机(即我们的编译服务器)上 mips-linux-gdb进去gdb (gdb) target remote 10.0.0.201:2345 再往下就是熟悉的gdb调试方法首先确保系统down
2017-03-20 10:41:19 416
原创 ubuntu下配置 tftp NFS服务
配置 tftp 服务的步骤: 1. 若/etc/xinetd.d/下存在 tftp,执行下列操作 1)关闭 xinetd 服务 $sudo service xinetd stop 2)删除 tftp 文件 $sudo rm /etc/xinetd.d/tftp 3) 启动 xinetd 服务 $sudo service xinetd start 2. 安装 tf
2017-03-20 10:38:33 252
转载 iperf 网络性能测试工具
iperf命令是一个网络性能测试工具。iperf可以测试TCP和UDP带宽质量。iperf可以测量最大TCP带宽,具有多种参数和UDP特性。iperf可以报告带宽,延迟抖动和数据包丢失。利用iperf这一特性,可以用来测试一些网络设备如路由器,防火墙,交换机等的性能。 iperf分为两种版本,Unix/Linux版和Windows版,Unix/Linux版更新比较快,版本最新。Windows版更新
2017-03-20 10:32:14 624
转载 Valgrind 内存调试、内存泄漏检测
Valgrind是一款用于内存调试、内存泄漏检测以及性能分析的软件开发工具。Valgrind的最初作者是Julian Seward,他于2006年由于在开发Valgrind上的工作获得了第二届Google-O'Reilly开源代码奖。Valgrind遵守GNU通用公共许可证条款,是一款自由软件。Valgrind 中包含的 Memcheck 工具可以检查以下的程序错误:1.使
2017-03-20 10:29:37 1060
转载 提高程序员职场价值的10大技巧
开发技巧No. 1:博客建立自己的博客,每月至少发布一篇文章。做点研究,因为只有自己亲身经历过,才能言之有物,不会听上去像吹牛皮。学会如何写文章,像以前你的老师教的那样:列大纲,描述情节,最后检查语法和错别字。然后,即使再不舍也要大刀阔斧般地简化和缩短文章到一眼就能知道大概意思。开发技巧No. 2:开源现在的年轻人可能没有经历过,程序员随时会失业的悲惨境地。但是即使是在最黑暗的时期,凡
2017-03-20 10:25:28 180
原创 内存对齐
内存对齐的原则(1)如果结构体中有大于或等于4字节的基本数据类型,按照4字节对齐(2)如果结构体内部只有小于4字节的基本类型,这时按照最大的那个数据类型对齐struct aa { //占用16个字节 char b; int c; struct d{ char d1; short d2; int
2017-03-20 10:18:59 320
转载 scanf 特殊用法
语法: #include int scanf( const char *format, ... ); 类似函数有 int scanf(const char *format, ...); int fscanf(FILE *stream, const char *format, ...);//指定输入流 int sscanf(cons
2017-03-20 10:09:43 544
原创 I2C驱动
Linux2.6.30/driver/i2c/1.algos: 协议算法相关的东西2.busses: 各种平台的i2c总线驱动(i2c控制器驱动/i2c适配器驱动)3.chips: 各种i2c设备驱动(e2prom/某种传感器/触摸屏)4.i2c-core.c i2c-dev.c: i2c子系统的通用文件(i2c核心层,提供一些通用函数接口)应用层app
2016-05-07 01:16:18 6148
转载 RIP
RIP(Routing Information Protocol,路由信息协议)是一种较为简单的内部网关协议(Interior Gateway Protocol,IGP),主要用于规模较小的网络中,比如校园网以及结构较简单的地区性网络。对于更为复杂的环境和大型网络,一般不使用RIP。由于RIP的实现较为简单,在配置和维护管理方面也远比OSPF和IS-IS容易,因此在实际组网中仍有广泛地应用
2016-05-07 01:09:35 1686
转载 ARP
Arp(adress resolution protocol—地址解析协议)是在传输IP包时,因不知道IP地址对应的MAC地址,无法传送数据引起的,通过arp,建立目的IP跟MAC地址的映射关系,从而获得目的IP的MAC地址。Arp头部的数据结构如下:typedefstruct arphdr { unsignedshort arp_hrd;/*硬
2016-05-07 01:03:11 548
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人