add bmc flash capability
diff --git a/bin/obmcutil b/bin/obmcutil
index 7cf0d93..35a9a08 100755
--- a/bin/obmcutil
+++ b/bin/obmcutil
@@ -13,10 +13,10 @@
def fix_byte(it,key,parent):
if (isinstance(it,dbus.Array)):
for i in range(0,len(it)):
- traverse_it(it[i],i,it)
+ fix_byte(it[i],i,it)
elif (isinstance(it, dict)):
for key in it.keys():
- traverse_it(it[key],key,it)
+ fix_byte(it[key],key,it)
elif (isinstance(it,dbus.Byte)):
if (key != None):
parent[key] = int(it)
@@ -28,7 +28,7 @@
if (isinstance(data, dict)):
print ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
print name
- for p in data:
+ for p in sorted(data.keys()):
printDict(p,data[p])
else:
print name+" = "+str(data)
@@ -82,7 +82,7 @@
'interface_name' : 'org.openbmc.control.Chassis',
'method' : 'powerOff',
},
- 'getsystemstate' : {
+ 'state' : {
'bus_name' : 'org.openbmc.managers.System',
'object_name' : '/org/openbmc/managers/System',
'interface_name' : 'org.openbmc.managers.System',
@@ -93,17 +93,28 @@
'object_name' : '/org/openbmc/sensor/virtual/BootProgress',
'interface_name' : 'org.openbmc.SensorValue'
},
- 'updatebios' : {
+ 'biosupdate' : {
'bus_name' : 'org.openbmc.control.Flash',
'object_name' : '/org/openbmc/control/flash/bios',
'interface_name' : 'org.openbmc.Flash',
'method' : 'updateViaTftp',
},
- 'bios' : {
+ 'biosflash' : {
'bus_name' : 'org.openbmc.control.Flash',
'object_name' : '/org/openbmc/control/flash/bios',
'interface_name' : 'org.openbmc.Flash',
},
+ 'bmcupdate' : {
+ 'bus_name' : 'org.openbmc.control.Flash',
+ 'object_name' : '/org/openbmc/control/flash/bmc',
+ 'interface_name' : 'org.openbmc.Flash',
+ 'method' : 'updateViaTftp',
+ },
+ 'bmcflash' : {
+ 'bus_name' : 'org.openbmc.control.Flash',
+ 'object_name' : '/org/openbmc/control/flash/bmc',
+ 'interface_name' : 'org.openbmc.Flash',
+ },
'getinventory' : {
'bus_name' : 'org.openbmc.managers.Inventory',
'object_name' : '/org/openbmc/inventory',
@@ -116,23 +127,16 @@
'interface_name' : 'org.openbmc.Object.Enumerate',
'method' : 'enumerate'
},
- 'inventorytest' : {
- 'bus_name' : 'org.openbmc.managers.Inventory',
- 'object_name' : '/org/openbmc/inventory/system/chassis/motherboard/cpu0',
- 'interface_name' : 'org.openbmc.InventoryItem',
- 'method' : 'update'
- },
-
}
bus = dbus.SystemBus()
-if (len(sys.argv) == 1):
+if (len(sys.argv) == 1 or sys.argv[1] == "-h"):
print "Usage: obmcutil [command] [[method] [*args]]"
print "\tIf [method] is blank, then all properties are printed\n"
print "Available commands:"
- for name in dbus_objects:
+ for name in sorted(dbus_objects.keys()):
m = ""
if (dbus_objects[name].has_key('method') == True):
m=" ("+dbus_objects[name]['interface_name']+"->"+dbus_objects[name]['method']+")"
@@ -165,16 +169,10 @@
else:
methd = obj.get_dbus_method(method_name,intf_name)
try:
- ## too hard to do dicts from command line
- ## hack just to test fru update function
- if (method_name == "update"):
- tmp = { 'manufacturer' : sys.argv[0], 'part_num' : '3Nxxxx' }
- methd(tmp)
- else:
- data = methd(*sys.argv)
- fix_byte(data)
- pydata = json.loads(json.dumps(data))
- printDict("",pydata)
+ data = methd(*sys.argv)
+ fix_byte(data,None,None)
+ pydata = json.loads(json.dumps(data))
+ printDict("",pydata)
except Exception as e:
print e
r = introspect(bus_name,obj_path,intf_name,method_name)