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 encrypted-pin U2FsdGVkX1/XAhnqUucAdPNatR216+lesnZheM8aM8A= 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* = connectedShow output
Connection status = connected Traffic channel status = active Max. TX channel rate (bps) = 50000000 Max. RX channel rate (bps) = 300000000 IPv4 address = 37.12.26.40 IPv4 mask = 255.255.255.240 IPv4 gateway = 37.12.26.41 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=117 time=118 ms --- 8.8.8.8 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 118.224/118.224/118.224/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
Jun 04 19:11:23.512285 osdx systemd-journald[2122]: Runtime Journal (/run/log/journal/5d1a5a0de0704bcb98266ed78dfb5338) is 8.2M, max 80.5M, 72.2M free. Jun 04 19:11:23.519347 osdx systemd-journald[2122]: Received client request to rotate journal, rotating. Jun 04 19:11:23.519533 osdx systemd-journald[2122]: Vacuuming done, freed 0B of archived journals from /run/log/journal/5d1a5a0de0704bcb98266ed78dfb5338. Jun 04 19:11:23.617636 osdx OSDxCLI[527512]: User 'admin' executed a new command: 'system journal clear'. Jun 04 19:11:32.516242 osdx wwan-accessibility-control[532927]: [Core/wwan0/1] Warning: Previous packet pending - ID: 8639, Sequence: 0 Jun 04 19:11:32.516266 osdx wwan-accessibility-control[532927]: [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
Jun 04 19:12:05.964057 osdx systemd-journald[2122]: Runtime Journal (/run/log/journal/5d1a5a0de0704bcb98266ed78dfb5338) is 8.0M, max 80.5M, 72.5M free. Jun 04 19:12:05.971506 osdx systemd-journald[2122]: Received client request to rotate journal, rotating. Jun 04 19:12:05.971688 osdx systemd-journald[2122]: Vacuuming done, freed 0B of archived journals from /run/log/journal/5d1a5a0de0704bcb98266ed78dfb5338. Jun 04 19:12:06.053764 osdx OSDxCLI[527512]: User 'admin' executed a new command: 'system journal clear'. Jun 04 19:12:06.193398 osdx OSDxCLI[527512]: User 'admin' entered the configuration menu. Jun 04 19:12:06.294232 osdx OSDxCLI[527512]: User 'admin' added a new cfg line: 'set interfaces cellular cell0 traffic control in PLOSS'. Jun 04 19:12:06.397845 osdx OSDxCLI[527512]: User 'admin' added a new cfg line: 'set traffic control PLOSS type network-emulator packet-loss 100'. Jun 04 19:12:06.520655 osdx OSDxCLI[527512]: User 'admin' added a new cfg line: 'show changes'. Jun 04 19:12:06.675325 osdx ubnt-cfgd[533020]: inactive Jun 04 19:12:06.801049 osdx INFO[533030]: FRR daemons did not change Jun 04 19:12:06.903437 osdx (udev-worker)[533050]: ifb.cell0: Could not set Alias=, MACAddress=/MACAddressPolicy=, TransmitQueues=, ReceiveQueues=, TransmitQueueLength=, MTUBytes=, GenericSegmentOffloadMaxBytes= or GenericSegmentOffloadMaxSegments=, ignoring: Operation not supported Jun 04 19:12:06.903534 osdx (udev-worker)[533050]: Network interface NamePolicy= disabled on kernel command line. Jun 04 19:12:06.919928 osdx cfgd[1793]: [527512]Completed change to active configuration Jun 04 19:12:06.953351 osdx systemd[1]: osdx-ledsd.service: Sent signal SIGUSR2 to main process 2445 (osdx-ledsd) on client request. Jun 04 19:12:06.953386 osdx osdx-ledsd[2445]: Config changed, checking config paths Jun 04 19:12:06.957280 osdx OSDxCLI[527512]: User 'admin' committed the configuration. Jun 04 19:12:06.988081 osdx OSDxCLI[527512]: User 'admin' left the configuration menu. Jun 04 19:12:08.202431 osdx OSDxCLI[527512]: User 'admin' executed a new command: 'ping 8.8.8.8 count 1 size 56 timeout 1'. Jun 04 19:12:22.517265 osdx wwan-accessibility-control[532927]: [Core/wwan0/1] Warning: Previous packet pending - ID: 8639, Sequence: 5 Jun 04 19:12:22.517282 osdx wwan-accessibility-control[532927]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 1 - interval reduced to 10 seconds Jun 04 19:12:28.551653 osdx OSDxCLI[527512]: User 'admin' executed a new command: 'system journal show | cat'. Jun 04 19:12:29.891663 osdx OSDxCLI[527512]: User 'admin' executed a new command: 'system journal show | cat'. Jun 04 19:12:31.259657 osdx OSDxCLI[527512]: User 'admin' executed a new command: 'system journal show | cat'. Jun 04 19:12:32.517543 osdx wwan-accessibility-control[532927]: [Core/wwan0/1] Warning: Previous packet pending - ID: 8639, Sequence: 6 Jun 04 19:12:32.517563 osdx wwan-accessibility-control[532927]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 2 - interval reduced to 5 seconds Jun 04 19:12:32.615616 osdx OSDxCLI[527512]: User 'admin' executed a new command: 'system journal show | cat'. Jun 04 19:12:34.007656 osdx OSDxCLI[527512]: User 'admin' executed a new command: 'system journal show | cat'. Jun 04 19:12:35.407646 osdx OSDxCLI[527512]: User 'admin' executed a new command: 'system journal show | cat'. Jun 04 19:12:36.847664 osdx OSDxCLI[527512]: User 'admin' executed a new command: 'system journal show | cat'. Jun 04 19:12:37.517820 osdx wwan-accessibility-control[532927]: [Core/wwan0/1] Warning: Previous packet pending - ID: 8639, Sequence: 7 Jun 04 19:12:37.517836 osdx wwan-accessibility-control[532927]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 3 - interval reduced to 5 seconds Jun 04 19:12:38.295668 osdx OSDxCLI[527512]: User 'admin' executed a new command: 'system journal show | cat'. Jun 04 19:12:39.759667 osdx OSDxCLI[527512]: User 'admin' executed a new command: 'system journal show | cat'. Jun 04 19:12:41.235665 osdx OSDxCLI[527512]: User 'admin' executed a new command: 'system journal show | cat'. Jun 04 19:12:42.518097 osdx wwan-accessibility-control[532927]: [Core/wwan0/1] Warning: Previous packet pending - ID: 8639, Sequence: 8 Jun 04 19:12:42.518119 osdx wwan-accessibility-control[532927]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 4 - interval reduced to 5 seconds Jun 04 19:12:42.530730 osdx WARNING[533163]: [wwan0/1] Requesting reconnection... Jun 04 19:12:42.539961 osdx wwan-cli-socket[533165]: [Device/wwan0] Info: wwan-cli-socket reconnect 60000 wwan0 Jun 04 19:12:42.540523 osdx wwan-module[527497]: [Device/wwan0] Info: Reconnecting device... Jun 04 19:12:42.540540 osdx wwan-module[527497]: [Device/wwan0] Warning: [PDP#1] Requesting reconnection... Jun 04 19:12:42.540608 osdx wwan-module[527497]: [Device/wwan0] Info: WDS[0]: Stopping network connection... Jun 04 19:12:42.647571 osdx wwan-module[527497]: [Device/wwan0] Info: WDS[0]: Network connection was stopped! Jun 04 19:12:42.654364 osdx kernel: net _wwan0: link_state 0x1 -> 0x0 Jun 04 19:12:42.656585 osdx wwan-module[527497]: [Device/wwan0] Info: Checking registration state... Jun 04 19:12:42.687715 osdx wwan-accessibility-control[532927]: [Core/wwan0/1] Info: Execution stopped Jun 04 19:12:42.688453 osdx systemd[1]: Stopping wwan-accessibility-control@wwan0pdp1.service - WWAN Accessibility Control... Jun 04 19:12:42.691381 osdx systemd[1]: wwan-accessibility-control@wwan0pdp1.service: Deactivated successfully. Jun 04 19:12:42.691932 osdx systemd[1]: Stopped wwan-accessibility-control@wwan0pdp1.service - WWAN Accessibility Control. Jun 04 19:12:42.708435 osdx INFO[533171]: Stop DHCP client for cell0 Jun 04 19:12:42.718090 osdx dhclient[533176]: Killed old client process Jun 04 19:12:42.727581 osdx OSDxCLI[527512]: User 'admin' executed a new command: 'system journal show | cat'. Jun 04 19:12:42.775340 osdx wwan-module[527497]: [Device/wwan0] Info: Device registered and PS attached successfully Jun 04 19:12:42.775362 osdx wwan-module[527497]: [Device/wwan0] Info: [PDP#1] Establishing network connection... Jun 04 19:12:42.834642 osdx dhclient[533176]: DHCPRELEASE of 37.12.26.40 on cell0 to 37.12.26.41 port 67 Jun 04 19:12:43.003680 osdx wwan-module[527497]: [Device/wwan0] Info: [PDP#1] Network connection was successfully started: PDH=[204648160] Jun 04 19:12:43.130392 osdx kernel: net _wwan0: link_state 0x0 -> 0x1 Jun 04 19:12:43.362378 osdx kernel: cell0: (slave _wwan0_1): Releasing backup interface Jun 04 19:12:43.582539 osdx kernel: cell0: (slave _wwan0_1): The slave device specified does not support setting the MAC address Jun 04 19:12:43.582755 osdx kernel: cell0: (slave _wwan0_1): making interface the new active one Jun 04 19:12:43.586368 osdx kernel: cell0: (slave _wwan0_1): Enslaving as an active interface with an up link Jun 04 19:12:43.602395 osdx kernel: 8021q: adding VLAN 0 to HW filter on device cell0 Jun 04 19:12:43.605061 osdx INFO[533226]: Start DHCP client for cell0
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/O6vGZ6tmWb88JXGv4DXOxnG0ajM4U6mg= 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) = 0 Max. RX channel rate (bps) = 0 IPv4 address = 2.143.79.140 IPv4 mask = 255.255.255.248 IPv4 gateway = 2.143.79.141 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=117 time=25.1 ms --- 8.8.8.8 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 25.075/25.075/25.075/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
Jun 04 14:42:41.940370 osdx systemd-journald[2412]: Runtime Journal (/run/log/journal/19b560f3f8834e5faff6bed1914744a0) is 8.2M, max 69.4M, 61.2M free. Jun 04 14:42:41.941916 osdx systemd-journald[2412]: Received client request to rotate journal, rotating. Jun 04 14:42:41.941971 osdx systemd-journald[2412]: Vacuuming done, freed 0B of archived journals from /run/log/journal/19b560f3f8834e5faff6bed1914744a0. Jun 04 14:42:42.010969 osdx OSDxCLI[531858]: User 'admin' executed a new command: 'system journal clear'. Jun 04 14:42:45.718487 osdx wwan-accessibility-control[540709]: [Core/wwan0/1] Warning: Previous packet pending - ID: 16421, Sequence: 0 Jun 04 14:42:45.718494 osdx wwan-accessibility-control[540709]: [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
Jun 04 14:43:24.264194 osdx systemd-journald[2412]: Runtime Journal (/run/log/journal/19b560f3f8834e5faff6bed1914744a0) is 8.0M, max 69.4M, 61.4M free. Jun 04 14:43:24.265821 osdx systemd-journald[2412]: Received client request to rotate journal, rotating. Jun 04 14:43:24.265895 osdx systemd-journald[2412]: Vacuuming done, freed 0B of archived journals from /run/log/journal/19b560f3f8834e5faff6bed1914744a0. Jun 04 14:43:24.322972 osdx OSDxCLI[531858]: User 'admin' executed a new command: 'system journal clear'. Jun 04 14:43:24.448526 osdx OSDxCLI[531858]: User 'admin' entered the configuration menu. Jun 04 14:43:24.530093 osdx OSDxCLI[531858]: User 'admin' added a new cfg line: 'set interfaces cellular cell0 traffic control in PLOSS'. Jun 04 14:43:24.632731 osdx OSDxCLI[531858]: User 'admin' added a new cfg line: 'set traffic control PLOSS type network-emulator packet-loss 100'. Jun 04 14:43:24.745456 osdx OSDxCLI[531858]: User 'admin' added a new cfg line: 'show changes'. Jun 04 14:43:24.865590 osdx ubnt-cfgd[540807]: inactive Jun 04 14:43:24.910312 osdx INFO[540817]: FRR daemons did not change Jun 04 14:43:24.946872 osdx (udev-worker)[540837]: ifb.cell0: Could not set Alias=, MACAddress=/MACAddressPolicy=, TransmitQueues=, ReceiveQueues=, TransmitQueueLength=, MTUBytes=, GenericSegmentOffloadMaxBytes= or GenericSegmentOffloadMaxSegments=, ignoring: Operation not supported Jun 04 14:43:24.946898 osdx (udev-worker)[540837]: Network interface NamePolicy= disabled on kernel command line. Jun 04 14:43:24.963947 osdx cfgd[2026]: [531858]Completed change to active configuration Jun 04 14:43:24.967123 osdx OSDxCLI[531858]: User 'admin' committed the configuration. Jun 04 14:43:24.999449 osdx OSDxCLI[531858]: User 'admin' left the configuration menu. Jun 04 14:43:26.135226 osdx OSDxCLI[531858]: User 'admin' executed a new command: 'ping 8.8.8.8 count 1 size 56 timeout 1'. Jun 04 14:43:35.719173 osdx wwan-accessibility-control[540709]: [Core/wwan0/1] Warning: Previous packet pending - ID: 16421, Sequence: 5 Jun 04 14:43:35.719182 osdx wwan-accessibility-control[540709]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 1 - interval reduced to 10 seconds Jun 04 14:43:45.719406 osdx wwan-accessibility-control[540709]: [Core/wwan0/1] Warning: Previous packet pending - ID: 16421, Sequence: 6 Jun 04 14:43:45.719412 osdx wwan-accessibility-control[540709]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 2 - interval reduced to 5 seconds Jun 04 14:43:46.446269 osdx OSDxCLI[531858]: User 'admin' executed a new command: 'system journal show | cat'. Jun 04 14:43:47.774239 osdx OSDxCLI[531858]: User 'admin' executed a new command: 'system journal show | cat'. Jun 04 14:43:49.098285 osdx OSDxCLI[531858]: User 'admin' executed a new command: 'system journal show | cat'. Jun 04 14:43:50.454265 osdx OSDxCLI[531858]: User 'admin' executed a new command: 'system journal show | cat'. Jun 04 14:43:50.719535 osdx wwan-accessibility-control[540709]: [Core/wwan0/1] Warning: Previous packet pending - ID: 16421, Sequence: 7 Jun 04 14:43:50.719542 osdx wwan-accessibility-control[540709]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 3 - interval reduced to 5 seconds Jun 04 14:43:51.822276 osdx OSDxCLI[531858]: User 'admin' executed a new command: 'system journal show | cat'. Jun 04 14:43:53.222272 osdx OSDxCLI[531858]: User 'admin' executed a new command: 'system journal show | cat'. Jun 04 14:43:54.718296 osdx OSDxCLI[531858]: User 'admin' executed a new command: 'system journal show | cat'. Jun 04 14:43:55.719676 osdx wwan-accessibility-control[540709]: [Core/wwan0/1] Warning: Previous packet pending - ID: 16421, Sequence: 8 Jun 04 14:43:55.719683 osdx wwan-accessibility-control[540709]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 4 - interval reduced to 5 seconds Jun 04 14:43:55.723328 osdx WARNING[540924]: [wwan0/1] Requesting reconnection... Jun 04 14:43:55.726084 osdx wwan-cli-socket[540926]: [Device/wwan0] Info: wwan-cli-socket reconnect 60000 wwan0 Jun 04 14:43:55.726319 osdx wwan-module[3808]: [Device/wwan0] Info: Reconnecting device... Jun 04 14:43:55.726326 osdx wwan-module[3808]: [Device/wwan0] Warning: [PDP#1] Requesting reconnection... Jun 04 14:43:55.726355 osdx wwan-module[3808]: [Device/wwan0] Info: WDS[0]: Stopping network connection... Jun 04 14:43:55.809261 osdx wwan-module[3808]: [Device/wwan0] Info: WDS[0]: Network connection was stopped! Jun 04 14:43:55.813819 osdx kernel: net _wwan0: link_state 0x1 -> 0x0 Jun 04 14:43:55.814881 osdx wwan-module[3808]: [Device/wwan0] Info: Checking registration state... Jun 04 14:43:55.820014 osdx wwan-accessibility-control[540709]: [Core/wwan0/1] Info: Execution stopped Jun 04 14:43:55.820085 osdx systemd[1]: Stopping wwan-accessibility-control@wwan0pdp1.service - WWAN Accessibility Control... Jun 04 14:43:55.820738 osdx systemd[1]: wwan-accessibility-control@wwan0pdp1.service: Deactivated successfully. Jun 04 14:43:55.820900 osdx systemd[1]: Stopped wwan-accessibility-control@wwan0pdp1.service - WWAN Accessibility Control. Jun 04 14:43:55.824721 osdx INFO[540935]: Stop DHCP client for cell0 Jun 04 14:43:55.829022 osdx dhclient[540942]: Killed old client process Jun 04 14:43:55.873224 osdx wwan-module[3808]: [Device/wwan0] Info: Device registered and PS attached successfully Jun 04 14:43:55.873232 osdx wwan-module[3808]: [Device/wwan0] Info: [PDP#1] Establishing network connection... Jun 04 14:43:55.961976 osdx dhclient[540942]: DHCPRELEASE of 2.143.79.140 on cell0 to 2.143.79.141 port 67 Jun 04 14:43:56.066186 osdx wwan-module[3808]: [Device/wwan0] Info: [PDP#1] Network connection was successfully started: PDH=[3799781072] Jun 04 14:43:56.113839 osdx kernel: cell0: (slave _wwan0_1): Releasing backup interface Jun 04 14:43:56.129812 osdx kernel: net _wwan0: link_state 0x0 -> 0x1 Jun 04 14:43:56.149811 osdx kernel: cell0: (slave _wwan0_1): The slave device specified does not support setting the MAC address Jun 04 14:43:56.149886 osdx kernel: cell0: (slave _wwan0_1): making interface the new active one Jun 04 14:43:56.153816 osdx kernel: cell0: (slave _wwan0_1): Enslaving as an active interface with an up link Jun 04 14:43:56.155528 osdx INFO[540996]: Start DHCP client for cell0 Jun 04 14:43:56.157823 osdx kernel: 8021q: adding VLAN 0 to HW filter on device cell0 Jun 04 14:43:56.214299 osdx OSDxCLI[531858]: User 'admin' executed a new command: 'system journal show | cat'. Jun 04 14:43:56.338044 osdx dhclient[541009]: DHCPDISCOVER on cell0 to 255.255.255.255 port 67 interval 4 Jun 04 14:43:56.340630 osdx dhclient[541009]: DHCPOFFER of 2.143.60.249 from 2.143.60.250 Jun 04 14:43:56.340658 osdx dhclient[541009]: DHCPREQUEST for 2.143.60.249 on cell0 to 255.255.255.255 port 67 Jun 04 14:43:56.342597 osdx dhclient[541009]: DHCPACK of 2.143.60.249 from 2.143.60.250 Jun 04 14:43:56.370268 osdx systemd[1]: Started wwan-accessibility-control@wwan0pdp1.service - WWAN Accessibility Control. Jun 04 14:43:56.374331 osdx wwan-accessibility-control[541021]: [Core/wwan0/1] Info: Starting '/osdx/sbin/wwan-accessibility-control'... Jun 04 14:43:56.452845 osdx dhclient[541009]: bound to 2.143.60.249 -- renewal in 3237 seconds.
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 U2FsdGVkX18BH0SXI3FJFm8WSyU0/egsr6/vY1EIHbU= 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) = 0 Max. RX channel rate (bps) = 0 IPv4 address = 88.31.106.177 IPv4 mask = 255.255.255.252 IPv4 gateway = 88.31.106.178 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=434 ms --- 8.8.8.8 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 433.959/433.959/433.959/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
Jun 04 12:13:26.567856 osdx systemd-journald[4212]: Runtime Journal (/run/log/journal/5d1a5a0de0704bcb98266ed78dfb5338) is 8.0M, max 80.3M, 72.3M free. Jun 04 12:13:26.572707 osdx systemd-journald[4212]: Received client request to rotate journal, rotating. Jun 04 12:13:26.572815 osdx systemd-journald[4212]: Vacuuming done, freed 0B of archived journals from /run/log/journal/5d1a5a0de0704bcb98266ed78dfb5338. Jun 04 12:13:26.645459 osdx OSDxCLI[66905]: User 'admin' executed a new command: 'system journal clear'. Jun 04 12:13:30.106172 osdx wwan-accessibility-control[67767]: [Core/wwan0/1] Warning: Previous packet pending - ID: 2231, Sequence: 0 Jun 04 12:13:30.106190 osdx wwan-accessibility-control[67767]: [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
Jun 04 12:14:08.990458 osdx systemd-journald[4212]: Runtime Journal (/run/log/journal/5d1a5a0de0704bcb98266ed78dfb5338) is 8.0M, max 80.3M, 72.3M free. Jun 04 12:14:08.995684 osdx systemd-journald[4212]: Received client request to rotate journal, rotating. Jun 04 12:14:08.995799 osdx systemd-journald[4212]: Vacuuming done, freed 0B of archived journals from /run/log/journal/5d1a5a0de0704bcb98266ed78dfb5338. Jun 04 12:14:09.069463 osdx OSDxCLI[66905]: User 'admin' executed a new command: 'system journal clear'. Jun 04 12:14:09.224134 osdx OSDxCLI[66905]: User 'admin' entered the configuration menu. Jun 04 12:14:09.343118 osdx OSDxCLI[66905]: User 'admin' added a new cfg line: 'set interfaces cellular cell0 traffic control in PLOSS'. Jun 04 12:14:09.478972 osdx OSDxCLI[66905]: User 'admin' added a new cfg line: 'set traffic control PLOSS type network-emulator packet-loss 100'. Jun 04 12:14:09.600469 osdx OSDxCLI[66905]: User 'admin' added a new cfg line: 'show changes'. Jun 04 12:14:09.748541 osdx ubnt-cfgd[67863]: inactive Jun 04 12:14:09.867181 osdx INFO[67873]: FRR daemons did not change Jun 04 12:14:09.959062 osdx (udev-worker)[287]: ifb.cell0: Could not set Alias=, MACAddress=/MACAddressPolicy=, TransmitQueues=, ReceiveQueues=, TransmitQueueLength=, MTUBytes=, GenericSegmentOffloadMaxBytes= or GenericSegmentOffloadMaxSegments=, ignoring: Operation not supported Jun 04 12:14:10.003055 osdx kernel: Mirror/redirect action on Jun 04 12:14:10.011081 osdx kernel: netem: version 1.3 Jun 04 12:14:10.022394 osdx cfgd[3877]: [66905]Completed change to active configuration Jun 04 12:14:10.042424 osdx systemd[1]: osdx-ledsd.service: Sent signal SIGUSR2 to main process 4683 (osdx-ledsd) on client request. Jun 04 12:14:10.042449 osdx osdx-ledsd[4683]: Config changed, checking config paths Jun 04 12:14:10.045083 osdx OSDxCLI[66905]: User 'admin' committed the configuration. Jun 04 12:14:10.091139 osdx OSDxCLI[66905]: User 'admin' left the configuration menu. Jun 04 12:14:11.286047 osdx OSDxCLI[66905]: User 'admin' executed a new command: 'ping 8.8.8.8 count 1 size 56 timeout 1'. Jun 04 12:14:20.106940 osdx wwan-accessibility-control[67767]: [Core/wwan0/1] Warning: Previous packet pending - ID: 2231, Sequence: 5 Jun 04 12:14:20.106956 osdx wwan-accessibility-control[67767]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 1 - interval reduced to 10 seconds Jun 04 12:14:30.107149 osdx wwan-accessibility-control[67767]: [Core/wwan0/1] Warning: Previous packet pending - ID: 2231, Sequence: 6 Jun 04 12:14:30.107164 osdx wwan-accessibility-control[67767]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 2 - interval reduced to 5 seconds Jun 04 12:14:31.651978 osdx OSDxCLI[66905]: User 'admin' executed a new command: 'system journal show | cat'. Jun 04 12:14:33.035978 osdx OSDxCLI[66905]: User 'admin' executed a new command: 'system journal show | cat'. Jun 04 12:14:34.431966 osdx OSDxCLI[66905]: User 'admin' executed a new command: 'system journal show | cat'. Jun 04 12:14:35.107287 osdx wwan-accessibility-control[67767]: [Core/wwan0/1] Warning: Previous packet pending - ID: 2231, Sequence: 7 Jun 04 12:14:35.107302 osdx wwan-accessibility-control[67767]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 3 - interval reduced to 5 seconds Jun 04 12:14:35.859975 osdx OSDxCLI[66905]: User 'admin' executed a new command: 'system journal show | cat'. Jun 04 12:14:37.299968 osdx OSDxCLI[66905]: User 'admin' executed a new command: 'system journal show | cat'. Jun 04 12:14:38.747954 osdx OSDxCLI[66905]: User 'admin' executed a new command: 'system journal show | cat'. Jun 04 12:14:40.107471 osdx wwan-accessibility-control[67767]: [Core/wwan0/1] Warning: Previous packet pending - ID: 2231, Sequence: 8 Jun 04 12:14:40.107486 osdx wwan-accessibility-control[67767]: [Core/wwan0/1] Warning: Connection in failure - consecutive failures: 4 - interval reduced to 5 seconds Jun 04 12:14:40.117828 osdx WARNING[67984]: [wwan0/1] Requesting reconnection... Jun 04 12:14:40.124465 osdx wwan-cli-socket[67986]: [Device/wwan0] Info: wwan-cli-socket reconnect 60000 wwan0 Jun 04 12:14:40.124859 osdx wwan-module[4715]: [Device/wwan0] Info: Reconnecting device... Jun 04 12:14:40.124872 osdx wwan-module[4715]: [Device/wwan0] Warning: [PDP#1] Requesting reconnection... Jun 04 12:14:40.124922 osdx wwan-module[4715]: [Device/wwan0] Info: WDS[0]: Stopping network connection... Jun 04 12:14:40.212006 osdx OSDxCLI[66905]: User 'admin' executed a new command: 'system journal show | cat'. Jun 04 12:14:40.241227 osdx wwan-module[4715]: [Device/wwan0] Info: WDS[0]: Network connection was stopped! Jun 04 12:14:40.247059 osdx kernel: net _wwan0: link_state 0x1 -> 0x0 Jun 04 12:14:40.249261 osdx wwan-module[4715]: [Device/wwan0] Info: Checking registration state... Jun 04 12:14:40.270017 osdx wwan-accessibility-control[67767]: [Core/wwan0/1] Info: Execution stopped Jun 04 12:14:40.270116 osdx systemd[1]: Stopping wwan-accessibility-control@wwan0pdp1.service - WWAN Accessibility Control... Jun 04 12:14:40.272045 osdx systemd[1]: wwan-accessibility-control@wwan0pdp1.service: Deactivated successfully. Jun 04 12:14:40.272420 osdx systemd[1]: Stopped wwan-accessibility-control@wwan0pdp1.service - WWAN Accessibility Control. Jun 04 12:14:40.283865 osdx INFO[67990]: Stop DHCP client for cell0 Jun 04 12:14:40.290883 osdx dhclient[67997]: Killed old client process Jun 04 12:14:40.305019 osdx wwan-module[4715]: [Device/wwan0] Info: Device registered and PS attached successfully Jun 04 12:14:40.305032 osdx wwan-module[4715]: [Device/wwan0] Info: [PDP#1] Establishing network connection... Jun 04 12:14:40.407242 osdx dhclient[67997]: DHCPRELEASE of 88.31.106.177 on cell0 to 88.31.106.178 port 67 Jun 04 12:14:40.569343 osdx wwan-module[4715]: [Device/wwan0] Info: [PDP#1] Network connection was successfully started: PDH=[3799745488] Jun 04 12:14:40.627060 osdx kernel: net _wwan0: link_state 0x0 -> 0x1 Jun 04 12:14:40.646203 osdx staticd[1245]: [S4MGP-4WQTA] route_notify_owner: Route 0.0.0.0/0 failed to install for table: 254 Jun 04 12:14:40.743052 osdx kernel: cell0: (slave _wwan0_1): Releasing backup interface Jun 04 12:14:40.915259 osdx kernel: cell0: (slave _wwan0_1): The slave device specified does not support setting the MAC address Jun 04 12:14:40.915371 osdx kernel: cell0: (slave _wwan0_1): making interface the new active one Jun 04 12:14:40.915411 osdx kernel: cell0: (slave _wwan0_1): Enslaving as an active interface with an up link Jun 04 12:14:40.927050 osdx kernel: 8021q: adding VLAN 0 to HW filter on device cell0 Jun 04 12:14:40.928699 osdx INFO[68047]: Start DHCP client for cell0 Jun 04 12:14:41.263361 osdx dhclient[68064]: DHCPDISCOVER on cell0 to 255.255.255.255 port 67 interval 8 Jun 04 12:14:41.266726 osdx dhclient[68064]: DHCPOFFER of 176.82.188.112 from 176.82.188.113 Jun 04 12:14:41.266771 osdx dhclient[68064]: DHCPREQUEST for 176.82.188.112 on cell0 to 255.255.255.255 port 67 Jun 04 12:14:41.268729 osdx dhclient[68064]: DHCPACK of 176.82.188.112 from 176.82.188.113 Jun 04 12:14:41.325587 osdx systemd[1]: Started wwan-accessibility-control@wwan0pdp1.service - WWAN Accessibility Control. Jun 04 12:14:41.339317 osdx wwan-accessibility-control[68077]: [Core/wwan0/1] Info: Starting '/osdx/sbin/wwan-accessibility-control'...