View Source VintageNetMobile.Modem.QuectelEC25 (vintage_net_mobile v0.11.5)

Quectel EC25 support

The Quectel EC25 is a series of LTE Cat 4 modules. Here's an example configuration:

VintageNet.configure(
  "ppp0",
  %{
    type: VintageNetMobile,
    vintage_net_mobile: %{
      modem: VintageNetMobile.Modem.QuectelEC25,
      service_providers: [%{apn: "wireless.twilio.com"}]
    }
  }
)

Options:

  • :modem - VintageNetMobile.Modem.QuectelEC25
  • :service_providers - A list of service provider information (only :apn providers are supported)
  • :at_tty - A tty for sending AT commands on. This defaults to "ttyUSB2" which works unless other USB serial devices cause Linux to set it to something different.
  • :ppp_tty - A tty for the PPP connection. This defaults to "ttyUSB2" which works unless other USB serial devices cause Linux to set it to something different.

If multiple service providers are configured, this implementation only attempts to connect to the first one.

Example of supported properties:

iex> VintageNet.get_by_prefix(["interface", "ppp0"])
[
  {["interface", "ppp0", "addresses"],
  [
    %{
      address: {10, 64, 64, 64},
      family: :inet,
      netmask: {255, 255, 255, 255},
      prefix_length: 32,
      scope: :universe
    }
  ]},
  {["interface", "ppp0", "connection"], :internet},
  {["interface", "ppp0", "lower_up"], true},
  {["interface", "ppp0", "mobile", "access_technology"], "FDD LTE"},
  {["interface", "ppp0", "mobile", "band"], "LTE BAND 4"},
  {["interface", "ppp0", "mobile", "channel"], 2300},
  {["interface", "ppp0", "mobile", "cid"], 11303407},
  {["interface", "ppp0", "mobile", "lac"], 10234},
  {["interface", "ppp0", "mobile", "mcc"], 360},
  {["interface", "ppp0", "mobile", "mnc"], 200},
  {["interface", "ppp0", "mobile", "network"], "Twilio"},
  {["interface", "ppp0", "mobile", "signal_asu"], 21},
  {["interface", "ppp0", "mobile", "signal_4bars"], 4},
  {["interface", "ppp0", "mobile", "signal_dbm"], -71},
  {["interface", "ppp0", "present"], true},
  {["interface", "ppp0", "state"], :configured},
  {["interface", "ppp0", "type"], VintageNetMobile}
]

Required Linux kernel options

  • CONFIG_USB_SERIAL=m
  • CONFIG_USB_SERIAL_WWAN=m
  • CONFIG_USB_SERIAL_OPTION=m
  • CONFIG_USB_WDM=m
  • CONFIG_USB_NET_QMI_WWAN=m