vintage_net_mobile v0.9.0 VintageNetMobile.Modem.QuectelEC25 View Source

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"}]
    }
  }
)

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