登录 |

T40笔记本修好了!

2010年03月10日 下午 44:35 | 作者:hemon

上周3拿到电脑城做了显卡GBA,然后就开不了机,一直放在电脑城了,让老板修,呵呵,老板也没去动他,疑难杂症……

今天拿回家自己修,原来是主板和无线网卡有特殊感情:
1.不插无线网卡,就见不到启动界面
2.插入无线网卡,就报1802

OK,我先插入无线网卡,进入启动界面,然后迅速拔掉无线网卡(避免报1802),就能进系统了,安装DOS工具(系统盘是NTFS格式,不然可以在Windwos下进行),运行jump1802.com,重新插入无线网卡,重启!

因为这个鬼毛病,逃掉了做GBA的120块钱:)

多亏某天看了某大学的《电工学》PPT,明白了电压和负载的关系,才让我敏锐的感觉到了问题之所在:主板不能启动,是电压不足;插入无线网卡,增加负载,电压升高,可以排除是显卡问题。

Windows 同步时间失败?

2010年03月10日 下午 39:52 | 作者:hemon

windows默认同步误差只有15分钟,你的日期与真实日期误差超过15分钟,当然会同步失败。

解决方法:

一 手动更改日期到误差范围内,然后在同步时间。

二 修改注册表的日期误差为最大,然后在同步时间。

将以下内容保存为ntp.reg并执行导入注册表

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config]
“MaxNegPhaseCorrection”=dword:ffffffff
“MaxPosPhaseCorrection”=dword:ffffffff
“AnnounceFlags”=dword:00000005

电信ITV路由上网设置

2010年02月11日 下午 47:46 | 作者:hemon

这里是重庆,硬件环境:ZXV10 H608B,
就是个Adsl猫+无线路由。目标:
1.设置路由自动拨号,无需手动建立拨号连接。
2.解除路由绑定Lan2(itv),任意lan口连接机顶盒皆可收看ITV。

准备工作:将客户机IP设置为自动获取,获得IP地址(192.168.1.x)
登录网关:在浏览器输入网关地址:192.168.1.1
管理帐户:telecomadmin / nE7jA%5m
备份配置:在路由后插入U盘,进入:管理->设备管理->USB备份配置,点击“备份配置”。
网络设置:进入菜单“网络-宽带设置”。

0.点击“连接名称”下拉列表框,记录下现有连接名称:
INTERNET_B_8_83 Bridge
INTERNET_B_8_35 Bridge
命名规则:
[编号]_[业务模式:INTERNET|]_[模式:路由R|桥接B]_VPI_VCI
电信使用两个VPI/VCI分别处理:宽带上网(8/35)|IPTV(8/83)

1.选中已有的“连接”,转到页面底部,点击“删除”
2.重新建立两个连接:

上行方式: ADSL
连接名称: 新建wan连接
绑定选项: (全部留空)
模式: 路由
路由模式: PPPoE
业务模式: INTERNET
VPI: 8
VCI: 35

用户名: (您的用户名)
密码: (您的密码)

2.
上行方式: ADSL
连接名称: 新建wan连接
绑定选项: (全部留空)
模式: 桥接
业务模式: INTERNET
VPI: 8
VCI: 83

Too many open files in system

2010年01月12日 下午 35:05 | 作者:hemon

BSD:
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/configtuning-kernel-limits.html
LINUX:
http://www.cs.wisc.edu/condor/condorg/linux_scalability.html

php fork

2010年01月11日 下午 49:01 | 作者:hemon

编写的php_fork脚本,都是使用文件存储,这次改为MySQL,执行之后就发现MySQL连接错误,因为使用exit()退出子进程,导致系统回收资源,关闭了数据库连接。

正确方法是使用:kill -9 避免垃圾回收。(http://php.net/manual/en/function.pcntl-fork.php)

$pid = pcntl_fork();
if ( $pid == 0 ) {
// This is the child process. Do something here.
// Instead of calling exit(), we use posix_kill()
posix_kill(getmypid(),9);
}

此外,使用成熟的类库是很好的编程习惯,能最大限度的避免问题(别人都测试过了)。比如PHP_FORK:(http://www.phpclasses.org/browse/package/1136.html)

// 以下这些是Linux 0.11 内核中定义的信号。
#define SIGHUP 1 // Hang Up — 挂断控制终端或进程。
#define SIGINT 2 // Interrupt — 来自键盘的中断。
#define SIGQUIT 3 // Quit — 来自键盘的退出。
#define SIGILL 4 // Illeagle — 非法指令。
#define SIGTRAP 5 // Trap — 跟踪断点。
#define SIGABRT 6 // Abort — 异常结束。
#define SIGIOT 6 // IO Trap — 同上。
#define SIGUNUSED 7 // Unused — 没有使用。
#define SIGFPE 8 // FPE — 协处理器出错。
#define SIGKILL 9 // Kill — 强迫进程终止。
#define SIGUSR1 10 // User1 — 用户信号1,进程可使用。
#define SIGSEGV 11 // Segment Violation — 无效内存引用。
#define SIGUSR2 12 // User2 — 用户信号2,进程可使用。
#define SIGPIPE 13 // Pipe — 管道写出错,无读者。
#define SIGALRM 14 // Alarm — 实时定时器报警。
#define SIGTERM 15 // Terminate — 进程终止。
#define SIGSTKFLT 16 // Stack Fault — 栈出错(协处理器)。
#define SIGCHLD 17 // Child — 子进程停止或被终止。
#define SIGCONT 18 // Continue — 恢复进程继续执行。
#define SIGSTOP 19 // Stop — 停止进程的执行。
#define SIGTSTP 20 // TTY Stop — tty 发出停止进程,可忽略。
#define SIGTTIN 21 // TTY In — 后台进程请求输入。
#define SIGTTOU 22 // TTY Out — 后台进程请求输出。

VMware: Failed to lock the file.

2009年12月21日 上午 55:37 | 作者:hemon

编辑 vmx 文件(例如:Linux 2.6.x kernel.vmx)
加入一行:
disk.locking = “FALSE”

[squid]屏蔽迅雷协议

2009年11月26日 下午 15:23 | 作者:hemon

迅雷会向WEB服务提交如下HTTP请求头:

POST / HTTP/1.1
Host: 58.61.39.206:80
Content-type: application/octet-stream
Content-Length: 140
Connection: Keep-Alive

Squid配置如下:

acl IP dstdom_regex [0-9]$
acl ROOT urlpath_regex ^/$
acl POST method POST
acl Octet_Stream req_mime_type application/octet-stream
http_access deny IP ROOT POST Octet_Stream

Smoothwall添加希网(3322.org)动态域名支持

2009年11月19日 下午 10:10 | 作者:hemon

Smoothwall使用ez-ipupdate更新动态域名。
希网也使用ez-ipupdate的修改版作为Linux客户端:
http://www.3322.org/dyndnspage/client.html
只需把Smoothwall的ez-ipupdate替换为希网提供的专版即可。

使用附件替换以下两个文件:
1. web管理界面
/httpd/cgi-bin/ddns.cgi
2. ez-ipupdate
/usr/bin/ez-ipupdate

附件下载:
ddns.cgi
ez-ipupdate

Linux 硬盘分区

2009年11月15日 下午 25:03 | 作者:hemon

1.分区
fdisk /dev/hdb
n -> 添加分区
p -> 主分区
1 -> 分区号
2.格式化ext3
mkfs.ext2 -j /dev/hdb1
3.临时挂载
mount /dev/hdb1 /path/to/
4.启动挂载
vim /etc/fstab
# /dev/hdb1 /path/to/ auto defaults 0 2

PHP+CURL登录人人(校内)网passport

2009年09月27日 下午 56:55 | 作者:hemon

由于人人网(renren.com)和开心网(kaixin.com)对接,新建了个passport服务,用于统一验证,模拟登录的方式也改了,请看通行证登录原理:

1.应用提交验证信息给passport:
email/password
origURL/domain
2.passport分配全局SessionID:
XNESSESSIONID=c3b27ade6716;
3.passport验证帐号/密码
4.用户验证成功,Location 回应用的 callbackUrl:
http://login.renren.com/callback.do?t=ad34b89977d3a45a7bd0b49ea568ad436&origURL=http%3A%2F%2Fwww.renren.com%2FSysHome.do
5.应用的callbackUrl负责获取用户信息,并分配当前的UID:
xnsid=48863dc
6.跳转到应用的首页origURL
function xiaonei_login($email, $password){
$url = ‘http://passport.renren.com/PLogin.do’;
$opt = array(
// LOCATION(自动跳转1次)
CURLOPT_MAXREDIRS => 1,
CURLOPT_FOLLOWLOCATION => 1,
CURLOPT_AUTOREFERER => 1,
// POST(提交验证数据)
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => “email=$email&password=$password&origURL=http%3A%2F%2Fwww.renren.com%2FSysHome.do&domain=renren.com”,
// COOKIE(保存cookie)
CURLOPT_COOKIEJAR => ‘./cookie’,
CURLOPT_COOKIEFILE => ‘./cookie’,
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt_array($ch, $opt);
curl_exec($ch);
curl_close($ch);

}