Dell Latitude 7390

Installation
Installed from Xubuntu booted in EFI mode.

Firmware
Firmware from the Linux firmware package will be necessary:

After emerging linux-firmware, the savedconfig file may be modified and the package re-emerged so that it only installs firmware required for the device. As an example:

In order for this change to take effect, the savedconfig USE flag must be enabled.

And re-emerge the package:

Ensure that the Intel Wireless driver (iwlwifi) in the kernel built as a module to so that updated firmware can be found by the driver automatically.

The Intel video driver (i915) should also be built as a module for the reason listed above.

Touchpad
To enable the i2c touchpad, set the following kernel options.

After that, the Synaptics article can be followed.

Webcam
And add any users that need access to webcams to the video group to access the device:.

SmartCard Reader
The SmartCard reader (BCM5880) is often locked into "CV" mode, meaning that it is set to operate only through the Dell ControlVault2 Windows application. To unlock the reader, use the script available here.

To use the reader, the ccid driver needs to be installed:

Once both of the above steps have been performed, the SmartCard reader should be visible using the pcsc_scan utility (sys-apps/pcsc-tools).

WWAN
Modern kernels (5.6.13+, 5.4.41+, 4.19.123+) include support for the Dell Wireless 5816e in the cdc_mbim and qmi_wwan ethernet drivers, and the qc_serial interface driver.

The WWAN card can operate in either MBIM or QMI mode, and depending on USB composition will expose the following ports:

AT, NMEA and DM ports are interfaces that are provided by the qcserial driver:


 * The AT port is a Hayes command set (AT command) port, and can be used to control and check the status of the modem.
 * It is required in addition to the MBIM interface in order to establish a connection using GUI tools (Network Manager).
 * The NMEA port provides GPS NMEA strings, if enabled. The NMEA/GPS output can be enabled/disabled using AT commands.
 * The DM port is a serial diagnostic port.

The USB composition of the DW5816e can be changed using the swi_setusbcomp.pl script as long as the cdc-wdm0 interface is exposed in either MBIM or QMI mode. This will allow expose the interface for the desired driver.

Both the cdc_mbim and qmi_wwan drivers will provide the /dev/cdc-wdm0 device.

Before proceeding, ensure that the following interfaces exist in /dev:
 * cdc-wdm0 (MBIM/QMI)
 * ttyUSB0 (DM)
 * ttyUSB1 (NMEA)
 * ttyUSB2 (AT)

To test the modem is working, insert a SIM card, install libmbim and attempt to communicate with the device:

If the modem is working and configured correctly, a response should be received.

mbim-network can then be used to attempt to establish a network connection. If successful, the device should be managed by NetworkManager when the service is restarted. Ensure that the network is disconnected using mbim-network before attempting to manage the device with NetworkManager.

Firmware Updates
Firmware Updates for the DW5816e are available on the Sierra Wireless website.

The utility is used to update the firmware of Sierra Wireless Qualcomm-based devices. The tool supports both MBIM and QMI drivers / interfaces. If the utility is not available, install it:

Determine the appropriate firmware version then download it and extract the firmware. There should be two files: a .cwe and a .nvu.

If ModemManager is running, it must be killed. If on OpenRC, stop the NetworkManager service first to prevent it from respawning:

Finally, navigate to the directory containing your firmware files and run :

Troubleshooting
The exposed AT port can be used to send AT commands to the device using minicom to assist with troubleshooting.

Within minicom, Ctrl+A then E will enable local echo (display commands as they're typed).

Type ATI to get some basic device info - if communications are successful a response similar to the following should be received:

ATI

Manufacturer: Sierra Wireless, Incorporated Model: EM7430 Revision: SWI9X30C_02.26.01.00 r7120 CARMD-EV-FRMWR2 2017/09/15 18:38:46 MEID: 3############8 IMEI: 3#############4 IMEI SV: 11 FSN: LR8##########0 +GCAP: +CGSM

OK

An AT command reference can be found here (login required).

Kernel Config
A working example kernel config can be found here.