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.
-
Create a Hardware Model
- Identify and Configure USB Devices for PCI Passthrough
- Identify and Configure a WWAN Modem for PCI Passthrough - You are here!
- Identify and Configure PCI Passthrough by Vendor ID
- Use the ZEDEDA CLI to Upload a Hardware Model
- 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
- You have an EVE-OS image installed on your edge device.
- You have access to the device (for example: SSH, ZCLI with ssh/console/vga/usb flags set via ZCLI if locked, or direct console & keyboard).
- You have read Identify and Configure USB Devices for PCI Passthrough.
- You are comfortable modifying and uploading a Hardware Model .json file.
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 -tvExample 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.
-
Create a Hardware Model
- Identify and Configure USB Devices for PCI Passthrough
- Identify and Configure a WWAN Modem for PCI Passthrough - You are here!
- Identify and Configure PCI Passthrough by Vendor ID
- Use the ZEDEDA CLI to Upload a Hardware Model
- Use ZCLI to Update a Hardware Model Logo