# `QMI.Supervisor`
[🔗](https://github.com/nerves-networking/qmi/blob/v0.10.3/lib/qmi/supervisor.ex#L6)

Main supervisor for QMI processes

# `options`

```elixir
@type options() :: [
  ifname: String.t(),
  device_path: Path.t(),
  name: atom(),
  indication_callback: QMI.indication_callback_fun()
]
```

QMI Supervisor options

* `:ifname` - the network interface name. i.e. `"wwan0"`
* `:device_path` - the path to the QMI control device. Defaults to `"/dev/cdc-wdm<index>"`
where `index` matches the `ifname` index.
* `:name` - an optional name for this GenServer
* `:indication_callback` - a function that is ran when an indication is
received from QMI.

# `child_spec`

Returns a specification to start this module under a supervisor.

See `Supervisor`.

# `start_link`

```elixir
@spec start_link(options()) :: Supervisor.on_start()
```

Start the supervisor

The `:name` option is required and will be the QMI supervisor process. Pass
this name to all functions that have a `qmi` parameter.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
