![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux
SNOWPIAOP
专注于linux下路由器开发
展开
-
一键构建新的编译环境编译RK3568系统,完成系统定制
解决3568 上定制DEBIAN系统遇到的问题, chroot和定制脚本的使用示例介绍原创 2023-11-01 12:01:05 · 488 阅读 · 0 评论 -
repo download url
curl http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo >repochmod +x repo原创 2016-02-24 09:36:41 · 486 阅读 · 0 评论 -
Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)转载 2016-01-30 13:59:15 · 259 阅读 · 0 评论 -
crontab 使用方法
crontab使用方法记录如下,解决了一些问题: crontab -e 执行后弹出编辑窗口,输入如下内容:/2 * * * sleep 10; /root/do.sh >/dev/null 2>&1表示每2分钟执行一次检测ssh可连通的脚本。 注意,脚本输出到/dev/null,以避免crontab报警到root的邮件中。原创 2015-12-08 15:54:58 · 352 阅读 · 0 评论 -
ipq8064 openwrt 上KGDB工作不正常
1,内核打开了KGDB/KDB选项之后,BOOTARGS中指定了KGDBWAIT,但没见停下来。确认参数如下:root@OpenWrt:/# dmesg | grep tty[ 0.000000] Kernel command line: console=ttyHSL1,115200n8 kgdboc=ttyHSL1,115200 root=mtd:rootfs rootfs原创 2016-01-25 20:16:51 · 2865 阅读 · 0 评论 -
wget 编译出错解决mips
wget1.6 产品用到的一个开源软件,原来在ubuntu 下编译OK的。移到64位centos7 下编译出错。在./configure 时产生了如下的错误,编译不下去:checking host system type... Invalid configuration `x86_64-unknown-linux-gnu': machine `x86_64-unknown' not rec原创 2015-12-08 15:24:52 · 825 阅读 · 0 评论 -
ipq806x sdk 编译方法
第一次编译cd qsdkmake package/cp qca/configs/qsdk/ipq806x_standard_beeliner.config .configmake defconfigmake如果要修改内核的配置make kernel_menuconfigmake利用补丁工具,制作打包升级文件1、解压 tar -zxf原创 2016-01-25 14:11:01 · 2292 阅读 · 0 评论 -
KGDB调试LINUX内核
摘要: 本文介绍了如何在DB12X板子上开启KGDB调试功能.如何运行AGENT-PROXY进行代理串口的访问.如何运行GDB单步跟踪. 1.环境 我的环境是: 一块DB12X ATHEROS AP 板子,MIPS架构,内核LINUX 2.6.31 一台UBUNTU 14.04电脑. 2.修改内核配置 进入SDK的LINUX内核目录 cd linux/kernels/mips-l原创 2016-01-24 21:23:00 · 1525 阅读 · 0 评论 -
kdb 环境搭建成功
1.内核开关打开 .config中,需要打开如下选项CONFIG_KGDB 加入KGDB支持 CONFIG_KGDB_SERIAL_CONSOLE 使KGDB通过串口与主机通信(打开这个选项,默认会打开CONFIG_CONSOLE_POLL和CONFIG_MAGIC_SYSRQ) CONFIG_KGDB_KDB 加入KDB支持 CONFIG_DEBUG_KERNEL 包含驱动调试信息 C原创 2016-01-23 19:56:54 · 1810 阅读 · 0 评论 -
authors sdks 2.6.31 内核中关于gdb的配置
kgdb kdb 2.6.31 linux db12x_defconfig原创 2016-01-23 17:01:25 · 361 阅读 · 0 评论 -
AngularJS 入门
1、在APACHE的WWW目录下,编写一个INDEX HTML 2、拷贝angular.min.js到同一目录 3、编写代码 <input type="text" name="name" ng-model="name"/> Hello {{name}}! How are you doing today?</body><script> var helloAp原创 2016-01-22 18:10:26 · 317 阅读 · 0 评论 -
IPQ806X NSS NAPI 驱动处理流程分析
IPQ806X网络子系统(NETWORK SUB SYSTEM,简称NSS)NAPI入口函数是: int nss_core_handle_napi(struct napi_struct* napi,int budget) 其中,入参budget是每次消耗的预算,即一次最多处理几个报文。 在下面的循环中,会判断这个值是否已减到了0,非零时继续。 基本流程是: 1、napi->dev中记录有N原创 2016-01-21 09:51:47 · 2146 阅读 · 1 评论 -
openwrt 升级系统方法
最近在搞高通的IPQ806X方案,路由网关和无线一体化设备。ARM-V7双核CPU,NAT和BRIDGE的内外网转发性能都只有30多K,为了优化,要改内核驱动。 首先面临的是OPENWRT升级问题,下面总结一下方法:一、在UBOOT下升级 1、设置本地IP和TFT服务器IP set autostart no && set ipaddr 10.0.2.151 && set serverip 10原创 2016-01-20 16:55:47 · 17617 阅读 · 1 评论 -
通过SSH和proxyChain连接内网SVN
内网SVN服务器IP是A,svn服务端口80 内网WINDOWS主机IP是B,开启远程连接,服务端口3389.内网防火墙仅允许通往3389 ,其他端口一律禁掉。 外网工作站IP是C,试图用svn客户端连接内网的SVN服务器。 现在为了访问内网SVN,只能先远程到该A主机。 希望:直接在C上访问A解决方案: 1. B上安装虚拟机,IP是 D 2. 虚拟机D上运行sshd,修改侦听由22到3原创 2015-11-30 11:17:58 · 1969 阅读 · 0 评论 -
netlink_unicast return -11 (EAGAIN)
我碰到一个很奇怪的问题,内核调用netlink_unicast发送无线驱动收到的无线帧到用户态,一开始还好的,都正常发送。大约发了几十KB的数据之后,这个调用就出错了,返回-11,查代码是EAGAIN。 内核中走到这个位置 : netlink_unicast() 调用了函数->netlink_attachskb()来将报文放到目的SOCKET 的接收缓冲区中。 netlink_attach原创 2015-12-31 14:50:09 · 3764 阅读 · 3 评论 -
新CENTOS搭建之后的工作
新CENTOS 最小化搭建之后,为了编译工程能够顺利进行。要作如下修改:新安装好CENTOS 7最小化后,要安装一下“开发工具”组 yum groupinstall “开发工具” 然后,因为交叉编译器是32位的,需要安装32位兼容库: yum install glibc.i686 sudo yum install zlib.i686使用命令:yum whatprovides libstdc+原创 2016-04-18 09:58:16 · 320 阅读 · 0 评论 -
ckermit 在CENTOS下安装方法
1.下载源码 http://www.columbia.edu/kermit/ckdaily.html 2.解包 3. 进入目录 4. make linux 5. 生成wermit的可执行文件 6. sudo mkdir /usr/local/man 7. sudo vi /usr/local/bin/kermit.iniset line /dev/ttyUSB0 set s原创 2016-04-18 15:10:57 · 435 阅读 · 0 评论 -
CENTOS 7/UBUNTU 上搭建svn的方法总结
搭建主要思路是采用apache2和subversion subversion服务器端主要由svnadmin组成,起初始化svn库的目录结构作用,真正起到svn服务功能的其实是apache加apache_svn模块原创 2015-06-20 14:04:08 · 800 阅读 · 0 评论 -
在openwrt上添加lua-cjson,并打补丁
在OPENWRT上添加开源模块OPENWRT的开源模块添加通用方法在package下创建目录OPENWRT的开源模块添加通用方法以一个案例说明添加通用模块的方法。从网上下载一个lua-cjson-2.1.0.tar.gz,如何集成到自己的嵌入式OPENWRT环境里呢?在package下创建目录openwrt要求要编译的包,需要在package目录下创建有相应的目录。简单的方法是,把lu...原创 2019-06-19 11:28:41 · 983 阅读 · 0 评论 -
mac OS X 安装 使用KERMIT
KERMIT在MACOSX的安装minicom无法向上翻页看历史消息。 于是,改采用kermit。通过源码方式安装KERMIT。 下载之后,编译指令是:make macosxsudo make install 安装之后,创建一个环境文件,如下:vi ~/.mykermrcset line /dev/tty.usbserialset speed 115200set carrier-watc原创 2017-07-19 18:00:34 · 558 阅读 · 0 评论 -
照着例子试了一下automake
官网说得很详细了,一开始没照着做,出现的问题是: [shidongxue@centossvr hello]$ automake configure.ac:8: warning: AM_INIT_AUTOMAKE: two- and three-arguments forms are deprecated. For more info, see: configure.ac:8: http://原创 2016-11-01 17:39:21 · 1328 阅读 · 0 评论 -
r720 安装CENTOS7经验
/dev/sdb 上没有扫描到安装程序。 解决:先删除 /DEV/SDB对应的设备原创 2016-10-08 13:44:29 · 1920 阅读 · 0 评论 -
cavium工具链交叉编译libiconv
export PATH=/opt/toolschain/cavium2/bin/:$PATH export MAKEARCH=make ARCH=mips CROSS_COMPILE=mips64-octeon-linux-gnu- ./configure –host=mips64-octeon-linux-gnumake clean; make CFLAGS=”-fsigned-char原创 2016-10-26 22:13:52 · 551 阅读 · 0 评论 -
gdbserver MIPS64交叉编译
在CAVIUM CN70xx板子,mips64内核,32位用户态上编译gdbserver 指南1、进入gdbserver目录 2、执行./configure –target=mips64-octeon-linux –host=mips64-octeon-linux 3、执行make CC=/opt/toolschain/cavium2/bin/mips64-octeon-linux-gnu-gc原创 2016-08-08 13:37:46 · 1496 阅读 · 0 评论 -
uboot测试技巧
进入AP OS系统中,执行 dd if=/dev/zero of=/dev/mtdblock1 bs=1024 count=64结果实现uboot-env分区的擦除,使得uboot在第一次启来时,重新写入一份默认的环境变量。从而测试uboot的默认环境变量是否正常,不正常的话,需要修改uboot代码,以保证一份正确的环境变量。这个方法如果测试OK了,相当于各分区的数据都局部测试通过,就不需要整片I原创 2016-10-26 14:56:59 · 1001 阅读 · 0 评论 -
gdb + gdbserver 修改内存值
本次调试,用到了GDB修改内存的命令。先将断点加到函数处,然后检查传入的参数放在何处,再将传入的参数修改,然后继续运行。 结果,按修改后的参数进行了执行。 代码如下,myfunc将入参变成2倍返回: cat test.c#include <stdio.h>int myfunc(int i){ return i*2;}int main(){ int x = myfunc(1原创 2016-08-08 15:28:27 · 4064 阅读 · 0 评论 -
VIM配置记录
一步一步按这个文档搭好VIM环境 http://blog.csdn.net/bokee/article/details/6633193使用过程中一些心得记录下来:1、Vim是ctrl o(字母) 是用来往回跳。不是什么CTRL + T 2、跳至某个函数则可以通过CTRL 键加MOUSE点击跳进去,也可以通过ctrl +] 3、的确可以做到上文所写的MINIBUF效果,此时切换不同的文件,可以原创 2016-08-02 11:22:05 · 202 阅读 · 0 评论 -
proxychains-3.1 在CENTOS 7上安装使用方法
1、源码中有一个BUG,需要修改 2、make & make install 安装之后看看脚本: /usr/bin/proxychains1 #!/bin/sh 2 echo “ProxyChains-3.1 (http://proxychains.sf.net)” 3 if [ # = 0 ] ; then 4 echo ” usage:” 5 ech原创 2016-04-21 10:50:27 · 1966 阅读 · 0 评论 -
最简单的SAMBA用户目录配置
[user1] path=/home/user1 public = no writeable = yes valid users = user1 create mode=0660 directory mode=0755以后就拿这个当模板吧。原创 2016-04-21 09:31:05 · 1625 阅读 · 0 评论 -
批量缩进
1.CTRL+V大写V进入行选择模式,小写的v也行,只要选中就行了。 2.j下移光标扩大缩进的行的选择范围。 3.>缩进 4.如果要进一步缩进进去,只需要按点“.”键即可 5.如果后悔多缩了,只需要按u就可以了。 6.如果想减少缩进,步骤3中修改成<原创 2016-04-21 09:27:09 · 363 阅读 · 0 评论 -
vim 批量注释
1.ctrl v 进入列选择模式 2.j 下移光标,选择要注释的行 3.I# 针对 首行修改,I表示在行首插入,#是注释符,我是针对SAMBA的配置,如果是C,改成// 4.ESC退出插入模式,进入普通模式 5.再次按ESC应用到其他各行,这是VIM的一个BUG,需要在普通模式下再次按ESC才应用到选择的其他各行。原创 2016-04-21 09:20:18 · 215 阅读 · 0 评论 -
SVN入库工作
在SVN服务器,用ROOT执行: svnadmin create /home/svn/mynewproject svn import mynewproject file:///home/svn/mynewproject/trunk 然后注意看看/home/svn/mynewproject目录的权限 修改成其他项目一致来,一般组要设置为subversion组,以便这个组中的开发者都能够有权限访原创 2016-04-19 15:30:16 · 599 阅读 · 0 评论 -
无线报文头学习
无线报文格式的前2个字节用来描述帧控制信息。在驱动中用如下数据结构来描述: struct ieee80211_frame{ u_int8_t i_fc[2]; u_int8_t i_dur[2]; union { struct { u_int8_t i_addr1[IEEE80211_ADDR_LEN]; u_int8_t原创 2015-12-29 18:25:23 · 1876 阅读 · 0 评论 -
CPU亲和性
http://blog.csdn.net/turkeyzhou/article/details/7528182 http://www.tuicool.com/articles/jiY7Zn脚本如下:setting up irq affinity according to /proc/interrupts2008-11-25 Robert Olsson2009-02-19 updated by Je转载 2016-01-16 18:27:38 · 517 阅读 · 0 评论 -
atheros SDK中的模块间引用分析
第一种情况是:KBUILD_EXTRA_SYMBOLS 来引用不属于同一个MAKEFILE编译出来的文件,如ath_dev.ko 引用 ath_hal.ko。ath_hal.ko Makefile位于drivers/wlan/os/linux/ath_hal这个目录ath_dev.ko 的Makefile位于drivers/wlan/os/linux目录所以,在drive原创 2015-04-21 11:26:38 · 822 阅读 · 0 评论 -
高通ATHEROS AR93XX AP无线驱动介绍
AR93XX AP无线驱动设计1、OSIF数据结构ath_softc_net80211:即scn对象,与LINUX网络协议栈连接。包含了下层的UMAC对象指针、LMAC接口函数指针等 。可以通过网络设备netdevice*的priv指针获针获取scn对象。包括了一个UMAC对象,ic。osif_dev:即osdev对象,我与LINUX的net_device设备进行一原创 2015-01-23 11:07:30 · 2323 阅读 · 0 评论 -
高通atheros ar93xx AP软件体系结构
AP软件体系结构包括两部分:1、WLAN上层应用工具,包括iwconfig/iwpriv/hostapd等,用于配置和调试无线内核驱动2、WLAN驱动。是WLAN软件的核心部件进一步,WLAN驱动从上到下分为如下几层:1、OSIF操作系统适配层2、WLAN API为访问UMAC提供标准API,防止 直接访问UMAC层的数据结构或函数。3、UMAC负责80原创 2015-01-23 10:37:43 · 2110 阅读 · 0 评论 -
高通ATHEROS AR93XX AP无线驱动介绍2
无线处理上下文1、ISR中断处理:ath_israth_attach时,即注册中断号和中断处理函数ath_isr。同时注册软中断函数ath_tasklet去执行下半部。2、软中断:ath_tasklet收包处理完成后续发包处理3、进程上下文 应用层工具命令下发时所在上下文。上述三种上下文互斥方法如下:原创 2015-01-23 16:12:27 · 1001 阅读 · 0 评论 -
「转」IEEE802.11数据帧在Linux上的抓取
IEEE802.11数据帧在Linux上的抓取2012-07-15 20:57 6293人阅读 评论(13)收藏 举报终于得到了梦寐的《802.11无线网络权威指南》,虽然是复印版本,看起来也一样舒服,光看书是不行的,关键还是自己练习,这就需要搭建一个舒服的实验环境,抓包是必不可少的了,因为只有详细分析802.11数据帧,才能深入理解协议的细节。软件上就是这个理,手转载 2015-01-20 18:09:41 · 1451 阅读 · 0 评论 -
UBUNTU 14.04 更换新内核
1、到官网上DOWNLOAD一个稳定3.14.292、切換到ROOTsudo su -3、解压4、拷贝当前内核配置cp /boot/config-3.13.0-32-generic .config5.make oldconfig全部直接回车,默认选择。6、make 生成内核bzImage#make7.make modules_install 安装内核模块原创 2015-01-20 15:21:46 · 1163 阅读 · 0 评论