51CTO博客开发Linux内核修炼之道 | Linux那些事儿
20111013版: 目前1588服务已经实现精确对时,基于8139网卡,时差可控范围30ns,1588服务调试方式为写文件,与NdisProt驱动(8139协议层驱动)直接通讯,采用三线程结构(主服务线程、看门狗线程、PTP协议处理线程)。 协议处理线程中所有逻辑与数据处理均与linux一致,设置系统时间部分需要经过几次数据类型转换,因此系统时间的设置精度较linux低一些,不过操作系统时间
20111017版: 大包收发数据无校验错误,需要进一步测试验证。 20111013版: 已加入了完整的Phy驱动(DP83640),目前收发OK,并且1588服务已经可以精确对时(可控制在30ns范围内),大包收发问题仍待解决。 2011-08-16 目前8139 miniport驱动已经实现了C+模式的小包通
20111013版: 目前收发OK,并且1588服务已经可以精确对时(基于8139网卡,可控制在30ns范围内),协议层驱动的报文队列部分还需要完善,目前1588服务反复启停会导致协议层驱动从报文池请求分配报文失败。 20110708版: 目前Miniport驱动已经通了,使用NDIS5.0,协议层驱动捕获收不到miniport驱动接收的包,但是通过协议层驱动发送的包可以被传
Softice的界面和操作都比较简单,只要熟悉一些基本的命令之后就可以开始利用它为我们服务了。有一点要提醒大家:Softice在WINDOWS启动之前装入系统中,然后将WINDOWS载入(因为要控制、拦截 WINDOWS的动作),所以它工作于系统的0级(即特权级)。当在WINDOWS下用热键呼出Softice后,它就控制了整个系统,此时任何其它的程序(包括系统时钟)都将处于停止状态。 本文
你是不是经常需要 SSH 或者 telent 远程登录到 Linux 服务器?你是不是经常为一些长时间运行的任务而头疼,比如系统备份、ftp 传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为他们执行的时间太长了。必须等待它执行完毕,在此期间可不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废了。 让我们来看看为什么关掉窗口/断开连接会使得正在运行的程序死掉。
第二章 FreeSWITCH 初步 什么是 FreeSWITCH ? FreeSWITCH 是一个开源的电话交换平台,它具有很强的可伸缩性--从一个简单的软电话客户端到运营商级的软交换设备几乎无所不能。能原生地运行于Windows、 Max OS X、Linux、BSD 及 solaris 等诸多32/64位平台。可以用作一个简单的交换引擎、一个PBX,一个媒体网关或媒体支持IVR的服
开发环境:Win7 + VS2010 目标平台:XPE 一.用VS2010创建一个“空项目”:(“Visual C++” -> “常规” -> “空项目”) 二.将编写好的源代码文件导入项目中 三.修改VS2010的IDE 设置,添加支持驱动程序编译链接的头文件和库
Linux内核自2.6.30开始便不再使用netif_rx_schedule这个函数,取而代之的是__napi_schedule,可以到http://lxr.free-electrons.com/ident?v=2.6.30;i=netif_rx_schedule查证
闲来无事,帮朋友写一个批量生成用户名及随机密码的小工具 #!/bin/bash if [ -z "$1" ] then echo "Usage: ./genpasswd [-u user&nb
原作者:悠乐 deb http://ftp.us.debian.org/debian/ lenny main deb http://ftp.us.debian.org/debian/ lenny contrib deb http://ftp.us.debian.org/debian/ lenny non-free deb http://ftp.us.debian.org/debian/ t
【作者: Freedom 出处:IT专家网博客 责任编辑: 罗丽艳 2009-05-08 06:27】 前两天由于Ubuntu8.04频繁死机,一激动给系统来了个大换血,装了个Ubuntu9.04 Final版,重新编译了一下QT4.5和Qt/Embedded 4.5。都是目前最新版本的记录如下: 说明: 我的开发环境: 【硬件】: CPU:P4 2.8 内
1、安装tftp的server和client,还有xinetd 代码: sudo apt-get install xinetd tftpd-hpa tftp-hpa 2、xinetd会建立目录/etc/xinetd.d/,在这个目录下建立新文件 tftpd 代码: sudo touch tftpd 3、编辑 sudo gedit /etc/xinetd.d/tftp
在setsockopt函数中常用Socket选项对socket进行一些必要的设置,使socket可以按我们预期的特性去工作。 SO_TIMESTAMP,一个Socket选项,在权威著作《Unix网络编程》中未提及到,即使在google上也难找到其详细解释
我们可以在用户态通过socket接口,将一个本地网络接口加入某个多播组,通常是调用setsockopt,并使用IP_ADD_MEMBERSHIP参数,如: .......... imr.imr_multiaddr.s_addr = netAddr.s_addr; imr.imr_interface.s_addr =
gcc-4.1对数组越界并没有进行干涉,当数组越界发生时,会出现segmentation fault错误,然而gcc-4.3.2以后对数组越界进行了优化,譬如:定义了数组tmp[100],当越界操作出现后,访问会被限制在数组边界上,即访问tmp[102]会最终限制为tmp[99],不会真正发生越界。 因此在编写可移植代码
标准C中,switch case语句中的case后面可以不用大括弧(如VC6),但是在GCC中,case后面如果定义了临时变量,就一定要使用大括弧,否则会报错。 在gcc-3.3.4中会报"syntax error before xxxx",这使得问题很难定位,错误信息不够明确,并且网络
gcc4.4.1版本编译linux 2.6.31版本没有错误,但是gcc3.4编译会有若干问题,步骤、问题和解决方案,汇总如下: 内核的编译流程 1.到官方网站下载内核 2、解压 #tar -jxvf linux-2.6.31.tar.bz2 然后移动解压后的文件到 /usr/src #mv linux-2.6.31 /usr/src #cd /usr/src/linux-2
include/linux/skbuff.h -> union skb_shared_tx中的hardware标志: 网卡驱动用它来判断发送报文是否需要硬时标(当然还有其它方式可以判断),driver/net/igb驱动在报文发送完毕后,就是靠这个标志作为条件,来决定是否需要取硬时标,那么这个标志是在哪里初始化的呢(总之不是在网卡驱动里)。 int sock_tx_timestamp(s
82574 GbE网卡的硬件时间戳功能需要初始化,Tx与Rx部分略有不同,大致流程如下,只要把寄存器置好,就可以拿回想要的时间戳啦: HW TX The EXTCMD:TS bit is enable according to datasheet 7.2.10.1 & 7.2.10.1.5. E
Dell的Optilex745最近出了些问题, 报告给DELL后,那边今天派人来了,解决方案倒是简单, 直接更换了主板. 换完后,启动了一下,没去连接网络, 所以就没发现问题. 等到后来弄到机房启动机器, 发现机器无法访问网络了. 用ifconf
[20100913~20100917] 1、完成了oxford958 linux驱动程序及配置工具confg_tool,config_tool采用ncurses界面,可对UART端口进行本地或远程设置(232/485) 注:oxford958_driver.20100916.v2.tar.bz2(添加了8250_bios.ko) 2、完成了Fintech F71808E看门狗驱动程序
注意: 使用fbgrab截图需要开启framebuffer,当前很多流行的Linux发行版默认不开启这项功能,可以在grub的配置文件menu.lst中,在kernel一行末尾加上vga=791 (1024x768),vga=785 (640x480)开启,更详细的信息请参照framebuffer。 直接截图 在想要截图的终端中输入 fbgrab a.png 即可
在linux中,如果你写了一个模块作为驱动的一部分,然而之前内核中并没有此模块,那么需要重新生成模块依赖配置表,否则在模块复制到/lib/modules后,系统重启时会由于错误的模块依赖关系而报错,如:Unknow symbols...... 生成新的模块依赖关系表的工作是由depmod来完成的,例子如下: # cp 8250_bios.ko /lib/modules/2.6.32.2/k
[20101015~20101203] 1、完成了ieee1588驱动程的编码测试工作,已经发布,目前可以实现slave的E2E及P2P功能,可稳定运行于链路层与IP层,硬时标目前是基于8139cp的网卡,82574的发送时标仍然打不上 2、完成了ieee1588的check event功能,实现了一个check event接口库,用户态可以通过API拿到对时状态(对时成功/失败) 3、
EXAR-8201IB加密压缩卡指令处理流程图:
Draft Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems Abstract ------------ This standard specifies a protocol enabling precise synchro
首先建立临时文件夹/home/initrd,并进入(cd /home/initrd) 然后用下面简单三步即可挂在initrd.img 1、cp /boot/initrd.img
【本文原作者:Dolphin】 因为以前一直接触的是x86和ARM,习惯了little endian。PowerPC采用大端模式。 存放的字节顺序对于大小端的区别是:Big Endian, 高字节(MSB)存放在低地址。Little Endian,低字节(LSB)存放在低地址。 0x12345678在大端和小端中的存放序列如下图所示: 从软件的角度看,不同端
最近在南京给客户配置系统,客户要求用普通用户身份登录KDE,没有管理员权限,但是希望用sudo启动kate编辑器,并且不输入密码,经查找验证,现将已实现步骤记录如下: 在/home/username/.kde/share/config目录下建立kdesurc文件,并编辑如下行并保存至kdesurc
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号