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, you can edit the savedconfig file and re-emerge so that it only installs firmware that you need on your device. As an example:

In order for this change to take effect, you need to enable the savedconfig use flag.

And re-emerge the package:

Ensure that the Intel Wifi driver (iwlwifi), in the kernel is set to a module to pick up the ever changing firmware name each kernel release modifies.

The Intel video driver (i915) should also be set to module to pick up power management firmware.

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

After that, the Synaptics article can be followed.

Webcam
And add a user to the video group to access the.

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
The Dell Wireless 5816e is currently supported by the cdc_mbim driver, but not by the qmi_wwan and qc_serial drivers.

Patches have been submitted upstream and should be available from 5.6.12+(?)

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 you to expose the interface for your desired driver.

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

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

To test that your modem is working, insert a SIM card and install libmbim and try to communicate with your device:

If the modem is working and configured correctly, you should receive a response.

You can then use mbim-network to attempt to establish a network connection. If it is successful, you should be able to configure the device through NetworkManager when you start the service again. Ensure that you disconnect from the network using mbim-network before you attempt to control the modem using NetworkManager.

Troubleshooting
If you can't see the QMI or ttyUSB interfaces, ensure that your kernel has support (hint: none do currently).

You can send AT commands via the AT port using minicom.

Within minicom, Ctrl+A then E will enable local echo (let you see what you're typing).

Type ATI to get some basic device info - you should see a response similar to the following:

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.