#!/usr/bin/python3 import dbus bus = dbus.SystemBus() manager = dbus.Interface(bus.get_object('org.ofono', '/'), 'org.ofono.Manager') modems = manager.GetModems() path = modems[0][0] monitor = dbus.Interface(bus.get_object('org.ofono', path), 'org.ofono.NetworkMonitor') try: servingcell = monitor.GetServingCellInformation() except dbus.DBusException as e: print("Unable to get serving cell information") exit() tech = 'Technology' mcc = 'MobileCountryCode' mnc = 'MobileNetworkCode' lac = 'LocationAreaCode' cid = 'CellId' psc = 'PrimaryScramblingCode' rssi = 'Strength' ber = 'BitErrorRate' rxlev = 'ReceivedSignalStrength' rscp = 'ReceivedSignalCodePower' ecn0 = 'ReceivedEnergyRatio' rsrq = 'ReferenceSignalReceivedQuality' rsrp = 'ReferenceSignalReceivedPower' earfcn = 'EARFCN' eband = 'EBand' cqi = 'ChannelQualityIndicator' print("Current serving cell information:") if tech in servingcell: print(" [ Radio Access Technology = %s]" % (servingcell[tech])) if mcc in servingcell: print(" [ Mobile Country Code = %s]" % (servingcell[mcc])) if mnc in servingcell: print(" [ Mobile Network Code = %s]" % (servingcell[mnc])) if lac in servingcell: print(" [ Location Area Code = %d]" % (servingcell[lac])) if cid in servingcell: print(" [ Cell Identity = %d]" % (servingcell[cid])) if psc in servingcell: print(" [ Primary Scrambling Code = %d]" % (servingcell[psc])) if rssi in servingcell: print(" [ Signal Strength = %d]" % (servingcell[rssi])) if rxlev in servingcell: print(" [ Received Signal Strength = %d]" % (servingcell[rxlev])) if ber in servingcell: print(" [ Bit Error Rate = %d]" % (servingcell[ber])) if rscp in servingcell: print(" [ Received Signal Code Power = %d]" % (servingcell[rscp])) if ecn0 in servingcell: print(" [ Received Energy Ratio = %d]" % (servingcell[ecn0])) if rsrq in servingcell: print(" [ Reference Signal Received Quality = %d]" % (servingcell[rsrq])) if rsrp in servingcell: print(" [ Reference Signal Received Power = %d]" % (servingcell[rsrp])) if earfcn in servingcell: print(" [ E-UTRA Absolue Radio Frequency Channel = %d ]" % (servingcell[earfcn])) if eband in servingcell: print(" [ E-UTRA operating Band = %d ]" % (servingcell[eband])) if cqi in servingcell: print(" [ Channel Quality Indicator = %d ]" % (servingcell[cqi])) print('')