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).