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.
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 interfaces cellular cell0 address dhcp set interfaces cellular cell0 encrypted-pin U2FsdGVkX18Wn5HxLAxnE0yC4aiymp2drRgM+gwGCrg= set interfaces cellular cell0 profile CELPROFILE set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
Note
Once the cellular interface is configured, it can be verified that there is network connectivity by pinging Google’s DNS public server.
Step 2: Ping IP address 8.8.8.8
from DUT0
:
admin@DUT0$ ping 8.8.8.8 count 1 size 56 timeout 1Show 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=163 ms --- 8.8.8.8 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 162.703/162.703/162.703/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 3: Run command system journal clear
at DUT0
.
Step 4: Run command system journal show | cat
at DUT0
and check if output does not contain the following tokens:
[Core/cell0] Info: Signal '12' received to reconnect device [Device/cell0] Info: Stopping network connection [Device/cell0] Info: Establishing network connectionShow output
Jun 25 16:47:08.462005 osdx systemd-journald[529987]: Runtime Journal (/run/log/journal/1976ff34d2ab4f28bcb52a47607ffb21) is 1.1M, max 8.5M, 7.4M free. Jun 25 16:47:08.464683 osdx systemd-journald[529987]: Received client request to rotate journal, rotating. Jun 25 16:47:08.464927 osdx systemd-journald[529987]: Vacuuming done, freed 0B of archived journals from /run/log/journal/1976ff34d2ab4f28bcb52a47607ffb21. Jun 25 16:47:08.486149 osdx sudo[670304]: pam_limits(sudo:session): invalid line '@200:215 hard maxlogins ' - skipped Jun 25 16:47:08.568105 osdx OSDxCLI[666882]: User 'admin' executed a new command: 'system journal clear'.
Note
However, when traffic control is applied, it is possible to prove the ‘ping’ command is failing because ICMP packets are being dropped.
Step 5: 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 6: 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 1Show 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 7: Run command system journal clear
at DUT0
.
Step 8: Run command system journal show | cat
at DUT0
and check if output does not contain the following tokens:
[Core/cell0] Info: Signal '12' received to reconnect device [Device/cell0] Info: Stopping network connection [Device/cell0] Info: Establishing network connectionShow output
Jun 25 16:47:53.024455 osdx systemd-journald[529987]: Runtime Journal (/run/log/journal/1976ff34d2ab4f28bcb52a47607ffb21) is 1.0M, max 8.5M, 7.5M free. Jun 25 16:47:53.026830 osdx systemd-journald[529987]: Received client request to rotate journal, rotating. Jun 25 16:47:53.027031 osdx systemd-journald[529987]: Vacuuming done, freed 0B of archived journals from /run/log/journal/1976ff34d2ab4f28bcb52a47607ffb21. Jun 25 16:47:53.049019 osdx sudo[670431]: pam_limits(sudo:session): invalid line '@200:215 hard maxlogins ' - skipped Jun 25 16:47:53.115908 osdx OSDxCLI[666882]: User 'admin' executed a new command: 'system journal clear'. Jun 25 16:48:01.661699 osdx CRON[670448]: pam_limits(cron:session): invalid line '@200:215 hard maxlogins ' - skipped
Step 9: Run command system journal show | cat
at DUT0
and check if output contains the following tokens:
[Core/cell0] Info: Signal '12' received to reconnect device [Device/cell0] Info: Stopping network connection [Device/cell0] Info: Establishing network connectionShow output
Jun 25 16:47:53.024455 osdx systemd-journald[529987]: Runtime Journal (/run/log/journal/1976ff34d2ab4f28bcb52a47607ffb21) is 1.0M, max 8.5M, 7.5M free. Jun 25 16:47:53.026830 osdx systemd-journald[529987]: Received client request to rotate journal, rotating. Jun 25 16:47:53.027031 osdx systemd-journald[529987]: Vacuuming done, freed 0B of archived journals from /run/log/journal/1976ff34d2ab4f28bcb52a47607ffb21. Jun 25 16:47:53.049019 osdx sudo[670431]: pam_limits(sudo:session): invalid line '@200:215 hard maxlogins ' - skipped Jun 25 16:47:53.115908 osdx OSDxCLI[666882]: User 'admin' executed a new command: 'system journal clear'. Jun 25 16:48:01.661699 osdx CRON[670448]: pam_limits(cron:session): invalid line '@200:215 hard maxlogins ' - skipped Jun 25 16:48:13.313916 osdx OSDxCLI[666882]: User 'admin' executed a new command: 'system journal show | cat'. Jun 25 16:48:13.537910 osdx OSDxCLI[666882]: User 'admin' executed a new command: 'system journal show | cat'. Jun 25 16:48:14.753934 osdx OSDxCLI[666882]: User 'admin' executed a new command: 'system journal show | cat'. Jun 25 16:48:15.977938 osdx OSDxCLI[666882]: User 'admin' executed a new command: 'system journal show | cat'. Jun 25 16:48:17.217907 osdx OSDxCLI[666882]: User 'admin' executed a new command: 'system journal show | cat'. Jun 25 16:48:18.505920 osdx OSDxCLI[666882]: User 'admin' executed a new command: 'system journal show | cat'. Jun 25 16:48:19.777941 osdx OSDxCLI[666882]: User 'admin' executed a new command: 'system journal show | cat'. Jun 25 16:48:21.041932 osdx OSDxCLI[666882]: User 'admin' executed a new command: 'system journal show | cat'. Jun 25 16:48:22.317927 osdx OSDxCLI[666882]: User 'admin' executed a new command: 'system journal show | cat'. Jun 25 16:48:23.538563 osdx wwan-module[670164]: [Core/cell0] Info: Signal '12' received to reconnect device. Jun 25 16:48:23.538611 osdx wwan-module[670164]: [Device/cell0] Info: Stopping network connection... Jun 25 16:48:23.556791 osdx wwan-module[670530]: Network cancelled... releasing resources Jun 25 16:48:23.601896 osdx OSDxCLI[666882]: User 'admin' executed a new command: 'system journal show | cat'. Jun 25 16:48:23.693507 osdx wwan-module[670530]: [/dev/cdc-wdm0] Network stopped Jun 25 16:48:23.693507 osdx wwan-module[670530]: [/dev/cdc-wdm0] Client ID not released: Jun 25 16:48:23.693507 osdx wwan-module[670530]: Service: 'wds' Jun 25 16:48:23.693507 osdx wwan-module[670530]: CID: '21' Jun 25 16:48:23.695366 osdx wwan-module[670164]: [Device/cell0] Info: Network connection was stopped! Jun 25 16:48:23.697489 osdx wwan-module[670164]: [Network/cell0] Info: Stopping accessibility control... Jun 25 16:48:23.697996 osdx wwan-module[670164]: [Network/cell0] Info: Accessibility control was stopped! Jun 25 16:48:23.700637 osdx kernel: net cell0: link_state 0x1 -> 0x0 Jun 25 16:48:23.711296 osdx modulelauncher[670537]: stop DHCP client for cell0 Jun 25 16:48:23.713056 osdx dhclient[670252]: receive_packet failed on cell0: Network is down Jun 25 16:48:23.714910 osdx wwan-module[670164]: [Device/cell0] Info: Checking registration state... Jun 25 16:48:23.721333 osdx dhclient[670541]: Killed old client process Jun 25 16:48:23.821763 osdx wwan-module[670164]: [Device/cell0] Info: Device registered and PS attached successfully Jun 25 16:48:23.821786 osdx wwan-module[670164]: [Device/cell0] Info: Establishing network connection... Jun 25 16:48:23.849102 osdx dhclient[670541]: DHCPRELEASE of 88.31.51.152 on cell0 to 88.31.51.153 port 67 Jun 25 16:48:23.849131 osdx dhclient[670541]: send_packet: Network is down Jun 25 16:48:23.849142 osdx dhclient[670541]: dhclient.c:3146: Failed to send 300 byte long packet over cell0 interface. Jun 25 16:48:24.178542 osdx wwan-module[670164]: [Device/cell0] Info: Network connection was successfully started: PDH=[2175566368] Jun 25 16:48:24.304713 osdx kernel: net cell0: link_state 0x0 -> 0x1 Jun 25 16:48:24.306706 osdx wwan-module[670164]: [Network/cell0] Info: Starting accessibility control... Jun 25 16:48:24.307152 osdx wwan-module[670164]: [Network/cell0] Info: Accessibility control was started! Jun 25 16:48:24.428282 osdx modulelauncher[670590]: start DHCP client for cell0 Jun 25 16:48:24.716664 osdx kernel: IPv6: ADDRCONF(NETDEV_CHANGE): cell0: link becomes ready