Package Details: xmm7360-pci-spat-dkms-git 1:0-3

Git Clone URL: https://aur.archlinux.org/xmm7360-pci-spat-dkms-git.git (read-only, click to copy)
Package Base: xmm7360-pci-spat-dkms-git
Description: Driver for the Fibocom L850-GL / Intel XMM7360 LTE modem – module sources
Upstream URL: https://github.com/SimPilotAdamT/xmm7360-pci-SPAT
Licenses: GPL, BSD
Conflicts: xmm7360-pci-dkms-git, xmm7360-pci-utils-git
Provides: xmm7360-pci-spat-dkms
Replaces: xmm7360-pci-spat-dkms
Submitter: SimPilotAdamT
Maintainer: SimPilotAdamT
Last Packager: SimPilotAdamT
Votes: 5
Popularity: 0.013731
First Submitted: 2024-02-22 19:23 (UTC)
Last Updated: 2024-03-04 15:38 (UTC)

Dependencies (2)

Required by (1)

Sources (4)

Pinned Comments

thotypous commented on 2025-05-04 02:34 (UTC)

Orphaning this package since upstream is unmaintained. Please use the fork xmm7360-pci-spat-dkms-git instead.

Latest Comments

1 2 3 Next › Last »

SimPilotAdamT commented on 2025-05-18 10:53 (UTC) (edited on 2025-05-18 11:00 (UTC) by SimPilotAdamT)

@PeterRies

This is definitely an issue in my semi-upstream repo (https://github.com/SimPilotAdamT/xmm7360-pci-spat/), please open an issue there if you have a github account. Give all the info there that you have here, including any logs under dmesg | grep xmm7360 and journalctl -xe

Thankss

SimPilotAdamT commented on 2025-05-18 10:49 (UTC)

Seeing wwan0 as a device is expected behav iour iirc, shows up like that for me, just needs that lte script to start properly working.

PeterRies commented on 2025-05-18 10:15 (UTC)

BTW: My trial using the iosm driver only came from this (very up to date) comment

https://github.com/xmm7360/xmm7360-pci/issues/225#issuecomment-2887363546

(but did not work neither)

PeterRies commented on 2025-05-18 09:50 (UTC) (edited on 2025-05-18 10:08 (UTC) by PeterRies)

No, I just pulled to get the lte script. Did not 'make' anything or changed anything.

Meanwhile I switched back to your 'full' solution and installed both of your packages. In the end it's always the xdatachannel script throwing the error.

Looking into code of open_xdatachannel.py I found something trying to get the 'link' of wwan0 (line 95) - just a guess as I know some Python but no details when it comes to this ModemManager things.

Checking with 'ip a' I can see that the interface seems to be there and has an IP (?) but no link as the other interfaces...

(addresses are x-ed)

2: wwan0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
    link/none 
    inet xx.xx.14.71/32 scope global wwan0
       valid_lft forever preferred_lft forever
    inet6 xx80::xx32:xx4d:274a:6efd/64 scope link stable-privacy proto kernel_ll 
       valid_lft forever preferred_lft forever

compared to 
6: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether xx:xx:xx:xx:f2:6b brd ff:ff:ff:ff:ff:ff
    inet 192.168.178.140/24 brd 192.168.178.255 scope global dynamic noprefixroute wlan0
       valid_lft 604449sec preferred_lft 604449sec
    inet6 xx01:xx90:xx44:xx458:xxc5:1283:c58f:ddda/64 scope global dynamic noprefixroute 
       valid_lft 6851sec preferred_lft 3251sec
    inet6 xx1a:xxx2:xx39:0:xxea:xx04:c30:fcb5/64 scope global dynamic noprefixroute 
       valid_lft 6851sec preferred_lft 3251sec
    inet6 xx80::xxe75:xx39:xx47:eeee/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

$ nmcli show devices
...
GENERAL.DEVICE:                         wwan0
GENERAL.TYPE:                           unknown
GENERAL.HWADDR:                         (unbekannt)
GENERAL.MTU:                            1500
GENERAL.STATE:                          10 (nicht verwaltet)
GENERAL.CONNECTION:                     --
GENERAL.CON-PATH:                       --
IP4.ADDRESS[1]:                         xx.xx.xx.71/32
IP4.GATEWAY:                            --
IP6.ADDRESS[1]:                         fe80::xxxxxxxx/64
IP6.GATEWAY:                            --
IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 256

Hope this helps. At this time I am lost what xdatachannel script does.

SimPilotAdamT commented on 2025-05-18 09:35 (UTC) (edited on 2025-05-18 09:35 (UTC) by SimPilotAdamT)

@PeterRies

Just a question, when you git pulled only the utils did you edit the PKGBUILD to remove the dkms dependency? I originally set it so that the utils depended on the DKMS driver as a mandatory thing...

PeterRies commented on 2025-05-18 08:23 (UTC)

Reading through lots of threads that stuff should work now with iosm directly (incl. ModemManager) I removed your dkms-git package and rebooted.

The modem still is being detected, but not shown in ModemManager (as some threads said it would be there).

05:00.0 Wireless controller [0d40]: Intel Corporation XMM7360 LTE Advanced Modem (rev 01)
    Subsystem: Intel Corporation Device 0020
    Kernel driver in use: xmm7360
    Kernel modules: iosm

I now git pulled the utils to get the scripts back.

I tested with the sudo python3 rpc/open_xdatachannel.py --apn internet.t-d1.de command. Fist run gave me the giving up thing, second run ended in the Operation not permitted as posted yesterday.

Shortened outputs:

# first run
sudo python3 rpc/open_xdatachannel.py --apn internet.t-d1.de
DEBUG:pyroute2.netlink.core:preventing override of marshal <pyroute2.netlink.rtnl.marshal.MarshalRtnl object at 0x75525449c980> with None
DEBUG:pyroute2.netlink.core:preventing override of marshal <pyroute2.netlink.rtnl.marshal.MarshalRtnl object at 0x75525449c980> with <pyroute2.netlink.marshal.Marshal object at 0x75525449d010>
DEBUG:asyncio:Using selector: EpollSelector
RPC executing UtaMsSmsInit
b'1600000002040000001602040000003011000100020400000000'
...
unsolicited: UtaMsNetIsAttachAllowedIndCb: 0x0, 0xff, 0x1, 0x0
response: 0x0, 0xffffffff, 0x2, 0xa, 0xf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xa, 0xf, 0x0
ERROR:root:Attach failed again, giving up

# SECOND RUN
...
Traceback (most recent call last):
  File "/home/peter/Projekte/xmm7360-pci-spat/rpc/open_xdatachannel.py", line 107, in <module>
    ipr.route('add',
    ~~~~~~~~~^^^^^^^
              dst='default',
              ^^^^^^^^^^^^^^
              priority=cfg.metric,
              ^^^^^^^^^^^^^^^^^^^^
              oif=idx)
              ^^^^^^^^
  File "/usr/lib/python3.13/site-packages/pyroute2/netlink/core.py", line 754, in _run_with_cleanup
    return self.asyncore.event_loop.run_until_complete(
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        func(*argv, **kwarg)
        ^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/usr/lib/python3.13/asyncio/base_events.py", line 719, in run_until_complete
    return future.result()
           ~~~~~~~~~~~~~^^
  File "/usr/lib/python3.13/site-packages/pyroute2/iproute/linux.py", line 2723, in collect_op
    return await symbol(*argv, **kwarg)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/pyroute2/iproute/linux.py", line 2395, in route
    return [x async for x in request.response()]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/pyroute2/netlink/nlsocket.py", line 640, in response
    async for msg in self.sock.get(
    ...<14 lines>...
        yield msg
  File "/usr/lib/python3.13/site-packages/pyroute2/netlink/core.py", line 541, in get
    raise error
pyroute2.netlink.exceptions.NetlinkError: (95, 'Operation not supported')

PeterRies commented on 2025-05-17 11:39 (UTC) (edited on 2025-05-17 12:28 (UTC) by PeterRies)

First of all enjoy your holiday. It's of absolutely no urgency. This issue might only affect FIBOCOM 850 modems connected via PCI, where USB swapping is not possible. This is T14 Gen 1 AMD (and T495 AFAIK). You might not be able to reproduce on your P52.

(I edited this posting to reflect my latest and correct findings. SIM is working in my x270 Thinkpad.)

sudo lte setup
lte.sh: manage xmm7360-pci
APN: internet.t-d1.de


lte.sh: manage xmm7360-pci
APN: internet.t-d1.de

bringing wwan0 up!
DEBUG:pyroute2.netlink.core:preventing override of marshal <pyroute2.netlink.rtnl.marshal.MarshalRtnl object at 0x781efe994980> with None
DEBUG:pyroute2.netlink.core:preventing override of marshal <pyroute2.netlink.rtnl.marshal.MarshalRtnl object at 0x781efe994980> with <pyroute2.netlink.marshal.Marshal object at 0x781efe995010>
DEBUG:asyncio:Using selector: EpollSelector
RPC executing UtaMsSmsInit
b'1600000002040000001602040000003011000100020400000000'
response: 0x0
RPC executing UtaMsCbsInit
b'1600000002040000001602040000002511000100020400000000'
response: 0x0
RPC executing UtaMsNetOpen
b'1600000002040000001602040000005311000100020400000000'
response: 0x0
RPC executing UtaMsCallCsInit
b'1600000002040000001602040000002411000100020400000000'
response: 0x0
RPC executing UtaMsCallPsInitialize
b'1600000002040000001602040000003a11000100020400000000'
response: 0x0
RPC executing UtaMsSsInit
b'1600000002040000001602040000002611000100020400000000'
response: 0x0
RPC executing UtaMsSimOpenReq
b'1600000002040000001602040000000111000100020400000000'
response: 0x0
RPC executing CsiFccLockQueryReq
b'1c00000002040000001c02040000018e11000101020411000101020400000000'
async_ack: 0x0
response: 0x0, 0x0, 0x2
FCC lock: state 0 mode 2
RPC executing CsiFccLockGenChallengeReq
b'1c00000002040000001c02040000019011000101020411000101020400000000'
async_ack: 0x0
response: 0x0, 0x37fe3f27
RPC executing CsiFccLockVerChallengeReq
b'1c00000002040000001c0204000001921100010102041100010102041b3e43f2'
async_ack: 0x0
response: 0x1
RPC executing UtaModeSetReq
b'2200000002040000002202040000012f1100010002040000000002040000000f020400000001'
response: 0x0
.............. LINES SKIPPED .................
DEBUG:pyroute2.netlink.core:message {'attrs': [('NLMSGERR_ATTR_UNUSED', None)], 'header': {'length': 36, 'type': 2, 'flags': 256, 'sequence_number': 258, 'pid': 2487, 'error': None}, 'error': 0, 'event': 'NLMSG_ERROR'}
DEBUG:pyroute2.netlink.core:yield {'length': 36, 'type': 2, 'flags': 256, 'sequence_number': 258, 'pid': 2487, 'error': None, 'target': 'localhost', 'stats': Stats(qsize=0, delta=0, delay=0)}
DEBUG:pyroute2.netlink.core:get: 259 / None / None / False
DEBUG:pyroute2.netlink.core:await data on <pyroute2.netlink.core.CoreMessageQueue object at 0x781efe9957f0>
DEBUG:pyroute2.netlink.core:SOCK_DGRAM enqueue 64 bytes
DEBUG:pyroute2.netlink.core:message {'attrs': [('NLMSGERR_ATTR_UNUSED', None)], 'header': {'length': 64, 'type': 2, 'flags': 0, 'sequence_number': 259, 'pid': 2487, 'errmsg': {'attrs': [('RTA_PRIORITY', 1000), ('RTA_OIF', 2)], 'header': {'length': 44, 'type': 24, 'flags': 1541, 'sequence_number': 259, 'pid': 2487}, 'family': 0, 'dst_len': 0, 'src_len': 0, 'tos': 0, 'table': 254, 'proto': 4, 'scope': 0, 'type': 1, 'flags': 0}, 'error': NetlinkError(95, 'Operation not supported')}, 'error': -95, 'event': 'NLMSG_ERROR'}
Traceback (most recent call last):
  File "/usr/lib/xmm7360-pci-spat/rpc/open_xdatachannel.py", line 107, in <module>
    ipr.route('add',
    ~~~~~~~~~^^^^^^^
              dst='default',
              ^^^^^^^^^^^^^^
              priority=cfg.metric,
              ^^^^^^^^^^^^^^^^^^^^
              oif=idx)
              ^^^^^^^^
  File "/usr/lib/python3.13/site-packages/pyroute2/netlink/core.py", line 754, in _run_with_cleanup
    return self.asyncore.event_loop.run_until_complete(
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        func(*argv, **kwarg)
        ^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/usr/lib/python3.13/asyncio/base_events.py", line 719, in run_until_complete
    return future.result()
           ~~~~~~~~~~~~~^^
  File "/usr/lib/python3.13/site-packages/pyroute2/iproute/linux.py", line 2723, in collect_op
    return await symbol(*argv, **kwarg)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/pyroute2/iproute/linux.py", line 2395, in route
    return [x async for x in request.response()]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/pyroute2/netlink/nlsocket.py", line 640, in response
    async for msg in self.sock.get(
    ...<14 lines>...
        yield msg
  File "/usr/lib/python3.13/site-packages/pyroute2/netlink/core.py", line 541, in get
    raise error
pyroute2.netlink.exceptions.NetlinkError: (95, 'Operation not supported')

SimPilotAdamT commented on 2025-05-17 08:30 (UTC)

Hi @PeterRies

I'm actually not sure for this one, but it's gonna have to wait. I'm on holiday at the moment without my own ThinkPad so I can't do any troubleshooting/testing of my own for the next week or so.

Since you've already done some googling around I may have to go about it in the old fashioned way. When I get back I'll see if I can replicate, but if not we may need to call.

Just to check (I know we're arch users but I gotta ask), if your system fully up to date? Which kernel are you using?

Just so you know, I'm using a ThinkPad P52s using the Fibocom L850-GL (Lenovo FRU is 01AX792).

PeterRies commented on 2025-05-17 08:15 (UTC) (edited on 2025-05-17 12:25 (UTC) by PeterRies)

Hi @SimPilotAdamT,

thanks for forking and making it available in AUR for convenience. I had the original module up and running two years ago, but stopped using it due to issues. Now I tried it again with your module/utils. I get an error when 'sudo lte up' which I couldn't solve by googling aroung. May be you have an idea where to start...

Module is loading fine on my Thinkpad T14 Gen 1 AMD.

05:00.0 Wireless controller [0d40]: Intel Corporation XMM7360 LTE Advanced Modem (rev 01)
    Subsystem: Intel Corporation Device 0020
    Kernel driver in use: xmm7360
    Kernel modules: iosm, xmm7360

Rest of this postig deleted. Correct errormessage in my posting above...

thotypous commented on 2025-05-04 02:34 (UTC)

Orphaning this package since upstream is unmaintained. Please use the fork xmm7360-pci-spat-dkms-git instead.