Tuesday, May 18, 2010

Downgrading PHP to 5.2 in Lucid

ปัญหาหลัง upgrade Ubuntu เป็น 10.04 Lucid Lynx คือ ได้ PHP เป็นเวอร์ชัน ล่าสุด (5.3) แต่ Drupal ทั้ง 5 และ 6 มันยังไม่ support พอเริ่มใช้งาน ก็จะเต็มไปด้วย error และ warning

เนื่องจาก repositories ของ Lucid มันไม่มี PHP 5.2 อยู่แล้ว ก็เลยต้องย้อนกลับไปใช้ repositories ของ Karmic แทน
หลังจากค้น ๆ ก็เจอเป็น script สำเร็จรูปตามด้านล่าง run as root เป็นอันจบ

#! /bin/sh
php_packages=`dpkg -l | grep php | awk '{print $2}'`

sudo apt-get remove $php_packages

sed s/lucid/karmic/g /etc/apt/sources.list | sudo tee /etc/apt/sources.list.d/karmic.list

sudo mkdir -p /etc/apt/preferences.d/

for package in $php_packages;
do echo "Package: $package
Pin: release a=karmic
Pin-Priority: 991
" | sudo tee -a /etc/apt/preferences.d/php
done

sudo apt-get update

sudo apt-get install $php_packages

 เจอมาจาก KAndy-Live และ Stjin

Friday, May 07, 2010

แก้ปัญหา EDGE ไม่วิ่ง บน Android 2.1 [Updated 4/9/10]

[Updated: 4/9/10] ไปเจอวิธีที่ง่าย และสะดวกกว่านี้มาแล้วครับ ใช้ APN switcher ตัวนึง ชื่อว่า SMODA widget ซึ่งใช้หลักการที่ต่างจาก APN switcher ตัวอื่น ๆ (ตามคำโปรยบอกว่าใช้ undocumented API) ทำให้ไม่มีปัญหาเรื่อง EDGE ไม่วิ่งอีกต่อไปครับ

ข้างล่างนี่เป็นเนื้อหาเก่าครับ เอาไว้ใช้เป็นทางเลือกอ้อม ๆ ก็แล้วกัน :)



หลังจาก upgrade Samsung Galaxy Spica เป็น Android 2.1 ปัญหาที่เจอเป็นอันดับแรกก็คือ เมื่อปิด EDGE ด้วยโปรแกรม APNDroid หรือโปรแกรม APN disabler อื่น ๆ หรือหลังจากที่สลับไปใช้งาน wifi ชั่วขณะ เมื่อกลับมาใช้ EDGE ใหม่ จะเหลือแต่ notification ของ EDGE ที่ข้อมูลไม่วิ่ง ต้องทำการ reboot เท่านั้น จึงจะกลับมาใช้งาน EDGE ได้ตามปกติ

ปัญหามันเกิดมาจาก บน Eclair นี้ OS จะพยายามเชื่อมต่ออินเตอร์เนทโดยใช้ APN อันเดิมอยู่สักพัก DNS ที่ถูกตั้งไว้เดิม จะหายไป (โปรแกรม APN disabler ต่าง ๆ ที่ใช้หลักการเปลี่ยน APN ให้เพี้ยนไป ก็เลยติดร่างแหไปด้วย)

ในเมื่อยังไง ๆ ก็จำเป็นต้องปิด EDGE เพราะไม่ได้ใช้ unlimited data plan เท่าที่ได้รับคำแนะนำ และลองค้นดู วิธีแก้ มีดังนี้
วิธีที่ 1: reboot เครื่องทุกครั้ง ที่ต้องการกลับมาใช้ EDGE หลังจากที่ใช้ APNDroid ปิด (ไม่สะดวกอย่างมาก)

วิธีที่ 2 (โดยคุณ @icez): ทำการตั้ง DNS ใหม่เมื่อกลับมาใช้ EDGE อีกครั้ง แต่ใช้ได้กับเครื่องที่ root แล้ว

วิธีที่ 3: สร้าง Access Point หลอก โดย สร้าง Access Point เปล่า ๆ (blank APN) ไว้ สลับใช้งานกับอันจริง

1. สร้าง APN ใหม่ โดยที่หน้า Home [Menu]->Settings->Wireless & networks->Mobile networks->Access Point Names->[Menu]->New APN
2. ใส่รายละเอียด:
Name: blank (หรือชื่ออื่น ๆ ที่ต้องการ)
APN: 123 (ตัวเลขมั่ว ๆ)
3. [Menu]->Save

หลังจากนี้ เมื่อต้องการปิด EDGE ก็เข้าไปในหน้าจอตามเส้นทางข้อ 1. แล้วก็เลือก blank แทน APN ที่เป็น default อยู่ เมื่อต้องการเปิด EDGE ก็สลับกลับมา

ปัญหาที่เจอต่อมาก็คือ กว่าจะไปถึงหน้าจอในข้อ 1. มันแตะหน้าจอหลายครั้งเกิน เลยต้องหาตัวช่วย

4. Download โปรแกรม Any Cut จาก Market

5. เปิดโปรแกรม Any Cut เลือก New shortcut->Activity->APNs->Ok ก็จะได้ shortcut icon บน home screen หลังจากนี้แตะครั้งเดียวถึงที่หมาย

ทดลองใช้วิธีนี้ มา 3-4 วัน สามารถเปิดปิด EDGE ได้ราบรื่นดี แต่ยังไม่ได้ลองกับเครื่องรุ่นอื่น ติดปัญหาสุดท้าย คือ shortcut ที่สร้างจาก Any Cut มันจะหยุดทำงานหลังจาก reboot ยังแก้ไม่หาย