HP lt4120 ROcky 9.0 not working

I have an (old) laptop, HP Elitebook G3, with HP, Inc HP lt4120 Snapdragon X5 LTE mobile modem.
It has USD device identifier 03f0:9d1d, that I can find in dmesg but, unfortunately, cannot use it to connect to Internet.

nmcli reports: Error: Connection activation failed: No suitable device found for this connection (device lo not available because device is strictly unmanaged).

In the installation phase I was able to configure GSM provider connections without problems.
Device is working fine (tested with a live image and with another operating system.)

Has worked as expected with Rocky 8.6

Any hints about ?

From dmesg:

[ 4.273652] usb 1-3: New USB device found, idVendor=03f0, idProduct=9d1d, bcdDevice= 2.28
[ 4.273655] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 4.273657] usb 1-3: Product: HP lt4120 Snapdragon X5 LTE
[ 4.273658] usb 1-3: Manufacturer: HP
[ 4.273659] usb 1-3: SerialNumber: 0123456789ABCDEF

usb_modeswitch output:

usb_modeswitch -v 03f0 -p 9d1d

Look for default devices …
Found devices in default mode (1)
Access device 002 on bus 001
Get the current device configuration …
Determining the active configuration failed (error -5). Abort

Any hints ?

Hmm. It should be supported by the Rocky Linux 9 kernel configuration: SOURCES/kernel-x86_64-rhel.config · r9 · staging / rpms / kernel · GitLab

Does anything show up in dmesg when you do the usb_modeswitch?

Look nothing is reported in dmesg

usb_modeswitch with -W report, in addition:

ibusb: error [op_get_active_config_descriptor] device unconfigured
Determining the active configuration failed (error -5). Abort

Certainly, the device have 3 distinct modes:

bNumConfigurations 3

No further suggestion on this topic ?
Here’s output from usb-devices:

T:  Bus=01 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#=  2 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  3
P:  Vendor=03f0 ProdID=9d1d Rev=02.28
S:  Manufacturer=HP
S:  Product=HP lt4120 Snapdragon X5 LTE
S:  SerialNumber=0123456789ABCDEF
C:  #Ifs= 0 Cfg#= 0 Atr= MxPwr=
cat: '/sys/bus/usb/devices/usb1/1-3/1-*:?.*/bInterfaceNumber': File or directory non existent
cat: '/sys/bus/usb/devices/usb1/1-3/1-*:?.*/bAlternateSetting': File or directory non existent
cat: '/sys/bus/usb/devices/usb1/1-3/1-*:?.*/bNumEndpoints': File or directory non existent
cat: '/sys/bus/usb/devices/usb1/1-3/1-*:?.*/bInterfaceClass': File or directory non existent
cat: '/sys/bus/usb/devices/usb1/1-3/1-*:?.*/bInterfaceSubClass': File or directory non existent
cat: '/sys/bus/usb/devices/usb1/1-3/1-*:?.*/bInterfaceProtocol': File or directory non existent
/usr/bin/usb-devices: riga 79: printf: (none): number not valid
I:  If#=0x Alt= 0 #EPs= 0 Cls=() Sub= Prot= Driver=

Device is certainly working. Booting from Win10 partition, device is identified and works flawlessly.

I have also a second device, identical, same results.
Nothng has changed moving to 9.1

Some words were tranlsated from Italian to English…

After digging around and mixing some information from other posts, related to old Fedora / CentOS relelases, i’ve tried to ad an udev rule, with the following sentences:

ACTION==“add|change”, ATTR{idVendor}==“03f0”, ATTR{idProduct}==“9d1d”, ATTR{bConfigurationValue}==“2”, ATTR{bConfigurationValue}:=“3”

rebooted laptop, now it’s working.