Tidbits

From WebOS Internals
Revision as of 06:05, 22 March 2011 by Nat.davies09 (talk | contribs) (added to the PalmDatabase stuff)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

This section lists various tidbits of information tictac has found.

rootfs/etc/palm-build-info

PRODUCT_VERSION_STRING=Palm webOS 1.0.2
BUILDNAME=Nova-Sprint-Castle
BUILDNUMBER=118
BUILDSET=base
BUILDTIME=20090522140049
BUILDMARK=165841

This looks like a normal Linux install with Luna added, which I'm guessing is the user which runs the apps. It having an IRC user does not mean anything. If you look around, a lot of the files were never changed from the original install, as it most likely would have wasted time from real development.

rootfs/passwd

root::0:0:root:/home/root:/bin/sh
daemon:*:1:1:daemon:/usr/sbin:/bin/sh
bin:*:2:2:bin:/bin:/bin/sh
sys:*:3:3:sys:/dev:/bin/sh
sync:*:4:65534:sync:/bin:/bin/sync
games:*:5:60:games:/usr/games:/bin/sh
man:*:6:12:man:/var/cache/man:/bin/sh
lp:*:7:7:lp:/var/spool/lpd:/bin/sh
mail:*:8:8:mail:/var/mail:/bin/sh
news:*:9:9:news:/var/spool/news:/bin/sh
uucp:*:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:*:13:13:proxy:/bin:/bin/sh
pulse:*:31:31:pulse:/var/run/pulse:/bin/sh
www-data:*:33:33:www-data:/var/www:/bin/sh
backup:*:34:34:backup:/var/backups:/bin/sh
list:*:38:38:Mailing List Manager:/var/list:/bin/sh
irc:*:39:39:ircd:/var/run/ircd:/bin/sh
gnats:*:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:*:65534:65534:nobody:/nonexistent:/bin/sh
luna:*:1000:1000:luna:/nonexistent:/bin/false

etc/palm/luna.conf

# Luna System Manager settings

[General]
ApplicationPath=/usr/lib/luna/applications:/var/luna/applications:/var/usr/lib/luna/applications:/usr/palm/applications:/var/usr/palm/applications
SystemPath=/usr/lib/luna/system/luna-systemui
SystemResourcesPath=/usr/palm/sysmgr/images
SystemLocalePath=/usr/palm/sysmgr/localization
AppLauncherPath=/usr/lib/luna/system/luna-applauncher
PinPath=/usr/lib/luna/system/luna-pin
LaunchPointsPath=/var/luna/launchpoints
PreferencesPath=/var/luna/preferences
DisplayWidth=320
DisplayHeight=480
DisplayNumBuffers=3
MaxPenMoveFreq=30
MinPenMoveFreq=10
MoveMinX=16
MoveMinY=12
MaxPaintLoad=6
MaxGestureChangeFreq=30
MinGestureChangeFreq=20
ShowReticle=true

[Memory]
MaxApplicationMemory=10MB
# In MB. -1 to disable
LowMemoryThreshold=-1
# In MB. -1 to disable
CriticalMemoryThreshold=-1
FreeMemoryThreshold=16
FreeSwapThreshold=64
SwapRateThreshold=200
EnableMemoryTracking=true
UseMemchute=true
AppsToAllowInLowMemory=com.palm.app.phone;com.palm.app.contacts;com.palm.app.messaging

[TouchEvents]
TapRadiusSquared=576
DoubleClickDuration=300

[VTrackBall]
PixelsPerMoveH=14
PixelsPerMoveV=26
AccelRateH1=350
AccelRateV1=200
AccelConstH1=1
AccelConstV1=2
AccelRateH2=700
AccelRateV2=375
AccelConstH2=2
AccelConstV2=3

[Debug]
WatchPenEvents=false
EnableDebugModeByDefault=false
PiranhaDrawColoredOutlines=false
PiranhaDisplayFps=false
ShowGestures=false

[LaunchAtBoot]
Applications=com.palm.app.phone;com.palm.app.email;com.palm.app.calendar;com.palm.app.messaging;com.palm.app.contacts;com.palm.app.camera

[KeepAlive]
Applications=com.palm.app.phone

[KeepAliveUntilMemPressure]
Applications=com.palm.app.browser

[Fonts]
Banner=/usr/share/fonts/Coconut-BoldD.ttf
LockWindow=/usr/share/fonts/Coconut-BoldD.ttf
Quicklaunch=/usr/share/fonts/Coconut-BoldD.ttf

[UI]
PositiveSpaceTopPadding=28
PositiveSpaceBottomPadding=28

[DownloadManager]
MaxQueueLength=128
MaxConcurrent=2
MaxRecvSpeed=65536

[Demo]
# The default will be true for Nova-Demo, false for all others.
# EnableGestureRepeater=true
GestureRepeaterIp=192.168.1.106
GestureRepeaterPort=5001

etc/palm/browser-app.conf

#	This is the configuration file for the palm browser.
#	Keep it in /etc/palm/browser-app.conf

[General]
PrivateBrowsing=false
PluginsEnabled=true
PluginsPath=/usr/lib/BrowserServerPlugins
AcceptCookies=true
EnableTextIndexing=true
EnableSmartText=true
EnableDebugger=false
ShowClickedLink=true
EnableStickyState=true
FontScaleFactor=1.0
ClickSearchRadius=6
EnableClickSearchRadiusExpansion=true
NetworkTimeout=60
RunningInBrowserServer=true
CookieJarPath=/var/palm/data/browser-cookies.db
EnableLayoutPaintThrottling=true
EnableFrameFlattening=true
UserAgentIndex=0

# The 'EnableFitWidth' parameter lets us control the default behavior of ScrollView.
EnableFitWidth=false

# Memory Cache Policies
#  MemCacheMinDeadBytes: The maximum number of bytes that dead resources should consume when the cache is under pressure.
#  MemCacheMaxDeadBytes: The maximum number of bytes that dead resources should consume when the cache is not under pressure.
#  MemCacheTotalBytes: The maximum number of bytes that the cache should consume overall.	

MemCacheMinDeadBytes=1MB
MemCacheMaxDeadBytes=2MB
MemCacheTotalBytes=4MB

# The page cache is how many previous pages to keep in memory.
PageCacheCapacity=0

DiskCacheEnabled=true
DiskCacheTotalBytes=8MB
DiskCacheDebug=false
DiskCacheLargestObjectSize=1MB

# Disable GIF animations until display list is optimized.
DisableGifAnimations=true

[JavaScript]
Enabled=true
CanOpenWindowsAutomatically=false
Flags=--gc_global --nopush_pop_elimination 
ScriptMinimumTimerInterval=0.02

[Fonts]

MinFontSize=8
MinLogicalFontSize=5
DefaultFontSize=14
DefaultFixedFontSize=14
MinTextAutoSizeFontSize=18

etc/palm/browser.conf

#	This is the configuration file for the palm browser.
#	Keep it in /etc/palm/browser.conf

[General]
PrivateBrowsing=false
PluginsEnabled=true
AcceptCookies=true
EnableTextIndexing=false
EnableSmartText=true
PluginsPath=/usr/lib/BrowserPlugins
FontScaleFactor=1.0
ShowClickedLink=false
EnableStickyState=true
ClickSearchRadius=0
EnableClickSearchRadiusExpansion=false
FastLocalLoad=true
RunningInBrowserServer=false
CookieJarPath=/var/palm/data/cookies.db
EnableLayoutPaintThrottling=false
EnableFrameFlattening=false
FontsPath=/usr/share/fonts/

# Automatically remove eventlisteners from DOM nodes not attached to the render tree.
AutomaticallyCleanupEventListeners=false

# The 'EnableFitWidth' parameter lets us control the default behavior of ScrollView.
EnableFitWidth=false

NetworkTimeout=60

# Memory Cache Policies
#  MemCacheMinDeadBytes: The maximum number of bytes that dead resources should consume when the cache is under pressure.
#  MemCacheMaxDeadBytes: The maximum number of bytes that dead resources should consume when the cache is not under pressure.
#  MemCacheTotalBytes: The maximum number of bytes that the cache should consume overall.	

MemCacheMinDeadBytes=1MB
MemCacheMaxDeadBytes=2MB
MemCacheTotalBytes=2MB

# The page cache is how many previous pages to keep in memory.
PageCacheCapacity=0

DiskCacheEnabled=false
DiskCacheTotalBytes=1MB
DiskCacheDebug=false
DiskCacheLargestObjectSize=500k

[Luna]
CacheResources=false
DisableAutoscroll=true

[Debug]
DebuggerServerPort=5005
DebuggerEnable=false

[JavaScript]
Enabled=true
CanOpenWindowsAutomatically=true
Flags=--additional_JSFile_dir=/usr/palm/frameworks/mojo/builtins --nopush_pop_elimination --gc_global --timeout_script_timeout=10000
YoungSpaceSize=4MB
OldSpaceSize=64MB
StackLimit=256K
ExternalMemory=64MB

[Fonts]

MinFontSize=5
MinLogicalFontSize=5
DefaultFontSize=14
DefaultFixedFontSize=14

[FontCache]
MaxInactiveFontData=15
TargetInactiveFontData=10

etc/palm/autoreplace/en_us/text-edit-autoreplace > This could be edited to add new replacement text, obviously. Perhaps a UI of some sort.

etc/palm/defaultpreferences.txt > These are some default pref's: airplanemode=off, default ringer=Pre.mp3, default wallpaper and even the alert sound.

{ 
  "preferences": {
  		"useNetworkTime":		true,
		"useNetworkTimeZone":	true,
		"timeFormat":			"HH12",
		"locale":				{ "languageCode":"en", "countryCode":"us" },
		"ringtone":				{ "fullPath":"/usr/lib/luna/customization/copy_binaries/media/internal/ringtones/Pre.mp3" , "name":"Prē" },
		"alerttone":			{ "fullPath":"/usr/palm/sounds/alert.wav" , "name":"alert.wav" },
		"notificationtone":		{ "fullPath":"/usr/palm/sounds/notification.wav" , "name":"notification.wav" },
		"wallpaper":			{ "wallpaperName":"flowers.png" , "wallpaperFile":"/usr/lib/luna/system/luna-systemui/images/flowers.png" , "wallpaperThumbFile":""},
		"airplaneMode":			false,
		"showAlertsWhenLocked":	true
   }
}

etc/pmnetconfig/funcs > This is a very interesting file as it lays out the iptables stuff.

etc/pmnetconfig/init etc/pmnetconfig/if-up etc/pmnetconfig/if-down > All of the above lay out more interesting network stuff.

etc/network/interfaces

# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
 
# The loopback interface
auto lo
iface lo inet loopback

# Wireless interfaces
iface wlan0 inet dhcp
wireless_mode managed
wireless_essid any
iface atml0 inet dhcp

# Wired or wireless interfaces
iface eth0 inet dhcp
iface eth1 inet dhcp

# Ethernet/RNDIS gadget (g_ether)
# ... or on host side, usbnet and random hwaddr
iface usb0 inet static
	address 192.168.0.202
	netmask 255.255.255.0
	network 192.168.0.0
	gateway 192.168.0.200 metric 40

# Temporarily add support for old IP address
# and automatically bring the interface up
auto usb0:1
iface usb0:1 inet static
	address 192.168.2.101
	netmask 255.255.255.0
	network 192.168.2.0


# Zaurus 2.4 Lineo net_fd; obsolete
iface usbd0 inet static
	address 192.168.129.201
	netmask 255.255.255.0
	network 192.168.129.0
	gateway 192.168.129.200

# iPAQ 2.4 mach-sa1100/usb-eth
# (192.168.0.202 is the iPAQ's IP, 192.168.0.200 is the host's IP)
iface usbf inet static
        address 192.168.0.202
        netmask 255.255.255.0
        network 192.168.0.0
        gateway 192.168.0.200

# Bluetooth networking
iface bnep0 inet dhcp

ls -l boot/

total 3360
-rw-r--r--+ 1 96 96   53756 2009-05-22 13:46 boot.bin
-rw-r--r--+ 1 96 96       8 2009-05-22 13:46 bootheader
-rw-r--r--+ 1 96 96   43372 2009-05-22 13:24 config-2.6.24-palm-joplin-3430
-rw-r--r--+ 1 96 96 1098470 2009-05-22 13:24 System.map-2.6.24-palm-joplin-3430
lrwxrwxrwx  1 96 96      30 2009-06-09 18:53 uImage -> uImage-2.6.24-palm-joplin-3430
-rw-r--r--+ 1 96 96 2217848 2009-05-22 13:24 uImage-2.6.24-palm-joplin-3430

wxWidgets is hanging around. No idea why. Not sure what depends on it. It looks like it's enough to support a GUI.

ls -l usr/lib/wx*

lrwxrwxrwx 1 ice ice      19 Jun  9 22:26 libwx_base-2.8-arm-none-linux-gnueabi.so -> libwx_base-2.8.so.0
lrwxrwxrwx 1 ice ice      23 Jun  9 22:26 libwx_base-2.8.so.0 -> libwx_base-2.8.so.0.4.0
-rwxr-xr-x 1 ice ice 1327184 May 22 17:36 libwx_base-2.8.so.0.4.0
lrwxrwxrwx 1 ice ice      23 Jun  9 22:26 libwx_base_net-2.8-arm-none-linux-gnueabi.so -> libwx_base_net-2.8.so.0
lrwxrwxrwx 1 ice ice      27 Jun  9 22:26 libwx_base_net-2.8.so.0 -> libwx_base_net-2.8.so.0.4.0
-rwxr-xr-x 1 ice ice  216739 May 22 17:36 libwx_base_net-2.8.so.0.4.0
lrwxrwxrwx 1 ice ice      23 Jun  9 22:26 libwx_base_xml-2.8-arm-none-linux-gnueabi.so -> libwx_base_xml-2.8.so.0
lrwxrwxrwx 1 ice ice      27 Jun  9 22:26 libwx_base_xml-2.8.so.0 -> libwx_base_xml-2.8.so.0.4.0
-rwxr-xr-x 1 ice ice   46428 May 22 17:36 libwx_base_xml-2.8.so.0.4.0
lrwxrwxrwx 1 ice ice      26 Jun  9 22:26 libwx_dfbuniv_adv-2.8-arm-none-linux-gnueabi.so -> libwx_dfbuniv_adv-2.8.so.0
lrwxrwxrwx 1 ice ice      30 Jun  9 22:26 libwx_dfbuniv_adv-2.8.so.0 -> libwx_dfbuniv_adv-2.8.so.0.4.0
-rwxr-xr-x 1 ice ice  739007 May 22 17:36 libwx_dfbuniv_adv-2.8.so.0.4.0
lrwxrwxrwx 1 ice ice      27 Jun  9 22:26 libwx_dfbuniv_core-2.8-arm-none-linux-gnueabi.so -> libwx_dfbuniv_core-2.8.so.0
lrwxrwxrwx 1 ice ice      31 Jun  9 22:26 libwx_dfbuniv_core-2.8.so.0 -> libwx_dfbuniv_core-2.8.so.0.4.0
-rwxr-xr-x 1 ice ice 2831542 May 22 17:36 libwx_dfbuniv_core-2.8.so.0.4.0
lrwxrwxrwx 1 ice ice      25 Jun  9 22:26 libwx_dfbuniv_qa-2.8-arm-none-linux-gnueabi.so -> libwx_dfbuniv_qa-2.8.so.0
lrwxrwxrwx 1 ice ice      29 Jun  9 22:26 libwx_dfbuniv_qa-2.8.so.0 -> libwx_dfbuniv_qa-2.8.so.0.4.0
-rwxr-xr-x 1 ice ice  191304 May 22 17:36 libwx_dfbuniv_qa-2.8.so.0.4.0

Authentic batteries? We should investigate this...

2009-06-13T22:21:13.389648Z [999] castle user.info powerd: BATTERY: (1182.500000mAh, 93%, 97%_ui, 32C, 202mA, 4182mV, authentic)

webOS Doctor Notes

  • webOS Doctor removes everything from /media/internal (the root of the mounted USB drive).
  • Email accounts, apps, and contacts are stored in Palm Profile.
> 21:23 <+dkelson> what does the webos doctor combined with Palm Profile restore NOT restore (aside from stuff on /media/internal)?
> 21:24 < ripper> Doesn't restore linked contacts
> 21:24 <+rwhitby> that would be a good thing to determine
> 21:24 < ripper> or bookmarks
> 21:24 < ripper> or launcher locations
> 21:24 < ripper> or roaming and other settings
> 21:24 <+dkelson> are bookmarks stored in the SQlite db?
> 21:24 < Mogren> linked contacts not restoring is awful news, that took me at least a few hours
> 21:24 < ripper> pretty much seems to only restore apps and login info for synergy

WiFi Notes

> 20:40 < jblebrun> tictac: I found that if you turn off WiFi on the phone, and then do "wifidriver -i", it will turn the wifi radio on without the rest of the pre noticing.

/etc/audio Notes

  • There are several files here (5 total) prefixed with voice dialing! I'll bet we can enable voice dialing somehow!


PalmDatabase.db3 messaging Notes /var/luna/data/dbdata/PalmDatabase.db3

com_Palm_messaging_data_ChatThread table structure
 RecNo | summary | flags | priority | firstName | lastName | name | trailingDigits | chatTimeStamp | pictureLocation | chatAddress | imAvatarLocation | draftText | availability | customMessage | serviceName | type | statusAddress | totalCount | unreadCount | id | _class_id | _mod_num | _flags
  • RecNo - index
  • summary - last text sent/rcvd
  • flags -
  • priority - possibly normal/urgent?
  • firstName - thread contact's first name (if they are in the phone book, otherwise this contains the thread contact's phone number)
  • lastName - thread contact's last name (if they are in the phone book, otherwise empty)
  • name - if chat tread is IM the contacts user name (username@gmail.com for Google Talk ), if SMS and the number is in Contacts this is the 'id' from 'com_palm_pim_Person' pretended with 'pID' otherwise this contains just the thread contact's phone number
  • trailingDigits - last 7 digits of thread contact's phone number
  • chatTimeStamp - last message time stamp in milliseconds since Unix Epoch (midnight of January 1, 1970 UTC).
  • pictureLocation - thread contact's avatar (from facebook or other account)
  • chatAddress - phone number or SMS address of thread contact's
  • imAvatarLocation - full location of avatar file /var/....
  • draftText - any text not sent yet but typed into text field
  • availability - this is the thread contact's Status (possibly 6 = sms, 2 = offline, 4 = online)
  • customMessage -
  • serviceName - name of the IM service (e.g. gmail for Google Talk)
  • type - SMS or IM. there might be others in the future
  • statusAddress -
  • totalCount - total number of messages from this contact in database
  • unreadCount - number that shows in the messaging app when you have unread messages
  • id - id linking to 'has_id' in 'com_palm_messaging_data_ChatThread_com_palm_pim_FolderEntry_Chat_Messages' which in turn references 'com_palm_pim_FolderEntry' where the actual messages are messages are stored
  • _class_id -
  • _mod_num -
  • _flags -

- com_palm_messaging_data_ChatThread_com_palm_messaging_data_ChatThread_ContactChat_AddressChat - this seems to tie the table above with the table below

  • recNo - index
  • _mod_num -
  • _id -
  • _has_id - id listed in com_palm_messaging_data_ChatThread
  • _belongs_id - id listed in com_palm_pim_FolderEntry

- com_palm_pim_FolderEntry

status INTEGER, statusErrorCode INTEGER, deviceTimeStamp INTEGER, messageType TEXT, messageServiceName TEXT, callbackNumber TEXT, fromAddress TEXT, invitationGroupId TEXT, smsClass INTEGER, smsType INTEGER, smsc TEXT, encoding TEXT, validity INTEGER, isVoicemail INTEGER, simMessage INTEGER, mmsTransactionId TEXT, mmsVersion TEXT, mmsMessageClass TEXT, mmsMessageId TEXT, mmsPriority TEXT, mmsDeliveryReport TEXT, mmsReadReply TEXT, mmsContentType TEXT, isInProgress INTEGER, retryTally INTEGER, uniqueAttachmentFolderName TEXT, mmsRelayType TEXT, mmsExpiry INTEGER, mmsStatus TEXT, mmsReportAllowed TEXT, mmsTo TEXT, mmsCc TEXT, mmsDate TEXT, mmsMessageSize INTEGER, mmsContentLocation TEXT, mmsResponseStatus INTEGER, mmsResponseText TEXT, timeStamp INTEGER, summary TEXT, messageText TEXT, flags INTEGER, priority INTEGER, displayName TEXT, firstName TEXT, lastName TEXT, remoteId TEXT, extraDetails TEXT, email INTEGER, com_palm_accounts_ActiveRecordFolder_id INTEGER, id INTEGER PRIMARY KEY, _class_id INTEGER, _mod_num INTEGER, _flags INTEGER, html INTEGER, messageTextLoaded INTEGER, meetingResponseCode INTEGER, subCount INTEGER, previewText TEXT, envelope TEXT, uid INTEGER, com_palm_pim_CalendarEvent_id INTEGER, moveFolder TEXT, fullyLoaded INTEGER, sortDisplayName TEXT, messageId TEXT, serverId TEXT, sortSummary TEXT, textLocation TEXT, textCacheKey TEXT, invisible INTEGER, htmlLocation TEXT, altTextCacheKey TEXT, modTime INTEGER, replyId TEXT, summaryCRC32 INTEGER, lastSyncedFlags INTEGER

will add more later.. had to run. sorry :)