Note: does not work automatically through suspends. After resuming from a suspend, I need to run the following and wait a bit for the modem to show up again (as root):
setpci -s "0000:00:1c.0" "CAP_EXP+10.w=0052" printf "%s" "\_SB_.PCI0.RP01.PXSX._RST" > /proc/acpi/call
I have struggled to get LTE working in Arch Linux on my new X1 Carbon (7th Gen) on Arch Linux. Thanks to
@pradyungn on the Hack Club Slack for helping me out with this.
This is what ultimately worked for me:
$ uname -r 5.6.14-arch1-1
Install kernel module to convert modem to USB mode permanently on Linux:
- Clone https://github.com/juhovh/xmm7360_usb
make && sudo make install && sudo modprobe xmm7360_usb
- After modem boots into USB mode, unlock modem and set to MBIM mode (whatever that is, _this step is taken from
$ sudo screen /dev/ttyACM0
…then type in, one line at a time, the following:
at@nvm:fix_cat_fcclock.fcclock_mode? at@nvm:fix_cat_fcclock.fcclock_mode=0 at@store_nvm(fix_cat_fcclock) AT+GTUSBMODE? AT+GTUSBMODE=7 AT+CFUN? AT+CFUN=15
If you have previously messed around with ModemManager trying to get LTE working, make sure that
ModemManager.service is not running because it will mess with your ability to run the above commands.
Now set it up with your system. You must be using NetworkManager to manage your computer’s networking for the following steps to work. I switched from using netctl to NetworkManager to get this to work (I couldn’t figure out the configuration files for netctl).
sudo systemctl enable --now ModemManager
- Launch Modem Manager GUI. You should see something like the following:
If you do, green light. Good signs so far.
nm-connection-editor, create a new Mobile Broadband network, and follow the steps for your SIM card
nmtui> Activate a connection > Activate the LTE connection you just set it.
It should all be working now! At least it did for me by this point.
Notes: I also tried manually following the steps in https://github.com/xmm7360/xmm7360-usb-modeswitch and couldn’t figure it out, likely an issue on my end. I also tried out https://github.com/xmm7360/xmm7360-pci and similarly struggled to get it working.