WWAN
WWAN interfaces provide access to cellular networks via a cellular modem or card.
Configure these interfaces under the interfaces wwan node.
Configuration
Common interface configuration
.. cfgcmd:: set interfaces wwan
Configure the interface with one or more IP addresses.
The following options are available:
address: Assign one or more IPv4 or IPv6 addresses to the interface. For example, use 192.0.2.1/24 for IPv4 or 2001:db8::1/64 for IPv6.
dhcp: The interface obtains an IPv4 address from a DHCP server on the same network segment.
dhcpv6: The interface obtains an IPv6 address from a DHCPv6 server on the same network segment.
.. note:: If the interface obtains an IPv4 address via DHCP, and specific adjustments are needed before/after the IP address is obtained, use the provided hook scripts:
* ``/config/scripts/dhcp-client/pre-hooks.d/``
* ``/config/scripts/dhcp-client/post-hooks.d/``
Example:
.. code-block:: none
set interfaces wwan wwan0 address 192.0.2.1/24
set interfaces wwan wwan0 address 2001:db8::1/64
set interfaces wwan wwan0 address dhcp
set interfaces wwan wwan0 address dhcpv6
.. cfgcmd:: set interfaces wwan
Configure a clear, descriptive alias for the interface.
This alias appears in the :opcmd:show interfaces command and SNMP-based
monitoring tools.
Example:
.. code-block:: none
set interfaces wwan wwan0 description 'This is an interface running on VyOS.'
.. cfgcmd:: set interfaces wwan
Disable the interface.
The interface will be set to the administratively down
(A/D) state.
Example:
.. code-block:: none
set interfaces wwan wwan0 disable
.. cfgcmd:: set interfaces wwan
Disable physical link-state change detection on the interface, such as when a cable is unplugged.
By default, the interface detects physical link-state changes.
Example:
.. code-block:: none
set interfaces wwan wwan0 disable-link-detect
.. cfgcmd:: set interfaces wwan
Configure the MTU on the interface.
This value defines the largest packet size, in bytes, that the interface transmits without fragmentation.
Example:
.. code-block:: none
set interfaces wwan wwan0 mtu 1600
.. cfgcmd:: set interfaces wwan
Configure the :abbr:MSS (Maximum Segment Size) advertised in outgoing
TCP SYN packets on the specified interface.
By clamping the MSS value in TCP SYN packets, you explicitly inform the remote side not to send packets larger than that size. This prevents connection issues that occur when Path MTU Discovery (PMTUD) fails.
The following options are available:
mss: Sets the MSS to a specific value, in bytes. Use this option if you need to enforce a specific MSS, for example, to troubleshoot connectivity issues or accommodate specific network requirements.
clamp-mss-to-pmtu: The router automatically calculates the MSS to be the interface’s MTU minus 40 bytes for IPv4 traffic (20 bytes for the IPv4 header and 20 bytes for the TCP header). This option is recommended to automatically set the proper value.
.. cfgcmd:: set interfaces wwan
Configure how long an ARP entry remains valid after learning an IP-to-MAC address mapping on this interface.
The default duration is 30 seconds.
An ARP entry remains valid if it receives positive feedback from higher-level protocols.
Example:
.. code-block:: none
set interfaces wwan wwan0 ip arp-cache-timeout 180
.. cfgcmd:: set interfaces wwan
Configure ARP filtering on this interface.
Default behavior: The kernel responds to ARP requests on this interface only if the traffic would be routed back to the ARP sender through that specific interface.
If configured: The kernel responds to ARP requests on this interface for any IP address configured on the local host, regardless of which specific interface that IP address is assigned to, and regardless of the routing table. This reflects the Linux concept that IP addresses belong to the host, not individual interfaces.
Example:
.. code-block:: none
set interfaces wwan wwan0 ip disable-arp-filter
.. cfgcmd:: set interfaces wwan
Configure the interface for host or router behavior.
If configured, the interface switches to host mode, and IPv4 forwarding is disabled on it.
Example:
.. code-block:: none
set interfaces wwan wwan0 ip disable-forwarding
.. cfgcmd:: set interfaces wwan
Configure whether to forward IP-directed broadcast packets received on this interface.
Default behavior: IP-directed broadcast packets are dropped.
If configured: IP-directed broadcast packets are forwarded to all hosts
on the destination subnet, as defined in :rfc:1812 and :rfc:2644.
Example:
.. code-block:: none
set interfaces wwan wwan0 ip enable-directed-broadcast
.. cfgcmd:: set interfaces wwan
Configure how to process gratuitous ARPs on this interface.
If configured, an IP-to-MAC address mapping is added to the ARP table based on gratuitous ARP requests or replies.
.. note:: If the ARP table already contains the IP address from a gratuitous ARP, its entry is updated regardless of whether this setting is configured.
Example:
.. code-block:: none
set interfaces wwan wwan0 ip enable-arp-accept
.. cfgcmd:: set interfaces wwan
Configure the source IP selection for ARP requests on this interface.
Default behavior: The kernel can use any IP address the host owns as the source IP address in ARP requests on this interface.
If configured: The kernel first attempts to select a source IP address configured on the interface that shares a common subnet with the target IP address. If there is no such subnet, the kernel selects the IP address it would normally use (based on the routing table to reach the target destination).
Example:
.. code-block:: none
set interfaces wwan wwan0 ip enable-arp-announce
.. cfgcmd:: set interfaces wwan
Configure which ARP requests will be ignored on this interface.
Default behavior: The kernel responds to ARP requests for any local IP addresses, regardless of which interface they are assigned to.
If configured: The kernel responds to ARP requests only if the target IP address is assigned to this specific interface.
Example:
.. code-block:: none
set interfaces wwan wwan0 ip enable-arp-ignore
.. cfgcmd:: set interfaces wwan
Configure proxy ARP on this interface.
If configured, the router (kernel) intercepts ARP requests for non-local IP
addresses and replies with the :abbr:MAC (Media Access Control) address
of the interface that received the request. Subsequent packets destined
to these IP addresses are forwarded to their actual destinations on remote
subnets.
Example:
.. code-block:: none
set interfaces wwan wwan0 ip enable-proxy-arp
.. cfgcmd:: set interfaces wwan
Configure local proxy ARP on the interface.
If configured, the router (kernel) responds to ARP requests on this VLAN interface even if the target IP address resides on the same subnet and interface.
This is used to support network isolation requirements (RFC 3069) for private VLANs (PVLANs). In PVLAN configurations, hosts on isolated ports are NOT allowed to communicate directly with each other at Layer 2, but they can communicate with the upstream router.
By replying to inter-host ARP requests with its own :abbr:MAC (Media Access Control)
address, the router (kernel) directs inter-host traffic through itself instead of
directly between hosts.
.. note:: This command works independently and does not require enabling the standard proxy ARP on the interface.
Local proxy ARP is also known as:
VLAN aggregation (:rfc:
3069).Private VLAN (Cisco, Allied Telesyn).
Source-port filtering or port isolation (Hewlett-Packard).
MAC-Forced Forwarding (Ericsson).
.. cfgcmd:: set interfaces wwan
Configure source IP address validation using :abbr:RPF (Reverse Path Forwarding) on this interface, as specified in :rfc:3704.
The following options are available:
strict: Each incoming packet’s source IP address is checked against the Forwarding Information Base (FIB). If the interface is not the best route back to that source, validation fails, and the packet is dropped.
loose: Each incoming packet’s source IP address is checked against the FIB. If the source IP address is unreachable through any interface, validation fails.
disable: No source IP address validation is performed. All incoming packets are accepted.
RFC 3704 recommends enabling strict mode to prevent IP spoofing, such as DDoS attacks. For asymmetric or other complex routing scenarios, use loose mode.
.. cfgcmd:: set interfaces wwan
Configure the interface to automatically obtain an IPv6 address using
- abbr:
SLAAC (Stateless Address Autoconfiguration), as specified in- rfc:
4862.IPv6 hosts can configure themselves automatically when connected to an IPv6 network using the Neighbor Discovery Protocol via ICMPv6 router discovery messages. When first connected to a network, a host sends a link-local router solicitation multicast request for its configuration parameters. The router responds with a router advertisement packet containing Internet Layer configuration parameters.
.. note:: This method automatically disables IPv6 traffic forwarding on the interface.
Example:
.. code-block:: none
set interfaces wwan wwan0 ipv6 address autoconf
.. cfgcmd:: set interfaces wwan
Configure the interface to assign itself an IPv6 address using the
- abbr:
EUI-64 (64-Bit Extended Unique Identifier)method, as specified in :rfc:4291.Example:
.. code-block:: none
set interfaces wwan wwan0 ipv6 address eui64 2001:db8:beef::/64
.. cfgcmd:: set interfaces wwan
Disable the automatic assignment of a link-local IPv6 address to this interface.
Example:
.. code-block:: none
set interfaces wwan wwan0 ipv6 address no-default-link-local
.. cfgcmd:: set interfaces wwan
Configure the interface for host or router behavior.
If configured, the interface switches to host mode, and IPv6 forwarding is disabled on it.
Example:
.. code-block:: none
set interfaces wwan wwan0 ipv6 disable-forwarding
.. cfgcmd:: set interfaces wwan
Configure the :abbr:MSS (Maximum Segment Size) advertised in outgoing
TCP SYN packets on the specified interface.
By clamping the MSS value in TCP SYN packets, you explicitly inform the remote side not to send packets larger than that size. This prevents connection issues when Path MTU Discovery (PMTUD) fails.
The following options are available:
mss: Set the MSS to a specific value, in bytes. Use this option to enforce a specific MSS, for example, to troubleshoot connectivity issues or accommodate specific network requirements.
clamp-mss-to-pmtu: The router calculates the MSS to be the interface’s MTU minus 60 bytes for IPv6 traffic (40 bytes for the IPv6 header and 20 bytes for the TCP header). This option is recommended to automatically set the proper value.
.. cfgcmd:: set interfaces wwan
Configure IPv6 :abbr:DAD (Duplicate Address Detection) on the
interface.
The following options are available:
0: Disables DAD. No duplicate address detection is performed.
1: Enables DAD (default). Duplicate addresses are detected. The interface’s IPv6 operation continues for valid IPv6 addresses.
2: Enables DAD and, if a MAC-based duplicate link-local address is found, disables IPv6 operation on this interface.
Example:
.. code-block:: none
set interfaces wwan wwan0 ipv6 accept-dad 2
.. cfgcmd:: set interfaces wwan
Configure the number of :abbr:DAD (Duplicate Address Detection)
messages that the router (kernel) sends during IPv6 address assignment
on this interface.
The default value is 1.
Example:
.. code-block:: none
set interfaces wwan wwan0 ipv6 dup-addr-detect-transmits 5
.. cfgcmd:: set interfaces wwan
Assign the interface to a specific :abbr:VRF (Virtual Routing and Forwarding) instance.
.. seealso:: For information on configuring a VRF, refer to the :ref:vrf
section.
Example:
.. code-block:: none
set interfaces wwan wwan0 vrf red
DHCP(v6)
.. cfgcmd:: set interfaces wwan
Configure a DHCP client identifier for the interface, as specified in
- rfc:
2131.The
client-idis an identifier that the DHCP client sends to the DHCP server to uniquely identify itself for IP address assignment. By default, the client uses its MAC address. The<description>is a user-defined string that will be sent to the DHCP server as the DHCP client identifier.Example:
.. code-block:: none
set interfaces wwan wwan0 dhcp-options client-id ‘foo-bar’
.. cfgcmd:: set interfaces wwan
Configure a specific hostname for the interface.
Instead of the real hostname, the DHCP client will send the specific hostname to the DHCP server when requesting an IP address.
Example:
.. code-block:: none
set interfaces wwan wwan0 dhcp-options host-name 'VyOS'
.. cfgcmd:: set interfaces wwan
Configure the DHCP client to include a vendor-class identifier in its DHCP requests on this interface.
The vendor-class identifier is a vendor-specific byte string that enables the DHCP server to identify the device and, in some cases, provide configuration options.
Example:
.. code-block:: none
set interfaces wwan wwan0 dhcp-options vendor-class-id 'VyOS'
.. cfgcmd:: set interfaces wwan
Configure the DHCP client to obtain an IP address, but ignore any default gateway provided by the DHCP server on this interface.
Example:
.. code-block:: none
set interfaces wwan wwan0 dhcp-options no-default-route
.. cfgcmd:: set interfaces wwan
Configure the distance for the default route obtained from the DHCP server on this interface.
Example:
.. code-block:: none
set interfaces wwan wwan0 dhcp-options default-route-distance 220
.. cfgcmd:: set interfaces wwan
Configure the DHCP client to reject the specific IP address or IP address range from the DHCP server on this interface.
This is useful when a modem assigns a local IP address upon start. To reject multiple addresses, run this command multiple times with different values. You can reject individual addresses (192.168.100.1) or entire subnets (192.168.100.0/24).
Example:
.. code-block:: none
set interfaces wwan wwan0 dhcp-options reject 192.168.100.0/24
.. cfgcmd:: set interfaces wwan
Configure the DHCP client to send a specific user-class identifier in its DHCP requests on this interface.
The DHCP server can interpret this identifier and provide specific configuration options based on it (for example, default routes). The user-class value typically groups DHCP clients with similar configuration needs (for example, employees, guests, or printers).
Example:
.. code-block:: none
set interfaces wwan wwan0 dhcp-options user-class VyOS
.. cfgcmd:: set interfaces wwan
Configure a specific :abbr:DUID (DHCP Unique Identifier) for the
DHCPv6 client on this interface.
The DUID is an identifier used by a DHCPv6 client to get an IPv6 address from a DHCPv6 server. It consists of a 2-byte type field, followed by a variable-length identifier field up to 128 bytes. The format of the identifier part depends on the DUID type:
DUID-LLT: The most common type, which includes a hardware type, a timestamp, and a MAC address.
DUID-EN: Is based on a vendor’s enterprise number and a unique identifier assigned by the vendor.
DUID-LL: Includes only a MAC address.
The DHCP server matches the DUID against its database and provides configuration data (such as address, lease times, DNS servers, etc.) to the DHCP client.
Example:
.. code-block:: none
set interfaces wwan wwan0 duid '0e:00:00:01:00:01:27:71:db:f0:00:50:56:bf:c5:6d'
.. cfgcmd:: set interfaces wwan
Configure the DHCP client not to send a release message when it stops running on this interface.
This helps retain the assigned address or prefix.
Example:
.. code-block:: none
set interfaces wwan wwan0 dhcpv6-options no-release
.. cfgcmd:: set interfaces wwan
Enable a stateless DHCPv6 client mode on this interface.
In stateless mode, the DHCPv6 client requests only stateless configuration parameters from the DHCP server (for example, DNS server addresses). It doesn’t request a stateful configuration, such as IPv6 addresses or prefixes.
Example:
.. code-block:: none
set interfaces wwan wwan0 dhcpv6-options parameters-only
.. cfgcmd:: set interfaces wwan
Enable DHCPv6 rapid commit on this interface.
When enabled, the DHCP client and server skip the negotiation steps (Advertise and Request), completing the DHCPv6 configuration process in just two messages (Solicit and final Reply).
Example:
.. code-block:: none
set interfaces wwan wwan0 dhcpv6-options rapid-commit
.. cfgcmd:: set interfaces wwan
Configure the DHCPv6 client to request a temporary IPv6 address on this interface.
When configured, the DHCP client doesn’t form an Identity Association for Non-temporary Addresses (IA_NA) partnership. Consequently, it only obtains a temporary IPv6 address and doesn’t obtain a permanent one.
Example:
.. code-block:: none
set interfaces wwan wwan0 dhcpv6-options temporary
DHCPv6 Prefix Delegation (PD)
VyOS supports DHCPv6 Prefix Delegation (DHCPv6-PD) as described in :rfc:3633.
DHCPv6-PD is supported by most ISPs that provide native IPv6 for consumers on
fixed networks.
.. cfgcmd:: set interfaces wwan
Configure a specific prefix length for DHCPv6-PD requests on this interface.
Some ISPs provide only a /64 prefix by default. Use this command to
request a different prefix length for a specific DHCPv6-PD request,
ranging from /32 (if allowed by your ISP) down to /64.
The default value is 64.
To request a /56 prefix from your ISP, use:
.. code-block:: none
set interfaces wwan wwan0 dhcpv6-options pd 0 length 56
.. cfgcmd:: set interfaces wwan
Configure the IPv6 interface identifier (host portion) for the delegatee interface.
The value must be a decimal integer. It is appended to the delegated prefix
and the configured :abbr:SLA ID (Site-Level Aggregation ID) to form the
final IPv6 address.
By default, the host portion is generated based on the parent interface’s MAC address (EUI-64 format).
.. stop_vyoslinter
Example:
If a /64 prefix is delegated to interface eth8 and you configure the host portion as 65535, the resulting IPv6 address will end with ::ffff, as 65535 corresponds to ffff in hexadecimal notation.
.. start_vyoslinter
.. code-block:: none
set interfaces wwan wwan0 dhcpv6-options pd 0 interface eth8 address 65534
.. cfgcmd:: set interfaces wwan
Configure the :abbr:SLA ID (Site-Level Aggregation ID) for the
delegatee interface.
The value must be a decimal integer greater than 0 and fit in the length of SLA IDs. It is converted to hexadecimal and appended to the delegated prefix to form the specific subnet prefix for the delegatee interface.
Example:
If SLA ID is 1 and the delegated prefix is 2001:db8:ffff::/48, the
resulting subnet prefix for the delegatee interface will be
2001:db8:ffff:1::/64.
.. code-block:: none
set interfaces wwan wwan0 dhcpv6-options pd 0 interface eth8 sla-id 1
WWAN options
Operation
Show the operational status and traffic statistics for the specified WWAN interface.
vyos@vyos:~$ show interfaces wwan wwan0
wwan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
link/ether 02:c2:f3:00:01:02 brd ff:ff:ff:ff:ff:ff
inet 10.155.144.12/30 brd 10.155.144.15 scope global dynamic wwan0
valid_lft 7012sec preferred_lft 7012sec
inet6 fe80::c2:f3ff:fe00:0102/64 scope link
valid_lft forever preferred_lft forever
RX: bytes packets errors dropped overrun mcast
640 2 0 0 0 0
TX: bytes packets errors dropped carrier collisions
3229 16 0 0 0 0
Show WWAN module hardware characteristics and connection information.
vyos@vyos:~$ show interfaces wwan wwan0 summary
--------------------------------
General | dbus path: /org/freedesktop/ModemManager1/Modem/0
| device id: 79f4e9cc2e9fc8d4a3b8c8f6327c2e363170194d
--------------------------------
Hardware | manufacturer: Sierra Wireless, Incorporated
| model: MC7710
| revision: SWI9200X_03.05.29.03ap r6485 CNSHZ-ED-XP0031 2014/12/02 17:53:15
| h/w revision: 1.0
| supported: gsm-umts, lte
| current: gsm-umts, lte
| equipment id: 358xxxxxxxxxxxx
--------------------------------
System | device: /sys/devices/pci0000:00/0000:00:13.0/usb3/3-1/3-1.3
| drivers: qcserial, qmi_wwan
| plugin: Generic
| primary port: cdc-wdm0
| ports: ttyUSB0 (qcdm), ttyUSB2 (at), cdc-wdm0 (qmi), wwan0 (net)
--------------------------------
Numbers | own: 4917xxxxxxxx
--------------------------------
Status | lock: sim-pin2
| unlock retries: sim-pin (3), sim-pin2 (3), sim-puk (10), sim-puk2 (10)
| state: connected
| power state: on
| access tech: lte
| signal quality: 63% (recent)
--------------------------------
Modes | supported: allowed: 2g; preferred: none
| allowed: 3g; preferred: none
| allowed: 4g; preferred: none
| allowed: 2g, 3g; preferred: 3g
| allowed: 2g, 3g; preferred: 2g
| allowed: 2g, 4g; preferred: 4g
| allowed: 2g, 4g; preferred: 2g
| allowed: 3g, 4g; preferred: 3g
| allowed: 3g, 4g; preferred: 4g
| allowed: 2g, 3g, 4g; preferred: 4g
| allowed: 2g, 3g, 4g; preferred: 3g
| allowed: 2g, 3g, 4g; preferred: 2g
| current: allowed: 2g, 3g, 4g; preferred: 2g
--------------------------------
Bands | supported: egsm, dcs, pcs, utran-1, utran-8, eutran-1, eutran-3,
| eutran-7, eutran-8, eutran-20
| current: egsm, dcs, pcs, utran-1, utran-8, eutran-1, eutran-3,
| eutran-7, eutran-8, eutran-20
--------------------------------
IP | supported: ipv4, ipv6, ipv4v6
--------------------------------
3GPP | imei: 358xxxxxxxxxxxx
| operator id: 26201
| operator name: Telekom.de
| registration: home
--------------------------------
3GPP EPS | ue mode of operation: ps-1
--------------------------------
SIM | dbus path: /org/freedesktop/ModemManager1/SIM/0
--------------------------------
Bearer | dbus path: /org/freedesktop/ModemManager1/Bearer/0
Show WWAN module radio capabilities.
vyos@vyos:~$ show interfaces wwan wwan0 capabilities
Max TX channel rate: '50000000'
Max RX channel rate: '100000000'
Data Service: 'simultaneous-cs-ps'
SIM: 'supported'
Networks: 'gsm, umts, lte'
Bands: 'gsm-dcs-1800, gsm-900-extended, gsm-900-primary, gsm-pcs-1900, wcdma-2100, wcdma-900'
LTE bands: '1, 3, 7, 8, 20'
Show WWAN module firmware information.
vyos@vyos:~$ show interfaces wwan wwan0 firmware
Model: MC7710
Boot version: SWI9200X_03.05.29.03bt r6485 CNSHZ-ED-XP0031 2014/12/02 17:33:08
AMSS version: SWI9200X_03.05.29.03ap r6485 CNSHZ-ED-XP0031 2014/12/02 17:53:15
SKU ID: unknown
Package ID: unknown
Carrier ID: 0
Config version: unknown
Show WWAN module IMEI.
vyos@vyos:~$ show interfaces wwan wwan0 imei
ESN: '0'
IMEI: '358xxxxxxxxxxxx'
MEID: 'unknown'
Show the IMSI of the associated SIM card.
vyos@vyos:~$ show interfaces wwan wwan0 imsi
IMSI: '262xxxxxxxxxxxx'
Show WWAN module model.
vyos@vyos:~$ show interfaces wwan wwan0 model
Model: 'MC7710'
Show the MSISDN of the associated SIM card.
vyos@vyos:~$ show interfaces wwan wwan0 msisdn
MSISDN: '4917xxxxxxxx'
Show WWAN module hardware revision.
vyos@vyos:~$ show interfaces wwan wwan0 revision
Revision: 'SWI9200X_03.05.29.03ap r6485 CNSHZ-ED-XP0031 2014/12/02 17:53:15'
Show signal information for the cellular connection.
vyos@vyos:~$ show interfaces wwan wwan0 signal
LTE:
RSSI: '-74 dBm'
RSRQ: '-7 dB'
RSRP: '-100 dBm'
SNR: '13.0 dB'
Radio Interface: 'lte'
Active Band Class: 'eutran-3'
Active Channel: '1300'
Show WWAN module SIM card information.
vyos@vyos:~$ show interfaces wwan wwan0 sim
Provisioning applications:
Primary GW: slot '1', application '1'
Primary 1X: session doesn't exist
Secondary GW: session doesn't exist
Secondary 1X: session doesn't exist
Slot [1]:
Card state: 'present'
UPIN state: 'not-initialized'
UPIN retries: '0'
UPUK retries: '0'
Application [1]:
Application type: 'usim (2)'
Application state: 'ready'
Application ID:
A0:00:00:00:87:10:02:FF:49:94:20:89:03:10:00:00
Personalization state: 'ready'
UPIN replaces PIN1: 'no'
PIN1 state: 'disabled'
PIN1 retries: '3'
PUK1 retries: '10'
PIN2 state: 'enabled-not-verified'
PIN2 retries: '3'
PUK2 retries: '10'
Example
The following example shows how to configure a cellular connection using a Sierra Wireless MC7710 miniPCIe card that operates over USB despite its form factor. The card is installed in a PC Engines APU4.
set interfaces wwan wwan0 apn 'internet.telekom'
set interfaces wwan wwan0 address 'dhcp'
Supported hardware
The following WWAN modules have been successfully tested with a PC Engines APU4 board:
Sierra Wireless AirPrime MC7304 miniPCIe card (LTE)
Sierra Wireless AirPrime MC7430 miniPCIe card (LTE)
Sierra Wireless AirPrime MC7455 miniPCIe card (LTE)
Sierra Wireless AirPrime MC7710 miniPCIe card (LTE)
Huawei ME909u-521 miniPCIe card (LTE)
Huawei ME909s-120 miniPCIe card (LTE)
HP LT4120 Snapdragon X5 LTE
Firmware update
WWAN modules include reprogrammable firmware, and most vendors regularly provide updates for it.
Since VyOS communicates with these devices via the QMI interface, you can
update firmware directly within the system using the qmi-firmware-update
utility.
The following example shows how to update the firmware for a Sierra Wireless MC7710 module using the provided .cwe file.
$ sudo qmi-firmware-update --update -d 1199:68a2 \
9999999_9999999_9200_03.05.14.00_00_generic_000.000_001_SPKG_MC.cwe