Built-in LTE pci modem on HP EliteBook 850 G5 not recognized under arch linux
Linux - Laptop and NetbookHaving a problem installing or configuring Linux on your laptop? Need help running Linux on your netbook? This forum is for you. This forum is for any topics relating to Linux and either traditional laptops or netbooks (such as the Asus EEE PC, Everex CloudBook or MSI Wind).
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Built-in LTE pci modem on HP EliteBook 850 G5 not recognized under arch linux
I'm trying to run LTE modem on HP EliteBook 850 G5. But seems that it's not recognized by the system. I got a message from modem manager:
Quote:
ModemManager[417]: <info> Couldn't check support for device '/sys/devices/pci0000:00/0000:00:1c.0/0000:01:00.0': not supported by any plugin
ModemManager[417]: <info> Couldn't check support for device '/sys/devices/pci0000:00/0000:00:1f.6': not supported by any plugin
Code:
$ sudo systemctl status ModemManager.service
● ModemManager.service - Modem Manager
Loaded: loaded (/usr/lib/systemd/system/ModemManager.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2018-07-06 19:43:46 CEST; 1h 44min ago
Main PID: 417 (ModemManager)
Tasks: 3 (limit: 4915)
Memory: 6.8M
CGroup: /system.slice/ModemManager.service
└─417 /usr/bin/ModemManager
systemd[1]: Starting Modem Manager...
ModemManager[417]: <info> ModemManager (version 1.8.0) starting in system bus...
systemd[1]: Started Modem Manager.
ModemManager[417]: <info> Couldn't check support for device '/sys/devices/pci0000:00/0000:00:1c.0/0000:01:00.0': not supported by any plugin
ModemManager[417]: <info> Couldn't check support for device '/sys/devices/pci0000:00/0000:00:1f.6': not supported by any plugin
$ uname -r
4.17.2-1-ARCH
$ udevadm info -a -p /sys/class/pci_bus/0000:01
looking at device '/devices/pci0000:00/0000:00:1c.0/pci_bus/0000:01':
KERNEL=="0000:01"
SUBSYSTEM=="pci_bus"
DRIVER==""
ATTR{cpuaffinity}=="ff"
ATTR{cpulistaffinity}=="0-7"
looking at parent device '/devices/pci0000:00/0000:00:1c.0':
KERNELS=="0000:00:1c.0"
SUBSYSTEMS=="pci"
DRIVERS=="pcieport"
ATTRS{ari_enabled}=="0"
ATTRS{broken_parity_status}=="0"
ATTRS{class}=="0x060400"
ATTRS{consistent_dma_mask_bits}=="32"
ATTRS{current_link_speed}=="2.5 GT/s"
ATTRS{current_link_width}=="1"
ATTRS{d3cold_allowed}=="1"
ATTRS{device}=="0x9d13"
ATTRS{devspec}==""
ATTRS{dma_mask_bits}=="32"
ATTRS{driver_override}=="(null)"
ATTRS{enable}=="1"
ATTRS{irq}=="19"
ATTRS{local_cpulist}=="0-7"
ATTRS{local_cpus}=="ff"
ATTRS{max_link_speed}=="8 GT/s"
ATTRS{max_link_width}=="1"
ATTRS{msi_bus}=="1"
ATTRS{numa_node}=="-1"
ATTRS{revision}=="0xf1"
ATTRS{secondary_bus_number}=="1"
ATTRS{subordinate_bus_number}=="1"
ATTRS{subsystem_device}=="0x83b2"
ATTRS{subsystem_vendor}=="0x103c"
ATTRS{vendor}=="0x8086"
looking at parent device '/devices/pci0000:00':
KERNELS=="pci0000:00"
SUBSYSTEMS==""
DRIVERS==""
From that output, no discernible mobile broadband device is present. This might be the case if the device is powered off for any reason. You can use rfkill to find the status, (which you may need to install first if it isn't already installed).
Code:
/usr/sbin/rfkill list
Anything reported as hard-blocked can only be enabled via a switch, button, key combo, or BIOS setting perhaps.
I missed the PCI output, especially since the HP Elitebook specs talk about LT4120 and LT4132 device options, and usually I've seen these types of devices connected to the USB bus. Reviewing this thread though, I now concur with Michael's assessment about the PCI-connected device not being supported yet (no kernel driver loaded). It appears to be an Intel® XMM™ 7360 LTE device. Given time though, I expect such support to come. For now, using an external mobile broadband device is the best course of action.
FWIW, I found a discussion involving the 7360 chipset and some users mention that the card can be put into PCI or USB mode, based on some connected pins (or possibly via a Windows driver). For Linux/Android kernel support the device must be operating in USB mode. Windows 10 supports the device in PCI mode. However, the complication seems to be that the laptop vendors have whitelists (in the BIOS) to explicitly restrict the devices to those officially sanctioned by them, and this means the devices can't be used in USB mode... https://forums.lenovo.com/t5/Linux-D...0/td-p/4067969
After reading this discussion through to the end, I'm not sure that Linux support will ever come, and choosing supported hardware is the only realistic option here.
The problem is that the laptop says that the module is not allowed (why hp? life is complicated why do you make it even more complicated!!!).
Anyway, I did the following: I turned off the computer without the WWAN card. Then once the computer was on, I suspended it and I plugged in the WWAN card with the scotch tape in the PCIE pins.
The card was detected by network manager and seemed to work, but I was unable to connect successfully to the internet; nonetheless this proves that the card can be connected using USB 3.0.
To make this solution permanent, I should find a way to disable the card detection during the boot process, however, before wasting more time, I bought a Huawei (HP lt4132) card compatible with my laptop from ebay to try it before going radical and putting a switch next to the kensingston hole in order to choose when to power or not the card. There's also a pin near the VCC that in theory is used to fully disable the card when is pulled down, but, in my motherboard is directly soldered to the neighbouring VCC pins.
I don't like the fact that the module is directly attached to the PCIE, as I am more exposed to DMA attacks from the obscure baseband firmware. The Huawei card, in theory works with the USB interface only, but, Huawei is under the control of the mainland Chinese government (which undermines security and invades privacy).
As you can see, there's no easy solution for now as the options are very limited.
Previously I had a dell computer, and I could plug any card I wanted, the only reason I bought that HP was for the Ryzen 2700U Pro.
Using these udev rules works perfect for the LT4132. Unfortunately only after fresh boot. If I suspend my computer, the modem is initialized in mode3 again, because it was without power in suspend mode, but is not reinitialized to mode 1, as the computer is resuming from where it was.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.