- linux 4G模块(EC20 R2.0)调试记录
_就这样_
linuxlinux内核
最近在RK3399和TX2的板子上移植4G模块(EC20R2.0)模块,由于kernel本身已经支持USBSerialDriver,再交叉编译的PPP后,很顺利的就可以上网了。想试试quectel-CM软件上网,就在内核中添加了GobiNet驱动,运行quectel-CM软件时,出现了如下问题。1.default.script目录问题日志显示udhcpc使用的脚本在/usr/share/udhcp
- 4G模组EC20 网卡udhcpc获取IP但是没有设置IP
IT小生lkc
tcp/ip服务器网络协议
使能网卡:ifconfigusb0updhcp获取ip,虽然没有报error,但是很显然没有设置进配置获取ip命令:udhcpc-iusb0非正常现象:正常现象:解决方法:(1)rootfs创建文件夹以及文件mkdir/usr/share/udhcpc/(2)拷贝文件到该文件夹/usr/share/udhcpc/default.scriptbusybox\examples\udhcp\simple
- 【程序】在STM32单片机上实现基于LwIP 2.1.3协议栈raw API的DHCP服务器,为其他设备分配IPv4地址(20220122版)
巨大八爪鱼
STM32服务器单片机stm32lwipdhcp
本程序是参考了udhcp-0.9.8后编写的。使用方法:ip4_addr_tip4addr,netmask,gw;structdhcpd_configdhcpd;structnetifwifi_88w8801_uap;IP4_ADDR(&ip4addr,192,168,20,1);//板子IP地址IP4_ADDR(&netmask,255,255,255,0);//子网掩码ip4_addr_set
- udhcp源码剖析(五)——DHCP客户端重要的数据结构和初始化配置
who538592
linux通讯协议C语言
数据结构和服务器类似,客户端也维护着一个全局的数据结构client_config,用于所有的DHCP服务。structclient_config_tclient_config={/*Defaultoptions.*/abort_if_no_lease:0,foreground:0,quit_after_lease:0,background_if_no_lease:0,interface:"eth0
- udhcp源码详解(二)
王大军9527
udhcp源码详解
udhcp源码详解(二)之定义的结构体Author:huiFrom:Created:2010-10-2---2010-10-3定义的数据结构对于C程序的重要性,不言而喻。面向对象设计的程序是一个个对象的集合,而面向过程语言设计的程序则是数据结构与算法的集合。下面来分析的是dhcpserver中的定义结构体:1)、在packet.h文件里定义了DHCP报文的格式:structdhcpMessage报
- udhcp源码详解(五)
eydwyz
dhcp
udhcp源码详解(四)之DHCP包--options字段Created:2010-10-25中间有很长一段时间没有更新udhcp源码详解的博客,主要是源码里的函数太多,不知道要不要一个一个讲下去,要知道讲DHCP的实现理论的话一篇博文也就可以大致的讲完,但实现的源码却要关心很多的问题,比如说,理论上说从IP地址池取到一个空闲的IP,就这么一句,在源码的体现也是一大段。算啦,讲多少算多少吧,进入主
- ARM Linux平台UDHCP配置笔记
wjs1033
linux
在ARM-Linux系统上装个DHCP服务器,这样就可以通过一条网线与PC连接了。当然,应该也是可以在PC上装一个DHCP服务器,关于这一点,以后再研究......安装步骤:1.下载UDHCP程序包(Google一下就可以了)2.编译代码。首先修改Makefile,将CROSS_COMPILE值改成你将使用的编译器的特征名。注意:编译器名=CROSS_COMPILE+“gcc”3.将编译好的udh
- busybox之dhcprelay源码分析
linxiaowu66
交换机学习
UDHCP之DHCP中继源码分析-------本文旨在全面了解busybox中的udhcp文件夹下的DHCP中继工作原理一、了解udhcp文件下涉及到dhcprelay的文件:1、主文件:dhcprelay.c。dhcprelay功能的实现基本全靠这个文件实现,从解析命令到封装数据包发送数据包等等。2、辅助文件common.c与common.h。这两个文件定义了一些通用的函数,比如获得option
- udhcp源码剖析(一)——DHCP服务器和客户端的工作流程
who538592
linux通讯协议C语言
DHCP服务器的工作流程udhcpd,即dhcp服务器,在路由器等网关设备中,DHCP服务器启动后用于给LAN侧和无线终端分配IP、租约和其他网络配置。根据RFC2131文档规范,一个标准的DHCP服务器和客户端的交互时序如下,这是一个完整的交互过程,从INIT到BOUND,其余的交互过程,比如INIT_REBOOT、RENEWING和REBINDING都可视作该过程的简化或一部分。DHCP客户端
- udhcp移植到arm-linux
King-Five
ARMlinux
实现DHCP自动获取IP地址前提:系统已经实现DNS(即使用pingwww.baidu.com测试时能ping通)。1.在内核中添加以下选项:Networking--->[*]NetworkingsupportNetworkingoptions--->Packetsocket//添加.配置CONFIG_PACKET[*]IP:DHCPsupport//添加[*]Networkpacketfilte
- 解决udhcpc命令无法自动获取并设置网卡IP和系统DNS
孤燕奕飞
linux命令
udhcpc是一个面向嵌入式系统的非常小的DHCP客户端,字母的缩写微-DHCP-客户端(μDHCPc)。1.udhcpc-ieth0udhcpc只是获取一个IP,我们需要把\busybox-1.1.2\examples\udhcp下的脚本simple.script改名为default.script,放在开发板上的/usr/share/dhcpc/目录下,才能将获取的IP写到指定的网卡中。####
- wifi连接及启动热点
yangyang031213
linuxlinux驱动及海思
连接wifi现在wpa_supplicant、hostapd、rt8821驱动都编译完了,还需要在busybox添加udhcp支持:makemenuconfigmakemakeinsall#install在_install目录下makemenuconfig配置:然后将_install目录与osdrv/pub/rootfs_glibc合并,重新制作文件系统,使用yaffs2、2KBpagesize、
- udhcp源码剖析(二)——DHCP服务器重要的数据结构
who538592
linux通讯协议C语言
程序=算法+数据结构,数据结构是了解DHCP服务器的代码的重要途径。通过分析DHCP服务器的主要数据结构,可以深入了解DHCP服务器的工作流程和实现原理。dhcpMessage定义在packet.h的structdhcpMessage是DHCP报文的格式,包括了协议中所定义的所有DHCP报文所定义的内容,如下所示。structdhcpMessage{u_int8_top;u_int8_thtype
- udhcp源码详解(五) 之DHCP包--options字段
option
中间有很长一段时间没有更新udhcp源码详解的博客,主要是源码里的函数太多,不知道要不要一个一个讲下去,要知道讲DHCP的实现理论的话一篇博文也就可以大致的讲完,但实现的源码却要关心很多的问题,比如说,理论上说从IP地址池取到一个空闲的IP,就这么一句,在源码的体现也是一大段。算啦,讲多少算多少吧,进入主题!
&
- udhcp源码详解(四) 之租赁IP的管理
DHCP
Server端对于租赁出去的IP的管理是基于结构体dhcpOfferedAddr的,该结构体的定义是在leases.c文件里:(结构体的成员介绍说明见详解之数据结构)
[cpp] view plaincopy
struct dhcpOfferedAddr {
uint8_t chaddr[16];
&n
- udhcp源码详解(四) 之租赁IP的管理
DHCP
Server端对于租赁出去的IP的管理是基于结构体dhcpOfferedAddr的,该结构体的定义是在leases.c文件里:(结构体的成员介绍说明见详解之数据结构)
1: struct dhcpOfferedAddr {
2: uint8_t chaddr[16];
3: uint32_t yiaddr; /* network order *
- udhcp源码详解(三) 下 之配置信息的读取
DHCP
上节讲解了read_config函数,读取配置信息到server_config的相应成员变量里,但read_config函数只负责把配置信息重文件里读出来,具体怎么把信息填写到指定的地址内,是调用keywords数组里元素的handler成员指向的函数完成。这节就是讲解完成具体的写入操作中比较复杂的函数。
1) int read_opt(const char *line, void *arg)
- udhcp源码详解(三)上 之配置信息的读取
DHCP
上节介绍了存储管理配置信息的结构体struct server_config_t,该结构体贯穿整个server端程序的运行。
在dhcpd.c里的用该结构体定义个一个全局的变量:
struct server_config_t server_config;
在server启动做的第一件事就是初始化这个全局变量server_config:
现在就进入read_config函数,一睹其真容!
- udhcp详解源码(序)
DHCP
最近负责接入模块,包括dhcp、ipoe和pppoe等等。所以需要对dhcp和ppp这几个app的源代码进行一些分析。网上有比较好的文章,参考并补充自己的分析。
这篇udhcp详解是基于busybox-1.20里的 …/busybox-1.20/networking/udhcp/目录下的源码进行讲解与分析,主要是对udhcp server端源码进行的讲解,client端相对于s
- udhcp源码详解(二)--转
DHCP
定义的数据结构对于C程序的重要性,不言而喻。面向对象设计的程序是一个个对象的集合,而面向过程语言设计的程序则是数据结构与算法的集合。
下面来分析的是dhcp server中的定义结构体:
1)、在packet.h文件里定义了DHCP报文的格式:
struct dhcpMessage报文的字段虽然都有注释,但还是有必要讲下options字段。
options在大多文档中的说法是可选字
- udhcp源码详解(一)之文件组织结构(dhcp server) --转
server
udhcp目录下有十几个源文件,一个源文件相对应一个模块,完成一系列相关的功能,例如在static_leases.c主要针对static_lease链表增删查找等操作。
dhcpd.c—— 整个dhcp server运行的主线,server开始运行是从
- udhcp详解(八)——udhcpd.c的执行主线
baidu20008
udhcpd中调用各个模块完成dhcp服务器功能。udhcpd执行首先是读入了DHCPD_CONF_FILE的配置文件,完成全局变量server_config的初始化工作。之后将进程的pid加锁独占性地写入到文件中。再之后通过接口名,完成服务器接口索引MAC地址和IP地址的读取工作。在调用daemon之后,再次写入dhcpd的pid。调用daemon之后将服务器进程设置为了守护进程在后台执行,但是
- udhcp详解(七)——udhcp报文
baidu20008
udhcp中,由serverpacket.c完成了服务器报文的发送,而clientpacket则完成了客户端报文的发送。它们最终调用的都是packet.c中的接口完成报文向网络中的发送。structdhcpMessage{
u_int8_top;
u_int8_thtype;
u_int8_thlen;
u_int8_thops;
u_int32_txid;/*DHCPREQUEST时产生的数
- udhcp源码详解(六)--script
baidu20008
解析udhcpscript.c
首先得讲明udhcp客户端设置IP的机制。在udhcp中,客户端通过和主机的多次报文交互协商而获得可用的IP地址。在获得IP地址之后,客户端使用execle函数调用shell脚本完成客户端ip,netmak,dns,gateway等等参数的设定。而shell脚本的调用在script.h和script.c中实现。以下为script.c源码中的主要实现函数:/*getaroughideaofhowlo
- udhcp源码详解 续
hui_love2046
最近仔细阅读udhcp源码略有所得。udhcp源码已由hui_love2046介绍了一部分,本着知识共享的精神介绍剩余部分的细枝末节。可能本udhcp源码是别人二次编辑过的,但大体上是没多大差别的。查看之前udhcp1-5详解,请参见以下链接:http://blog.csdn.net/hui_love2046/article/details/5919680
- linux下检测ip冲突
pear86743
原理其实很简单,那就是广播一个arp包,然后recv,如果没有数据(这里要设置延时),那么说明这个ip是可用的,否则就检测这个数据是否为回复我们发出的arp的应答包.如果是则证明ip已被使用,否则继续等待. 这里可以看下busybox的dhcp中的检测程序。 networking/udhcp/arpping.c C代码 /* vi: set sw=4 ts=4: */ /* * arppin
- busybox之dhcprelay源码分析
linxiaowu66
源码分析dhcprelay
UDHCP之DHCP中继源码分析-------本文旨在全面了解busybox中的udhcp文件夹下的DHCP中继工作原理一、了解udhcp文件下涉及到dhcprelay的文件:1、 主文件:dhcprelay.c。dhcprelay功能的实现基本全靠这个文件实现,从解析命令到封装数据包发送数据包等等。2、 辅助文件common.c与common.h。这两个文件定义了一些通用的函数,比如获得opti
- mark:ADSL路由解决dhcp无法设置网关地址
我爱鼠钱钱
网关DHCPADSL路由
家里原来装了电信的宽带,自己买了个ADSL路由,前段时间取消不上网了,正好单位没无线路由,就拿来用。单位是RJ45网线接口,开启dhcp后没法设置网关地址,会默认把路由自身地址设为网关地址,搞得只好手机设成静态地址才能上。今天闲来无事,就telnet上路由,本来开始是想在路由上解决的,用route-n看了下,加了条默认网关的路由,还是没用。结果到处找配置文件,意外发现了,cat/etc/udhcp
- ARM-Linux平台UDHCP配置笔记
ctbinzi
Google服务器interface平台makefile编译器
在ARM-Linux系统上装个DHCP服务器,这样就可以通过一条网线与PC连接了。 当然,应该也是可以在PC上装一个DHCP服务器,关于这一点,以后再研究...... 安装步骤: 1.下载UDHCP程序包(Google一下就可以了) 2.编译代码。首先修改Makefile,将 CROSS_COMPILE 值改成你将使用的编译器的特征名。注意:编译器名= CROSS_COMPILE+“gcc” 3.
- arm linux 用udhcp 动态分配地址通过wi-fi上互联网
ctbinzi
在arm板上通过usb无线网卡PDA实现了点对点通讯,就想可不可以直接用来上网。刚好晚上有空,就开始着手准备,因为AP可以动态分配地址,于是上网查了一下,动态地址分配的资料,需要用到dhcp,在busybox里有udhcp工具,重新编译busybox,生成含有udhcpc的busybox,添加busybox里面的udhcpc配置文件,重新生成rootfs下载到板子上,运行.配置文件为:/usr/s
- java杨辉三角
3213213333332132
java基础
package com.algorithm;
/**
* @Description 杨辉三角
* @author FuJianyong
* 2015-1-22上午10:10:59
*/
public class YangHui {
public static void main(String[] args) {
//初始化二维数组长度
int[][] y
- 《大话重构》之大布局的辛酸历史
白糖_
重构
《大话重构》中提到“大布局你伤不起”,如果企图重构一个陈旧的大型系统是有非常大的风险,重构不是想象中那么简单。我目前所在公司正好对产品做了一次“大布局重构”,下面我就分享这个“大布局”项目经验给大家。
背景
公司专注于企业级管理产品软件,企业有大中小之分,在2000年初公司用JSP/Servlet开发了一套针对中
- 电驴链接在线视频播放源码
dubinwei
源码电驴播放器视频ed2k
本项目是个搜索电驴(ed2k)链接的应用,借助于磁力视频播放器(官网:
http://loveandroid.duapp.com/ 开放平台),可以实现在线播放视频,也可以用迅雷或者其他下载工具下载。
项目源码:
http://git.oschina.net/svo/Emule,动态更新。也可从附件中下载。
项目源码依赖于两个库项目,库项目一链接:
http://git.oschina.
- Javascript中函数的toString()方法
周凡杨
JavaScriptjstoStringfunctionobject
简述
The toString() method returns a string representing the source code of the function.
简译之,Javascript的toString()方法返回一个代表函数源代码的字符串。
句法
function.
- struts处理自定义异常
g21121
struts
很多时候我们会用到自定义异常来表示特定的错误情况,自定义异常比较简单,只要分清是运行时异常还是非运行时异常即可,运行时异常不需要捕获,继承自RuntimeException,是由容器自己抛出,例如空指针异常。
非运行时异常继承自Exception,在抛出后需要捕获,例如文件未找到异常。
此处我们用的是非运行时异常,首先定义一个异常LoginException:
/**
* 类描述:登录相
- Linux中find常见用法示例
510888780
linux
Linux中find常见用法示例
·find path -option [ -print ] [ -exec -ok command ] {} \;
find命令的参数;
- SpringMVC的各种参数绑定方式
Harry642
springMVC绑定表单
1. 基本数据类型(以int为例,其他类似):
Controller代码:
@RequestMapping("saysth.do")
public void test(int count) {
}
表单代码:
<form action="saysth.do" method="post&q
- Java 获取Oracle ROWID
aijuans
javaoracle
A ROWID is an identification tag unique for each row of an Oracle Database table. The ROWID can be thought of as a virtual column, containing the ID for each row.
The oracle.sql.ROWID class i
- java获取方法的参数名
antlove
javajdkparametermethodreflect
reflect.ClassInformationUtil.java
package reflect;
import javassist.ClassPool;
import javassist.CtClass;
import javassist.CtMethod;
import javassist.Modifier;
import javassist.bytecode.CodeAtt
- JAVA正则表达式匹配 查找 替换 提取操作
百合不是茶
java正则表达式替换提取查找
正则表达式的查找;主要是用到String类中的split();
String str;
str.split();方法中传入按照什么规则截取,返回一个String数组
常见的截取规则:
str.split("\\.")按照.来截取
str.
- Java中equals()与hashCode()方法详解
bijian1013
javasetequals()hashCode()
一.equals()方法详解
equals()方法在object类中定义如下:
public boolean equals(Object obj) {
return (this == obj);
}
很明显是对两个对象的地址值进行的比较(即比较引用是否相同)。但是我们知道,String 、Math、I
- 精通Oracle10编程SQL(4)使用SQL语句
bijian1013
oracle数据库plsql
--工资级别表
create table SALGRADE
(
GRADE NUMBER(10),
LOSAL NUMBER(10,2),
HISAL NUMBER(10,2)
)
insert into SALGRADE values(1,0,100);
insert into SALGRADE values(2,100,200);
inser
- 【Nginx二】Nginx作为静态文件HTTP服务器
bit1129
HTTP服务器
Nginx作为静态文件HTTP服务器
在本地系统中创建/data/www目录,存放html文件(包括index.html)
创建/data/images目录,存放imags图片
在主配置文件中添加http指令
http {
server {
listen 80;
server_name
- kafka获得最新partition offset
blackproof
kafkapartitionoffset最新
kafka获得partition下标,需要用到kafka的simpleconsumer
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.
- centos 7安装docker两种方式
ronin47
第一种是采用yum 方式
yum install -y docker
 
- java-60-在O(1)时间删除链表结点
bylijinnan
java
public class DeleteNode_O1_Time {
/**
* Q 60 在O(1)时间删除链表结点
* 给定链表的头指针和一个结点指针(!!),在O(1)时间删除该结点
*
* Assume the list is:
* head->...->nodeToDelete->mNode->nNode->..
- nginx利用proxy_cache来缓存文件
cfyme
cache
user zhangy users;
worker_processes 10;
error_log /var/vlogs/nginx_error.log crit;
pid /var/vlogs/nginx.pid;
#Specifies the value for ma
- [JWFD开源工作流]JWFD嵌入式语法分析器负号的使用问题
comsci
嵌入式
假如我们需要用JWFD的语法分析模块定义一个带负号的方程式,直接在方程式之前添加负号是不正确的,而必须这样做:
string str01 = "a=3.14;b=2.71;c=0;c-((a*a)+(b*b))"
定义一个0整数c,然后用这个整数c去
- 如何集成支付宝官方文档
dai_lm
android
官方文档下载地址
https://b.alipay.com/order/productDetail.htm?productId=2012120700377310&tabId=4#ps-tabinfo-hash
集成的必要条件
1. 需要有自己的Server接收支付宝的消息
2. 需要先制作app,然后提交支付宝审核,通过后才能集成
调试的时候估计会真的扣款,请注意
- 应该在什么时候使用Hadoop
datamachine
hadoop
原帖地址:http://blog.chinaunix.net/uid-301743-id-3925358.html
存档,某些观点与我不谋而合,过度技术化不可取,且hadoop并非万能。
--------------------------------------------万能的分割线--------------------------------
有人问我,“你在大数据和Hado
- 在GridView中对于有外键的字段使用关联模型进行搜索和排序
dcj3sjt126com
yii
在GridView中使用关联模型进行搜索和排序
首先我们有两个模型它们直接有关联:
class Author extends CActiveRecord {
...
}
class Post extends CActiveRecord {
...
function relations() {
return array(
'
- 使用NSString 的格式化大全
dcj3sjt126com
Objective-C
格式定义The format specifiers supported by the NSString formatting methods and CFString formatting functions follow the IEEE printf specification; the specifiers are summarized in Table 1. Note that you c
- 使用activeX插件对象object滚动有重影
蕃薯耀
activeX插件滚动有重影
使用activeX插件对象object滚动有重影 <object style="width:0;" id="abc" classid="CLSID:D3E3970F-2927-9680-BBB4-5D0889909DF6" codebase="activex/OAX339.CAB#
- SpringMVC4零配置
hanqunfeng
springmvc4
基于Servlet3.0规范和SpringMVC4注解式配置方式,实现零xml配置,弄了个小demo,供交流讨论。
项目说明如下:
1.db.sql是项目中用到的表,数据库使用的是oracle11g
2.该项目使用mvn进行管理,私服为自搭建nexus,项目只用到一个第三方 jar,就是oracle的驱动;
3.默认项目为零配置启动,如果需要更改启动方式,请
- 《开源框架那点事儿16》:缓存相关代码的演变
j2eetop
开源框架
问题引入
上次我参与某个大型项目的优化工作,由于系统要求有比较高的TPS,因此就免不了要使用缓冲。
该项目中用的缓冲比较多,有MemCache,有Redis,有的还需要提供二级缓冲,也就是说应用服务器这层也可以设置一些缓冲。
当然去看相关实现代代码的时候,大致是下面的样子。
[java]
view plain
copy
print
?
public vo
- AngularJS浅析
kvhur
JavaScript
概念
AngularJS is a structural framework for dynamic web apps.
了解更多详情请见原文链接:http://www.gbtags.com/gb/share/5726.htm
Directive
扩展html,给html添加声明语句,以便实现自己的需求。对于页面中html元素以ng为前缀的属性名称,ng是angular的命名空间
- 架构师之jdk的bug排查(一)---------------split的点号陷阱
nannan408
split
1.前言.
jdk1.6的lang包的split方法是有bug的,它不能有效识别A.b.c这种类型,导致截取长度始终是0.而对于其他字符,则无此问题.不知道官方有没有修复这个bug.
2.代码
String[] paths = "object.object2.prop11".split("'");
System.ou
- 如何对10亿数据量级的mongoDB作高效的全表扫描
quentinXXZ
mongodb
本文链接:
http://quentinXXZ.iteye.com/blog/2149440
一、正常情况下,不应该有这种需求
首先,大家应该有个概念,标题中的这个问题,在大多情况下是一个伪命题,不应该被提出来。要知道,对于一般较大数据量的数据库,全表查询,这种操作一般情况下是不应该出现的,在做正常查询的时候,如果是范围查询,你至少应该要加上limit。
说一下,
- C语言算法之水仙花数
qiufeihu
c算法
/**
* 水仙花数
*/
#include <stdio.h>
#define N 10
int main()
{
int x,y,z;
for(x=1;x<=N;x++)
for(y=0;y<=N;y++)
for(z=0;z<=N;z++)
if(x*100+y*10+z == x*x*x
- JSP指令
wyzuomumu
jsp
jsp指令的一般语法格式: <%@ 指令名 属性 =”值 ” %>
常用的三种指令: page,include,taglib
page指令语法形式: <%@ page 属性 1=”值 1” 属性 2=”值 2”%>
include指令语法形式: <%@include file=”relative url”%> (jsp可以通过 include