Lame Tungsten T’s Sync

Palm September 19th, 2005

I have a Palm powered device, Tungsten T. This device is released to fill the gap between the classical PalmOS4 and legendary PalmOS6 aka Garnet. As the first generation OS5 device, no SSL support, digitization drift prone, short battery life… nevertheless, the device itself is still solid for daily user, while the connection to the external world is really pain of the ass.

  • The Palm. Inc prefers the same sophisticated socket for the power adapter and the USB cradle is not the standard accessory. I have to put the device leaning on the wall when charging. Thank you, the gravity.
  • The Sync cable really drives me nuts. The connection depends on the pin-to-pin hitting, why not use the standard USB socket?

HOWTO: Gentoo 2005.1@Dell 700m

Gentoo September 16th, 2005

This HOWTO summarize the efforts on Gentoo official forum.

This HOWTO is provided “AS IS” without any express or implied warranty. You can redistribute it under Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License.

It is highly inspired by HARDWARE Gentoo Acer Travelmate 803LCi Manual

Technical specification of Dell 700m:

  • Processors : Pentium M processors 725 (1.60GHz, 2MB Cache, 400MHz FSB)
  • Chipset: Intel 855GME
  • Displays: 12.1-inch Wide Screen crystal clear TFT XGA active-matrix display (1280 x 800 resolution)
  • Graphics Card: Intel Extreme Graphics up to 64 MB shared memory
  • Hard Drive: 30 GB3 Ultra ATA hard drive
  • Optical Drive: 8x DVD
  • Sound Card: Integrated stereo sound
  • Modems: Internal 56K3 capable v.92 Fax modem
  • Network Interface: Integrated 10/100 Ethernet
  • Wireless Networking: Dell 1350 TruMobile (BCM4306 802.11b/g Wireless LAN Controller)
  • I/O Ports : Integrated IEEE 1394, 2 USB 2.0, Audio jacks, 15-pin monitor connector, S-Video/TV Out. PCMCIA slot.
$ /sbin/lspci | cut -b 13-

Host bridge: Intel Corp. 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)
System peripheral: Intel Corp. 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)
VGA compatible controller: Intel Corp. 82852/855GM Integrated Graphics Device (rev 02)
Display controller: Intel Corp. 82852/855GM Integrated Graphics Device (rev 02)
USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 03)
PCI bridge: Intel Corp. 82801 Mobile PCI Bridge (rev 83)
ISA bridge: Intel Corp. 82801DBM (ICH4-M) LPC Interface Bridge (rev 03)
IDE interface: Intel Corp. 82801DBM (ICH4-M) IDE Controller (rev 03)
SMBus: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 03)
Multimedia audio controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC’97 Audio Controller (rev 03)
Modem: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC’97 Modem Controller (rev 03)
Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 03)
CardBus bridge: Texas Instruments PCI7420 CardBus Controller
FireWire (IEEE 1394): Texas Instruments PCI7×20 1394a-2000 OHCI Two-Port PHY/Link-Layer Controller
Unknown mass storage controller: Texas Instruments PCI7420/PCI7620 Dual Socket CardBus and Smart Card Cont. w/ 1394a-2000 OHCI Two-Port PHY/Link-Layer Cont. an
Ethernet controller: Broadcom Corporation BCM4401-B0 100Base-TX (rev 02)

I just follow this HOWTO to install the basic system, we would note 700m-specific configuration in the rest HOWTO.

CFLAGS grant the power to Gentoo users to customize the compiler flag for the specific architecture. For the bootstrap phase:

CFLAGS=”-march=pentium3 -O2 -fomit-frame-pointer -pipe”

For GCC 3.4, this CFLAG configuration is used by many l33ts in the forum:

CFLAGS=”-mtune=pentium-m -march=pentium-m -pipe -mmmx -msse -msse2 -mfpmath=sse -fomit-frame-pointer -momit-leaf-frame-pointer -funit-at-a-time -frename-registers -O2 -Os -fno-align-functions -fno-align-jumps -fno-align-loops
-fno-align-labels -fno-reorder-blocks -fno-prefetch-loop-arrays”

A more conservative CFLAG is

CFLAGS=”-O2 -mtune=pentium-m -mmmx -msse -msse2 -fomit-frame-pointer -pipe -ftracer”

Don’t forget to set the LDFLAGS as well

LDFLAGS=”-Wl,–as-needed�

After reviewing this benchmark result, I decide to use the JFS as the default file system for the sake of power-consuming. I’ve been using nitro-sources for almost one year flawlessly, this time, I would like to go back to gentoo-sources, currently 2.6.14-gentoo-r2

ACPI plays an essential role in power-saving, we would like to compile all ACPI features into the kernel:

Power management options (ACPI, APM) —>
ACPI (Advanced Configuration and Power Interface) Support —>
[*] ACPI Support
[*] Sleep States (EXPERIMENTAL)
<*> AC Adapter
<*> Battery
<*> Button
Video
<*> Fan
<*> Processor
<*> Thermal Zone

And in the user land, remember to emerge acpid. It is easy to test whether acpi is running. Just close the lid, and check the system log:

Sep 16 18:12:32 zebra logger: ACPI action lid is not defined
Sep 16 18:12:33 zebra logger: ACPI action lid is not defined

SpeedStep is Intel’s DVFS approach, “conservative” governor dynamically scale the frequecncy according current work load, therefore, theoratically more power-saving than “ondemand” governor.

CPU Frequency scaling —>
[*] CPU Frequency scaling
CPU frequency translation statistics
[*] CPU frequency translation statistics details
Default CPUFreq governor (userspace) —>
<*> ‘performance’ governor
‘powersave’ governor
— ‘userspace’ governor for userspace frequency scaling
‘ondemand’ cpufreq policy governor
<*> ‘conservative’ cpufreq governor
— CPUFreq processor drivers
<*> Intel Enhanced SpeedStep
[*] Use ACPI tables to decode valid frequency/voltage pairs

In the user land,

$ emerge cpufreqd
$ cat /etc/conf.d/cpufrequtils
GOVERNOR=”conservative”

TO BE CONTINUED …

Gentoo/Windows dual boot

Gentoo September 10th, 2005

This is a really, really annoying weekly post. You can get tons of results from google, which are categorized as two:

  • install Grub/Lilo to MBR, let it boot Windows
  • install Grub/Lilo to root disk, let NTLDR to boot Linux

My situation is a little different. The desktop is borrowed from my wife. I must guarantee the Linux installation would not step on the Windows’ territory. So I installed Gentoo to another physical disk:

  1. setup the jumper to make Windows in slave disk
  2. then change the boot sequence in BIOS
  3. emerge the system for Gentoo
  4. install grub to MBR, grub kicks the ass of NTLDR
  5. Reboot

The Gentoo system is booted successfully. Before we go further, we need to setup the dual boot. Get the troubleshooting post from Gentoo forum, add the following code snippet to the grub.conf

title Win2k
map (hd0) (hd1)
map (hd1) (hd0)
chainloader (hd1,0)+1

Now everybody is happy, either one disk is unpluged, the computer still can boot without any problem.

I design, therefore I am

Misc September 9th, 2005

Jonathan Ive
Jonathan Ive, the senior vice-president of design at Apple is the father of the state-of-the-art iMac, iPod, Powerbook etc. Here is a review from designmuseum.org.

Why iPod looks so clean and slim? One of explanations is that Jonathan was once a professional bath & toilet designer.

Farewell, Palm OS

Palm September 9th, 2005

I can’t believe my eyes when I browse the slashdot: PalmSource was purchased by Access, a Japanese cell phone software company.

I need to reconsider whether I would stand on the side of Palm since things have changed. Nobody knows where Access would lead Palm Source to, the destiny of PalmOS is doomed. Hope my Tungsten T is solid enough before the emergence of next promising handheld device.

Farewell, Palm OS.