mobile-insight / mobileinsight-core

Mobile Network Intelligence Made Easy -- MobileInsight core functionalities
http://www.mobileinsight.net
Other
107 stars 83 forks source link

Core doesn't handle some message type & protocol version / PHY_x not working with MNO "Free" (France) #26

Closed Gigithecode closed 5 years ago

Gigithecode commented 6 years ago

mi2log_20171117_140011.txt

mi2log_20171117_140008.txt

Demo-PHY-offline_log.txt

NetLogger_log.txt

Demo-PHY-online_log.txt

Versions

Description

When trying to run plugin DEMO_PHY_ONLINE or DEMO_PHY_OFFLINE (from a log recorded with NetLoger) with the French MNO "Free" I get errors because the plugin (or the core?) doesn't handle some message types or some protocol versions. Importing the log to the desktop app. clairly show the problem.

Code & shell

#!/usr/bin/python
# Filename: offline-analysis-filtering.py
import os
import sys

"""
Offline analysis: save the log as a new one with pre-defined filter
"""

#Import MobileInsight modules
from mobile_insight.monitor import OfflineReplayer

if __name__ == "__main__":

    # Initialize a 3G/4G monitor
    src = OfflineReplayer()
    src.set_input_path("./offline_log_example.mi2log")

    # Configure the log to be saved
    src.enable_log("LTE_PHY_PDSCH_Packet")

    # Save log as
    src.save_log_as("./filtered_log.mi2log")

    #Start the monitoring
    src.run()
$ python offline-analysis-filtering.py
{}
[INFO] [OfflineReplayer]: Enable LTE_PHY_PDSCH_Packet
[INFO] [OfflineReplayer]: Loading ./offline_log_example.mi2log
Unknown LTE LL1 PDSCH Demapper Configuration version: 0x1
...
-----------------------
$ python offline-analysis-example.py 
{}
[INFO] [OfflineReplayer]: Enable LTE_RRC_OTA_Packet
[INFO] [OfflineReplayer]: Enable LTE_RRC_Serv_Cell_Info
[WARNING] [OfflineReplayer]: Unsupported log message type: LTE_RRC_CDRX_Events_Info
[INFO] [OfflineReplayer]: Enable LTE_RRC_CDRX_Events_Info
Traceback (most recent call last):
  File "offline-analysis-example.py", line 28, in <module>
    lte_rrc_analyzer.set_source(src) #bind with the monitor
  File "/usr/local/lib/python2.7/dist-packages/mobile_insight/analyzer/lte_rrc_analyzer.py", line 847, in set_source
    source.enable_log("LTE_RRC_CDRX_Events_Info")
  File "/usr/local/lib/python2.7/dist-packages/mobile_insight/monitor/offline_replayer.py", line 126, in enable_log
    dm_collector_c.set_filtered(self._type_names)
ValueError: Wrong type name.
------------------------
openning the same log file with Mobileinsight-gui ;
Unknown LTE LL1 PDSCH Demapper Configuration version: 0x1
Unknown LTE LL1 PDSCH Demapper Configuration version: 0x1
Unknown LTE LL1 PDSCH Demapper Configuration version: 0x1
Unknown LTE LL1 PDSCH Demapper Configuration version: 0x1
Unknown LTE LL1 PDSCH Demapper Configuration version: 0x1
Unknown LTE LL1 PDSCH Demapper Configuration version: 0x1
Unknown LTE LL1 PDSCH Demapper Configuration version: 0x1
Unknown LTE LL1 PDSCH Demapper Configuration version: 0x1
Unknown LTE LL1 PDSCH Demapper Configuration version: 0x1
Unknown LTE ML1 CMLIFMR version: 0x2
Unknown LTE ML1 CMLIFMR version: 0x2
Unknown LTE ML1 CMLIFMR version: 0x2
Unknown LTE ML1 CMLIFMR version: 0x2
Unknown LTE ML1 CMLIFMR version: 0x2
Unknown LTE ML1 CMLIFMR version: 0x2
Unknown LTE ML1 CMLIFMR version: 0x2
Unknown LTE ML1 CMLIFMR version: 0x2
Unknown LTE ML1 CMLIFMR version: 0x2
Unknown LTE LL1 PDSCH Demapper Configuration version: 0x1
Unknown LTE ML1 CMLIFMR version: 0x2
Unknown LTE ML1 CMLIFMR version: 0x2
Unknown LTE ML1 CMLIFMR version: 0x2
...
zwyuan commented 6 years ago

Thanks for the log report. It seems that MobileInsight currently cannot support the carrier config your phone has been using. Is it possible that you can enable the LTE_RRC_OTA message and see if it is enabled?

Gigithecode commented 6 years ago

2017_11_23_00 31 18

RrcAnalysis_log.txt It seems LTE_RRC_OTA succeed (see attached log) But perhaps i miss something.