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 U2FsdGVkX189nKUKxVzHXePImfpkqj8f/FPSkZlLAe4=
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 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)      = 50000000
Max. RX channel rate (bps)      = 300000000
IPv4 address                    = 37.12.66.79
IPv4 mask                       = 255.255.255.224
IPv4 gateway                    = 37.12.66.80
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=149 ms

--- 8.8.8.8 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 148.559/148.559/148.559/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
Mar 20 10:59:42.276349 osdx systemd-journald[2110]: Runtime Journal (/run/log/journal/dac9f4648bea40d8b01d3ea433667eb2) is 8.0M, max 80.5M, 72.5M free.
Mar 20 10:59:42.283619 osdx systemd-journald[2110]: Received client request to rotate journal, rotating.
Mar 20 10:59:42.283805 osdx systemd-journald[2110]: Vacuuming done, freed 0B of archived journals from /run/log/journal/dac9f4648bea40d8b01d3ea433667eb2.
Mar 20 10:59:42.365544 osdx OSDxCLI[86490]: User 'admin' executed a new command: 'system journal clear'.
Mar 20 10:59:51.412632 osdx wwan-accessibility-control[96273]: [Core/wwan0/1] Warning: Previous packet pending - ID: 30737, Sequence: 0
Mar 20 10:59:51.412655 osdx wwan-accessibility-control[96273]: [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
Mar 20 11:00:24.680471 osdx systemd-journald[2110]: Runtime Journal (/run/log/journal/dac9f4648bea40d8b01d3ea433667eb2) is 8.0M, max 80.5M, 72.5M free.
Mar 20 11:00:24.687882 osdx systemd-journald[2110]: Received client request to rotate journal, rotating.
Mar 20 11:00:24.688072 osdx systemd-journald[2110]: Vacuuming done, freed 0B of archived journals from /run/log/journal/dac9f4648bea40d8b01d3ea433667eb2.
Mar 20 11:00:24.769641 osdx OSDxCLI[86490]: User 'admin' executed a new command: 'system journal clear'.
Mar 20 11:00:24.913245 osdx OSDxCLI[86490]: User 'admin' entered the configuration menu.
Mar 20 11:00:25.024076 osdx OSDxCLI[86490]: User 'admin' added a new cfg line: 'set interfaces cellular cell0 traffic control in PLOSS'.
Mar 20 11:00:25.140535 osdx OSDxCLI[86490]: User 'admin' added a new cfg line: 'set traffic control PLOSS type network-emulator packet-loss 100'.
Mar 20 11:00:25.268548 osdx OSDxCLI[86490]: User 'admin' added a new cfg line: 'show changes'.
Mar 20 11:00:25.418080 osdx ubnt-cfgd[96360]: inactive
Mar 20 11:00:25.540780 osdx INFO[96370]: FRR daemons did not change
Mar 20 11:00:25.633075 osdx (udev-worker)[96388]: ifb.cell0: Could not set Alias=, MACAddress=/MACAddressPolicy=, TransmitQueues=, ReceiveQueues=, TransmitQueueLength=, MTUBytes=, GenericSegmentOffloadMaxBytes= or GenericSegmentOffloadMaxSegments=, ignoring: Operation not supported
Mar 20 11:00:25.633175 osdx (udev-worker)[96388]: Network interface NamePolicy= disabled on kernel command line.
Mar 20 11:00:25.670310 osdx kernel: netem: version 1.3
Mar 20 11:00:25.687788 osdx cfgd[1766]: [86490]Completed change to active configuration
Mar 20 11:00:25.716731 osdx systemd[1]: osdx-ledsd.service: Sent signal SIGUSR2 to main process 2431 (osdx-ledsd) on client request.
Mar 20 11:00:25.716761 osdx osdx-ledsd[2431]: Config changed, checking config paths
Mar 20 11:00:25.720726 osdx OSDxCLI[86490]: User 'admin' committed the configuration.
Mar 20 11:00:25.967763 osdx OSDxCLI[86490]: User 'admin' left the configuration menu.
Mar 20 11:00:27.194400 osdx OSDxCLI[86490]: User 'admin' executed a new command: 'ping 8.8.8.8 count 1 size 56 timeout 1'.
Mar 20 11:00:41.413729 osdx wwan-accessibility-control[96273]: [Core/wwan0/1] Warning: Previous packet pending - ID: 30737, Sequence: 5
Mar 20 11:00:41.413747 osdx wwan-accessibility-control[96273]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 1 - interval reduced to 10 seconds
Mar 20 11:00:47.555617 osdx OSDxCLI[86490]: User 'admin' executed a new command: 'system journal show | cat'.
Mar 20 11:00:48.931566 osdx OSDxCLI[86490]: User 'admin' executed a new command: 'system journal show | cat'.
Mar 20 11:00:50.291581 osdx OSDxCLI[86490]: User 'admin' executed a new command: 'system journal show | cat'.
Mar 20 11:00:51.414016 osdx wwan-accessibility-control[96273]: [Core/wwan0/1] Warning: Previous packet pending - ID: 30737, Sequence: 6
Mar 20 11:00:51.414037 osdx wwan-accessibility-control[96273]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 2 - interval reduced to 5 seconds
Mar 20 11:00:51.651583 osdx OSDxCLI[86490]: User 'admin' executed a new command: 'system journal show | cat'.
Mar 20 11:00:53.067565 osdx OSDxCLI[86490]: User 'admin' executed a new command: 'system journal show | cat'.
Mar 20 11:00:54.507577 osdx OSDxCLI[86490]: User 'admin' executed a new command: 'system journal show | cat'.
Mar 20 11:00:55.923578 osdx OSDxCLI[86490]: User 'admin' executed a new command: 'system journal show | cat'.
Mar 20 11:00:56.414297 osdx wwan-accessibility-control[96273]: [Core/wwan0/1] Warning: Previous packet pending - ID: 30737, Sequence: 7
Mar 20 11:00:56.414314 osdx wwan-accessibility-control[96273]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 3 - interval reduced to 5 seconds
Mar 20 11:00:57.391552 osdx OSDxCLI[86490]: User 'admin' executed a new command: 'system journal show | cat'.
Mar 20 11:00:58.855583 osdx OSDxCLI[86490]: User 'admin' executed a new command: 'system journal show | cat'.
Mar 20 11:01:00.351563 osdx OSDxCLI[86490]: User 'admin' executed a new command: 'system journal show | cat'.
Mar 20 11:01:01.414553 osdx wwan-accessibility-control[96273]: [Core/wwan0/1] Warning: Previous packet pending - ID: 30737, Sequence: 8
Mar 20 11:01:01.414572 osdx wwan-accessibility-control[96273]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 4 - interval reduced to 5 seconds
Mar 20 11:01:01.427216 osdx WARNING[96492]: [wwan0/1] Requesting reconnection...
Mar 20 11:01:01.436385 osdx wwan-cli-socket[96495]: [Device/wwan0] Info: wwan-cli-socket reconnect 60000 wwan0
Mar 20 11:01:01.436946 osdx wwan-module[86475]: [Device/wwan0] Info: Reconnecting device...
Mar 20 11:01:01.436963 osdx wwan-module[86475]: [Device/wwan0] Warning: [PDP#1] Requesting reconnection...
Mar 20 11:01:01.437067 osdx wwan-module[86475]: [Device/wwan0] Info: WDS[0]: Stopping network connection...
Mar 20 11:01:01.542733 osdx wwan-module[86475]: [Device/wwan0] Info: WDS[0]: Network connection was stopped!
Mar 20 11:01:01.546292 osdx kernel: net _wwan0: link_state 0x1 -> 0x0
Mar 20 11:01:01.550925 osdx wwan-module[86475]: [Device/wwan0] Info: Checking registration state...
Mar 20 11:01:01.581218 osdx wwan-accessibility-control[96273]: [Core/wwan0/1] Info: Execution stopped
Mar 20 11:01:01.581602 osdx systemd[1]: Stopping wwan-accessibility-control@wwan0pdp1.service - WWAN Accessibility Control...
Mar 20 11:01:01.584533 osdx systemd[1]: wwan-accessibility-control@wwan0pdp1.service: Deactivated successfully.
Mar 20 11:01:01.585058 osdx systemd[1]: Stopped wwan-accessibility-control@wwan0pdp1.service - WWAN Accessibility Control.
Mar 20 11:01:01.601209 osdx INFO[96505]: Stop DHCP client for cell0
Mar 20 11:01:01.611144 osdx dhclient[96510]: Killed old client process
Mar 20 11:01:01.670942 osdx wwan-module[86475]: [Device/wwan0] Info: Device registered and PS attached successfully
Mar 20 11:01:01.670966 osdx wwan-module[86475]: [Device/wwan0] Info: [PDP#1] Establishing network connection...
Mar 20 11:01:01.738772 osdx dhclient[96510]: DHCPRELEASE of 37.12.66.79 on cell0 to 37.12.66.80 port 67
Mar 20 11:01:01.906282 osdx wwan-module[86475]: [Device/wwan0] Info: [PDP#1] Network connection was successfully started: PDH=[1664377152]
Mar 20 11:01:01.923796 osdx OSDxCLI[86490]: User 'admin' executed a new command: 'system journal show | cat'.
Mar 20 11:01:02.029673 osdx kernel: net _wwan0: link_state 0x0 -> 0x1
Mar 20 11:01:02.318270 osdx kernel: cell0: (slave _wwan0_1): Releasing backup interface
Mar 20 11:01:02.398278 osdx kernel: cell0: (slave _wwan0_1): The slave device specified does not support setting the MAC address
Mar 20 11:01:02.402290 osdx kernel: cell0: (slave _wwan0_1): making interface the new active one
Mar 20 11:01:02.402490 osdx kernel: cell0: (slave _wwan0_1): Enslaving as an active interface with an up link
Mar 20 11:01:02.418282 osdx kernel: 8021q: adding VLAN 0 to HW filter on device cell0
Mar 20 11:01:02.421173 osdx INFO[96560]: Start DHCP client for cell0
Mar 20 11:01:02.906682 osdx dhclient[96573]: DHCPDISCOVER on cell0 to 255.255.255.255 port 67 interval 7
Mar 20 11:01:02.912181 osdx dhclient[96573]: DHCPOFFER of 5.205.209.98 from 5.205.209.97
Mar 20 11:01:02.912261 osdx dhclient[96573]: DHCPREQUEST for 5.205.209.98 on cell0 to 255.255.255.255 port 67
Mar 20 11:01:02.914648 osdx dhclient[96573]: DHCPACK of 5.205.209.98 from 5.205.209.97
Mar 20 11:01:02.967966 osdx systemd[1]: Started wwan-accessibility-control@wwan0pdp1.service - WWAN Accessibility Control.
Mar 20 11:01:02.984470 osdx wwan-accessibility-control[96585]: [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 U2FsdGVkX1+VvTHzwcBKofhwSbXONbn3sl7AulFMzk8=
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)      = 0
Max. RX channel rate (bps)      = 0
IPv4 address                    = 88.31.27.235
IPv4 mask                       = 255.255.255.248
IPv4 gateway                    = 88.31.27.236
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=117 time=41.0 ms

--- 8.8.8.8 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 41.026/41.026/41.026/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
Mar 20 10:14:53.940212 osdx systemd-journald[33744]: Runtime Journal (/run/log/journal/d52ed0d612e942dea45c61d2892ee724) is 8.0M, max 69.5M, 61.5M free.
Mar 20 10:14:53.941685 osdx systemd-journald[33744]: Received client request to rotate journal, rotating.
Mar 20 10:14:53.941745 osdx systemd-journald[33744]: Vacuuming done, freed 0B of archived journals from /run/log/journal/d52ed0d612e942dea45c61d2892ee724.
Mar 20 10:14:54.001675 osdx OSDxCLI[220022]: User 'admin' executed a new command: 'system journal clear'.
Mar 20 10:14:58.503779 osdx wwan-accessibility-control[223853]: [Core/wwan0/1] Warning: Previous packet pending - ID: 27245, Sequence: 0
Mar 20 10:14:58.503786 osdx wwan-accessibility-control[223853]: [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
Mar 20 10:15:36.243767 osdx systemd-journald[33744]: Runtime Journal (/run/log/journal/d52ed0d612e942dea45c61d2892ee724) is 8.0M, max 69.5M, 61.5M free.
Mar 20 10:15:36.245235 osdx systemd-journald[33744]: Received client request to rotate journal, rotating.
Mar 20 10:15:36.245291 osdx systemd-journald[33744]: Vacuuming done, freed 0B of archived journals from /run/log/journal/d52ed0d612e942dea45c61d2892ee724.
Mar 20 10:15:36.305685 osdx OSDxCLI[220022]: User 'admin' executed a new command: 'system journal clear'.
Mar 20 10:15:36.431374 osdx OSDxCLI[220022]: User 'admin' entered the configuration menu.
Mar 20 10:15:36.524961 osdx OSDxCLI[220022]: User 'admin' added a new cfg line: 'set interfaces cellular cell0 traffic control in PLOSS'.
Mar 20 10:15:36.599305 osdx OSDxCLI[220022]: User 'admin' added a new cfg line: 'set traffic control PLOSS type network-emulator packet-loss 100'.
Mar 20 10:15:36.711727 osdx OSDxCLI[220022]: User 'admin' added a new cfg line: 'show changes'.
Mar 20 10:15:36.852912 osdx ubnt-cfgd[223946]: inactive
Mar 20 10:15:36.883885 osdx INFO[223956]: FRR daemons did not change
Mar 20 10:15:36.920595 osdx (udev-worker)[223977]: ifb.cell0: Could not set Alias=, MACAddress=/MACAddressPolicy=, TransmitQueues=, ReceiveQueues=, TransmitQueueLength=, MTUBytes=, GenericSegmentOffloadMaxBytes= or GenericSegmentOffloadMaxSegments=, ignoring: Operation not supported
Mar 20 10:15:36.920630 osdx (udev-worker)[223977]: Network interface NamePolicy= disabled on kernel command line.
Mar 20 10:15:36.940557 osdx kernel: Mirror/redirect action on
Mar 20 10:15:36.942110 osdx cfgd[2003]: [220022]Completed change to active configuration
Mar 20 10:15:36.945107 osdx OSDxCLI[220022]: User 'admin' committed the configuration.
Mar 20 10:15:36.990338 osdx OSDxCLI[220022]: User 'admin' left the configuration menu.
Mar 20 10:15:38.177833 osdx OSDxCLI[220022]: User 'admin' executed a new command: 'ping 8.8.8.8 count 1 size 56 timeout 1'.
Mar 20 10:15:48.504568 osdx wwan-accessibility-control[223853]: [Core/wwan0/1] Warning: Previous packet pending - ID: 27245, Sequence: 5
Mar 20 10:15:48.504574 osdx wwan-accessibility-control[223853]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 1 - interval reduced to 10 seconds
Mar 20 10:15:58.476963 osdx OSDxCLI[220022]: User 'admin' executed a new command: 'system journal show | cat'.
Mar 20 10:15:58.504690 osdx wwan-accessibility-control[223853]: [Core/wwan0/1] Warning: Previous packet pending - ID: 27245, Sequence: 6
Mar 20 10:15:58.504695 osdx wwan-accessibility-control[223853]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 2 - interval reduced to 5 seconds
Mar 20 10:15:59.821005 osdx OSDxCLI[220022]: User 'admin' executed a new command: 'system journal show | cat'.
Mar 20 10:16:01.185019 osdx OSDxCLI[220022]: User 'admin' executed a new command: 'system journal show | cat'.
Mar 20 10:16:02.533000 osdx OSDxCLI[220022]: User 'admin' executed a new command: 'system journal show | cat'.
Mar 20 10:16:03.504823 osdx wwan-accessibility-control[223853]: [Core/wwan0/1] Warning: Previous packet pending - ID: 27245, Sequence: 7
Mar 20 10:16:03.504828 osdx wwan-accessibility-control[223853]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 3 - interval reduced to 5 seconds
Mar 20 10:16:03.921014 osdx OSDxCLI[220022]: User 'admin' executed a new command: 'system journal show | cat'.
Mar 20 10:16:05.324994 osdx OSDxCLI[220022]: User 'admin' executed a new command: 'system journal show | cat'.
Mar 20 10:16:06.729005 osdx OSDxCLI[220022]: User 'admin' executed a new command: 'system journal show | cat'.
Mar 20 10:16:08.161008 osdx OSDxCLI[220022]: User 'admin' executed a new command: 'system journal show | cat'.
Mar 20 10:16:08.504994 osdx wwan-accessibility-control[223853]: [Core/wwan0/1] Warning: Previous packet pending - ID: 27245, Sequence: 8
Mar 20 10:16:08.504999 osdx wwan-accessibility-control[223853]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 4 - interval reduced to 5 seconds
Mar 20 10:16:08.508450 osdx WARNING[224072]: [wwan0/1] Requesting reconnection...
Mar 20 10:16:08.511234 osdx wwan-cli-socket[224074]: [Device/wwan0] Info: wwan-cli-socket reconnect 60000 wwan0
Mar 20 10:16:08.511492 osdx wwan-module[3780]: [Device/wwan0] Info: Reconnecting device...
Mar 20 10:16:08.511498 osdx wwan-module[3780]: [Device/wwan0] Warning: [PDP#1] Requesting reconnection...
Mar 20 10:16:08.511544 osdx wwan-module[3780]: [Device/wwan0] Info: WDS[0]: Stopping network connection...
Mar 20 10:16:08.592060 osdx wwan-module[3780]: [Device/wwan0] Info: WDS[0]: Network connection was stopped!
Mar 20 10:16:08.596582 osdx kernel: net _wwan0: link_state 0x1 -> 0x0
Mar 20 10:16:08.597632 osdx wwan-module[3780]: [Device/wwan0] Info: Checking registration state...
Mar 20 10:16:08.602588 osdx wwan-accessibility-control[223853]: [Core/wwan0/1] Info: Execution stopped
Mar 20 10:16:08.602618 osdx systemd[1]: Stopping wwan-accessibility-control@wwan0pdp1.service - WWAN Accessibility Control...
Mar 20 10:16:08.603289 osdx systemd[1]: wwan-accessibility-control@wwan0pdp1.service: Deactivated successfully.
Mar 20 10:16:08.603446 osdx systemd[1]: Stopped wwan-accessibility-control@wwan0pdp1.service - WWAN Accessibility Control.
Mar 20 10:16:08.607109 osdx INFO[224078]: Stop DHCP client for cell0
Mar 20 10:16:08.611445 osdx dhclient[224085]: Killed old client process
Mar 20 10:16:08.656344 osdx wwan-module[3780]: [Device/wwan0] Info: Device registered and PS attached successfully
Mar 20 10:16:08.656351 osdx wwan-module[3780]: [Device/wwan0] Info: [PDP#1] Establishing network connection...
Mar 20 10:16:08.732690 osdx dhclient[224085]: DHCPRELEASE of 88.31.27.235 on cell0 to 88.31.27.236 port 67
Mar 20 10:16:08.880578 osdx kernel: cell0: (slave _wwan0_1): Releasing backup interface
Mar 20 10:16:08.913184 osdx wwan-module[3780]: [Device/wwan0] Info: [PDP#1] Network connection was successfully started: PDH=[3799368016]
Mar 20 10:16:08.976554 osdx kernel: net _wwan0: link_state 0x0 -> 0x1
Mar 20 10:16:08.992549 osdx kernel: cell0: (slave _wwan0_1): The slave device specified does not support setting the MAC address
Mar 20 10:16:08.992614 osdx kernel: cell0: (slave _wwan0_1): making interface the new active one
Mar 20 10:16:08.992632 osdx kernel: cell0: (slave _wwan0_1): Enslaving as an active interface with an up link
Mar 20 10:16:08.996552 osdx kernel: 8021q: adding VLAN 0 to HW filter on device cell0
Mar 20 10:16:08.996876 osdx INFO[224133]: Start DHCP client for cell0
Mar 20 10:16:09.172747 osdx dhclient[224146]: DHCPDISCOVER on cell0 to 255.255.255.255 port 67 interval 6
Mar 20 10:16:09.175839 osdx dhclient[224146]: DHCPOFFER of 88.31.27.24 from 88.31.27.25
Mar 20 10:16:09.175863 osdx dhclient[224146]: DHCPREQUEST for 88.31.27.24 on cell0 to 255.255.255.255 port 67
Mar 20 10:16:09.177887 osdx dhclient[224146]: DHCPACK of 88.31.27.24 from 88.31.27.25
Mar 20 10:16:09.217065 osdx systemd[1]: Started wwan-accessibility-control@wwan0pdp1.service - WWAN Accessibility Control.
Mar 20 10:16:09.221208 osdx wwan-accessibility-control[224158]: [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 U2FsdGVkX1/yoowA9GRmPThk4M2fBsiJri1Yar7zaUI=
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)      = 0
Max. RX channel rate (bps)      = 0
IPv4 address                    = 37.12.35.156
IPv4 mask                       = 255.255.255.248
IPv4 gateway                    = 37.12.35.157
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=117 time=25.5 ms

--- 8.8.8.8 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 25.462/25.462/25.462/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
Mar 20 18:57:36.233485 osdx systemd-journald[4213]: Runtime Journal (/run/log/journal/dac9f4648bea40d8b01d3ea433667eb2) is 8.2M, max 80.3M, 72.0M free.
Mar 20 18:57:36.238282 osdx systemd-journald[4213]: Received client request to rotate journal, rotating.
Mar 20 18:57:36.238395 osdx systemd-journald[4213]: Vacuuming done, freed 0B of archived journals from /run/log/journal/dac9f4648bea40d8b01d3ea433667eb2.
Mar 20 18:57:36.323649 osdx OSDxCLI[52552]: User 'admin' executed a new command: 'system journal clear'.
Mar 20 18:57:39.169998 osdx wwan-accessibility-control[62248]: [Core/wwan0/1] Warning: Previous packet pending - ID: 62248, Sequence: 0
Mar 20 18:57:39.170015 osdx wwan-accessibility-control[62248]: [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
Mar 20 18:58:18.633534 osdx systemd-journald[4213]: Runtime Journal (/run/log/journal/dac9f4648bea40d8b01d3ea433667eb2) is 8.0M, max 80.3M, 72.3M free.
Mar 20 18:58:18.638403 osdx systemd-journald[4213]: Received client request to rotate journal, rotating.
Mar 20 18:58:18.638509 osdx systemd-journald[4213]: Vacuuming done, freed 0B of archived journals from /run/log/journal/dac9f4648bea40d8b01d3ea433667eb2.
Mar 20 18:58:18.711570 osdx OSDxCLI[52552]: User 'admin' executed a new command: 'system journal clear'.
Mar 20 18:58:18.861693 osdx OSDxCLI[52552]: User 'admin' entered the configuration menu.
Mar 20 18:58:18.973631 osdx OSDxCLI[52552]: User 'admin' added a new cfg line: 'set interfaces cellular cell0 traffic control in PLOSS'.
Mar 20 18:58:19.087199 osdx OSDxCLI[52552]: User 'admin' added a new cfg line: 'set traffic control PLOSS type network-emulator packet-loss 100'.
Mar 20 18:58:19.198777 osdx OSDxCLI[52552]: User 'admin' added a new cfg line: 'show changes'.
Mar 20 18:58:19.342652 osdx ubnt-cfgd[62347]: inactive
Mar 20 18:58:19.440376 osdx INFO[62357]: FRR daemons did not change
Mar 20 18:58:19.507823 osdx (udev-worker)[281]: ifb.cell0: Could not set Alias=, MACAddress=/MACAddressPolicy=, TransmitQueues=, ReceiveQueues=, TransmitQueueLength=, MTUBytes=, GenericSegmentOffloadMaxBytes= or GenericSegmentOffloadMaxSegments=, ignoring: Operation not supported
Mar 20 18:58:19.541384 osdx kernel: netem: version 1.3
Mar 20 18:58:19.553151 osdx cfgd[3782]: [52552]Completed change to active configuration
Mar 20 18:58:19.574075 osdx systemd[1]: osdx-ledsd.service: Sent signal SIGUSR2 to main process 4679 (osdx-ledsd) on client request.
Mar 20 18:58:19.574099 osdx osdx-ledsd[4679]: Config changed, checking config paths
Mar 20 18:58:19.576711 osdx OSDxCLI[52552]: User 'admin' committed the configuration.
Mar 20 18:58:19.617292 osdx OSDxCLI[52552]: User 'admin' left the configuration menu.
Mar 20 18:58:20.816284 osdx OSDxCLI[52552]: User 'admin' executed a new command: 'ping 8.8.8.8 count 1 size 56 timeout 1'.
Mar 20 18:58:39.171126 osdx wwan-accessibility-control[62248]: [Core/wwan0/1] Warning: Previous packet pending - ID: 62248, Sequence: 6
Mar 20 18:58:39.171142 osdx wwan-accessibility-control[62248]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 1 - interval reduced to 10 seconds
Mar 20 18:58:41.150202 osdx OSDxCLI[52552]: User 'admin' executed a new command: 'system journal show | cat'.
Mar 20 18:58:42.494146 osdx OSDxCLI[52552]: User 'admin' executed a new command: 'system journal show | cat'.
Mar 20 18:58:43.862144 osdx OSDxCLI[52552]: User 'admin' executed a new command: 'system journal show | cat'.
Mar 20 18:58:45.234238 osdx OSDxCLI[52552]: User 'admin' executed a new command: 'system journal show | cat'.
Mar 20 18:58:46.610317 osdx OSDxCLI[52552]: User 'admin' executed a new command: 'system journal show | cat'.
Mar 20 18:58:47.982212 osdx OSDxCLI[52552]: User 'admin' executed a new command: 'system journal show | cat'.
Mar 20 18:58:49.171344 osdx wwan-accessibility-control[62248]: [Core/wwan0/1] Warning: Previous packet pending - ID: 62248, Sequence: 7
Mar 20 18:58:49.171359 osdx wwan-accessibility-control[62248]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 2 - interval reduced to 5 seconds
Mar 20 18:58:49.370184 osdx OSDxCLI[52552]: User 'admin' executed a new command: 'system journal show | cat'.
Mar 20 18:58:50.810228 osdx OSDxCLI[52552]: User 'admin' executed a new command: 'system journal show | cat'.
Mar 20 18:58:52.270207 osdx OSDxCLI[52552]: User 'admin' executed a new command: 'system journal show | cat'.
Mar 20 18:58:53.714205 osdx OSDxCLI[52552]: User 'admin' executed a new command: 'system journal show | cat'.
Mar 20 18:58:54.171550 osdx wwan-accessibility-control[62248]: [Core/wwan0/1] Warning: Previous packet pending - ID: 62248, Sequence: 8
Mar 20 18:58:54.171564 osdx wwan-accessibility-control[62248]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 3 - interval reduced to 5 seconds
Mar 20 18:58:55.190217 osdx OSDxCLI[52552]: User 'admin' executed a new command: 'system journal show | cat'.
Mar 20 18:58:56.702165 osdx OSDxCLI[52552]: User 'admin' executed a new command: 'system journal show | cat'.
Mar 20 18:58:58.206144 osdx OSDxCLI[52552]: User 'admin' executed a new command: 'system journal show | cat'.
Mar 20 18:58:59.171739 osdx wwan-accessibility-control[62248]: [Core/wwan0/1] Warning: Previous packet pending - ID: 62248, Sequence: 9
Mar 20 18:58:59.171754 osdx wwan-accessibility-control[62248]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 4 - interval reduced to 5 seconds
Mar 20 18:58:59.181654 osdx WARNING[62491]: [wwan0/1] Requesting reconnection...
Mar 20 18:58:59.188164 osdx wwan-cli-socket[62493]: [Device/wwan0] Info: wwan-cli-socket reconnect 60000 wwan0
Mar 20 18:58:59.188549 osdx wwan-module[4712]: [Device/wwan0] Info: Reconnecting device...
Mar 20 18:58:59.188561 osdx wwan-module[4712]: [Device/wwan0] Warning: [PDP#1] Requesting reconnection...
Mar 20 18:58:59.188618 osdx wwan-module[4712]: [Device/wwan0] Info: WDS[0]: Stopping network connection...
Mar 20 18:58:59.299264 osdx wwan-module[4712]: [Device/wwan0] Info: WDS[0]: Network connection was stopped!
Mar 20 18:58:59.305306 osdx kernel: net _wwan0: link_state 0x1 -> 0x0
Mar 20 18:58:59.309336 osdx wwan-module[4712]: [Device/wwan0] Info: Checking registration state...
Mar 20 18:58:59.329061 osdx wwan-accessibility-control[62248]: [Core/wwan0/1] Info: Execution stopped
Mar 20 18:58:59.329355 osdx systemd[1]: Stopping wwan-accessibility-control@wwan0pdp1.service - WWAN Accessibility Control...
Mar 20 18:58:59.331687 osdx systemd[1]: wwan-accessibility-control@wwan0pdp1.service: Deactivated successfully.
Mar 20 18:58:59.332124 osdx systemd[1]: Stopped wwan-accessibility-control@wwan0pdp1.service - WWAN Accessibility Control.
Mar 20 18:58:59.344967 osdx INFO[62498]: Stop DHCP client for cell0
Mar 20 18:58:59.352326 osdx dhclient[62509]: Killed old client process
Mar 20 18:58:59.363328 osdx wwan-module[4712]: [Device/wwan0] Info: Device registered and PS attached successfully
Mar 20 18:58:59.363348 osdx wwan-module[4712]: [Device/wwan0] Info: [PDP#1] Establishing network connection...
Mar 20 18:58:59.473408 osdx dhclient[62509]: DHCPRELEASE of 37.12.35.156 on cell0 to 37.12.35.157 port 67
Mar 20 18:58:59.556832 osdx wwan-module[4712]: [Device/wwan0] Info: [PDP#1] Network connection was successfully started: PDH=[3799366656]
Mar 20 18:58:59.621225 osdx kernel: net _wwan0: link_state 0x0 -> 0x1
Mar 20 18:58:59.801249 osdx kernel: cell0: (slave _wwan0_1): Releasing backup interface
Mar 20 18:58:59.869259 osdx kernel: cell0: (slave _wwan0_1): The slave device specified does not support setting the MAC address
Mar 20 18:58:59.869401 osdx kernel: cell0: (slave _wwan0_1): making interface the new active one
Mar 20 18:58:59.873266 osdx kernel: cell0: (slave _wwan0_1): Enslaving as an active interface with an up link
Mar 20 18:58:59.878287 osdx OSDxCLI[52552]: User 'admin' executed a new command: 'system journal show | cat'.
Mar 20 18:58:59.885225 osdx kernel: 8021q: adding VLAN 0 to HW filter on device cell0
Mar 20 18:58:59.885799 osdx INFO[62555]: Start DHCP client for cell0
Mar 20 18:59:00.237551 osdx dhclient[62568]: DHCPDISCOVER on cell0 to 255.255.255.255 port 67 interval 3
Mar 20 18:59:00.239980 osdx dhclient[62568]: DHCPOFFER of 81.47.92.75 from 81.47.92.76
Mar 20 18:59:00.240037 osdx dhclient[62568]: DHCPREQUEST for 81.47.92.75 on cell0 to 255.255.255.255 port 67
Mar 20 18:59:00.241967 osdx dhclient[62568]: DHCPACK of 81.47.92.75 from 81.47.92.76
Mar 20 18:59:00.283024 osdx systemd[1]: Started wwan-accessibility-control@wwan0pdp1.service - WWAN Accessibility Control.
Mar 20 18:59:00.295636 osdx wwan-accessibility-control[62580]: [Core/wwan0/1] Info: Starting '/osdx/sbin/wwan-accessibility-control'...
Mar 20 18:59:00.530752 osdx dhclient[62568]: bound to 81.47.92.75 -- renewal in 2952 seconds.