Project

General

Profile

Actions

Feature #2212

closed

ofono: test the NetworkRegistration interface

Added by neels almost 7 years ago. Updated over 6 years ago.

Status:
Closed
Priority:
High
Assignee:
Target version:
-
Start date:
04/27/2017
Due date:
% Done:

100%

Spec Reference:

Description

The sierra and EC20 modems exhibit the NetworkRegistration interface.
Try whether that works, at first using e.g. mdbus2.
Write test API that can use the NetworkRegistration interface to select a specific NITB.

Actions #1

Updated by neels almost 7 years ago

see http://git.osmocom.org/osmo-gsm-tester/tree/src/osmo_gsm_tester/ofono_client.py#n130
where it says

    self.log('Use of %r interface not implemented yet, hoping that the modem connects by itself' % I_NETREG)

Actions #2

Updated by pespin almost 7 years ago

  • Status changed from New to In Progress
  • Assignee changed from 118 to pespin
  • % Done changed from 0 to 80

Already implemented and working for the two tests I have. I still need to push it to gerrit for inclusion. Waiting for all patches tehre to be merged + rebase it on top: http://cgit.osmocom.org/osmo-gsm-tester/commit/?h=netreg&id=23fd6644b1ee77a0fd66692067b123212a5cc679

Actions #3

Updated by pespin almost 7 years ago

Code implementing this is available in gerrit (netreg branch) and seems to be workinng fine. However, due to other issues it breaks occasionally so it's not stable:
- #2233 when the NetworkRegister interface is shown makes the test fail
- Not sure why, on sms tests, both register correctly as expected, then the sms is sent and just after that most of the time the 2nd MS gets unregistered from the network and thus doesn't receive the sms...

Actions #4

Updated by neels almost 7 years ago

Possibly it is something like:

In order to see the NetworkRegistration interface, we need to put the modem Online = true.
Then it remembers what it was last attached to, and goes on to attach right away.

Shortly after, we tell it to register with a given operator. The modem takes a second to think about that, and in the meantime the test has already seen both modems attached to the NITB. So it goes on to send the SMS.

However, the modem(s) are still slow and believe they/it should re-attach to the network, because the NetworkRegistration interface was instructed so. Hence it disconnects and reconnects, but now the SMS is on its way.

Still puzzling is that the modem apparently doesn't re-attach. But my guess it's the automatic attaching getting in the way of the manual registration..... :/

19:00:14 bus                        /sierra_2: DBG: Interface enabled: org.ofono.AllowedAccessPoints  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪modem.enable(org.ofono.AllowedAccessPoints)↪/sierra_2]  [ofono_client.py:142]
19:00:14 bus                        /sierra_2: DBG: Interface enabled: org.ofono.RadioSettings  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪modem.enable(org.ofono.RadioSettings)↪/sierra_2]  [ofono_client.py:142]
19:00:14 bus                        /sierra_2: DBG: Interface enabled: org.ofono.SupplementaryServices  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪modem.enable(org.ofono.SupplementaryServices)↪/sierra_2]  [ofono_client.py:142]
19:00:14 bus                        /sierra_2: DBG: Interface enabled: org.ofono.ConnectionManager  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪modem.enable(org.ofono.ConnectionManager)↪/sierra_2]  [ofono_client.py:142]
19:00:14 bus                        /sierra_2: DBG: Interface enabled: org.ofono.NetworkRegistration  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪modem.enable(org.ofono.NetworkRegistration)↪/sierra_2]  [ofono_client.py:142]
19:00:32 bus                        /sierra_2: DBG: Checking operator:  /sierra_2/operator/90170 {'Technologies': ['gsm'], 'MobileNetworkCode': '70', 'Status': 'current', 'MobileCountryCode': '901', 'Name': 'osmo-gsm-tester'}  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪modem.enable(org.ofono.NetworkRegistration)↪/sierra_2]  [ofono_client.py:206]
19:00:32 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Status=denied  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪/sierra_2]  [ofono_client.py:168]
19:00:33 bus                        /sierra_2: DBG: Interface enabled: org.ofono.PushNotification  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪modem.enable(org.ofono.PushNotification)↪/sierra_2]  [ofono_client.py:142]
19:00:33 bus                        /sierra_2: DBG: Interface enabled: org.ofono.SmartMessaging  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪modem.enable(org.ofono.SmartMessaging)↪/sierra_2]  [ofono_client.py:142]
19:00:33 bus                        /sierra_2: DBG: Interface enabled: org.ofono.MessageManager  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪modem.enable(org.ofono.MessageManager)↪/sierra_2]  [ofono_client.py:142]
19:00:33 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Status=searching  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪/sierra_2]  [ofono_client.py:168]
19:00:33 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Technology=gsm  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪/sierra_2]  [ofono_client.py:168]
19:00:33 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Status=registered  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪/sierra_2]  [ofono_client.py:168]
19:00:33 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> LocationAreaCode=23  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪/sierra_2]  [ofono_client.py:168]
19:00:33 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> CellId=0  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪/sierra_2]  [ofono_client.py:168]
19:00:33 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Name=osmo-gsm-tester  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪/sierra_2]  [ofono_client.py:168]
19:00:33 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> MobileCountryCode=901  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪/sierra_2]  [ofono_client.py:168]
19:00:33 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> MobileNetworkCode=70  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪/sierra_2]  [ofono_client.py:168]
19:00:33 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Name=osmo-gsm-tester  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪/sierra_2]  [ofono_client.py:168]
19:00:33 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Name=901-70  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪/sierra_2]  [ofono_client.py:168]
19:00:33 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Strength=0  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪/sierra_2]  [ofono_client.py:168]
19:00:34 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Name=osmo-gsm-tester  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪/sierra_2]  [ofono_client.py:168]
19:00:34 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Strength=20  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪/sierra_2]  [ofono_client.py:168]
19:00:34 bus                        /sierra_1: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Status=unregistered  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪/sierra_1]  [ofono_client.py:168]
19:00:34 bus                        /sierra_1: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Status=unregistered  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪/sierra_1]  [ofono_client.py:168]
19:00:34 bus                        /sierra_1: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Technology=gsm  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪/sierra_1]  [ofono_client.py:168]
19:00:34 bus                        /sierra_1: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Technology=gsm  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪/sierra_1]  [ofono_client.py:168]
19:00:34 bus                        /sierra_1: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Status=registered  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪/sierra_1]  [ofono_client.py:168]
19:00:34 bus                        /sierra_1: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Status=registered  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪/sierra_1]  [ofono_client.py:168]
19:00:34 bus                        /sierra_1: 'org.ofono.NetworkRegistration'.PropertyChanged() -> LocationAreaCode=23  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪/sierra_1]  [ofono_client.py:168]
19:00:34 bus                        /sierra_1: 'org.ofono.NetworkRegistration'.PropertyChanged() -> LocationAreaCode=23  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪/sierra_1]  [ofono_client.py:168]
19:00:34 bus                        /sierra_1: 'org.ofono.NetworkRegistration'.PropertyChanged() -> CellId=0  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪/sierra_1]  [ofono_client.py:168]
19:00:34 bus                        /sierra_1: 'org.ofono.NetworkRegistration'.PropertyChanged() -> CellId=0  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪/sierra_1]  [ofono_client.py:168]
19:00:34 bus                        /sierra_1: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Name=osmo-gsm-tester  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪/sierra_1]  [ofono_client.py:168]
19:00:34 bus                        /sierra_1: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Name=osmo-gsm-tester  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪/sierra_1]  [ofono_client.py:168]
19:00:35 bus                        /sierra_1: 'org.ofono.NetworkRegistration'.PropertyChanged() -> MobileCountryCode=901  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪/sierra_1]  [ofono_client.py:168]
19:00:35 bus                        /sierra_1: 'org.ofono.NetworkRegistration'.PropertyChanged() -> MobileCountryCode=901  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪/sierra_1]  [ofono_client.py:168]
19:00:35 bus                        /sierra_1: 'org.ofono.NetworkRegistration'.PropertyChanged() -> MobileNetworkCode=70  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪/sierra_1]  [ofono_client.py:168]
19:00:35 bus                        /sierra_1: 'org.ofono.NetworkRegistration'.PropertyChanged() -> MobileNetworkCode=70  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪/sierra_1]  [ofono_client.py:168]
19:00:35 bus                        /sierra_1: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Name=901-70  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪/sierra_1]  [ofono_client.py:168]
19:00:35 bus                        /sierra_1: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Name=901-70  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪/sierra_1]  [ofono_client.py:168]
19:00:35 bus                        /sierra_1: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Strength=40  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪/sierra_1]  [ofono_client.py:168]
19:00:35 bus                        /sierra_1: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Strength=40  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪/sierra_1]  [ofono_client.py:168]
19:00:35 bus                        /sierra_1: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Name=osmo-gsm-tester  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪/sierra_1]  [ofono_client.py:168]
19:00:35 bus                        /sierra_1: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Name=osmo-gsm-tester  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪/sierra_1]  [ofono_client.py:168]
19:00:35 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> LocationAreaCode=0  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪/sierra_2]  [ofono_client.py:168]
19:00:35 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> LocationAreaCode=0  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪/sierra_2]  [ofono_client.py:168]
19:00:35 bus Ctrl(host='10.42.42.1', port=4249): DBG: Connecting  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪osmo-nitb_10.42.42.1↪Ctrl(host='10.42.42.1', port=4249)]  [osmo_ctrl.py:55]
19:00:35 bus Ctrl(host='10.42.42.1', port=4249): DBG: Sending {data='GET 0 subscriber-list-active-v1'}  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪osmo-nitb_10.42.42.1↪Ctrl(host='10.42.42.1', port=4249)]  [osmo_ctrl.py:66]
19:00:36 bus Ctrl(host='10.42.42.1', port=4249): DBG: Disconnecting  [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪osmo-nitb_10.42.42.1↪Ctrl(host='10.42.42.1', port=4249)]  [osmo_ctrl.py:61]
19:00:36 run             osmo-nitb_10.42.42.1: DBG: attached: GET_REPLY 0 subscriber-list-active-v1 901700000009031,1005 901700000009029,1006   [trial-55↪sms:sysmo↪mo_mt_sms.py:28↪osmo-nitb_10.42.42.1]  [osmo_nitb.py:104]
19:00:36 bus                        /sierra_1: sending sms to MSISDN 1006 {sms='message nr. 1 sent from 1005 to 1006'}  [trial-55↪sms:sysmo↪mo_mt_sms.py:33↪/sierra_1]  [ofono_client.py:241]
19:00:37 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Status=unregistered  [trial-55↪sms:sysmo↪mo_mt_sms.py:34↪/sierra_2]  [ofono_client.py:168]
19:00:37 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Status=unregistered  [trial-55↪sms:sysmo↪mo_mt_sms.py:34↪/sierra_2]  [ofono_client.py:168]
19:00:37 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Name=  [trial-55↪sms:sysmo↪mo_mt_sms.py:34↪/sierra_2]  [ofono_client.py:168]
19:00:37 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Name=  [trial-55↪sms:sysmo↪mo_mt_sms.py:34↪/sierra_2]  [ofono_client.py:168]
19:00:45 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Technology=umts  [trial-55↪sms:sysmo↪mo_mt_sms.py:34↪/sierra_2]  [ofono_client.py:168]
19:00:45 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Technology=umts  [trial-55↪sms:sysmo↪mo_mt_sms.py:34↪/sierra_2]  [ofono_client.py:168]
19:00:45 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Status=denied  [trial-55↪sms:sysmo↪mo_mt_sms.py:34↪/sierra_2]  [ofono_client.py:168]
19:00:45 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Status=denied  [trial-55↪sms:sysmo↪mo_mt_sms.py:34↪/sierra_2]  [ofono_client.py:168]
(nothing until timeout)
Actions #5

Updated by neels almost 7 years ago

When I manually set the modem to Online=false and Online=true, it does re-attach.

What I really like about the patch is that we see the Dbus signals for NetworkRegistration in the log, including the MCC,MNC

19:01:44 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Status=registered  [trial-55↪sms:sysmo↪mo_mt_sms.py:34↪/sierra_2]  [ofono_client.py:168]
19:01:44 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Status=registered  [trial-55↪sms:sysmo↪mo_mt_sms.py:34↪/sierra_2]  [ofono_client.py:168]
19:01:44 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Status=registered  [trial-55↪sms:sysmo↪mo_mt_sms.py:34↪/sierra_2]  [ofono_client.py:168]
19:01:44 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> LocationAreaCode=23  [trial-55↪sms:sysmo↪mo_mt_sms.py:34↪/sierra_2]  [ofono_client.py:168]
19:01:44 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> LocationAreaCode=23  [trial-55↪sms:sysmo↪mo_mt_sms.py:34↪/sierra_2]  [ofono_client.py:168]
19:01:44 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> LocationAreaCode=23  [trial-55↪sms:sysmo↪mo_mt_sms.py:34↪/sierra_2]  [ofono_client.py:168]
19:01:44 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> CellId=0  [trial-55↪sms:sysmo↪mo_mt_sms.py:34↪/sierra_2]  [ofono_client.py:168]
19:01:44 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> CellId=0  [trial-55↪sms:sysmo↪mo_mt_sms.py:34↪/sierra_2]  [ofono_client.py:168]
19:01:45 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> CellId=0  [trial-55↪sms:sysmo↪mo_mt_sms.py:34↪/sierra_2]  [ofono_client.py:168]
19:01:45 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Name=osmo-gsm-tester  [trial-55↪sms:sysmo↪mo_mt_sms.py:34↪/sierra_2]  [ofono_client.py:168]
19:01:45 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Name=osmo-gsm-tester  [trial-55↪sms:sysmo↪mo_mt_sms.py:34↪/sierra_2]  [ofono_client.py:168]
19:01:45 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Name=osmo-gsm-tester  [trial-55↪sms:sysmo↪mo_mt_sms.py:34↪/sierra_2]  [ofono_client.py:168]
19:01:45 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> MobileCountryCode=901  [trial-55↪sms:sysmo↪mo_mt_sms.py:34↪/sierra_2]  [ofono_client.py:168]
19:01:45 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> MobileCountryCode=901  [trial-55↪sms:sysmo↪mo_mt_sms.py:34↪/sierra_2]  [ofono_client.py:168]
19:01:45 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> MobileCountryCode=901  [trial-55↪sms:sysmo↪mo_mt_sms.py:34↪/sierra_2]  [ofono_client.py:168]
19:01:45 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> MobileNetworkCode=70  [trial-55↪sms:sysmo↪mo_mt_sms.py:34↪/sierra_2]  [ofono_client.py:168]
19:01:45 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> MobileNetworkCode=70  [trial-55↪sms:sysmo↪mo_mt_sms.py:34↪/sierra_2]  [ofono_client.py:168]
19:01:45 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> MobileNetworkCode=70  [trial-55↪sms:sysmo↪mo_mt_sms.py:34↪/sierra_2]  [ofono_client.py:168]
19:01:45 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Name=901-70  [trial-55↪sms:sysmo↪mo_mt_sms.py:34↪/sierra_2]  [ofono_client.py:168]
19:01:45 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Name=901-70  [trial-55↪sms:sysmo↪mo_mt_sms.py:34↪/sierra_2]  [ofono_client.py:168]
19:01:45 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Name=901-70  [trial-55↪sms:sysmo↪mo_mt_sms.py:34↪/sierra_2]  [ofono_client.py:168]
19:01:45 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Strength=40  [trial-55↪sms:sysmo↪mo_mt_sms.py:34↪/sierra_2]  [ofono_client.py:168]
19:01:46 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Strength=40  [trial-55↪sms:sysmo↪mo_mt_sms.py:34↪/sierra_2]  [ofono_client.py:168]
19:01:46 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Strength=40  [trial-55↪sms:sysmo↪mo_mt_sms.py:34↪/sierra_2]  [ofono_client.py:168]
19:01:46 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Name=osmo-gsm-tester  [trial-55↪sms:sysmo↪mo_mt_sms.py:34↪/sierra_2]  [ofono_client.py:168]
19:01:46 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Name=osmo-gsm-tester  [trial-55↪sms:sysmo↪mo_mt_sms.py:34↪/sierra_2]  [ofono_client.py:168]
19:01:46 bus                        /sierra_2: 'org.ofono.NetworkRegistration'.PropertyChanged() -> Name=osmo-gsm-tester  [trial-55↪sms:sysmo↪mo_mt_sms.py:34↪/sierra_2]  [ofono_client.py:168]

Again weird is that we appear to see the same signal thrice. Same with incoming SMS. Maybe it's a bug in the pydbus library? mdbus2 -l shows these signals only once.

Actions #6

Updated by pespin almost 7 years ago

neels Regarding the duplication of signals received, it could be that we call connect_signal() or whatever more than once, which may then create a new handler each time... Something to look into

Actions #7

Updated by pespin almost 7 years ago

I have a new version on top of recent changes which make it more robust (regarding the duplicated signal fixes, etc.) but still I have the issue in which sometimes the test fails and the modem is unregistered after 1st modem send an sms according to osmo-gsm-tester.

I already found some issue which could be related to this while examining the pcap traces: https://osmocom.org/issues/2256

It could be that SMSes are stored from previous tests and then the test fails not on the real failure case but on another one, not sure yet.

Actions #8

Updated by pespin almost 7 years ago

  • Status changed from In Progress to Feedback

I reworked the patch again after latest reliability fixes and it seems to be working correctly now. Waiting for review: https://gerrit.osmocom.org/2779

Actions #9

Updated by pespin almost 7 years ago

  • Status changed from Feedback to In Progress

Summary after discussion with Neels:
1- Create bug report in pydbus for them to support async methods
2- Write new version of the patch which is kind of mixture of the 2 previous patches I presented: Better naming, do defer() from first instant, and add poll() around Scan()
3- let test to wait(modem.is_connected)
4- I will also take into account your comments from previous patches. Some comments will become irrelevant
5- Whenever we have async methods, we change the implementation to use a dbus_async method, but the external interface will remain the same, only internal implementation changes sliughtly

neels: and let's first try without any defer / poll magic, let the shit hit the fan of Nx scan in the row, we can see whether that is harmful and then care about it

Actions #10

Updated by pespin almost 7 years ago

  • Status changed from In Progress to Feedback

I was able to add some code to use dbus async methods. I think this is the preferred way so I pushed a new version of the patch using that.

I created a new issue at pydbus tracker for them to implement async methods inside pydbus: https://github.com/LEW21/pydbus/issues/58

Actions #11

Updated by pespin almost 7 years ago

  • Status changed from Feedback to Resolved
  • % Done changed from 80 to 100

merged

Actions #12

Updated by laforge over 6 years ago

  • Status changed from Resolved to Closed
Actions

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)