> ## Documentation Index
> Fetch the complete documentation index at: https://qualcomm-3.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Bring up data call service

You can bring up WWAN data call functions using the sample applications or [CLI commands](https://docs.qualcomm.com/doc/80-80023-24/topic/bring-up-data-call.html#bring-up-wwan-data-call)

<Note>
  **Note**

  Before running the commands, you must connect the device [using SSH](https://dragonwingdocs.qualcomm.com/Key-Documents/Flash-Guide/how-to-sign-in-with-ssh#sign-in-using-ssh).
</Note>

## **Bring up data call using sample application**

To bring up a WWAN data call using the `mmcellularrefapp` sample application, do the following on the default `profile#1` profile:

1. Load the RmNet driver.
   ```text theme={null}
   modprobe rmnet || true
   ```

<Note>
  **Note**

  If the kernel includes RmNet support, you don’t need to load it manually.
</Note>

2. Connect to a WWAN data call.

```text theme={null}
mmCellularRefApp c
```

3. Disconnect a WWAN data call.

```text theme={null}
mmCellularRefApp d
```

## **Bring up data call using CLI**

You can use the ModemManager (MM) CLI to bring up and bring down a WWAN data call. For more information about MM CLI and the relevant parameters used in the commands, see [mmcli - Control and monitor the ModemManager](https://www.freedesktop.org/software/ModemManager/man/1.24.0/mmcli.1.html).

To bring up a WWAN data call using MM CLI, do the following:

1. Load the RmNet driver.
   ```text theme={null}
   modprobe rmnet || true
   ```

<Note>
  **Note**

  If the kernel includes RmNet support, you don’t need to load it manually.
</Note>

2. Verify whether the modem you want to use for the data call is detected.

```text theme={null}
mmcli -L
/org/freedesktop/ModemManager1/Modem/0 [QUALCOMM INCORPORATED] 0
mmcli -e -m 0
```

A `successfully enabled the modem` message appears.

3. Initiate the data call on the bearer and choose an appropriate APN name as defined by your SIM operator.

```text theme={null}
mmcli -m 0 -–simple-connect=”apn=w1v4v6.com, ip-type=ipv4”
```

A `successfully connected the modem` message appears.

4. Get the bearer ID for the data call.

```text theme={null}
mmcli -m 0
```

The following sample output shows that `/Bearer/0` is brought up:<br />

```text theme={null}
3GPP EPS  |    initial bearer ip type: ipv4v6
-----------------------------------------
SIM       |    primary sim path: /org/freedesktop/ModemManager1/SIM/1
          |    sim slot paths: slot 1: /org/freedesktop/ModemManager1/SIM/0
               Slot 2: none (active)
-----------------------------------------
Bearer    |    paths: /org/freedesktop/ModemManager1/Bearer/0
```

5. Verify the status of bearer connection and get bearer information from the modem.

```text theme={null}
mmcli -b 0
```

The bearer ID is obtained in step 4, for example, `/Bearer/0`.

The following sample output shows the details of the network interface and the corresponding IP address to be used for this data call connection request:

```python theme={null}
mmcli -b 0
-------------------------------------------
General              |      path: /org/freedesktop/ModemManager1/Bearer/0
                     |      type: default
-------------------------------------------
   Status            |      connected: yes
                     |      suspended: no
                     |      multiplexed: yes
                     |      interface: qmapmux0.0
                     |      ip timeout: 20
-------------------------------------------
Properties           |      apn: w1v4v6.com
                     |      roaming: allowed
                     |      ip type: ipv4
-------------------------------------------
IPv4 configuration   |      method: static
                     |      address: 10.218.247.201
                     |      prefix: 30
                     |      gateway: 10.218.247.202
                     |      dns: 10.242.20.148, 10.242.20.156
                     |      mtu: 1500
-------------------------------------------
   Statistics        |      start date: 2022-04-28T18:09:46Z
                     |      duration: 149
                     |      bytes tx: 48
                     |      attempts: 1
                     |      total-duration: 149
                     |      total-bytes tx: 48
```

6. Configure the IP address that you obtained in step 5, manually bring up the network interface, and set the default route.

```text theme={null}
ip addr add 10.218.247.201/30 dev qmapmux0.0
ifconfig qmapmux0.0 up
ip route add default dev qmapmux0.0
```

7. To test the data connectivity, ping a public IP address and confirm the data path.

The following sample output shows the status of data connectivity:

```python theme={null}
ping 10.218.225.101 -c 4
PING 10.218.225.101 (10.218.225.101): 56 data bytes
64 bytes from 10.218.225.101: seq=0 ttl=63 time=304.515 ms
64 bytes from 10.218.225.101: seq=1 ttl=63 time=584.544 ms
64 bytes from 10.218.225.101: seq=2 ttl=63 time=532.301 ms
64 bytes from 10.218.225.101: seq=3 ttl=63 time=504.118 ms

--- 10.218.225.101 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 304.515/481.369/584.544 ms
```

8. Verify the throughputs on the link using the `iperf` client/server command.

## **Next steps**

* [Bring up SMS service](https://docs.qualcomm.com/doc/80-80023-24/topic/bring-up-sms.html#bringup-sms)
* [Troubleshoot WWAN data call issues](https://docs.qualcomm.com/doc/80-80023-24/topic/debug-cellular-issues.html#troubleshoot-wwan-data-call-issues)
