Identify and Configure a WWAN Modem for PCI Passthrough

Introduction

WWAN modems are often present on the PCI bus, but some models are connected via an internal USB controller. If a WWAN modem is not visible on the PCI bus, you must identify it using its USB bus:port mapping.

This article is an addendum to Identify and Configure USB Devices for PCI Passthrough, and explains how to identify a USB-based WWAN modem and configure it as a new entity in your hardware model JSON file.

This is a series of articles. You will likely follow them in this order.

  1. Create a Hardware Model 
  2. Use the ZEDEDA CLI to Upload a Hardware Model
  3. Use ZCLI to Update a Hardware Model Logo

Considerations

Warning: Updates to an existing hardware model manifest in the Marketplace will be automatically reflected to ALL onboarded Edge Nodes in the Enterprise that reference the respective Model name. You should complete your testing in a lab environment first.

Prerequisites

Identify the WWAN Modem

If present on the PCI bus, you can identify a WWAN modem in EVE-OS CLI using the command lspci -kv.

If an expected modem is not visible on the PCI bus, you can use the command lsusb -tv for identification.

In the following example, the ‘“qmi_wwan” driver presence indicates that the wwan modem is associated with Bus01, Port 5.

Example: 

67d61819-7c87-4174-baa1-7c8a9bef5b65:~# lsusb -tv

Example Output:

/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 10000M
    ID 1d6b:0003  
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/10p, 480M
    ID 1d6b:0002  
    |__ Port 1: Dev 2, If 1, Class=, Driver=btusb, 12M
        ID 8087:0025  
    |__ Port 5: Dev 3, If 0, Class=, Driver=option, 480M
        ID 2c7c:0195  
    |__ Port 5: Dev 3, If 4, Class=, Driver=qmi_wwan, 480M
        ID 2c7c:0195 

You must reference bus:port mapping when creating a wwan entity in the hardware model file, and must follow the same USB_Device structure described in Identify and Configure USB Devices for PCI Passthrough.

Update the Hardware Model JSON

Edit your hardware model JSON file to add a new entity for the WWAN modem.

Example of wwan entity in hardware model manifest:

    {
      "ztype": "IO_TYPE_WWAN",
      "phylabel": "wwan0",
      "assigngrp": "wwan0",
      "parentassigngrp": "",
      "cost": 10,
      "phyaddrs": {
        "usbaddr": "1:5",
        "usbproduct": ""
      },
      "logicallabel": "wwan0",
      "usagePolicy": {}
    }

Upload and Verify the Model

Upload the hardware model manifest .json file via ZCLI, then confirm updates are reflected in the Adapters section of the Marketplace > Device Model.

Next Steps

This is a series of articles. You will likely follow them in this order.

  1. Create a Hardware Model 
  2. Use the ZEDEDA CLI to Upload a Hardware Model
  3. Use ZCLI to Update a Hardware Model Logo
Was this article helpful?
0 out of 0 found this helpful