xmm7360 / xmm7360-pci

PCI driver for Fibocom L850-GL modem based on Intel XMM7360 modem
400 stars 81 forks source link

Current status on Fedora 40 (kernel version 6.8.8) #222

Open tuxor1337 opened 1 week ago

tuxor1337 commented 1 week ago

First of all, thanks for your work to all contributors in this repository!

I just wanted to report how I have been able to create an LTE internet connection on my Fedora 40 machine based on the code and knowledge stored in this repository (and pull requests).

My exact setup

PRs that I applied

General setup

$ sudo dnf install python3-pyroute2 python3-configargparse make automake gcc gcc-c++ kernel-devel
$ git clone https://github.com/xmm7360/xmm7360-pci
$ cd xmm7360-pci
$ git remote add mfournier https://github.com/mfournier/xmm7360-pci
$ git remote add bill88t https://github.com/bill88t/xmm7360-pci
$ git fetch --all --prune
$ git checkout -b develop
$ git merge mfournier/linux-6.6
$ git merge bill88t/master
$ make && make load
$ cp xmm7360.ini.sample xmm7360.ini
$ # edit xmm7360.ini by adapting the following:
$ # insert your apn in this line: apn=your.apn.here
$ # uncomment this line: noresolv=True
$ sudo python rpc/open_xdatachannel.py

Setting DNS name servers

In the output of the last command above, I found a line listing DNS entries, and I added them to systemd-resolved using the following command line (replace the IP addresses with your outputs):

$ resolvectl dns wwan0 62.109.121.18 62.109.121.17

Note that appending the DNS name servers to the /etc/resolv.conf as implemented in the open_xdatachannel.py script did not work for me!

Register device with NetworkManager

These steps will establish a working internet connection on my setup. However, the connection is not registered with NetworkManager. To achieve this, uncomment the line dbus=True in your xmm7360.ini and rerun the open_xdatachannel.py script. After that, the output of nmcli confirms that a new connection has been established, like this:

wwan0: connected to xmm7360
    "Intel XMM7360 Advanced"
    unknown (xmm7360), hw, mtu 1500
    inet4 10.117.252.0/32
    route4 10.117.252.0/32 metric 950
    route4 default via 10.117.252.0 metric 950
    inet6 2a02:3030:604:fa0d:9359:b803:fda8:674d/64
    inet6 fe80::7ea2:849e:4d8e:8e80/64
    route6 fe80::/64 metric 256
    route6 default via fe80::1 metric 1024

Note that the connection is shown as "unknown" type. It does not show up in the NetworkManager GUI (using GNOME). The NetworkManager status icon in the GNOME panel will show the icon that is also used for a wired LAN connection. It would be interesting to have a way to have this show up as a mobile broadband connection. However, I guess that this would be of no use as long as it is not managed with ModemManager.

Remaining steps (not Fedora-specific)

Following these steps, we can actually use this WWAN modem. However, it would be very much desirable to have the mainline Linux kernel and ModemManager pick up this work to seemlessly integrate the WWAN connection into the NetworkManager GUI. Here is my understanding why we are not there yet:

pswiatki commented 1 week ago

Very well, indeed. So, you are in essence saying the xmm7360 driver is no longer needed. Just the RPC interface, since the firmware from Fibocom does not support MM/NM preferred MBIM. We have been here already, but good summary, thanks.