Showing posts with label hardware. Show all posts
Showing posts with label hardware. Show all posts

Tuesday, December 23, 2014

Fix slow USB mouse response on my Chromium OS


I have a cordless USB mouse Lenovo N50 connected to a MSI X340 laptop with Chromium OS installed on it. The same mouse works flawlessly on a Chromebook Acer C720 but it gets very slow response on the X340 with Chromium OS ArnoldTheBats build. The mouse cursor's movement on the screen always lags that of the actual mouse by noticeable amount of time. I've tried changing the mousing setting in Chromium browser or xset in console but neither worked. However, today I was able to fix it after updating the Chromium OS to the latest build by following the steps below:
  1. Set my own password for root user: Go to Developer Console in Chromium (push keys Ctrl- Alt-F2) and log in as user "chronos" with initial password "password". Then type the following command:
    sudo chromeos-setdevpasswd

    and enter the new password
  2. Become root user by typing the following command:
    sudo su

    and enter the password set in the previous step
  3. Check network status with the following command:
    ifconfig 
    In my case, the wireless interface wlan0 is not connected under developer console as no IP address is shown under wlan0. I had to connect an ethernet cable to the laptop to get interface eth0 up. 
  4. Update Chromium OS to the latest build with the following command: update_engine_client --update --omaha_url=http://chromebld.arnoldthebat.co.uk:8080/update
  5. (May not be necessary) After the above update is successful, type the following command:
    sudo stateful_update 
    In my case, this command actually failed.
  6. Try updating the system again as the previous command failed:
    update_engine_client --update
    sudo stateful_update 
    No need to supply the –omaha-url any more in future updates. It showed that the update succeeded and system needs reboot.
  7. Reboot the system and now the mouse is as responsive as on the other Chromebook
  8. Reinstall the Flash plugin: the update was 32-bit, so I used the first instruction below with the link http://goo.gl/FrT7Q6

Thursday, December 18, 2014

Value phones and inexpensive mobile family plan with 4G LTE data

A few smart phones that support 4G LTE data on Sprint's network were on sale with reasonable prices such as LG Optimus F3, LG TributeLG VoltHTC Desire 510 or Nokia Lumia 635. Their screen resolutions may not be full HD, but they have decent performance at their price range and in my opinion, they are great phones for Ting, Sprint's MVNO that has inexpensive mobile family plan.

On Ting, minutes, messages and data are pooled and shared between devices under the same account. You can have as many devices as you want on one account and each device costs $6 per month. There’s no premium charged for a mobile family plan and there isn't any weird line items on the monthly bills besides the taxes & regulatory fees. For example, to have 4 devices share 1000 minutes, 2000 global messages and 1 GB of 4G LTE data would have a total cost of $69/month plus taxes & regulatory fees at Ting, which is below $20/month per device. The 4G LTE data can be bumped to 2 GB for $10 more. At $79/month, it is still less than what I used to pay for only one device with 2 GB data at Verizon.

Most Sprint phones including these LG ones can be activated on Ting with the built-in hands-free activation after a Carrier Reset ##72786# (##SCRTN#). No flashing is necessary at all and you may also enjoy the 4G LTE data speed instantly with this phone that is not available from Page Plus or with a flashed device. If that doesn't sound good enough, Ting has started testing service on a GSM network since February 2015, which will allow both CDMA and GSM devices coexist under a single account and share a single pool of minutes, messages and megabytes.

What makes it even better is that Ting is giving out $25 credit for trying their service. The credit may be adequate for a month's free trial with Ting on one device. Click on this link to receive the promotion for $25 credit, which will show up upon successful activation.

Thursday, October 30, 2014

How to use Sprint LG Tribute with Page Plus (voice and SMS)

I bought a Sprint LG tribute this week at Bestbuy.  For $39.99, it comes with a solid specification:
  • 1.2 GHz Qualcomm Snapdragon 400 (MSM8926) quad-core
  • Android version 4.4.2
  • 4.5" diagonal LCD with 480 x 800 pixels
  • 4G LTE capability
Update: Page Plus phone activation policy is changing and will no longer allow activation of flashed devices after January 15th, 2015. However, this phone is great to use on Sprint's MVNO Ting for its inexpensive mobile family plan with 4G LTE data. No flashing is necessary at all for activating it on Ting and you may also enjoy the 4G LTE data speed instantly with this phone that is not available from Page Plus. As of now, Sprint's MVNO Ting is running a promotion with a $100 credit to new sign ups with a referral until 11:59pm EST on December 1, 2014. The credit is adequate for a few month's free trial with Ting ($12-21/month depending on usage). Click on this link to receive the promotion for $100 credit, which will show up upon successful activation.

I've had a few phones with Verizon or Page plus and like their signal coverage. Therefore I did the following to use it with Page plus:

  1. Obtain its MSL/SPC code: The MSL/SPC code of this phone may be obtained upon activation on Ting. Alternatively you can activate the phone on Ringplus with its $1.99 Kate plan after entering both its MEID and ICCID (activation would fail without ICCID) and obtained it's MSL/SPC code
  2. Enable DIAG mode (Serial/COM port): Dial ##3424# in the phone dialer then enter the MSL/SPC code obtained in the above step. Change the USB PC connection in Settings->Storage (after tapping on the menu icon ) from MTP to Charge Phone (important). If USB PC connection is MTP, the windows MTP driver instead of the serial port driver will be installed when the phone is connected to USB.
  3. Download and install the latest LG USB phone driver (LGUnitedMobileDriver_S51MAN312AP22_ML_WHQL_Ver_3.12.3.exe worked for me)
  4. Connect the phone to the PC via USB. In windows Device Manager, there is a new deivce installed as LGE AndroidNet USB Serial Port.
  5. Download and install the free software cdmaDevTerm 2.85. Extract the zip file with WinZip or 7-Zip to a folder on the hard drive and run the file cdmaDevTerm.exe.
  6. Connect to the phone by clicking on the button connect as red-boxed below. It should read out MDN/MIN and other information about the phone when connected.
  7. Change the SPC to my own (e.g. 000000).  First send the SPC code (manually enter in the box) to the phone by clicking the button send as red-boxed below. The phone should be unlocked now.
     
    Now enter my own SPC code (e.g. 000000) into the box after SPC and click on the button write as red-boxed below. The new SPC code can be read back by clicking on the button read to the left of button write
  8. Manually program the phone: (Update: It is not necessary to cancel plan at Ting or Ringplus prior to the activation of the phone at Page plus.) Activate the phone at Page plus (ESN swap for me as I had a Page Plus phone number on a old device). Obtain the MDN and MIN of the Page plus account and enter them into the two boxes (leaving the other fields unchanged). Then click the button write under the button disconnect as red-boxed below.
  9. Write a Verizon PRL to the phone: Download the PRL from internet and save to the hard drive (e.g. http://www.howardforums.com/showthread.php/1815401-Pageplus-latest-prl-hacked-for-sprint-radio-phones)
    1. Click on the select button to select the .prl file downloaded (53401_spt.prl for sprint phones worked for me)
    2. Click on the write button to write prl to the phone
  10. Reset the phone: Set the MODE of the phone to MODE_RADIO_RESET and click on the send button to reset the phone
  11. Make an outgoing call to test. Worked and also tested with receiving a SMS. The phone is working with Page plus now for voice and SMS. If for some reason, the outgoing call does not go through, repeat the step 8-11.
  12. 3G Data programming: A Verizon 3G capable phone (donor phone) that can be programmed to write new MEID/ESN and read out HA/AAA key may be necessary. The following  guides have detailed instructions on how to get PagePlus 3G data working on non-Verizon phones

Saturday, September 13, 2014

Convert a Korean speaking BlackVue DR550GW-2CH to speak English

Today I installed a BlackVue DR550GW-2CH camera on my car. However, I didn't know that its voice prompt was in Korean until I powered it on. Then I realized the DR550GW-2CH I installed came with a Korean firmware but I don't understand Korean at all. I tried upgrading its firmware to the official international firmware V2.002E but failed as the device keeps complaining "The verision information is different" (in English though) after powering on and refuses to work with this firmware on its MicroSD card.

The list below is a step-by-step guide of what I did to change its language to English (after upgrading its Korean firmware to V2.002K):
  1. Power off the DR550GW-2CH by unplugging its power cord. Wait until all the LEDs are off (and after some Korean voice prompt probably says it's powering off) and take out the microSD card. If its Korean firmware is already on V2.002K, Steps 2-4 can be skipped and jump to Step 5 directly. There is possibility that Steps 2-4 might not be necessary at all, but I did them prior to the conversion.
  2. Make a backup of all the files in the microSD card and then format the card to clean it up. I did the format with Windows explorer as shown in the screenshot below with drive letter K.
  3. Download the Korean firmware V2.002K for DR550GW-2CH from Blackvue's Korean website: Windows ZIP download link and extract the folder Blackvue and all the files within it to the root folder of microSD card (K drive in my case, and there will be a folder of K:\Blackvue after extraction). Inerst the micrSD card back to the device.
  4. Power on the device and it will say "Start upgrading" in Korean to upgrade the firmware to V2.002K. After upgrading, check to make sure the device works properly. Power off the device and take out the microSD card. 
  5. Prepare the conversion files on the microSD card as listed below
    • Download the file upload.rar from this link and extract the folder "upload" to the root folder of the microSD card (NOT under blackvue). In my case, there will be a folder of K:\upload after extraction.
    • Download the file upgrade.cgi from this link and extract the file "upgrade.cgi" to Blackvue\config. In my case, the file is in K:\Blackvue\config after extraction.
    • Inerst the micrSD card back to the device.
  6. Power on the device and push the Wi-Fi button to turn on Wi-Fi. Get on my PC with Wi-Fi connection and connect to the wireless network SSID starting with DR550GW-, the default password is blackvue
  7. Open a web browser on the same PC and copy&paste the following link then enter
    http://192.168.8.1/Config/upgrade.cgi to initial the conversion to English. Upon successful conversion, the following will be shown on the browser

    A critical function of the file upgrade.cgi is setting system_language to English in the firmware to enable upgrade to future versions of English firmware.
  8. Power cycle the device and enjoy its English voice guidance now. If English is all needed, skip Steps 9-11 and jump to Step 12.
  9. If any other language than English is needed, repeat Step 2 to clean it up. Download the English firmware V2.002E for DR550GW-2CH from Blackvue's English website: Windows ZIP download link and extract the folder Blackvue and all the files within it to the root folder of microSD card (K drive in my case, and there will be a folder of K:\Blackvue after extraction). 
  10. Run the program BlackVue\Application\Viewer for Windows\blackvue.exe in the microSD card and click on the setting icon on the right top corner. Select the desirable language and other settings (such as time zone) then save them to the microSD card.
  11. Inerst the micrSD card back to the device and power it on. It will prompt "upgrading firmware" then "restarting" after upgrade. After restarting, it will speak your language.
  12. Take a quick drive, its GPS should pick up the satellites and sync the time. 
  13. Congratulations and it's done.

Saturday, August 4, 2012

Disk benchmarks


  1. Ramdisk (FAT32) created by DATARAM RAMDisk v3.5.130R24 (freeware) under windows 7 64-bit
  2. SSD Crucial M4-CT064M4SSD2 Firmware 0309 with SATA II 3Gb/s connection
  3. SSD

Friday, November 25, 2011

USB loaders on Wii system menu 4.3U

The following are collected from various internet resources and I take no credit or responsibility on their effects or consequences. Below is a list of softmode guide applicable to any system menu version (4.3 and below).

USB LOADERs can load and launch all your favorite game backups from a USB hard drive, which may contain a primary partition formatted as WBFS or FAT32 or NTFS (no need to repartition the drive for Wii at all). They will work with official firmware 4.3 with a proper cIOS (e.g. cIOS 222). The cIOS gives HomeBrew access to the USB drive and the DVD drive, among other things. This allows the USB loaders to create/run backup games on/from your USB drive. No need to downgrade the firmware to 4.1.

  1. Enable Homebrew on a Wii. LetterBomb is a known IOS exploit working on system 4.3U without any game.  Download the HackMii installer V0.8 and have it ready before starting LetterBomb.
  2. Install the Homebrew channel V1.0.8 as part of the HackMii installer (as well as BootMii) following the LetterBomb instruction here.
  3. Restore the Trucha bug to IOS36, which enables installation of cIOS
    • Download DOP-Mii V16 from here (note NOT the WiiBrew Edition) and put the DOP-Mii subfolder (containing boot.dol) under apps folder of the SD card. Start DOP-Mii via Homebrew channel.
    • Follow the instruction here to restore the Trucha bug. Note when prompted for file source, select Load WAD from SD Card (instead of Downloading from NUS). The WAD files (IOS15*,IOS36*,IOS38*.wad)  can be obtained from the WeHackWii package.
    • Go on with the above instruction to uninstall stub IOS 222 and make space for cIOS 222
  4. Install the hermes cIOS 222, which gives USB loaders access to the USB drive and the DVD drive
    • Remove all GameCube memory cards and controllers
    • Download hermes cIOS Installer 5.1 and put the subfolder containing the file boot.dol under apps folder of the SD card. Start the installer from the HomeBrew channel
    • Select <IOS 36> with Trucha bug to run the installer and install custom IOS 222 using IOS 38 (default).
  5. USB loaders can now run properly from cIOS 222. No need to install cIOS 249.
  6. Install the USB loaders (USB loader GX as an example)
    • Download the USB loader GX v2.3 here and put the usbloader_gx subfolder (containing boot.dol) under apps folder of the SD card. Start it from the HomeBrew channel
    • The starting IOS in the loader setting may need to be changed to IOS 222 for faster load
    1. Download Priiloader V0.7 here and install it from HomeBrew channel
    2. Download the forwarder DOL for USB loader GX and install it within Priiloader. The forwarder may need to be named as boot.dol and placed in usbloader_gx subfolder under apps for installation. The original boot.dol should be renamed and is needed in later step.
    3. In Priiloader Settings, set Autoboot to Installed file and Return to Autoboot.
    4. Restore the original boot.dol of the USB loader GX (renamed in Step 2 above)
    5. Wii now boots straight into USB loader GX. Want to change Priiloader settings? Power Wii on while holding down the reset button on the Wii console and it will boot into the Priiloader main menu

Friday, November 11, 2011

Change MAC address of an interaface in Mandriva

First I tried the command
ifconfig eth1 hw ether 00:01:02:03:04:05
and I got the following error

SIOCSIFHWADDR: Device or resource busy
Then I tried the following command
ifconfig eth1 down hw ether 00:01:02:03:04:05 
ifup eth1
and it worked!

I also updated the file /etc/iftab with the new MAC address for eth1. Otherwise the system will be confused after a reboot.

Saturday, October 22, 2011

Webdoctor on my HP TouchPad

Today is 10/22/2011 and I learned a lesson after installing an updated version of Advanced reset options (and the 5 packages it depends on) patch through preware,  which wiped all my installed apps out of my TouchPad (TP). I finally decided to doctor back to WebOS 3.0.2. Since the my palm account only allows me to restore 3.0.4 with webdoctor, I did the following instead.
  • Backup my data from Settings -> Backup (Important)
  • Put my TP into USB update mode
  • Run Webdoctor 3.0.2 downloaded from here with the following command
    java -jar "path of doctor-file"
  • Webdoctor actually failed at the first time I ran it and gave me an error says "Failed to reset the device"
  • Run webdoctor again and now it starts to flash
  • See the message "Reset Complete" from webdoctor and TP reboots
  • My TP is back in WebOS 3.0.2 and click on the "Done" button of the webdoctor.

    Now the TP had updated itself to 3.0.4 through OTA, I updated the kernel through preware. And I had to remove the Advanced reset options first.

PBO loses settings when power cycled

Starting from this week, I noticed that my Patriot Box Office (PBO) asked me to select language and time and network settings every time when it came out of the stand-by mode or power cycle. I tried downgrading the firmware back to P02 then flashed back to P70R2(BCN) but that didn't fix the problem.

I telnet to the BOX and found the file for the above settings is located at
/usr/local/etc/dvdplayer/Setup
and every time  when the PBO is turned on, this file is recreated upon user selections. I found the reason is most likely that the partition /usr/local/etc/ is full and the Setup file can't be saved to disk when powered off. Below is the result from df showing exactly that.
# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                78.6M     71.0M   7.6M  90% /
/dev/mtdblock/2          69.1M     69.1M      0 100% /usr/local/etc
/dev/rd/0                40.0k     40.0k      0 100% /mnt/rd


I deleted some RSS files I added and then did a du on the disk usage of partition /usr/local/etc

/usr/local/etc # du -d 1
54      ./playlist
874     ./dvdplayer
14      ./hdd.old
36660   ./linked
23827   ./mos
11      ./ppp
1962    ./srjg
2       ./lost+found
63419   .


The two biggest subfolders are linked (>30MB) and mos (>20MB). I found there are some redundant executables in

/usr/local/etc/linked/opt/bin
/usr/local/etc/mos/rssex

So I deleted those files and replace them with symbolic links to files in /usr/local/etc/mos/rssex2/bin/ After doing this, I now have roughly 7.5MB space in /usr/local/etc again.

 # df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                78.6M     71.0M      7.6M  90% /
/dev/mtdblock/2          69.1M     61.6M      7.5M  89% /usr/local/etc
/dev/rd/0                40.0k     40.0k         0 100% /mnt/rd


And PBO can save the Setup file correctly and no longer asks me to do initial setups.

Friday, September 23, 2011

Notes on my WD TV Live

  • Remote key sequence to start flashing firmware (without connecting to a TV or monitor)
    Load the firmware (wdtvlive.bin, wdtvlive.ver and wdtvlive.fff) files into a USB stick and I use a flash drive with a LED indicator, which blinks while being accessed.
    1. Plug the USB stick into the left side USB port and the stick is being accessed for a few seconds as indicated by the LED of the USB stick. 
    2. Push the Right arrow then Enter key on the remote. 
    3. Check the LED of the USB stick to see whether it's being accessed. If NOT, go back to repeat step 2. Otherwise go to next step.
    4. WDTV will reboot and flash the firmware. Wait until it's completed.
  • Command line to start flashing firmware (did NOT work for me)
    run_all upgrade
    /dev/sda1 wdtvlive.bin &

    Others had succeeded after killing some running processes as in this post.
  • Latest WDLXTV firmware version I know of is 1.05.04_V_WDLXTV.COM_WDLXTV_LIVE-0.5.1.1
I found in this post the following changes were implemented since version 0.5.0.0

0.5.1.1 - 2011-09-21
  * enable usb 5V bus power off + deep sleep mode (b-rad)
  * allow 'hot plug' of MSHEETDIR (b-rad)
  * lots of extra logging, bug report fattened (b-rad)
  * Issues:
  ** WDLXTV-PLUS DOES NOT SUPPORT 3TB HDD'S!!!! Tell WD you want this fixed (with netflix too)!!!
  **** The GPL wdtvlive2.fff is 6mo old and lacks support for 3TB hdd's + it deletes netflix keys!
  **** Email WD and tell them you want Netflix + WDLXTV + 3TB hdd support
  ** 1.05.04 dmaosd requests up to 65 search/related/etc results from
  **** YouTube at a time. If you have youtubeHD enabled, you might
  **** notice sluggishness with rapid fire YouTubage
  ** if you enable EIRI buttons down, right, & up buttons don't work on stock remote
  * For base firmware differences see:
  *** http://wiki.wdlxtv.com/Difference_between_BaseFW

0.5.1.0 - 2011-09-15
  * assembly code patch to fix ISO's stopping working after playing a few (b-rad)
  * inotifywait-3.14 included to clean up the mess left over by the OSD when ISO's are stopped (b-rad)
  * stuck at 0% upgrade fix (b-rad)
  * localizations updated new: swedish, serbian, greek, catalan, netherlands, slovenian, danish, dutch, & slovakian
  * aufs included (b-rad)
  * linksheets converted to aufs to save memory (b-rad)
  * MSHEETDIR disables automagic linksheets scan (b-rad)
  * fix fuse module (b-rad)
  * ntfs-3g removed from automagic filesystem detection (b-rad)
  * bi2 fixes (b-rad)
  * fix upnp-cmd to support wireless interfaces (b-rad)
  * fix webend pw change not working on 1.05.04 (b-rad)
  * apache & mt-daapd init.d tweaks (b-rad)
  * added sparse mount option to ntfs (b-rad)
  * xml fix 1.05.04 video playback options menu data disappearing (2d)
  * various xml fixes (jumbalaya)

Saturday, September 3, 2011

Notes on my Patriot Box Office (PBO)

  1. Flush lastest yaffs2 firmware (official SquashFS firmware image is NOT moddable):
    One must downgrade to P02 official firmware first before flashing the following moddable firmware. Otherwise it may brick the PBO with a small PBO logo shown on the TV after booting. 
  2. Debrick PBO without a USB-TTL cable:
    There's a reset switch SW3 on the circuit board of PBO without any physical connector soldered onto it. The switch SW3 can be used to initiate an emergency flashing after the PBO is bricked without using a USB-TTL cable.

    • Detach the PCB from the box and expose the reset switch SW3. I had to unscrew about 10 screws.
    • Put the PCB assembly on a piece of plastic bag and power it on.
    • Plug in a USB flash drive with official P02 install.img into the front panel USB port
    • Short the two soldering pads of SW3 circled in the picture above briefly. I shorted the two pads with a metal wire very briefly and I can see PBO reboots immediately and starts to read the firmware from the flash drive. 
    • Firmware flashing will be completed after rebooting twice.
  3. Latest moddable megapack firmware

    BETA.P70R2(BCN).megapack Moddable bootcode neutral

    Only the megapack has ipkg-cl for optware installation so get the megapack. It may take 10-15 minutes to flash a moddable firmware so be patient and don't turn off PBO until the flashing is completed.
  4. Install ipkg
    mkdir /tmp/hdd/root/opt
    mount -o remount,rw /
    ln -sf /tmp/hdd/root/opt /opt
    mount -o remount,r /
    mkdir /opt/tmp
    cd /opt/tmp
    wget http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/uclibc-opt_0.9.28-13_mipsel.ipk
    ipkg-cl install uclibc-opt_0.9.28-13_mipsel.ipk
    wget http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/ipkg-opt_0.99.163-10_mipsel.ipk
    ipkg-cl install ipkg-opt_0.99.163-10_mipsel.ipk
    rm *.ipk
  5. Install Vsftpd
    cd /opt/tmp
    wget http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/vsftpd_2.3.4-1_mipsel.ipk
    ipkg-cl install vsftpd_
    2.3.4-1_mipsel.ipk
    rm *.ipk
    cd /opt/etc
    mv vsftpd.conf vsftpd.conf.orig

     Create my own vsftpd.conf to allow root user login
    cat vsftpd.conf
    local_enable=YES
    write_enable=YES
    local_umask=022
    dirmessage_enable=YES
    xferlog_enable=YES
    connect_from_port_20=YES
    vsftpd_log_file=/opt/var/log/vsftpd.log
    ascii_upload_enable=YES
    ascii_download_enable=YES
    ftpd_banner=Welcome to My PBO.
    ls_recurse_enable=YES
    listen=YES
    ftp_username=root

    Now create the log folder and set up root directory
    mkdir -p /opt/var/log
    mount -o remount,rw /

    modify /etc/passwd and change the home directory for root user to be / (from empty)
    cat /etc/passwd | grep root:
    root::0:0:root:/:/bin/sh
    mount -o remount,r /
    /opt/sbin/vsftpd /opt/etc/vsftpd.conf &

    Now ftp login as user root (empty password).
    I also start vsftpd at boot by adding this line to the end of /usr/local/etc/rcS
    /opt/sbin/vsftpd /opt/etc/vsftpd.conf &
  6. Customize IMS feeds
    Modify the file /usr/local/etc/dvdplayer/savedrss/scripts/menu.rss or wget from a web server hosting the modified menu.rss. (Power cycle the PBO by the remote if the root IMS menu is not refreshed after the modification.)

Saturday, August 27, 2011

Notes on my HP TouchPad (TP)

  • Install Novacom driver in windows 7 64-bit for touchpad
    Download the Universal Novacom Installer (UNI) v1.2.1  and click on the UniversalNovacomInstaller.jar file. Click the button "Install Novacom" then click on the button "Select file..." and select the previously downloaded webdoctor jar file for the touchpad. (e.g. webosdoctorp302hstnhwifi.jar). The driver installation will then start and complete. 
  • Install CyanogenMod (CM) 9 on touchpad and dual-boot WebOs and CM9
    ACMEInstaller2 is necessary for CM9 and can be downloaded here. If ACMEInstaller was used, ACMEUninstaller needs to be run to repair, which can be downloaded from the same link.
    Full update guide on CyanogenMod wiki (all the download links for the tools worked for me)
    Guide on webosnation with more detailed instructions
  • Power on the touchpad from shutdown
    Holding down both Power button and Home (center) button until the HP logo is shown on the screen (about 10 seconds)
  • Access the USB update (bootie) mode for webdoctor
    • First power off the TP (device info->reset options->shut down)
    • Connector the USB cable directly to a USB port of a computer but not to the TP
    • Press and hold the power and volume up buttons until we see the large USB icon.
    • Connect the USB data cable to the device
  • Turn on the developer mode
    • Tap on the "just type" box on my TP and type webos20090606 to launch developer mode dialog
    • Click on the submit button
    • Close the developer mode dialog (Don't Set/Change Password)
  • WebOS Quick Install (WOSQI)
    • Freeze after the touchpad is connected: Most likely you set a password for developer mode as I did. For WOSQI 4.2.3, I found there's a workaround. After the TP is connected to a Windows PC and WOSQI appears to freeze, I run the task manger on the Windows PC and kill the process named novacom (note NOT the process novacomd). Then WOSQI will prompt you to enter the password for the developer mode and memorize it. Now if you close the WOSQI and open the WOSQI again, it will not freeze anymore.
    • TP USB mode for WOSQI: When there is a prompt on the TP for the USB mode, I tap on "Cancel" or "Just Charge". I only switch it to USB drive mode when necessary since packages won't install properly from WOSQI if TP is on USB drive mode. 
    •  Install Preware: Click on the third button (shown next) to obtain a list of packages available for directly download and installation from internet. Search for Preware and select it then click on the Install button. It should take less than a minute to finish if TP is not on the USB drive mode.
    • Uninstall packages or patches: Select the menu item Tools->Device Management (shown below) for this task.

  • Performance tuning of TP (detailed instructions click here)
    • minimize or eliminate logging
    • overclock TP with uberkernel and Govnah (default to 1.5 GHz)
  • Terminal session (Terminal app)
    • Linux Commnadline of WOSQI: Select the menu item Tools->Linux Commandline (shown below) for a terminal session as root user

      Somehow I couldn't make xorg-tools to work properly in it. So I had to find an alternative as shown below. 
    • OpenSSH: I install OpenSSH from Preware and start the SSH server on TP. In order to connect to the SSH server on TP, I generated keys from Linux Commnadline of WOSQI with the method described here. I then use the file id_rsa copied from /media/internal/ as identity with my SSH client on my Windows PC. It works like a charm with SSH 2 protocol, PublicKey authentication. I also installed nano editor from Preware for text editing in the terminal session.
    • XTerm: I also installed XTerm (it needs xecutah and XServer) from Preware and I can use the on-screen virtual keyboard to enter commands without using a bluetooth keyboard in XTerm.
    • SDL Terminal app: I couldn't install it from Preware. It seems to install from WOSQI, but it won't run at all.
    • Autostart OpenSSH server upon device restart
      • Upstart script needs to be in /etc/event.d/ folder
        cp /media/cryptofs/apps/usr/palm/applications/mobi.optware.openssh/upstart/mobi.optware.openssh /etc/event.d/
    • Kernel installation
      • Feeds for 3.0.2-36 uberkernel and patches
      http://ipkg.preware.org/feeds/webos-kernels/testing/3.0.3/
      http://ipkg.preware.org/feeds/webos-patches/testing/3.0.3/

      • Postinit error when I tried to install 3.0.2 kernels (uber or Palm)
        Unable to run command: IPKG_OFFLINE_ROOT=/media/cryptofs/apps /bin/sh /media/cryptofs/apps/usr/lib/ipkg/info/org.webosinternals.kernels.uber-kernel-touchpad.postinst 2>&1
      Kernel is not compatible with this webOS version, aborting
      Then I discovered my planned upgrade to WebOS 3.0.2 on TP didn't finish properly so it's still in WebOS 3.0.0. I had to install the Palm Kernel (TouchPad) V3.0.0-1 to recover the original kernel from the following feeds
      http://ipkg.preware.org/feeds/webos-kernels/3.0.0/
      and then run the System Updates again to update the WebOS version to 3.0.2 68.
    • Access Windows shares on NAS or PC from TP (detailed instructions click here)
      • uberkernel (as of version 3.0.2-36) has CIFS support
      • uberkernel (as of version 3.0.2-52) has NLS UTF-8 support
    • Access media from local network server
      • UPnP media server: MediaTomb
      • Media player app: BHome/Pro
        • Since Version 1.2.1 BHome is able to use an external video player such as TouchPlayer to play media file formats which are not inherently supported by WebOS (in Preference->VIDEO->Use TouchPlayer)
        • Transcoding at the UPnP server is no longer necessary since TouchPlayer supports virtually all media file formats (avi, mkv, divx, flac, rmvb)
    • Make the advanced browser the default  browser (not working for WebOS 3.0.4)
      The following can swap the roles of the WebOS built-in browser and the Makesoft advanced browser after a Luna restart
      • Change the id field of /media/cryptofs/apps/usr/palm/applications/com.maklesoft.browser/appinfo.json to com.palm.app.browser
      • Change the id field of /usr/palm/applications/com.palm.app.browser/appinfo.json to com.maklesoft.browser
    • Video Formats supported by WebOS
      Below is the output from the TP built-in ffmpeg -formats
    • Play media files from CIFS shares by Kalemsoft media player
      • The CIFS shares need to be mounted in the jailed folder. Execute the following commands in TP shell before running the media player.
        mkdir -p /var/palm/jail/com.kalemsoft.ksmplayer/media/internal
        chown -R 6917:5000 /var/palm/jail/com.kalemsoft.ksmplayer
        mount /var/palm/jail/com.kalemsoft.ksmplayer/media/internal
        mount /var/palm/jail/com.kalemsoft.ksmplayer/media/internal/nas

        The following should be in /etc/fstab
        /dev/mapper/store-media /var/palm/jail/com.kalemsoft.ksmplayer/media/internal vfat noauto,rw
        //nas/share /var/palm/jail/com.kalemsoft.ksmplayer/media/internal/nas cifs noauto,iocharset=utf8,username=USERNAME,password=PASSWORD 0 0
        If the media player has already run at least once, only the commands in bold color are necessary.
    • Build/extract an IPK file from an installed package: Ipk Packager
      • Copy the app folder under /media/cryptofs/apps/usr/palm/applications to a PC
      • Run Ipk packager from the PC
      • Pack the folder into an IPK file
    • Useful shell commands
      • restart Luna (GUI) from command line: initctl stop LunaSysMgr && initctl start LunaSysMgr 
      • restart device: reboot
    • Best free radio streaming app from App Catalog
      • TuneIn Radio: Listen live to your favorite radio stations, DJs and programs and find new ones on local, global and Internet radio. Find your faves with over 40,000 channels of music, sports, news, podcasts, and national networks like NPR and SWR. TuneIn for HP WebOS is powered by RadioTime.
      • Public Radio: Contains webcasts from over 250 public / non-profit radio stations here in the US. National Public Radio (NPR), American Public Media (APM), British Broadcasting Corporation (BBC), etc. When first launched, it will automatically find the station closest to you (using GPS).

    Sunday, November 22, 2009

    Improve throughput with Intel 5100 in wireless N mode

    When I test its throughput (from a wired computer) in wireless N-only mode with iperf in vista, the maximum throughput I was able to get is around 25Mbits/s although it shows 270-300Mbps data rate by windows. The router is a Airlink AR670W with stock firmware 1.01 and 40MHz channel width/Auto(DFS) channel. It's not faster than the throughput of Wireless G mode.

    After I update the firmware of AR670W to DD-WRT build 13069, I found the signal quality of the Intel 5100 client is only around 23% at full Tx power (251mW) from the wireless status page. And it can only improves the throughput to ~35Mbits/s with iperf -w 64k -c intel-5100. Then I started to adjust the following things:
    1. Orientation of the two antennas of AR670W: On one position I found the signal quality of Intel 5100 was improved to 34%. 
    2. Manually set the channel number: After doing a site survey, I found the least crowded channel was not the one being picked up by DD-WRT. So I changed the channel number and the signal quality of Intel 5100 was improved to 40%

      Then I tested the throughput again, and no surprise it's now ~80Mbits/s. Even if I further increase the TCP windows size of iperf from 64k to 10M or reduce the Tx power to half (126mW), the throughput remains at ~80Mbits/s (wired to wireless). Later I had to enable the N-only wireless mode on a D-link DIR-655 router to maximize the throughput of another Intel 5100.

    Friday, October 30, 2009

    Nintendo Wii

    1. My Wii was purchased as a bundle from Samsclub.com and has a serial number of LU 3086XXXXX. Its DVD drive chipset is GC2R-D2B.
    2. To open up the console, a special tool -- Tri-wing Screwdriver is needed. I got it from Play-asia.com for $3.99+$1.30 shipping (Air Economy Bubble). I also have a small philipps screwdriver for other screws.
    3. The Wii modchip I have is WiiKit, which is based on WiiKey with the extra feature of an optional wires installation. I got it from Divineo.com for $9.99+$8.49 shipping (Registered Air Mail).
    4. I followed this Guide to disassemble the Nintendo Wii (Video and Pictures).
    5. Since the WiiKit comes with the installation wires, all I need is a soldering iron with a sharp tip and solder. The soldering job is straightford according to this picutre.
    6. Download the latest Update and Config disc files from the official website of Wiikey and generate the ISO images according to the Readme.txt file after extracting them (using the fixsize.cmd and filechop.exe).
    7. I burned the image to a TEON 8X DVD-R at 4/8X speed and TDK 16X DVD+R at 6/16X speed with either a Toshiba or Optiarc burner.
    8. Insert the burned Update disc into Wii and it updated the firmware of the Wiikey to the latest version (two cycles: one test and one actual update). Insert the burned Config disc after rebooting, the Wiikey Setup Menu showed up. It confirmed the installation of the Wiikit is good. I don't have a gamecube controller, so I have to use the reset button on the console to access the Setup Menu as suggested in the Readme.txt file.
    9. Guide -- Wii Disc Backup
    10. WII ModChip Compatibility List
    11. Wii SoftMod guide for System Firmware 4.1 and below: No need to disassemble your wii or use a soldering iron. All you need is a SD card.
    12. How to add/import a WBF file on a PC hard drive into a WBFS partition: I was able to do it with the wbfs.exe (wbfs windows port build 'delta'. Mod v1.7 by flfl.) tool from the package wbfs中文管理器2.91. The syntax is wbfs n a filename.wbf (assuming n: is the drive letter for the WBFS partition and a for add.). After it's done, the games installed on the WBFS partition can be listed by wbfs n l (l for list). You may need the file wwbfs.exe in the same folder as wbfs.exe and the wbf file to make it work. 
    13. How to add/import a WBFS file on a PC hard drive into a WBFS partition: An excellent GUI tool called Wii Backup Manager. I tried version 0.3.6 beta1.
    14. Unofficial USB to Ethernet adaptes for Wii

    Monday, September 21, 2009

    DDR2 DRAM frequency with AMD K8 architecture

    I found the relevant information from a review in NewEgg for Athlon 64 X2 5050e. The AMD K8 architecture moved the memory controller from the MB to CPU die and it runs at full CPU clock frequency. But DDR2 RAM cannot run at the same clock frequency as the CPU core, so there is a divider that is applied to the CPU clock speed to come up with the final DRAM frequency.

    The DDR2 divider for AM2 CPUs is an integer based on CPU multiplier and is calculated like this: CPU multiplier x 0.5 x RAM ratio (this is 1 for DDR2-800, 1.2 for DDR2-667, 1.5 for DDR2-533 and 2 for DDR2-400) then rounded upwards to the nearest integer .

    For e.g.: The CPU multiplier for 5050e is 13 and its CPU clock speed is 2600MHz (13x200MHz). The DDR2 divider is then 7 (rounded up from 13 x 0.5 x 1.0 = 6.50). DDR2-800 memory will be running at the CPU clock speed divided by 7, which is 371.4MHz = 2600/7 and lower than than the rated speed 400MHz of DDR2-800. To have it running at 400MHz, we need to overclock a little: the necessary CPU clock would be 400 * 7 = 2800MHz. Therefore the FSB should be overclocked by 7.7% to 2800/13 (CPU multiplier) = 215.4 from the default speed 200MHz.

    I then went to my BIOS and set the FSB to 216 (215 is not an option for my MB) and save it. Afterwards the cpuz shows my FSB becomes 216.7MHz and HT link is 1083.4MHz. When the CPU is not idle (then the CPU multiplier is 13), the CPU clock speed becomes 2816.9MHz and the DRAM frequency is 402.4MHz (2816.9/7).

    If the CPU has an even multiplier (e.g. 14 for a 2800MHz speed), no overclock would be needed to run DDR2-800 at its rated frequency of 400MHz.

    Saturday, September 19, 2009

    Read benchmark of my hard drives and memory

    Hard drives and memory read benchmark:
    1. WDC WD800JB: BuffSize=8192kB, udma5
      hdparm buffered disk reads: 154 MB in 3.01 seconds = 51.09 MB/sec
    2. WDC WD7500AACS: BuffSize=16384kB, udma6
      hdparm buffered disk reads: 248 MB in 3.00 seconds = 82.58 MB/sec
    3. WDC WD1600JB: BuffSize=8192kB, udma5
      HD tune maximum read rate: 56 MB/sec
    4. WDC WD3200AAKS: BuffSize=16384kB, udma6
      HD tune maximum read rate: 101 MB/sec
    5. Seagate ST340014A: BuffSize=2048kB, udma5
      HD tune maximum read rate: 56 MB/sec
    6. Sempron 3100+ and DDR333:
      Stream C: 1200-1300MB/s (single channel)
    7. Celeron E1400 and DDR2-800:
      Stream C: 2400-2900MB/s (single channel)
    8. Athlon X2 5050e and DDR2-800:
      Stream C: 2300-2400MB/s (single channel)
    9. Core 2 Solo SU3500 and DDR2-800:
      Stream C: 2600-3000MB/s (single channel)

    Friday, July 31, 2009

    XP migration from intel to AMD platfrom results in BSOD error 7E

    I recently upgraded my old PC dell PE400SC which had an Intel Pentium 4 2.4C. The new platform is NForce 720a + AMD 5050e. After I migrated the SATA hard drive from the 400SC to the new system, it boots into safe mode successfully without seeing the infamous BSOD error 7B. It seems to me the SATA controllers on both motherboards use the same driver in XP.

    However, when I tried to boot the XP into normal mode, it always died with a BSOD error 7E. After I did a search on the internet, I found this article that suggests the error is caused by XP trying to load a driver intelppm.sys. Therefore I deleted the file intelppm.sys from %systemroot%\system32\drivers in safe mode and reboot the system. Guess what? It boots successfully and I only needed to install the drivers for the new hardware.

    My PAP2T can't log into Voipbuster any more

    I found the last registration date shown on my PAP2T was on 7/28/2009 and that's three days ago. I was using sip.voipbuster.com as the proxy and I can still ping it. But with Wireshark, I found it's not responding any packets back to the SIP Register requests from my PAP2T.

    However, the voipbuster software can still log into my account and it's trying to register on another proxy: connectionserver2.voipbuster.com. Although I can't ping it, my PAP2T can now successfully register on it after I change the proxy. The server connectionserver.voipbuster.com also works.

    Friday, July 3, 2009

    Use Opti-UPS CS730B with Linux

    It has a USB port, however it can not be autodetected by nut-2.4.1 of my Mandriva linux since the port /dev/ttyUSB0 was not created when it's plugged in. The kernel detected a powercom USB to serial converter but the usbhid driver is binding to it as shown in /proc/bus/usb/devices

    T: Bus=02 Lev=01 Prnt=01 Port=03 Cnt=01 Dev#= 7 Spd=1.5 MxCh= 0
    D: Ver= 1.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
    P: Vendor=0d9f ProdID=0002 Rev= 0.00
    S: Manufacturer=POWERCOM CO., LTD.
    S: Product=USB to Serial
    C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA
    I:* If#= 0 Alt= 0 #EPs= 2 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid
    E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=10ms
    E: Ad=02(O) Atr=03(Int.) MxPS= 8 Ivl=10ms

    Apparently it's not of the USB/HID UPS type since it can't be matched to any known device by usbhid-ups. I searched the internet and found a proposed fix: In order to recognize it correctly, I had to rmmod usbhid cypress_m8 and modprobe cypress_m8. Afterwards the following is shown in




    T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  4 Spd=1.5 MxCh= 0
    D:  Ver= 1.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
    P:  Vendor=0d9f ProdID=0002 Rev= 0.00
    S:  Manufacturer=POWERCOM CO., LTD.
    S:  Product=USB to Serial
    C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA
    I:* If#= 0 Alt= 0 #EPs= 2 Cls=03(HID  ) Sub=00 Prot=00 Driver=cypress
    E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=10ms
    E:  Ad=02(O) Atr=03(Int.) MxPS=   8 Ivl=10ms



    and the following from dmesg:

    cypress 2-4:1.0: HID->COM RS232 Adapter converter detected
    usb 2-4: HID->COM RS232 Adapter converter now attached to ttyUSB0


    Subsequent modprobe usbhid doesn't remove the port ttyUSB0. Now I can download a copy of the managing software from the manufacture OPTI-UPS: OPTI SAFE Xtreme+ V1.0 for Linux (dated 2009-05-21), which appears to me a tar archive. Its License Key (85OPT4-584499) & User Manual can be downloaded from the same link (RAR archive). After I install it, I have the following lines in /usr/ups/ups.cfg
    UpsModel=--CLEVER Series 110V/60Hz--
    UpsDevice=/dev/ttyUSB0:1200,n,8,1
    UpsCable=0
    PortTCP=8081

    Then I can start the upsman and

    • Connect to its web server through http://localhost:8081/ and monitor the status of the CS730B. After disconnect, I can also configure it through the web.
    • Configure the UPS by running the command service upsman conf

    Monday, April 27, 2009

    Using WPA2 with Intel Wireless LAN 2100

    My thinkpad X31 has a Intel(R) PRO/Wireless LAN 2100 3B Mini PCI Adapter and according to this product brief, it is Wi-Fi CERTIFIED for WPA although it's a IEEE 802.11b card.

    I upgraded its Windows driver to the latest version 1.2.5.37 and the Intel PROSet software to 7.1.47 as found on this intel download page. Afterwards, I can choose WPA2-Personal as security mode and AES-CCMP as encryptionn algorithm in the PROSet software as shown in the screenshot below.