Check Accessibility Control

This scenario shows how to configure a cellular interface, enabling the accessibility control mechanism that triggers reconnections when network connectivity is lost.

../../../../_images/google.svg

Test Reconnection By Accessibility Control

Description

In DUT0, the cell0 cellular interface is configured with a cellular profile for which accessibility control is enabled. Once connectivity with Google’s DNS public server has been verified, a situation where 100% of the packets received by the network are lost is emulated to verify that the accessibility control mechanism triggers a reconnection.

Scenario

Step 1: Set the following configuration in DUT0 :

set cellular logging level info
set cellular profile CELPROFILE accessibility-control ping address 8.8.8.8
set cellular profile CELPROFILE accessibility-control ping interval 10
set cellular profile CELPROFILE apn movistar.es
set controllers cellular wwan0 encrypted-pin U2FsdGVkX1+6F5ciOO4SCkIGYCdISmpWwDog7HFcJSw=
set controllers cellular wwan0 pdp 1 profile CELPROFILE
set interfaces cellular cell0 address dhcp
set interfaces cellular cell0 phy wwan0 pdp 1
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'

Step 2: Run the command controllers cellular wwan0 pdp 1 show network-data-connection on DUT0 and check whether the output matches the following regular expressions:

Connection status\s* = connected
Show output
Connection status               = connected
Traffic channel status          = active
Max. TX channel rate (bps)      = 50000000
Max. RX channel rate (bps)      = 300000000
IPv4 address                    = 88.31.126.74
IPv4 mask                       = 255.255.255.252
IPv4 gateway                    = 88.31.126.73
IPv4 primary DNS                = 80.58.61.248
IPv4 secondary DNS              = 80.58.61.249

Note

Once the cellular interface is configured, it can be verified that there is network connectivity by pinging Google's DNS public server.

Step 3: Ping the IP address 8.8.8.8 from DUT0:

admin@DUT0$ ping 8.8.8.8 count 1 size 56 timeout 1
Show output
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=118 time=43.8 ms

--- 8.8.8.8 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 43.760/43.760/43.760/0.000 ms

Note

The accessibility control is a mechanism where pings are sent at an interval, and to the IP address, configured by the user. The mechanism then waits for a response within this interval. If no response is received before it times out, a second ping is sent and a response is expected within 10 seconds. If there is still no response, two more pings are sent at 5-second intervals. Finally, if there is still no response, the device reconnects to the network.

Note

As a result, you can verify that no reconnection has been recorded in the system logs if you wait long enough.

Step 4: Run the command system journal clear on DUT0.

Step 5: Run the command system journal show | cat on DUT0 and check whether the output does not contain the following tokens:

[Device/wwan0] Warning: [PDP#1] Requesting reconnection...
[Device/wwan0] Info: WDS[0]: Stopping network connection...
[Device/wwan0] Info: [PDP#1] Establishing network connection...
Show output
Jun 03 13:18:50.332416 osdx systemd-journald[2383]: Runtime Journal (/run/log/journal/835d6f8cac2d4943888ec34f4802bea0) is 8.3M, max 80.5M, 72.2M free.
Jun 03 13:18:50.339611 osdx systemd-journald[2383]: Received client request to rotate journal, rotating.
Jun 03 13:18:50.339796 osdx systemd-journald[2383]: Vacuuming done, freed 0B of archived journals from /run/log/journal/835d6f8cac2d4943888ec34f4802bea0.
Jun 03 13:18:50.437970 osdx OSDxCLI[347067]: User 'admin' executed a new command: 'system journal clear'.
Jun 03 13:18:59.436539 osdx wwan-accessibility-control[348776]: [Core/wwan0/1] Warning: Previous packet pending - ID: 21096, Sequence: 0
Jun 03 13:18:59.436561 osdx wwan-accessibility-control[348776]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 1 - interval reduced to 10 seconds

Note

However, when traffic control is applied, it is possible to prove the 'ping' command is failing because ICMP packets are being dropped.

Step 6: Run the command system journal clear on DUT0.

Step 7: Modify the following configuration lines in DUT0 :

set interfaces cellular cell0 traffic control in PLOSS
set traffic control PLOSS type network-emulator packet-loss 100

Step 8: Expect a failure in the following command: Ping the IP address 8.8.8.8 from DUT0:

admin@DUT0$ ping 8.8.8.8 count 1 size 56 timeout 1
Show output
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.

--- 8.8.8.8 ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms

Note

You can verify that a reconnection has been recorded in the system logs if you wait long enough.

Step 9: Run the command system journal show | cat on DUT0 and check whether the output contains the following tokens:

[Device/wwan0] Warning: [PDP#1] Requesting reconnection...
[Device/wwan0] Info: WDS[0]: Stopping network connection...
[Device/wwan0] Info: [PDP#1] Establishing network connection...
Show output
Jun 03 13:19:32.764882 osdx systemd-journald[2383]: Runtime Journal (/run/log/journal/835d6f8cac2d4943888ec34f4802bea0) is 8.0M, max 80.5M, 72.5M free.
Jun 03 13:19:32.772288 osdx systemd-journald[2383]: Received client request to rotate journal, rotating.
Jun 03 13:19:32.772474 osdx systemd-journald[2383]: Vacuuming done, freed 0B of archived journals from /run/log/journal/835d6f8cac2d4943888ec34f4802bea0.
Jun 03 13:19:32.853988 osdx OSDxCLI[347067]: User 'admin' executed a new command: 'system journal clear'.
Jun 03 13:19:33.001815 osdx OSDxCLI[347067]: User 'admin' entered the configuration menu.
Jun 03 13:19:33.105727 osdx OSDxCLI[347067]: User 'admin' added a new cfg line: 'set interfaces cellular cell0 traffic control in PLOSS'.
Jun 03 13:19:33.229129 osdx OSDxCLI[347067]: User 'admin' added a new cfg line: 'set traffic control PLOSS type network-emulator packet-loss 100'.
Jun 03 13:19:33.348895 osdx OSDxCLI[347067]: User 'admin' added a new cfg line: 'show changes'.
Jun 03 13:19:33.490531 osdx ubnt-cfgd[348876]: inactive
Jun 03 13:19:33.651407 osdx INFO[348887]: FRR daemons did not change
Jun 03 13:19:33.771331 osdx (udev-worker)[348903]: ifb.cell0: Could not set Alias=, MACAddress=/MACAddressPolicy=, TransmitQueues=, ReceiveQueues=, TransmitQueueLength=, MTUBytes=, GenericSegmentOffloadMaxBytes= or GenericSegmentOffloadMaxSegments=, ignoring: Operation not supported
Jun 03 13:19:33.771444 osdx (udev-worker)[348903]: Network interface NamePolicy= disabled on kernel command line.
Jun 03 13:19:33.830676 osdx kernel: Mirror/redirect action on
Jun 03 13:19:33.850670 osdx kernel: netem: version 1.3
Jun 03 13:19:33.878221 osdx cfgd[2064]: [347067]Completed change to active configuration
Jun 03 13:19:33.898816 osdx systemd[1]: osdx-ledsd.service: Sent signal SIGUSR2 to main process 2717 (osdx-ledsd) on client request.
Jun 03 13:19:33.898853 osdx osdx-ledsd[2717]: Config changed, checking config paths
Jun 03 13:19:33.902662 osdx OSDxCLI[347067]: User 'admin' committed the configuration.
Jun 03 13:19:33.948277 osdx OSDxCLI[347067]: User 'admin' left the configuration menu.
Jun 03 13:19:35.162765 osdx OSDxCLI[347067]: User 'admin' executed a new command: 'ping 8.8.8.8 count 1 size 56 timeout 1'.
Jun 03 13:19:49.437481 osdx wwan-accessibility-control[348776]: [Core/wwan0/1] Warning: Previous packet pending - ID: 21096, Sequence: 5
Jun 03 13:19:49.437498 osdx wwan-accessibility-control[348776]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 1 - interval reduced to 10 seconds
Jun 03 13:19:55.507965 osdx OSDxCLI[347067]: User 'admin' executed a new command: 'system journal show | cat'.
Jun 03 13:19:56.863971 osdx OSDxCLI[347067]: User 'admin' executed a new command: 'system journal show | cat'.
Jun 03 13:19:58.239980 osdx OSDxCLI[347067]: User 'admin' executed a new command: 'system journal show | cat'.
Jun 03 13:19:59.437757 osdx wwan-accessibility-control[348776]: [Core/wwan0/1] Warning: Previous packet pending - ID: 21096, Sequence: 6
Jun 03 13:19:59.437780 osdx wwan-accessibility-control[348776]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 2 - interval reduced to 5 seconds
Jun 03 13:19:59.607979 osdx OSDxCLI[347067]: User 'admin' executed a new command: 'system journal show | cat'.
Jun 03 13:20:01.015939 osdx OSDxCLI[347067]: User 'admin' executed a new command: 'system journal show | cat'.
Jun 03 13:20:02.439970 osdx OSDxCLI[347067]: User 'admin' executed a new command: 'system journal show | cat'.
Jun 03 13:20:03.887978 osdx OSDxCLI[347067]: User 'admin' executed a new command: 'system journal show | cat'.
Jun 03 13:20:04.438034 osdx wwan-accessibility-control[348776]: [Core/wwan0/1] Warning: Previous packet pending - ID: 21096, Sequence: 7
Jun 03 13:20:04.438055 osdx wwan-accessibility-control[348776]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 3 - interval reduced to 5 seconds
Jun 03 13:20:05.367967 osdx OSDxCLI[347067]: User 'admin' executed a new command: 'system journal show | cat'.
Jun 03 13:20:06.863985 osdx OSDxCLI[347067]: User 'admin' executed a new command: 'system journal show | cat'.
Jun 03 13:20:08.359946 osdx OSDxCLI[347067]: User 'admin' executed a new command: 'system journal show | cat'.
Jun 03 13:20:09.438297 osdx wwan-accessibility-control[348776]: [Core/wwan0/1] Warning: Previous packet pending - ID: 21096, Sequence: 8
Jun 03 13:20:09.438317 osdx wwan-accessibility-control[348776]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 4 - interval reduced to 5 seconds
Jun 03 13:20:09.451131 osdx WARNING[349002]: [wwan0/1] Requesting reconnection...
Jun 03 13:20:09.460416 osdx wwan-cli-socket[349004]: [Device/wwan0] Info: wwan-cli-socket reconnect 60000 wwan0
Jun 03 13:20:09.461038 osdx wwan-module[347052]: [Device/wwan0] Info: Reconnecting device...
Jun 03 13:20:09.461061 osdx wwan-module[347052]: [Device/wwan0] Warning: [PDP#1] Requesting reconnection...
Jun 03 13:20:09.461134 osdx wwan-module[347052]: [Device/wwan0] Info: WDS[0]: Stopping network connection...
Jun 03 13:20:09.553106 osdx wwan-module[347052]: [Device/wwan0] Info: WDS[0]: Network connection was stopped!
Jun 03 13:20:09.558710 osdx kernel: net _wwan0: link_state 0x1 -> 0x0
Jun 03 13:20:09.563522 osdx wwan-module[347052]: [Device/wwan0] Info: [PDP#1] Checking registration state...
Jun 03 13:20:09.591576 osdx wwan-accessibility-control[348776]: [Core/wwan0/1] Info: Execution stopped
Jun 03 13:20:09.592118 osdx systemd[1]: Stopping wwan-accessibility-control@wwan0pdp1.service - WWAN Accessibility Control...
Jun 03 13:20:09.595064 osdx systemd[1]: wwan-accessibility-control@wwan0pdp1.service: Deactivated successfully.
Jun 03 13:20:09.595590 osdx systemd[1]: Stopped wwan-accessibility-control@wwan0pdp1.service - WWAN Accessibility Control.
Jun 03 13:20:09.611735 osdx INFO[349014]: Stop DHCP client for cell0
Jun 03 13:20:09.621356 osdx dhclient[349020]: Killed old client process
Jun 03 13:20:09.681099 osdx wwan-module[347052]: [Device/wwan0] Info: [PDP#1] Device registered and PS attached successfully
Jun 03 13:20:09.681116 osdx wwan-module[347052]: [Device/wwan0] Info: [PDP#1] Establishing network connection...
Jun 03 13:20:09.742944 osdx dhclient[349020]: DHCPRELEASE of 88.31.126.74 on cell0 to 88.31.126.73 port 67
Jun 03 13:20:09.908380 osdx wwan-module[347052]: [Device/wwan0] Info: [PDP#1] Network connection was successfully started: PDH=[91500096]
Jun 03 13:20:09.960179 osdx OSDxCLI[347067]: User 'admin' executed a new command: 'system journal show | cat'.
Jun 03 13:20:10.034699 osdx kernel: net _wwan0: link_state 0x0 -> 0x1
Jun 03 13:20:10.278662 osdx kernel: cell0: (slave _wwan0_1): Releasing backup interface
Jun 03 13:20:10.490663 osdx kernel: cell0: (slave _wwan0_1): The slave device specified does not support setting the MAC address
Jun 03 13:20:10.494776 osdx kernel: cell0: (slave _wwan0_1): making interface the new active one
Jun 03 13:20:10.494957 osdx kernel: cell0: (slave _wwan0_1): Enslaving as an active interface with an up link
Jun 03 13:20:10.510690 osdx kernel: 8021q: adding VLAN 0 to HW filter on device cell0
Jun 03 13:20:10.514082 osdx INFO[349070]: Start DHCP client for cell0
Jun 03 13:20:11.003082 osdx dhclient[349087]: DHCPDISCOVER on cell0 to 255.255.255.255 port 67 interval 6
Jun 03 13:20:11.008610 osdx dhclient[349087]: DHCPOFFER of 5.205.176.208 from 5.205.176.209
Jun 03 13:20:11.008692 osdx dhclient[349087]: DHCPREQUEST for 5.205.176.208 on cell0 to 255.255.255.255 port 67
Jun 03 13:20:11.010555 osdx dhclient[349087]: DHCPACK of 5.205.176.208 from 5.205.176.209
Jun 03 13:20:11.064333 osdx systemd[1]: Started wwan-accessibility-control@wwan0pdp1.service - WWAN Accessibility Control.
Jun 03 13:20:11.083423 osdx wwan-accessibility-control[349100]: [Core/wwan0/1] Info: Starting '/osdx/sbin/wwan-accessibility-control'...

Step 1: Set the following configuration in DUT0 :

set cellular logging level info
set cellular profile CELPROFILE accessibility-control ping address 8.8.8.8
set cellular profile CELPROFILE accessibility-control ping interval 10
set cellular profile CELPROFILE apn movistar.es
set controllers cellular wwan0 sim select socket_1
set controllers cellular wwan0 sim socket socket_1 encrypted-pin U2FsdGVkX19gx9B60zGwa5d3U9Inx1gwjRJ6rUh+QwA=
set controllers cellular wwan0 sim socket socket_1 pdp 1 profile CELPROFILE
set interfaces cellular cell0 address dhcp
set interfaces cellular cell0 phy wwan0 pdp 1
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'

Step 2: Run the command controllers cellular wwan0 pdp 1 show network-data-connection on DUT0 and check whether the output matches the following regular expressions:

Connection status\s* = connected
Show output
Connection status               = connected
Traffic channel status          = active
Max. TX channel rate (bps)      = 0
Max. RX channel rate (bps)      = 0
IPv4 address                    = 37.12.12.190
IPv4 mask                       = 255.255.255.252
IPv4 gateway                    = 37.12.12.189
IPv4 primary DNS                = 80.58.61.248
IPv4 secondary DNS              = 80.58.61.249

Note

Once the cellular interface is configured, it can be verified that there is network connectivity by pinging Google's DNS public server.

Step 3: Ping the IP address 8.8.8.8 from DUT0:

admin@DUT0$ ping 8.8.8.8 count 1 size 56 timeout 1
Show output
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=116 time=32.5 ms

--- 8.8.8.8 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 32.498/32.498/32.498/0.000 ms

Note

The accessibility control is a mechanism where pings are sent at an interval, and to the IP address, configured by the user. The mechanism then waits for a response within this interval. If no response is received before it times out, a second ping is sent and a response is expected within 10 seconds. If there is still no response, two more pings are sent at 5-second intervals. Finally, if there is still no response, the device reconnects to the network.

Note

As a result, you can verify that no reconnection has been recorded in the system logs if you wait long enough.

Step 4: Run the command system journal clear on DUT0.

Step 5: Run the command system journal show | cat on DUT0 and check whether the output does not contain the following tokens:

[Device/wwan0] Warning: [PDP#1] Requesting reconnection...
[Device/wwan0] Info: WDS[0]: Stopping network connection...
[Device/wwan0] Info: [PDP#1] Establishing network connection...
Show output
Jun 03 19:35:39.686723 osdx systemd-journald[2114]: Runtime Journal (/run/log/journal/835d6f8cac2d4943888ec34f4802bea0) is 8.0M, max 80.5M, 72.5M free.
Jun 03 19:35:39.693665 osdx systemd-journald[2114]: Received client request to rotate journal, rotating.
Jun 03 19:35:39.693855 osdx systemd-journald[2114]: Vacuuming done, freed 0B of archived journals from /run/log/journal/835d6f8cac2d4943888ec34f4802bea0.
Jun 03 19:35:39.776711 osdx OSDxCLI[434756]: User 'admin' executed a new command: 'system journal clear'.
Jun 03 19:35:48.478540 osdx wwan-accessibility-control[437112]: [Core/wwan0/1] Warning: Previous packet pending - ID: 43896, Sequence: 0
Jun 03 19:35:48.478559 osdx wwan-accessibility-control[437112]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 1 - interval reduced to 10 seconds

Note

However, when traffic control is applied, it is possible to prove the 'ping' command is failing because ICMP packets are being dropped.

Step 6: Run the command system journal clear on DUT0.

Step 7: Modify the following configuration lines in DUT0 :

set interfaces cellular cell0 traffic control in PLOSS
set traffic control PLOSS type network-emulator packet-loss 100

Step 8: Expect a failure in the following command: Ping the IP address 8.8.8.8 from DUT0:

admin@DUT0$ ping 8.8.8.8 count 1 size 56 timeout 1
Show output
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.

--- 8.8.8.8 ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms

Note

You can verify that a reconnection has been recorded in the system logs if you wait long enough.

Step 9: Run the command system journal show | cat on DUT0 and check whether the output contains the following tokens:

[Device/wwan0] Warning: [PDP#1] Requesting reconnection...
[Device/wwan0] Info: WDS[0]: Stopping network connection...
[Device/wwan0] Info: [PDP#1] Establishing network connection...
Show output
Jun 03 19:36:22.115128 osdx systemd-journald[2114]: Runtime Journal (/run/log/journal/835d6f8cac2d4943888ec34f4802bea0) is 8.0M, max 80.5M, 72.5M free.
Jun 03 19:36:22.122545 osdx systemd-journald[2114]: Received client request to rotate journal, rotating.
Jun 03 19:36:22.122737 osdx systemd-journald[2114]: Vacuuming done, freed 0B of archived journals from /run/log/journal/835d6f8cac2d4943888ec34f4802bea0.
Jun 03 19:36:22.204590 osdx OSDxCLI[434756]: User 'admin' executed a new command: 'system journal clear'.
Jun 03 19:36:22.344165 osdx OSDxCLI[434756]: User 'admin' entered the configuration menu.
Jun 03 19:36:22.452368 osdx OSDxCLI[434756]: User 'admin' added a new cfg line: 'set interfaces cellular cell0 traffic control in PLOSS'.
Jun 03 19:36:22.568611 osdx OSDxCLI[434756]: User 'admin' added a new cfg line: 'set traffic control PLOSS type network-emulator packet-loss 100'.
Jun 03 19:36:22.686429 osdx OSDxCLI[434756]: User 'admin' added a new cfg line: 'show changes'.
Jun 03 19:36:22.868135 osdx ubnt-cfgd[437215]: inactive
Jun 03 19:36:23.001410 osdx INFO[437227]: FRR daemons did not change
Jun 03 19:36:23.074189 osdx (udev-worker)[437240]: ifb.cell0: Could not set Alias=, MACAddress=/MACAddressPolicy=, TransmitQueues=, ReceiveQueues=, TransmitQueueLength=, MTUBytes=, GenericSegmentOffloadMaxBytes= or GenericSegmentOffloadMaxSegments=, ignoring: Operation not supported
Jun 03 19:36:23.074293 osdx (udev-worker)[437240]: Network interface NamePolicy= disabled on kernel command line.
Jun 03 19:36:23.133844 osdx cfgd[1759]: [434756]Completed change to active configuration
Jun 03 19:36:23.154241 osdx systemd[1]: osdx-ledsd.service: Sent signal SIGUSR2 to main process 2775 (osdx-ledsd) on client request.
Jun 03 19:36:23.154271 osdx osdx-ledsd[2775]: Config changed, checking config paths
Jun 03 19:36:23.158034 osdx OSDxCLI[434756]: User 'admin' committed the configuration.
Jun 03 19:36:23.198789 osdx OSDxCLI[434756]: User 'admin' left the configuration menu.
Jun 03 19:36:24.405253 osdx OSDxCLI[434756]: User 'admin' executed a new command: 'ping 8.8.8.8 count 1 size 56 timeout 1'.
Jun 03 19:36:38.479396 osdx wwan-accessibility-control[437112]: [Core/wwan0/1] Warning: Previous packet pending - ID: 43896, Sequence: 5
Jun 03 19:36:38.479417 osdx wwan-accessibility-control[437112]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 1 - interval reduced to 10 seconds
Jun 03 19:36:44.782519 osdx OSDxCLI[434756]: User 'admin' executed a new command: 'system journal show | cat'.
Jun 03 19:36:46.150529 osdx OSDxCLI[434756]: User 'admin' executed a new command: 'system journal show | cat'.
Jun 03 19:36:47.506522 osdx OSDxCLI[434756]: User 'admin' executed a new command: 'system journal show | cat'.
Jun 03 19:36:48.479635 osdx wwan-accessibility-control[437112]: [Core/wwan0/1] Warning: Previous packet pending - ID: 43896, Sequence: 6
Jun 03 19:36:48.479654 osdx wwan-accessibility-control[437112]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 2 - interval reduced to 5 seconds
Jun 03 19:36:48.894517 osdx OSDxCLI[434756]: User 'admin' executed a new command: 'system journal show | cat'.
Jun 03 19:36:50.298518 osdx OSDxCLI[434756]: User 'admin' executed a new command: 'system journal show | cat'.
Jun 03 19:36:51.730493 osdx OSDxCLI[434756]: User 'admin' executed a new command: 'system journal show | cat'.
Jun 03 19:36:53.154530 osdx OSDxCLI[434756]: User 'admin' executed a new command: 'system journal show | cat'.
Jun 03 19:36:53.479885 osdx wwan-accessibility-control[437112]: [Core/wwan0/1] Warning: Previous packet pending - ID: 43896, Sequence: 7
Jun 03 19:36:53.479906 osdx wwan-accessibility-control[437112]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 3 - interval reduced to 5 seconds
Jun 03 19:36:54.622535 osdx OSDxCLI[434756]: User 'admin' executed a new command: 'system journal show | cat'.
Jun 03 19:36:56.130526 osdx OSDxCLI[434756]: User 'admin' executed a new command: 'system journal show | cat'.
Jun 03 19:36:57.618524 osdx OSDxCLI[434756]: User 'admin' executed a new command: 'system journal show | cat'.
Jun 03 19:36:58.480149 osdx wwan-accessibility-control[437112]: [Core/wwan0/1] Warning: Previous packet pending - ID: 43896, Sequence: 8
Jun 03 19:36:58.480169 osdx wwan-accessibility-control[437112]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 4 - interval reduced to 5 seconds
Jun 03 19:36:58.492379 osdx WARNING[437337]: [wwan0/1] Requesting reconnection...
Jun 03 19:36:58.501546 osdx wwan-cli-socket[437339]: [Device/wwan0] Info: wwan-cli-socket reconnect 60000 wwan0
Jun 03 19:36:58.502113 osdx wwan-module[2814]: [Device/wwan0] Info: Reconnecting device...
Jun 03 19:36:58.502129 osdx wwan-module[2814]: [Device/wwan0] Warning: [PDP#1] Requesting reconnection...
Jun 03 19:36:58.502195 osdx wwan-module[2814]: [Device/wwan0] Info: WDS[0]: Stopping network connection...
Jun 03 19:36:58.578557 osdx wwan-module[2814]: [Device/wwan0] Info: WDS[0]: Network connection was stopped!
Jun 03 19:36:58.586130 osdx kernel: net _wwan0: link_state 0x1 -> 0x0
Jun 03 19:36:58.586418 osdx wwan-module[2814]: [Device/wwan0] Info: [PDP#1] Checking registration state...
Jun 03 19:36:58.590537 osdx wwan-module[2814]: [Device/wwan0] Info: [PDP#1] Device registered and PS attached successfully
Jun 03 19:36:58.590557 osdx wwan-module[2814]: [Device/wwan0] Info: [PDP#1] Establishing network connection...
Jun 03 19:36:58.616942 osdx wwan-accessibility-control[437112]: [Core/wwan0/1] Info: Execution stopped
Jun 03 19:36:58.617708 osdx systemd[1]: Stopping wwan-accessibility-control@wwan0pdp1.service - WWAN Accessibility Control...
Jun 03 19:36:58.620552 osdx systemd[1]: wwan-accessibility-control@wwan0pdp1.service: Deactivated successfully.
Jun 03 19:36:58.621085 osdx systemd[1]: Stopped wwan-accessibility-control@wwan0pdp1.service - WWAN Accessibility Control.
Jun 03 19:36:58.637823 osdx INFO[437345]: Stop DHCP client for cell0
Jun 03 19:36:58.647263 osdx dhclient[437350]: Killed old client process

Step 1: Set the following configuration in DUT0 :

set cellular logging level info
set cellular profile CELPROFILE accessibility-control ping address 8.8.8.8
set cellular profile CELPROFILE accessibility-control ping interval 10
set cellular profile CELPROFILE apn movistar.es
set controllers cellular wwan0 sim select socket_1
set controllers cellular wwan0 sim socket socket_1 encrypted-pin U2FsdGVkX18Ez6n1kZRpSQgX54UX9zlDyluTx+ioy94=
set controllers cellular wwan0 sim socket socket_1 pdp 1 profile CELPROFILE
set interfaces cellular cell0 address dhcp
set interfaces cellular cell0 phy wwan0 pdp 1
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'

Step 2: Run the command controllers cellular wwan0 pdp 1 show network-data-connection on DUT0 and check whether the output matches the following regular expressions:

Connection status\s* = connected
Show output
Connection status               = connected
Traffic channel status          = active
Max. TX channel rate (bps)      = 0
Max. RX channel rate (bps)      = 0
IPv4 address                    = 37.12.17.36
IPv4 mask                       = 255.255.255.248
IPv4 gateway                    = 37.12.17.37
IPv4 primary DNS                = 80.58.61.248
IPv4 secondary DNS              = 80.58.61.249

Note

Once the cellular interface is configured, it can be verified that there is network connectivity by pinging Google's DNS public server.

Step 3: Ping the IP address 8.8.8.8 from DUT0:

admin@DUT0$ ping 8.8.8.8 count 1 size 56 timeout 1
Show output
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=128 ms

--- 8.8.8.8 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 127.653/127.653/127.653/0.000 ms

Note

The accessibility control is a mechanism where pings are sent at an interval, and to the IP address, configured by the user. The mechanism then waits for a response within this interval. If no response is received before it times out, a second ping is sent and a response is expected within 10 seconds. If there is still no response, two more pings are sent at 5-second intervals. Finally, if there is still no response, the device reconnects to the network.

Note

As a result, you can verify that no reconnection has been recorded in the system logs if you wait long enough.

Step 4: Run the command system journal clear on DUT0.

Step 5: Run the command system journal show | cat on DUT0 and check whether the output does not contain the following tokens:

[Device/wwan0] Warning: [PDP#1] Requesting reconnection...
[Device/wwan0] Info: WDS[0]: Stopping network connection...
[Device/wwan0] Info: [PDP#1] Establishing network connection...
Show output
Jun 03 13:44:11.891386 osdx systemd-journald[204531]: Runtime Journal (/run/log/journal/835d6f8cac2d4943888ec34f4802bea0) is 8.0M, max 80.5M, 72.5M free.
Jun 03 13:44:11.898534 osdx systemd-journald[204531]: Received client request to rotate journal, rotating.
Jun 03 13:44:11.898726 osdx systemd-journald[204531]: Vacuuming done, freed 0B of archived journals from /run/log/journal/835d6f8cac2d4943888ec34f4802bea0.
Jun 03 13:44:11.983282 osdx OSDxCLI[290943]: User 'admin' executed a new command: 'system journal clear'.
Jun 03 13:44:20.873678 osdx wwan-accessibility-control[305173]: [Core/wwan0/1] Warning: Previous packet pending - ID: 43029, Sequence: 0
Jun 03 13:44:20.873698 osdx wwan-accessibility-control[305173]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 1 - interval reduced to 10 seconds

Note

However, when traffic control is applied, it is possible to prove the 'ping' command is failing because ICMP packets are being dropped.

Step 6: Run the command system journal clear on DUT0.

Step 7: Modify the following configuration lines in DUT0 :

set interfaces cellular cell0 traffic control in PLOSS
set traffic control PLOSS type network-emulator packet-loss 100

Step 8: Expect a failure in the following command: Ping the IP address 8.8.8.8 from DUT0:

admin@DUT0$ ping 8.8.8.8 count 1 size 56 timeout 1
Show output
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.

--- 8.8.8.8 ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms

Note

You can verify that a reconnection has been recorded in the system logs if you wait long enough.

Step 9: Run the command system journal show | cat on DUT0 and check whether the output contains the following tokens:

[Device/wwan0] Warning: [PDP#1] Requesting reconnection...
[Device/wwan0] Info: WDS[0]: Stopping network connection...
[Device/wwan0] Info: [PDP#1] Establishing network connection...
Show output
Jun 03 13:44:54.307347 osdx systemd-journald[204531]: Runtime Journal (/run/log/journal/835d6f8cac2d4943888ec34f4802bea0) is 8.0M, max 80.5M, 72.5M free.
Jun 03 13:44:54.314904 osdx systemd-journald[204531]: Received client request to rotate journal, rotating.
Jun 03 13:44:54.315093 osdx systemd-journald[204531]: Vacuuming done, freed 0B of archived journals from /run/log/journal/835d6f8cac2d4943888ec34f4802bea0.
Jun 03 13:44:54.399297 osdx OSDxCLI[290943]: User 'admin' executed a new command: 'system journal clear'.
Jun 03 13:44:54.543223 osdx OSDxCLI[290943]: User 'admin' entered the configuration menu.
Jun 03 13:44:54.644777 osdx OSDxCLI[290943]: User 'admin' added a new cfg line: 'set interfaces cellular cell0 traffic control in PLOSS'.
Jun 03 13:44:54.739826 osdx OSDxCLI[290943]: User 'admin' added a new cfg line: 'set traffic control PLOSS type network-emulator packet-loss 100'.
Jun 03 13:44:54.874151 osdx OSDxCLI[290943]: User 'admin' added a new cfg line: 'show changes'.
Jun 03 13:44:55.032191 osdx ubnt-cfgd[305271]: inactive
Jun 03 13:44:55.186155 osdx INFO[305282]: FRR daemons did not change
Jun 03 13:44:55.262751 osdx (udev-worker)[305295]: ifb.cell0: Could not set Alias=, MACAddress=/MACAddressPolicy=, TransmitQueues=, ReceiveQueues=, TransmitQueueLength=, MTUBytes=, GenericSegmentOffloadMaxBytes= or GenericSegmentOffloadMaxSegments=, ignoring: Operation not supported
Jun 03 13:44:55.262856 osdx (udev-worker)[305295]: Network interface NamePolicy= disabled on kernel command line.
Jun 03 13:44:55.327991 osdx cfgd[2584]: [290943]Completed change to active configuration
Jun 03 13:44:55.348965 osdx systemd[1]: osdx-ledsd.service: Sent signal SIGUSR2 to main process 3460 (osdx-ledsd) on client request.
Jun 03 13:44:55.349002 osdx osdx-ledsd[3460]: Config changed, checking config paths
Jun 03 13:44:55.353023 osdx OSDxCLI[290943]: User 'admin' committed the configuration.
Jun 03 13:44:55.401596 osdx OSDxCLI[290943]: User 'admin' left the configuration menu.
Jun 03 13:44:56.608121 osdx OSDxCLI[290943]: User 'admin' executed a new command: 'ping 8.8.8.8 count 1 size 56 timeout 1'.
Jun 03 13:45:10.874771 osdx wwan-accessibility-control[305173]: [Core/wwan0/1] Warning: Previous packet pending - ID: 43029, Sequence: 5
Jun 03 13:45:10.874793 osdx wwan-accessibility-control[305173]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 1 - interval reduced to 10 seconds
Jun 03 13:45:16.957266 osdx OSDxCLI[290943]: User 'admin' executed a new command: 'system journal show | cat'.
Jun 03 13:45:18.341253 osdx OSDxCLI[290943]: User 'admin' executed a new command: 'system journal show | cat'.
Jun 03 13:45:19.697246 osdx OSDxCLI[290943]: User 'admin' executed a new command: 'system journal show | cat'.
Jun 03 13:45:20.875077 osdx wwan-accessibility-control[305173]: [Core/wwan0/1] Warning: Previous packet pending - ID: 43029, Sequence: 6
Jun 03 13:45:20.875099 osdx wwan-accessibility-control[305173]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 2 - interval reduced to 5 seconds
Jun 03 13:45:21.105212 osdx OSDxCLI[290943]: User 'admin' executed a new command: 'system journal show | cat'.
Jun 03 13:45:22.509242 osdx OSDxCLI[290943]: User 'admin' executed a new command: 'system journal show | cat'.
Jun 03 13:45:23.933199 osdx OSDxCLI[290943]: User 'admin' executed a new command: 'system journal show | cat'.
Jun 03 13:45:25.353259 osdx OSDxCLI[290943]: User 'admin' executed a new command: 'system journal show | cat'.
Jun 03 13:45:25.875357 osdx wwan-accessibility-control[305173]: [Core/wwan0/1] Warning: Previous packet pending - ID: 43029, Sequence: 7
Jun 03 13:45:25.875376 osdx wwan-accessibility-control[305173]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 3 - interval reduced to 5 seconds
Jun 03 13:45:26.821263 osdx OSDxCLI[290943]: User 'admin' executed a new command: 'system journal show | cat'.
Jun 03 13:45:28.297224 osdx OSDxCLI[290943]: User 'admin' executed a new command: 'system journal show | cat'.
Jun 03 13:45:29.789235 osdx OSDxCLI[290943]: User 'admin' executed a new command: 'system journal show | cat'.
Jun 03 13:45:30.875654 osdx wwan-accessibility-control[305173]: [Core/wwan0/1] Warning: Previous packet pending - ID: 43029, Sequence: 8
Jun 03 13:45:30.875680 osdx wwan-accessibility-control[305173]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 4 - interval reduced to 5 seconds
Jun 03 13:45:30.888713 osdx WARNING[305391]: [wwan0/1] Requesting reconnection...
Jun 03 13:45:30.898951 osdx wwan-cli-socket[305393]: [Device/wwan0] Info: wwan-cli-socket reconnect 60000 wwan0
Jun 03 13:45:30.899599 osdx wwan-module[3497]: [Device/wwan0] Info: Reconnecting device...
Jun 03 13:45:30.899618 osdx wwan-module[3497]: [Device/wwan0] Warning: [PDP#1] Requesting reconnection...
Jun 03 13:45:30.899735 osdx wwan-module[3497]: [Device/wwan0] Info: WDS[0]: Stopping network connection...
Jun 03 13:45:30.992920 osdx wwan-module[3497]: [Device/wwan0] Info: WDS[0]: Network connection was stopped!
Jun 03 13:45:30.999940 osdx kernel: net _wwan0: link_state 0x1 -> 0x0
Jun 03 13:45:31.003729 osdx wwan-module[3497]: [Device/wwan0] Info: [PDP#1] Checking registration state...
Jun 03 13:45:31.032672 osdx wwan-accessibility-control[305173]: [Core/wwan0/1] Info: Execution stopped
Jun 03 13:45:31.033193 osdx systemd[1]: Stopping wwan-accessibility-control@wwan0pdp1.service - WWAN Accessibility Control...
Jun 03 13:45:31.036049 osdx systemd[1]: wwan-accessibility-control@wwan0pdp1.service: Deactivated successfully.
Jun 03 13:45:31.036613 osdx systemd[1]: Stopped wwan-accessibility-control@wwan0pdp1.service - WWAN Accessibility Control.
Jun 03 13:45:31.053061 osdx INFO[305401]: Stop DHCP client for cell0
Jun 03 13:45:31.056903 osdx wwan-module[3497]: [Device/wwan0] Info: [PDP#1] Device registered and PS attached successfully
Jun 03 13:45:31.056929 osdx wwan-module[3497]: [Device/wwan0] Info: [PDP#1] Establishing network connection...
Jun 03 13:45:31.063098 osdx dhclient[305408]: Killed old client process
Jun 03 13:45:31.184245 osdx dhclient[305408]: DHCPRELEASE of 37.12.17.36 on cell0 to 37.12.17.37 port 67
Jun 03 13:45:31.283888 osdx wwan-module[3497]: [Device/wwan0] Info: [PDP#1] Network connection was successfully started: PDH=[3799252336]
Jun 03 13:45:31.347895 osdx kernel: net _wwan0: link_state 0x0 -> 0x1
Jun 03 13:45:31.365390 osdx OSDxCLI[290943]: User 'admin' executed a new command: 'system journal show | cat'.
Jun 03 13:45:31.739903 osdx kernel: cell0: (slave _wwan0_1): Releasing backup interface
Jun 03 13:45:31.963911 osdx kernel: cell0: (slave _wwan0_1): The slave device specified does not support setting the MAC address
Jun 03 13:45:31.967880 osdx kernel: cell0: (slave _wwan0_1): making interface the new active one
Jun 03 13:45:31.968071 osdx kernel: cell0: (slave _wwan0_1): Enslaving as an active interface with an up link
Jun 03 13:45:31.987909 osdx kernel: 8021q: adding VLAN 0 to HW filter on device cell0
Jun 03 13:45:31.988995 osdx INFO[305458]: Start DHCP client for cell0