Hello world and goodbye!

Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!

This is also my last post here, please visit http://palmmicro.com/woody/blog.html instead.

Posted in Uncategorized | 1 Comment

忘记密码?

AR1688的登录web页面上会询问密码。我们在AR1688设备的安全性上其实很随意,原始密码无非是12345678或者完全空白。万一用户忘记了密码,可以按照以下步骤找回来:

1. 下载一份AR1688软件API。

2. 把下载文件解压缩到c:sdcc。

3. 进入命令行下c:sdccbin。

4. 执行命令: "getopt xxx.xxx.xxx.xxx"。

5. 修改options.txt文件中"admin_pin"(保存密码位置)的部分。

6. 执行命令: "setopt xxx.xxx.xxx.xxx"。

getopt.bat和setopt.bat批处理文件中都调用tftp.exe,要确认Windows系统中安装了它。

PA1688的web页面用到了2个密码。用普通密码登录后,跟运营商有关的设置是看不到的。用户必须用“超级”密码登录才能看到全部界面。2个密码都可以用Palmtool.exe更改:

1. 设置好"片上IP地址"后点击Palmtool的"话机设置"直接连接设备。如果可以连接上,就可以在设置对话框中直接修改。

2. 当"调试级别"选项是关闭的时候,Palmtool连不上设备,用户会得到如"Can not connect to Palm1"这样的提示。

3. 然而在安全模式下调试级别设置总是打开的。用户可以在按下*号键的同时加电起动2次,此时设备的IP地址会是缺省的192.168.1.100(MAC地址缺省是00-09-45-00-00-00)。再次使用Palmtool连接修改即可。

忘记了我们网站登录密码?访问密码提醒页面即可。新的密码会发送到注册电子邮箱。

为什么不简单的送回原来的密码,而是要新产生一个呢?因为我们并没有保存用户密码,保存在数据库中用户密码项的数据是根据密码产生的MD5加密串,理论上这个加密是不可逆的,就是说不能从加密串再反过来得到原始串。

最后我要承认,虽然这篇网络日志部分来说是被某个寻找AR1688密码的客户所激发,我的主要目的还是想宣传注册我们的网站帐号并发表网络日志评论。这也是为什么它被放到了"Palmmicro"的分类中。
Posted in Palmmicro | Leave a comment

Forgot Password?

There is a login password on AR1688 web interface. We did not pay much attention on the security of AR1688 devices, and the password was either set as 12345678 or simply left it completely blank. And it is also very easy to hack it in case user forgot, just following the steps below:

1. Download an AR1688 software API.

2. Extract the compressed file to c:sdcc.

3. Enter command line c:sdccbin.

4. Run cmd: "getopt xxx.xxx.xxx.xxx".

5. Modify "admin_pin" field (where password is stored) in the options.txt file.

6. Run cmd: "setopt xxx.xxx.xxx.xxx".

Both getopt.bat and setopt.bat use tftp.exe, make sure your Windows system had it installled.

There are 2 passwords used on PA1688 web interface. Settings on service provider information is not available if entered with normal password, users need use "super" password to access all web settings. However, both password can be hacked by Palmtool.exe:

1. Set the "IP Address in Chip" and use Palmtool "Phone Settings" to access the device directly. If it can connect, users can simply change those password in the settings dialog.

2. When "debug" option is disabled. Palmtool can not be used to access the device. Users will get error information like "Can not connect to Palm1".

3. However, debug is always enabled in safe mode. Users can enter safe mode by press and hold * key and power on twice, then the device will have default IP address 192.168.1.100 (with default MAC as 00-09-45-00-00-00). Palmtool can be used to change both passwords now.

What happens if our web site login password is forgotten? Just visit password reminder page, a new password will be generated and sent to the registered email address.

Why generate a new password instead of send the old password back? Because we do not have the password in the database. What we actually store in database password field is a string encrypted by MD5 based on the password. In theory MD5 cannot be decrypted, this means we can not get original password from the encrypted one.

Finally I have to admit that although this blog is partly enlightened by an AR1688 user who wish to hack the password, the major purpose is to suggest people register account on our web site and publish blog comments. This is why it is put in "Palmmicro" category.
Posted in Palmmicro | Leave a comment

夜以继日瞎忙

今天下午的时候,我在我的老Sony PCG-K23上编译几个西班牙文的PA168V升级软件,同时在又一次抱怨微软的自动升级如何成功的在20个月内把一台好好的计算机搞得这么慢。突然一下我想到,其实我们对PA1688软件也一直在做同样的事情。

每次我们增加一点功能,它就会变得慢一点。

当我们加入iLBC支持的时候,为了把它放到原有的flash空间中,我们被迫压缩了flash上所有的DSP代码,然后再在启动过程中解压缩。这样一来启动时间搞得比一个嵌入式Linux系统还长。

当我们在某些PA1688硬件设计中加入拨号上网调制解调器的时候,为了保证软件不分叉,我们把很多函数统统包裹了一层调用,无疑这会让所有PA1688设备的性能都一起下降。

想到这点后我马上开始区分拨号上网和其它代码。增加了一个新的OEM_MODEM编译选项,没有使用这个编译选项的情况下,绝大多数的调制解调器代码都会被排除在普通升级软件之外。这意味着从版本1.65.005开始拨号上网的用户需要特殊升级软件(名称类似于pa168s_sip_us_modem_165005.bin),但是绝大多数的Ethernet网络用户会从性能中受益。

当这一切优化和测试搞完的时候已经接近午夜。我上传了新编译的PA168V文件到网页,然后邮件通知日前从网上花6美元一个购买来这个"Soyo 1681" PA168V的主人。跟他上次花150美元购买的50个"Soyo 668W" PA168S网络电话相比,这个单口网关居然贵得翻了一倍的价格。
Posted in PA1688 | Leave a comment

A Hard Day’s Night

I was compiling some PA168V Spanish upgrade files on my old Sony PCG-K23 this afternoon, and complaining for another time how MS automatic updating had successfully made a working PC so slow in 20 months. Suddenly it occurred to me that we had done just the same thing with PA1688 software.

Every time we added some thing new, it became slower.

When we added iLBC support, in order to put the code to existing flash space, we had to compress all DSP code in flash, and uncompress them when boot-up, thus made the boot-up progress slower than an embeded linux.

And when we added dial-up modem support in some of PA1688 hardware, to prevent fork on our software, we wrapped a lot of function calls which would definitely hurt the software performance for all PA1688 devices.

With this idea in my mind, I started to separate dial-up modem and other code at once. A new OEM_MODEM compile option is added, and most modem related code will not be included in normal upgrade files unless OEM_MODEM is defined. The means dial-up modem users need special software version from 1.65.005 (for example pa168s_sip_us_modem_165005.bin), but most ethernet users will benefit from the improved software performance.

It was close to midnight when all those optimization and test work finished. I uploaded the newly built PA168V files to web site and sent email notification to the "Soyo 1681" PA168V owner, who recently bought the device on internet for 6 USD each. Compared with his previous purchase of 50 "Soyo 668W" PA168S ip phone for a total 150 USD, the 1-port FXS PA168V had magically doubled the price.
Posted in PA1688 | Leave a comment

我的第一个PHP程序

第一次听到PHP是从一个AR1688开发者那里。他告诉我他在网页界面中写了些PHP代码自动计算网页总字节大小,这样可以避免AR1688网页界面因为超过大小限制而静悄悄的自动罢工。不过我现在知道他有关PHP的部分并不正确,也许他想说的是Javascript的代码。

隔了段时间,Yahoo的网站服务提示我把公司网站从PHP4升级到PHP5。这是第二次,我意识到了PHP就在我身边。

两个月前我知道了一个做电子商务的创业公司,询问他们用什么语言开发,结果在答案中又听到了PHP。当时我很高兴,觉得自己之前已经听说过两次了,应该对它不再是一无所知。

由于我已经有了这么多PHP知识,当PA6488摄像头管理器软件CamMan需要用户管理功能的时候,我马上开始了在公司网站的PHP开发。现在用户已经可以在这里注册帐号测试。由于基于PA6488的摄像头还没有面世,用户可以先在这个网络日志上测试评论功能。只有注册用户才能发表评论。

这就是我的第一个PHP程序:用户和网络日志评论的CRUD(Create创建/Retrieve读取/Update更新/Delete删除)。
Posted in Entertainment | Leave a comment

My First PHP Application

The first time I heard about PHP was from an AR1688 developer. He told me he had written some PHP script in AR1688 web pages to calculate the total size of the pages in bytes, so the web interface would not fail silently when oversized. Now I knew he was wrong about the PHP part, maybe he meant Javascript.

Some time later, Yahoo web hosting service which hosted palmmicro website prompted me to upgrade from PHP4 to PHP5. For the second time, I realized that PHP was in my life.

Two months ago I got to know an E-Commercial startup, when I asked what development language they were using, again I had PHP in the answers. I was so happy that I was not completely blank on the phrase, at least I had heard it twice before.

With so many knowledge about PHP, when PA6488 camera manager software CamMan need user management function, I started with PHP on our website at once. Now users can register account here. As PA6488 based camera is not available in market yet. Users can test the user management function by posting comments on this blog right now. Only registered user can post comment.

And this is my first PHP application: user and blog comment CRUD (Create/Retrieve/Update/Delete).
Posted in Entertainment | Leave a comment