Difference between revisions of "OmaDm"
Line 42: | Line 42: | ||
Removing the DmTree.xml file and re-running "OmaDm -syncdata" is enough to regenerate both files. | Removing the DmTree.xml file and re-running "OmaDm -syncdata" is enough to regenerate both files. | ||
+ | |||
+ | An strace on "OmaDm -syncdata" shows that it accesses the following locations: | ||
+ | |||
+ | /var/log/omadm.log | ||
+ | /etc/prefs/properties/DMCARRIER | ||
+ | /dev/tokens/DMCARRIER | ||
+ | /var/lib/software/DmTree.xml | ||
+ | /etc/prefs/properties/PalmSN | ||
+ | /dev/tokens/PalmSN | ||
+ | /usr/share/omadm/none | ||
+ | /etc/prefs/properties/DMCLoAUTHNAME | ||
+ | /dev/tokens/DMCLoAUTHNAME | ||
+ | /etc/prefs/properties/DMCLoAUTHPW | ||
+ | /dev/tokens/DMCLoAUTHPW | ||
+ | /etc/prefs/properties/DMCLoNONCE | ||
+ | /dev/tokens/DMCLoNONCE | ||
+ | /etc/prefs/properties/DMSVRoAUTHPW | ||
+ | /dev/tokens/DMSVRoAUTHPW | ||
+ | /etc/prefs/properties/DMSVRoNONCE | ||
+ | /dev/tokens/DMSVRoNONCE | ||
+ | /var/lib/software/tmp/packages.xml (temporary file) | ||
+ | /usr/lib/ipkg/info/*.control | ||
+ | /etc/prefs/properties/buildNumber | ||
+ | /etc/palm-build-info |
Revision as of 04:03, 8 July 2011
This page will document knowledge about OmaDm. Note that some previous research of the over-the-wire behaviour of OmaDm has been done at Update_Service_Trace.
OmaDm seems to be involved in carrier provisioning and webOS OTA updates. Its working directory seems to be /var/lib/software.
It is called from UpdateDaemon, with the following arguments (found by using strings on the UpdateDaemon binary):
OmaDm -syncdata OmaDm -revert_tree OmaDm -set_domain OmaDm -client OmaDm -task OmaDm -server OmaDm -prepare OmaDm -prepare %X OmaDm -report_results
If you doctor and boot a device with the UpdateDaemon and OmaDm binaries disables, you get the following directory contents:
ModemFiles (empty directory) SessionFiles (empty directory) system_settings.info (contains localeCountry and localeLanguage settings) tmp (empty directory)
If you run "OmaDm -syncdata", a couple of files appear:
DmTree.backup.xml DmTree.xml
On a Veer, you also get the following error message:
[RdmInitCarrier: 423]: Unrecognized carrier ATT
The OmaDm binary seems to have support for Sprint, bell, ROW, and Verizon only. We're not sure whether this is a problem for AT&T or other carrier devices, but we'll assume that it is intentional for the moment.
At this point, the DmTree.backup.xml and DmTree.xml files are identical.
Experimentation with changing the contents of the files shows that "OmaDm -revert_tree" simply overwrites DmTree.xml with the contents of DmTree.backup.xml.
Note that while "OmaDm -syncdata" can create the DmTree files from scratch, it gives an error if you run it on files with invalid contents:
[SyncData: 316]: TRG_RDM_init error: 24577
Removing the DmTree.xml file and re-running "OmaDm -syncdata" is enough to regenerate both files.
An strace on "OmaDm -syncdata" shows that it accesses the following locations:
/var/log/omadm.log /etc/prefs/properties/DMCARRIER /dev/tokens/DMCARRIER /var/lib/software/DmTree.xml /etc/prefs/properties/PalmSN /dev/tokens/PalmSN /usr/share/omadm/none /etc/prefs/properties/DMCLoAUTHNAME /dev/tokens/DMCLoAUTHNAME /etc/prefs/properties/DMCLoAUTHPW /dev/tokens/DMCLoAUTHPW /etc/prefs/properties/DMCLoNONCE /dev/tokens/DMCLoNONCE /etc/prefs/properties/DMSVRoAUTHPW /dev/tokens/DMSVRoAUTHPW /etc/prefs/properties/DMSVRoNONCE /dev/tokens/DMSVRoNONCE /var/lib/software/tmp/packages.xml (temporary file) /usr/lib/ipkg/info/*.control /etc/prefs/properties/buildNumber /etc/palm-build-info