nerves-networking / vintage_net_mobile

Mobile networking for VintageNet
Apache License 2.0
27 stars 11 forks source link

Monitor cell network parameters #53

Closed fhunleth closed 4 years ago

fhunleth commented 4 years ago

This is enabled for the EC25. It likely works on other modems and can be applied to them after testing.

Here's an example:

  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_rssi"], 22},
    {["interface", "ppp0", "present"], true},
    {["interface", "ppp0", "state"], :configured},
    {["interface", "ppp0", "type"], VintageNetMobile}
  ]

By plugging the cid and lac into a cell tower database, you can find approximately where your modem is.