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 sim select socket_1
set controllers cellular wwan0 sim socket socket_1 encrypted-pin U2FsdGVkX19eWfAz43SqymY2mYASE1Vqw6xKw4TYntQ=
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 command controllers cellular wwan0 pdp 1 show network-data-connection at DUT0 and check if output matches the following regular expressions:

Connection status\s* = connected
Show output
Connection status               = connected
Traffic channel status          = active
Max. TX channel rate (bps)      = 8640000
Max. RX channel rate (bps)      = 8640000
IPv4 address                    = 37.12.25.7
IPv4 mask                       = 255.255.255.240
IPv4 gateway                    = 37.12.25.8
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 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=133 ms

--- 8.8.8.8 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 133.291/133.291/133.291/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 command system journal clear at DUT0.

Step 5: Run command system journal show | cat at DUT0 and check if 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
Dec 11 21:08:38.722821 osdx systemd-journald[221161]: Runtime Journal (/run/log/journal/f432f545e12a4b8f9744ee27dfdbd6ef) is 8.0M, max 77.4M, 69.4M free.
Dec 11 21:08:38.727619 osdx systemd-journald[221161]: Received client request to rotate journal, rotating.
Dec 11 21:08:38.727731 osdx systemd-journald[221161]: Vacuuming done, freed 0B of archived journals from /run/log/journal/f432f545e12a4b8f9744ee27dfdbd6ef.
Dec 11 21:08:38.800981 osdx OSDxCLI[426685]: User 'admin' executed a new command: 'system journal clear'.
Dec 11 21:08:47.923705 osdx wwan-accessibility-control[434142]: [Core/wwan0/1] Warning: Previous packet pending - ID: 40926, Sequence: 0
Dec 11 21:08:47.923724 osdx wwan-accessibility-control[434142]: [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 command system journal clear at 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 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 command system journal show | cat at DUT0 and check if 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
Dec 11 21:09:21.123109 osdx systemd-journald[221161]: Runtime Journal (/run/log/journal/f432f545e12a4b8f9744ee27dfdbd6ef) is 8.0M, max 77.4M, 69.4M free.
Dec 11 21:09:21.128347 osdx systemd-journald[221161]: Received client request to rotate journal, rotating.
Dec 11 21:09:21.128489 osdx systemd-journald[221161]: Vacuuming done, freed 0B of archived journals from /run/log/journal/f432f545e12a4b8f9744ee27dfdbd6ef.
Dec 11 21:09:21.204558 osdx OSDxCLI[426685]: User 'admin' executed a new command: 'system journal clear'.
Dec 11 21:09:21.360004 osdx OSDxCLI[426685]: User 'admin' entered the configuration menu.
Dec 11 21:09:21.470947 osdx OSDxCLI[426685]: User 'admin' added a new cfg line: 'set interfaces cellular cell0 traffic control in PLOSS'.
Dec 11 21:09:21.575307 osdx OSDxCLI[426685]: User 'admin' added a new cfg line: 'set traffic control PLOSS type network-emulator packet-loss 100'.
Dec 11 21:09:21.687436 osdx OSDxCLI[426685]: User 'admin' added a new cfg line: 'show changes'.
Dec 11 21:09:21.828024 osdx ubnt-cfgd[434225]: inactive
Dec 11 21:09:21.929351 osdx INFO[434235]: FRR daemons did not change
Dec 11 21:09:22.026135 osdx cfgd[3788]: [426685]Completed change to active configuration
Dec 11 21:09:22.028036 osdx (udev-worker)[279]: ifb.cell0: Could not set Alias=, MACAddress=/MACAddressPolicy=, TransmitQueues=, ReceiveQueues=, TransmitQueueLength=, MTUBytes=, GenericSegmentOffloadMaxBytes= or GenericSegmentOffloadMaxSegments=, ignoring: Operation not supported
Dec 11 21:09:22.049550 osdx osdx-ledsd[4626]: Config changed, checking config paths
Dec 11 21:09:22.049676 osdx systemd[1]: osdx-ledsd.service: Sent signal SIGUSR2 to main process 4626 (osdx-ledsd) on client request.
Dec 11 21:09:22.054378 osdx OSDxCLI[426685]: User 'admin' committed the configuration.
Dec 11 21:09:22.098939 osdx OSDxCLI[426685]: User 'admin' left the configuration menu.
Dec 11 21:09:23.317026 osdx OSDxCLI[426685]: User 'admin' executed a new command: 'ping 8.8.8.8 count 1 size 56 timeout 1'.
Dec 11 21:09:37.924488 osdx wwan-accessibility-control[434142]: [Core/wwan0/1] Warning: Previous packet pending - ID: 40926, Sequence: 5
Dec 11 21:09:37.924503 osdx wwan-accessibility-control[434142]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 1 - interval reduced to 10 seconds
Dec 11 21:09:43.651197 osdx OSDxCLI[426685]: User 'admin' executed a new command: 'system journal show | cat'.
Dec 11 21:09:44.991069 osdx OSDxCLI[426685]: User 'admin' executed a new command: 'system journal show | cat'.
Dec 11 21:09:46.339209 osdx OSDxCLI[426685]: User 'admin' executed a new command: 'system journal show | cat'.
Dec 11 21:09:47.703135 osdx OSDxCLI[426685]: User 'admin' executed a new command: 'system journal show | cat'.
Dec 11 21:09:47.924691 osdx wwan-accessibility-control[434142]: [Core/wwan0/1] Warning: Previous packet pending - ID: 40926, Sequence: 6
Dec 11 21:09:47.924710 osdx wwan-accessibility-control[434142]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 2 - interval reduced to 5 seconds
Dec 11 21:09:49.111107 osdx OSDxCLI[426685]: User 'admin' executed a new command: 'system journal show | cat'.
Dec 11 21:09:50.547213 osdx OSDxCLI[426685]: User 'admin' executed a new command: 'system journal show | cat'.
Dec 11 21:09:51.959234 osdx OSDxCLI[426685]: User 'admin' executed a new command: 'system journal show | cat'.
Dec 11 21:09:52.924877 osdx wwan-accessibility-control[434142]: [Core/wwan0/1] Warning: Previous packet pending - ID: 40926, Sequence: 7
Dec 11 21:09:52.924894 osdx wwan-accessibility-control[434142]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 3 - interval reduced to 5 seconds
Dec 11 21:09:53.411138 osdx OSDxCLI[426685]: User 'admin' executed a new command: 'system journal show | cat'.
Dec 11 21:09:54.875185 osdx OSDxCLI[426685]: User 'admin' executed a new command: 'system journal show | cat'.
Dec 11 21:09:56.359150 osdx OSDxCLI[426685]: User 'admin' executed a new command: 'system journal show | cat'.
Dec 11 21:09:57.839086 osdx OSDxCLI[426685]: User 'admin' executed a new command: 'system journal show | cat'.
Dec 11 21:09:57.925078 osdx wwan-accessibility-control[434142]: [Core/wwan0/1] Warning: Previous packet pending - ID: 40926, Sequence: 8
Dec 11 21:09:57.925094 osdx wwan-accessibility-control[434142]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 4 - interval reduced to 5 seconds
Dec 11 21:09:57.935561 osdx WARNING[434360]: [wwan0/1] Requesting reconnection...
Dec 11 21:09:57.942171 osdx wwan-cli-socket[434362]: [Device/wwan0] Info: wwan-cli-socket reconnect 60000 wwan0
Dec 11 21:09:57.942592 osdx wwan-module[4660]: [Device/wwan0] Info: Reconnecting device...
Dec 11 21:09:57.942605 osdx wwan-module[4660]: [Device/wwan0] Warning: [PDP#1] Requesting reconnection...
Dec 11 21:09:57.942658 osdx wwan-module[4660]: [Device/wwan0] Info: WDS[0]: Stopping network connection...
Dec 11 21:09:58.075082 osdx wwan-module[4660]: [Device/wwan0] Info: WDS[0]: Network connection was stopped!
Dec 11 21:09:58.078166 osdx kernel: net _wwan0: link_state 0x1 -> 0x0
Dec 11 21:09:58.087287 osdx wwan-module[4660]: [Device/wwan0] Info: Checking registration state...
Dec 11 21:09:58.103511 osdx wwan-accessibility-control[434142]: [Core/wwan0/1] Info: Execution stopped
Dec 11 21:09:58.103869 osdx systemd[1]: Stopping wwan-accessibility-control@wwan0pdp1.service - WWAN Accessibility Control...
Dec 11 21:09:58.105616 osdx systemd[1]: wwan-accessibility-control@wwan0pdp1.service: Deactivated successfully.
Dec 11 21:09:58.106022 osdx systemd[1]: Stopped wwan-accessibility-control@wwan0pdp1.service - WWAN Accessibility Control.
Dec 11 21:09:58.116137 osdx INFO[434366]: Stop DHCP client for cell0
Dec 11 21:09:58.123126 osdx dhclient[434373]: Killed old client process
Dec 11 21:09:58.138946 osdx wwan-module[4660]: [Device/wwan0] Info: Device registered and PS attached successfully
Dec 11 21:09:58.138964 osdx wwan-module[4660]: [Device/wwan0] Info: [PDP#1] Establishing network connection...
Dec 11 21:09:58.242486 osdx dhclient[434373]: DHCPRELEASE of 37.12.25.7 on cell0 to 37.12.25.8 port 67
Dec 11 21:09:58.333128 osdx wwan-module[4660]: [Device/wwan0] Info: [PDP#1] Network connection was successfully started: PDH=[3794803808]
Dec 11 21:09:58.398141 osdx kernel: net _wwan0: link_state 0x0 -> 0x1
Dec 11 21:09:58.582150 osdx kernel: cell0: (slave _wwan0_1): Releasing backup interface
Dec 11 21:09:58.650185 osdx kernel: cell0: (slave _wwan0_1): The slave device specified does not support setting the MAC address
Dec 11 21:09:58.650328 osdx kernel: cell0: (slave _wwan0_1): making interface the new active one
Dec 11 21:09:58.654160 osdx kernel: cell0: (slave _wwan0_1): Enslaving as an active interface with an up link
Dec 11 21:09:58.665547 osdx INFO[434419]: Start DHCP client for cell0
Dec 11 21:09:58.666281 osdx kernel: 8021q: adding VLAN 0 to HW filter on device cell0