Pau Espin Pedrol | 03983aa | 2017-06-12 15:31:27 +0200 | [diff] [blame] | 1 | #!/usr/bin/env python3 |
Pau Espin Pedrol | dfe38ad | 2017-11-09 13:57:39 +0100 | [diff] [blame] | 2 | from osmo_gsm_tester.testenv import * |
Pau Espin Pedrol | 03983aa | 2017-06-12 15:31:27 +0200 | [diff] [blame] | 3 | |
| 4 | USSD_COMMAND_GET_EXTENSION = '*#100#' |
| 5 | |
Pau Espin Pedrol | 4385780 | 2018-09-13 15:07:27 +0200 | [diff] [blame] | 6 | nitb = suite.nitb() |
Pau Espin Pedrol | 03983aa | 2017-06-12 15:31:27 +0200 | [diff] [blame] | 7 | bts = suite.bts() |
Pau Espin Pedrol | 03983aa | 2017-06-12 15:31:27 +0200 | [diff] [blame] | 8 | ms = suite.modem() |
| 9 | |
Pau Espin Pedrol | 4385780 | 2018-09-13 15:07:27 +0200 | [diff] [blame] | 10 | print('start nitb and bts...') |
| 11 | nitb.bts_add(bts) |
| 12 | nitb.start() |
Pau Espin Pedrol | 03983aa | 2017-06-12 15:31:27 +0200 | [diff] [blame] | 13 | bts.start() |
Pau Espin Pedrol | 4385780 | 2018-09-13 15:07:27 +0200 | [diff] [blame] | 14 | wait(nitb.bts_is_connected, bts) |
Pau Espin Pedrol | 03983aa | 2017-06-12 15:31:27 +0200 | [diff] [blame] | 15 | |
Pau Espin Pedrol | 4385780 | 2018-09-13 15:07:27 +0200 | [diff] [blame] | 16 | nitb.subscriber_add(ms) |
Pau Espin Pedrol | 03983aa | 2017-06-12 15:31:27 +0200 | [diff] [blame] | 17 | |
Pau Espin Pedrol | 4385780 | 2018-09-13 15:07:27 +0200 | [diff] [blame] | 18 | ms.connect(nitb.mcc_mnc()) |
Pau Espin Pedrol | 03983aa | 2017-06-12 15:31:27 +0200 | [diff] [blame] | 19 | ms.log_info() |
| 20 | |
| 21 | print('waiting for modems to attach...') |
Pau Espin Pedrol | 4385780 | 2018-09-13 15:07:27 +0200 | [diff] [blame] | 22 | wait(ms.is_connected, nitb.mcc_mnc()) |
| 23 | wait(nitb.subscriber_attached, ms) |
Pau Espin Pedrol | 03983aa | 2017-06-12 15:31:27 +0200 | [diff] [blame] | 24 | |
Pau Espin Pedrol | 2d9c14a | 2017-08-02 13:08:35 +0200 | [diff] [blame] | 25 | # ofono (qmi) currently changes state to 'registered' jut after sending |
| 26 | # 'Location Update Request', but before receiving 'Location Updating Accept'. |
| 27 | # Which means we can reach lines below and send USSD code while still not being |
| 28 | # attached, which will then fail. See OsmoGsmTester #2239 for more detailed |
| 29 | # information. |
| 30 | # Until we find an ofono fix or a better way to workaround this, let's just |
| 31 | # sleep for a while in order to receive the 'Location Updating Accept' message |
| 32 | # before attemting to send the USSD. |
| 33 | sleep(10) |
| 34 | |
Pau Espin Pedrol | 03983aa | 2017-06-12 15:31:27 +0200 | [diff] [blame] | 35 | print('Sending ussd code %s' % USSD_COMMAND_GET_EXTENSION) |
| 36 | response = ms.ussd_send(USSD_COMMAND_GET_EXTENSION) |
Pau Espin Pedrol | 4385780 | 2018-09-13 15:07:27 +0200 | [diff] [blame] | 37 | assert ' ' + ms.msisdn + '\r' in response |