How to force HTC Desire CDMA in CDMA 1x mode?

1. Backup old rom via ClockMod recovery.
2. Flash to Offical stock rom. (I’m using ‘2.11.573.5_USCC’ without radio)
3. Input ‘##778#’ at dial pad to run ‘EPST’ in this ROM.
4. Select ‘Edit mode’.
5. Input password, default is ‘000000’.
6. Go to ‘Modem Settings’.
7. Set ‘Preferred Mode’ = ‘CDMA only’.
8. Set ‘HDR Hybrid Preferred’ = ‘Disable’.
9. Press the ‘Menu’ button at bottom of phone.
10. Tap on ‘Commit Modifications’.
11. Press ‘OK’ to reboot phone.
12. Restore ‘CM’ rom.


How to configure OpenVPN on Android CyanogenMod

I just tested this on my old Google G1(Dream) with CyanogenMod 6.0.2(RC), and I think it could apply on other CyanogenMod rom with OpenVPN GUI.

Not like OpenVPN on Windows or Linux which needs a config folder holding separate keys and certificates, on CyanogenMod, the OpenVPN GUI needs a PKCS12 compressed file to perform importing actions.

Lets say you have got the three files: client.key, client.cert and ca.cert, then you could compress them into a single PKCS12 file by running the following command(Linux):

openssl pkcs12 -export -in [PathToClientCert] -inkey [PathToClientKey] -certfile [PathToCACert] -name [FriendlyName] -out certs.p12

Be sure to replace all the [PathTo**] with appropriate path to your files. On Windows, you could using “openssl.exe”.

Once you got the PKCS12 file, copy it to your Android SDCARD root, and go to “Settings › Security and location”, and then select “Import from SDCARD”.

After importing, you could go to “Wireless > VPN Settings”, and create a new OpenVPN connection and do your stuff.

BTW. You should configure OpenVPN on Android carefully according to the configuration file from Linux or Windows, something important like key-size and encryption method may result very differently, check them by tap “Menu > Advanced settings” in OpenVPN GUI.


Ubuntu 10.04 系统上构建 Android 应用开发环境

安装 JDK
从源里安装 OpenJDK

sudo apt-get install openjdk-6-jdk

下载、安装 Android SDK

cd ~
tar xzf android-sdk_r08-linux_86.tgz
mv android-sdk_r08-linux_86 asdk
test -e bin || mkdir bin
cd bin
find ../asdk/tools -maxdepth 1 -type f -executable -exec ln -s {} \;
find ../asdk/platform-tools -maxdepth 1 -type f -executable -exec ln -s {} \;

安装、升级 Android 平台



创建 AVD

android create avd -n Android -t 1 -c 100M

安装 Ant

sudo apt-get install ant1.8

至此,再安装一个自己喜欢的代码编辑器(如 vim )就完成开发环境的建立。

创建、编译和调试 Hello World!

# 创建项目
android create project --package --activity HelloAndroid --target 1 --path HelloAndroid
# 编译调试版本
cd HelloAndroid
ant debug
# 进行模拟器
emulator -avd Android
# 安装 Hello World 程序到模拟器
adb -s emulator-5554 install bin/HelloAndroid-debug.apk


Terminal for CM 6 ROM

CM 6 集成的终端程序在普通用户权限下无法访问存储卡和网络,这个对权限做了一些修改。



mount -o remout,rw /system
cp /sdcard/Term.apk /system/app/Term.apk
chmod 644 /system/app/Term.apk
mount -o remount,ro /system


另类安装 Apk 方法

由于不喜安装一些 ApkManager,又需要安装 /sdcard 里的 apk。我采用了下面的方法。

例如安装 /sdcard/mobileqq.apk,打开手机终端,执行如下命令

httpd -f -p 8000 -h /sdcard

在浏览器里下载 http://localhost:8000/mobileqq.apk,完成后点击安装即可。


Android ssh: Warning: Reading the random source seems to have blocked.


$ ssh user@someserver
ssh: Warning: Reading the random source seems to have blocked.
If you experience problems, you probably need to find a better entropy source.

1. Copy ssh to /sdcard/ from /system/bin/
2. Connect sd to computer (Linux).
3. hexeditor /mnt/sdcard/ssh
4. Find ASCII string “/dev/random”.
5. modify HEX “72 61 6E 64 6F 6D 00 63” to HEX “75 72 61 6E 64 6F 6D 00”
6. Save & Exit
7. Copy ssh to /system/bin from /sdcard/
8. Change owner & permission.


[ROM]TMO-US-DRC83 Rooted by Heiher

这是我的第二个ROM,基于官方OTA的DRC83制作的,集成了一些 Native 程序,如 busybox, ssh, scp, iptables, sqlite3 等等,删除了系统空间的一些不常用的应用程序。感谢支持!

Model number:T-Mobile G1
Firmware version: 1.6
Baseband version: 62.50SC.20.17H_2.22.23.02 (DMD64)
Kernel version: 2.6.29 harry@linux-rvzl #1 (ADP 1.6)
Build numver: DRC83
Support languages: English