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 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* = connectedShow 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 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=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 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 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