Fedora 42: tethering from my phone stopped working after upgrade, device recognized as wwan

Tethering worked on my Moto G7 Plus on Fedora 41, but stopped working on Fedora 42. I did see similar thread, but I did not see any instructions on how should I report a bug for this thing. Where should I report it?

Anyway I managed to waste some time trying to figure out what is going on, and it looks like my device is now tagged as “wwan”, so NetworkManager picks it up as a modem and not an ethernet device, ignoring it right away.
The device is now named “wwp0s20f0u3” which itself suggests something is wrong.

Here’s some more info from udev:

[zb3@zb3 ~]$ udevadm info /sys/class/net/wwp0s20f0u3
P: /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/net/wwp0s20f0u3
M: wwp0s20f0u3
R: 3
J: n7
U: net
T: wwan
I: 7
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/net/wwp0s20f0u3
E: SUBSYSTEM=net
E: DEVTYPE=wwan
E: INTERFACE=wwp0s20f0u3
E: IFINDEX=7
E: USEC_INITIALIZED=9075163384
E: ID_NET_DRIVER=rndis_host
E: ID_NET_NAMING_SCHEME=v257
E: ID_NET_NAME_MAC=wwx3a8423ac5f4a
E: ID_NET_NAME_PATH=wwp0s20f0u3
E: ID_BUS=usb
E: ID_MODEL=moto_g_7__plus
E: ID_MODEL_ENC=moto\x20g\x287\x29\x20plus
E: ID_MODEL_ID=9024
E: ID_SERIAL=motorola_moto_g_7__plus_ZY225CH38W
E: ID_SERIAL_SHORT=ZY225CH38W
E: ID_VENDOR=motorola
E: ID_VENDOR_ENC=motorola
E: ID_VENDOR_ID=05c6
E: ID_REVISION=0404
E: ID_TYPE=generic
E: ID_USB_MODEL=moto_g_7__plus
E: ID_USB_MODEL_ENC=moto\x20g\x287\x29\x20plus
E: ID_USB_MODEL_ID=9024
E: ID_USB_SERIAL=motorola_moto_g_7__plus_ZY225CH38W
E: ID_USB_SERIAL_SHORT=ZY225CH38W
E: ID_USB_VENDOR=motorola
E: ID_USB_VENDOR_ENC=motorola
E: ID_USB_VENDOR_ID=05c6
E: ID_USB_REVISION=0404
E: ID_USB_TYPE=generic
E: ID_USB_INTERFACES=:ef0401:0a0000:ff4201:
E: ID_USB_INTERFACE_NUM=00
E: ID_USB_DRIVER=rndis_host
E: ID_VENDOR_FROM_DATABASE=Qualcomm, Inc.
E: ID_MM_CANDIDATE=1
E: ID_PATH_WITH_USB_REVISION=pci-0000:00:14.0-usbv2-0:3:1.0
E: ID_PATH=pci-0000:00:14.0-usb-0:3:1.0
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_3_1_0
E: ID_NET_LINK_FILE=/usr/lib/systemd/network/99-default.link
E: ID_NET_NAME=wwp0s20f0u3
E: SYSTEMD_ALIAS=/sys/subsystem/net/devices/wwp0s20f0u3
E: TAGS=:systemd:
E: CURRENT_TAGS=:systemd:

If it is just a matter of NetworkManager ignoring it because of a udev tag, can you work around the problem by writing a rule to change or remove the tag?

If I knew how, I could try..
I’m not sure where the behaviour diverged, if it’s a kernel thing or an udev thing, I actually don’t know much about all this.

I’m still on 41. It’s just a guess, but does the following file differ on 42?

$ cat /usr/lib/udev/rules.d/80-mm-candidate.rules 
# do not edit this file, it will be overwritten on update

# Tag any devices that MM might be interested in; if ModemManager is started
# up right after udev, when MM explicitly requests devices on startup it may
# get devices that haven't had all rules run yet.  Thus, we tag devices we're
# interested in and when handling devices during MM startup we ignore any
# that don't have this tag.  MM will still get the udev 'add' event for the
# device a short while later and then process it as normal.

ACTION!="add|change|move|bind", GOTO="mm_candidate_end"

# Opening bound but disconnected Bluetooth RFCOMM ttys would initiate the
# connection. Don't do that.
KERNEL=="rfcomm*", DEVPATH=="*/virtual/*", GOTO="mm_candidate_end"

SUBSYSTEM=="tty", ENV{ID_MM_CANDIDATE}="1"
SUBSYSTEM=="net", ENV{ID_MM_CANDIDATE}="1"
KERNEL=="cdc-wdm*", SUBSYSTEM=="usbmisc", ENV{ID_MM_CANDIDATE}="1"

# WWAN subsystem port handling
#  - All USB devices ignored for now, only PCI devices expected
#  - Only "wwan_port" device types processed (single ports); we fully ignore
#    the "wwan_dev" device type (full device, not just one port)
SUBSYSTEMS=="usb", GOTO="mm_candidate_end"
SUBSYSTEM=="wwan", ENV{DEVTYPE}=="wwan_dev", GOTO="mm_candidate_end"
SUBSYSTEM=="wwan", ENV{ID_MM_CANDIDATE}="1"

LABEL="mm_candidate_end"

I don’t see any difference. Note that these rules don’t set the DEVTYPE (is it possible?), they only add ID_MM_CANDIDATE (if I even understood it at all).
In my case it shouldn’t even land in the “wwan” subsystem..

Well, I was wondering about that line that skips the MM processing for anything on the USB subsystem.

A better approach would probably be to run something like the following and see which files udev does process for your device.

$ sudo udevadm test -a add /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/net/wwp0s20f0u3

It should show which files are adding which tags.

UPDATE: It seems to be a kernel issue.. 6.13.9-200 works (even on fedora 42), 6.14.2-300 doesn’t.
So.. where do I report this?


I checked on my second device before upgrading to fedora 42, and even the device name was different - it was “enp0s26u1u4”.

Dmesg logs before upgrade:

[ 1824.503095] usbcore: registered new interface driver cdc_ether
[ 1824.508391] rndis_host 2-1.4:1.0 eth0: register 'rndis_host' at usb-0000:00:1a.0-1.4, RNDIS device, 66:25:91:27:42:ca
[ 1824.508426] usbcore: registered new interface driver rndis_host
[ 1824.520429] rndis_host 2-1.4:1.0 enp0s26u1u4: renamed from eth0

The test command:

$ sudo udevadm test -a add /devices/pci0000:00/0000:00:1a.0/usb2/2-1/2-1.4/2-1.4:1.0/net/enp0s26u1u4
This program is for debugging only, it does not run any program
specified by a RUN key. It may show incorrect results, because
some values may be different, or not available at a simulation run.

Trying to open "/etc/systemd/hwdb/hwdb.bin"...
Trying to open "/etc/udev/hwdb.bin"...
=== trie on-disk ===
tool version:          256
file size:        13361985 bytes
header size             80 bytes
strings            2703993 bytes
nodes             10657912 bytes
Loading kernel module index.
Loaded 'libkmod.so.2' via dlopen()
Found cgroup2 on /sys/fs/cgroup/, full unified hierarchy
Found container virtualization none.
Using default interface naming scheme 'v255'.
Parsed configuration file "/usr/lib/systemd/network/99-default.link"
Parsed configuration file "/usr/lib/systemd/network/98-default-mac-none.link"
Parsed configuration file "/usr/lib/systemd/network/80-vm-vt.link"
Parsed configuration file "/usr/lib/systemd/network/80-namespace-ns.link"
Parsed configuration file "/usr/lib/systemd/network/80-container-vz.link"
Parsed configuration file "/usr/lib/systemd/network/80-container-ve.link"
Parsed configuration file "/usr/lib/systemd/network/80-container-vb.link"
Parsed configuration file "/usr/lib/systemd/network/80-6rd-tunnel.link"
Created link configuration context.
Reading rules file: /usr/lib/udev/rules.d/01-md-raid-creating.rules
Reading rules file: /usr/lib/udev/rules.d/10-dm.rules
Reading rules file: /usr/lib/udev/rules.d/10-rtl-sdr.rules
Reading rules file: /usr/lib/udev/rules.d/11-dm-lvm.rules
Reading rules file: /usr/lib/udev/rules.d/11-dm-mpath.rules
Reading rules file: /usr/lib/udev/rules.d/11-dm-parts.rules
Reading rules file: /usr/lib/udev/rules.d/13-dm-disk.rules
Reading rules file: /usr/lib/udev/rules.d/39-usbmuxd.rules
Reading rules file: /usr/lib/udev/rules.d/40-libgphoto2.rules
Reading rules file: /usr/lib/udev/rules.d/40-usb-media-players.rules
Reading rules file: /usr/lib/udev/rules.d/40-usb_modeswitch.rules
Reading rules file: /usr/lib/udev/rules.d/50-udev-default.rules
Reading rules file: /usr/lib/udev/rules.d/56-hpmud.rules
Reading rules file: /usr/lib/udev/rules.d/60-autosuspend.rules
Reading rules file: /usr/lib/udev/rules.d/60-block-scheduler.rules
Reading rules file: /usr/lib/udev/rules.d/60-block.rules
Reading rules file: /usr/lib/udev/rules.d/60-cdrom_id.rules
Reading rules file: /usr/lib/udev/rules.d/60-dmi-id.rules
Reading rules file: /usr/lib/udev/rules.d/60-drm.rules
Reading rules file: /usr/lib/udev/rules.d/60-evdev.rules
Reading rules file: /usr/lib/udev/rules.d/60-fido-id.rules
Reading rules file: /usr/lib/udev/rules.d/60-infiniband.rules
Reading rules file: /usr/lib/udev/rules.d/60-input-id.rules
Reading rules file: /usr/lib/udev/rules.d/60-libjaylink.rules
Reading rules file: /usr/lib/udev/rules.d/60-mdevctl.rules
Reading rules file: /usr/lib/udev/rules.d/60-net.rules
Reading rules file: /usr/lib/udev/rules.d/60-nfs.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-alsa.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-input.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage-mtd.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage-tape.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-v4l.rules
Reading rules file: /usr/lib/udev/rules.d/60-sensor.rules
Reading rules file: /usr/lib/udev/rules.d/60-serial.rules
Reading rules file: /usr/lib/udev/rules.d/60-steam-input.rules
Reading rules file: /usr/lib/udev/rules.d/60-steam-vr.rules
Reading rules file: /usr/lib/udev/rules.d/60-tpm-udev.rules
Reading rules file: /usr/lib/udev/rules.d/60-upower-battery.rules
Reading rules file: /usr/lib/udev/rules.d/60-vboxdrv.rules
Reading rules file: /usr/lib/udev/rules.d/60-vboxguest.rules
Reading rules file: /usr/lib/udev/rules.d/60_flashrom.rules
Reading rules file: /usr/lib/udev/rules.d/61-gnome-settings-daemon-rfkill.rules
Reading rules file: /usr/lib/udev/rules.d/61-mutter.rules
Reading rules file: /usr/lib/udev/rules.d/62-multipath.rules
Reading rules file: /usr/lib/udev/rules.d/63-md-raid-arrays.rules
Reading rules file: /usr/lib/udev/rules.d/64-btrfs-dm.rules
Reading rules file: /usr/lib/udev/rules.d/64-btrfs-zoned.rules
Reading rules file: /usr/lib/udev/rules.d/64-btrfs.rules
Reading rules file: /usr/lib/udev/rules.d/64-ext4.rules
Reading rules file: /usr/lib/udev/rules.d/64-md-raid-assembly.rules
Reading rules file: /etc/udev/rules.d/65-brother-libsane-type1-inst.rules
/etc/udev/rules.d/65-brother-libsane-type1-inst.rules:14 Invalid key 'SYSFS'.
Reading rules file: /usr/lib/udev/rules.d/65-libwacom.rules
Reading rules file: /usr/lib/udev/rules.d/65-persistent-net-nbft.rules
Reading rules file: /usr/lib/udev/rules.d/65-sane-backends.rules
Reading rules file: /usr/lib/udev/rules.d/66-kpartx.rules
Reading rules file: /usr/lib/udev/rules.d/68-del-part-nodes.rules
Reading rules file: /usr/lib/udev/rules.d/69-bcache.rules
Reading rules file: /usr/lib/udev/rules.d/69-cd-sensors.rules
Reading rules file: /usr/lib/udev/rules.d/69-dm-lvm.rules
Reading rules file: /usr/lib/udev/rules.d/69-libftdi.rules
Reading rules file: /usr/lib/udev/rules.d/69-libmtp.rules
Reading rules file: /usr/lib/udev/rules.d/69-md-clustered-confirm-device.rules
Reading rules file: /usr/lib/udev/rules.d/70-camera.rules
Reading rules file: /usr/lib/udev/rules.d/70-hypervfcopy.rules
Reading rules file: /usr/lib/udev/rules.d/70-hypervkvp.rules
Reading rules file: /usr/lib/udev/rules.d/70-hypervvss.rules
Reading rules file: /usr/lib/udev/rules.d/70-infrared.rules
Reading rules file: /usr/lib/udev/rules.d/70-joystick.rules
Reading rules file: /usr/lib/udev/rules.d/70-libcamera.rules
Reading rules file: /usr/lib/udev/rules.d/70-libfprint-2.rules
Reading rules file: /usr/lib/udev/rules.d/70-memory.rules
Reading rules file: /usr/lib/udev/rules.d/70-mouse.rules
Reading rules file: /usr/lib/udev/rules.d/70-nvmf-autoconnect.rules
Reading rules file: /usr/lib/udev/rules.d/70-power-switch.rules
Reading rules file: /usr/lib/udev/rules.d/70-printers.rules
Reading rules file: /usr/lib/udev/rules.d/70-spice-vdagentd.rules
Reading rules file: /usr/lib/udev/rules.d/70-touchpad.rules
Reading rules file: /usr/lib/udev/rules.d/70-uaccess.rules
Reading rules file: /usr/lib/udev/rules.d/70-wacom.rules
Reading rules file: /usr/lib/udev/rules.d/71-nvmf-netapp.rules
Reading rules file: /usr/lib/udev/rules.d/71-seat.rules
Reading rules file: /usr/lib/udev/rules.d/73-seat-late.rules
Reading rules file: /usr/lib/udev/rules.d/75-net-description.rules
Reading rules file: /usr/lib/udev/rules.d/75-probe_mtd.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-broadmobi-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-cinterion-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-dell-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-dlink-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-ericsson-mbm.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-fibocom-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-foxconn-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-gosuncn-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-haier-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-huawei-net-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-linktop-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-longcheer-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-mtk-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-nokia-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-qcom-soc.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-quectel-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-sierra.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-simtech-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-telit-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-tplink-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-ublox-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-x22x-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-zte-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/78-sound-card.rules
Reading rules file: /usr/lib/udev/rules.d/80-drivers.rules
Reading rules file: /usr/lib/udev/rules.d/80-iio-sensor-proxy.rules
Reading rules file: /usr/lib/udev/rules.d/80-libinput-device-groups.rules
Reading rules file: /usr/lib/udev/rules.d/80-mm-candidate.rules
Reading rules file: /usr/lib/udev/rules.d/80-net-setup-link.rules
Reading rules file: /usr/lib/udev/rules.d/80-pktsetup.rules
Reading rules file: /usr/lib/udev/rules.d/80-stelladaptor-joystick.rules
Reading rules file: /usr/lib/udev/rules.d/80-udisks2.rules
Reading rules file: /usr/lib/udev/rules.d/80-uvcdynctrl.rules
Reading rules file: /usr/lib/udev/rules.d/81-net-dhcp.rules
Reading rules file: /usr/lib/udev/rules.d/84-nm-drivers.rules
Reading rules file: /usr/lib/udev/rules.d/85-nm-unmanaged.rules
Reading rules file: /usr/lib/udev/rules.d/85-regulatory.rules
Reading rules file: /usr/lib/udev/rules.d/90-alsa-restore.rules
Reading rules file: /usr/lib/udev/rules.d/90-bolt.rules
Reading rules file: /usr/lib/udev/rules.d/90-fwupd-devices.rules
Reading rules file: /usr/lib/udev/rules.d/90-iocost.rules
Reading rules file: /usr/lib/udev/rules.d/90-libgpod.rules
Reading rules file: /usr/lib/udev/rules.d/90-libinput-fuzz-override.rules
Reading rules file: /usr/lib/udev/rules.d/90-nm-thunderbolt.rules
Reading rules file: /usr/lib/udev/rules.d/90-pipewire-alsa.rules
Reading rules file: /usr/lib/udev/rules.d/90-vconsole.rules
Reading rules file: /usr/lib/udev/rules.d/90-wireshark-usbmon.rules
Reading rules file: /usr/lib/udev/rules.d/91-drm-modeset.rules
Reading rules file: /usr/lib/udev/rules.d/95-cd-devices.rules
Reading rules file: /usr/lib/udev/rules.d/95-dm-notify.rules
Reading rules file: /usr/lib/udev/rules.d/95-upower-hid.rules
Reading rules file: /usr/lib/udev/rules.d/95-upower-wup.rules
Reading rules file: /usr/lib/udev/rules.d/98-kexec.rules
Reading rules file: /usr/lib/udev/rules.d/98-trace-cmd.rules
Reading rules file: /usr/lib/udev/rules.d/99-nfs.rules
Reading rules file: /usr/lib/udev/rules.d/99-qemu-guest-agent.rules
Reading rules file: /usr/lib/udev/rules.d/99-systemd.rules
Reading rules file: /usr/lib/udev/rules.d/99-vmware-scsi-udev.rules
Reading rules file: /usr/lib/udev/rules.d/99-z-dm-mpath-late.rules
sd-device: Failed to chase symlinks in "/devices/pci0000:00/0000:00:1a.0/usb2/2-1/2-1.4/2-1.4:1.0/net/enp0s26u1u4".
enp0s26u1u4: /usr/lib/udev/rules.d/50-udev-default.rules:31 Importing properties from results of builtin command 'net_driver'
enp0s26u1u4: /usr/lib/udev/rules.d/60-net.rules:1 Running PROGRAM="/lib/udev/rename_device"
enp0s26u1u4: Running in test mode, skipping execution of '/lib/udev/rename_device'.
enp0s26u1u4: /usr/lib/udev/rules.d/75-net-description.rules:6 Importing properties from results of builtin command 'hwdb 'net:naming:drrndis_host:''
enp0s26u1u4: No entry found from hwdb.
enp0s26u1u4: /usr/lib/udev/rules.d/75-net-description.rules:6 Failed to run builtin 'hwdb 'net:naming:drrndis_host:'': No data available
enp0s26u1u4: /usr/lib/udev/rules.d/75-net-description.rules:8 Importing properties from results of builtin command 'net_id'
enp0s26u1u4: MAC address identifier: hw_addr=66:25:91:27:42:ca → x6625912742ca
sd-device: Failed to chase symlinks in "/sys/devices/pci0000:00/0000:00:1a.0/usb2/2-1/2-1.4/2-1.4:1.0/of_node".
2-1.4:1.0: Failed to get 'of_node' child device: No such device
2-1.4:1.0: USB name identifier: ports=1u4 config=n/a interface=n/a → u1u4
enp0s26u1u4: PCI path identifier: domain=n/a bus_and_slot=p0s26 func=n/a port=n/a → enp0s26u1u4
enp0s26u1u4: Could not get bcma parent device: No such file or directory
enp0s26u1u4: /usr/lib/udev/rules.d/75-net-description.rules:10 Importing properties from results of builtin command 'usb_id'
2-1.4:1.0: if_class:239 protocol:0
enp0s26u1u4: /usr/lib/udev/rules.d/75-net-description.rules:10 Importing properties from results of builtin command 'hwdb --subsystem=usb'
enp0s26u1u4: hwdb modalias key: "usb:v05C6p9024d0404dc00dsc00dp00icEFisc04ip01in00"
enp0s26u1u4: /usr/lib/udev/rules.d/80-net-setup-link.rules:5 Importing properties from results of builtin command 'path_id'
enp0s26u1u4: /usr/lib/udev/rules.d/80-net-setup-link.rules:9 Importing properties from results of builtin command 'net_setup_link'
enp0s26u1u4: Device has name_assign_type=4
enp0s26u1u4: Device has addr_assign_type=0
enp0s26u1u4: Config file /usr/lib/systemd/network/99-default.link is applied
enp0s26u1u4: Running in test mode, skipping application of ethtool settings.
enp0s26u1u4: Running in test mode, skipping application of rtnl settings.
enp0s26u1u4: Policy *keep*: keeping existing userspace name
enp0s26u1u4: Running in test mode, skipping application of SR-IOV settings.
enp0s26u1u4: Running in test mode, skipping application of RPS setting.
enp0s26u1u4: /usr/lib/udev/rules.d/80-net-setup-link.rules:11 NAME 'enp0s26u1u4'
enp0s26u1u4: /usr/lib/udev/rules.d/99-systemd.rules:71 RUN '/usr/lib/systemd/systemd-sysctl --prefix=/net/ipv4/conf/$name --prefix=/net/ipv4/neigh/$name --prefix=/net/ipv6/conf/$name --prefix=/net/ipv6/neigh/$name'
Properties:
  DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb2/2-1/2-1.4/2-1.4:1.0/net/enp0s26u1u4
  INTERFACE=enp0s26u1u4
  IFINDEX=5
  ACTION=add
  SUBSYSTEM=net
  TAGS=:systemd:
  ID_NET_DRIVER=rndis_host
  ID_NET_NAMING_SCHEME=v255
  ID_NET_NAME_MAC=enx6625912742ca
  ID_NET_NAME_PATH=enp0s26u1u4
  ID_BUS=usb
  ID_MODEL=moto_g_7__plus
  ID_MODEL_ENC=moto\x20g\x287\x29\x20plus
  ID_MODEL_ID=9024
  ID_SERIAL=motorola_moto_g_7__plus_ZY225CH38W
  ID_SERIAL_SHORT=ZY225CH38W
  ID_VENDOR=motorola
  ID_VENDOR_ENC=motorola
  ID_VENDOR_ID=05c6
  ID_REVISION=0404
  ID_TYPE=generic
  ID_USB_MODEL=moto_g_7__plus
  ID_USB_MODEL_ENC=moto\x20g\x287\x29\x20plus
  ID_USB_MODEL_ID=9024
  ID_USB_SERIAL=motorola_moto_g_7__plus_ZY225CH38W
  ID_USB_SERIAL_SHORT=ZY225CH38W
  ID_USB_VENDOR=motorola
  ID_USB_VENDOR_ENC=motorola
  ID_USB_VENDOR_ID=05c6
  ID_USB_REVISION=0404
  ID_USB_TYPE=generic
  ID_USB_INTERFACES=:ef0401:0a0000:ff4201:
  ID_USB_INTERFACE_NUM=00
  ID_USB_DRIVER=rndis_host
  ID_VENDOR_FROM_DATABASE=Qualcomm, Inc.
  .MM_USBIFNUM=00
  ID_MM_CANDIDATE=1
  ID_PATH_WITH_USB_REVISION=pci-0000:00:1a.0-usbv2-0:1.4:1.0
  ID_PATH=pci-0000:00:1a.0-usb-0:1.4:1.0
  ID_PATH_TAG=pci-0000_00_1a_0-usb-0_1_4_1_0
  ID_NET_LINK_FILE=/usr/lib/systemd/network/99-default.link
  ID_NET_NAME=enp0s26u1u4
  CURRENT_TAGS=:systemd:
  SYSTEMD_ALIAS=/sys/subsystem/net/devices/enp0s26u1u4
  USEC_INITIALIZED=1824062500
  ID_PROCESSING=1
Tags:
  systemd
Network interface name:
  enp0s26u1u4
Alternative interface names:
  enp0s26u1u4
Queued commands:
  RUN{program} : /usr/lib/systemd/systemd-sysctl --prefix=/net/ipv4/conf/enp0s26u1u4 --prefix=/net/ipv4/neigh/enp0s26u1u4 --prefix=/net/ipv6/conf/enp0s26u1u4 --prefix=/net/ipv6/neigh/enp0s26u1u4
Unload kernel module index.
Unloaded link configuration context.

After upgrading to fedora 42, the name starts with ww..

[  350.778419] usbcore: registered new interface driver cdc_ether
[  350.786216] rndis_host 2-1.4:1.0 wwan0: register 'rndis_host' at usb-0000:00:1a.0-1.4, Mobile Broadband RNDIS device, 06:ff:1c:24:83:f1
[  350.786255] usbcore: registered new interface driver rndis_host
[  350.797368] rndis_host 2-1.4:1.0 wwp0s26u1u4: renamed from wwan0
$ sudo udevadm test -a add /devices/pci0000:00/0000:00:1a.0/usb2/2-1/2-1.4/2-1.4:1.0/net/wwp0s26u1u4
This program is for debugging only, it does not run any program
specified by a RUN key. It may show incorrect results, because
some values may be different, or not available at a simulation run.

Trying to open "/etc/systemd/hwdb/hwdb.bin"...
Trying to open "/etc/udev/hwdb.bin"...
=== trie on-disk ===
tool version:          257
file size:        13381219 bytes
header size             80 bytes
strings            2704843 bytes
nodes             10676296 bytes
Loading kernel module index.
Loaded 'libkmod.so.2' via dlopen()
Found container virtualization none.
Using default interface naming scheme 'v257'.
Parsed configuration file "/usr/lib/systemd/network/99-default.link"
Parsed configuration file "/usr/lib/systemd/network/98-default-mac-none.link"
Parsed configuration file "/usr/lib/systemd/network/80-vm-vt.link"
Parsed configuration file "/usr/lib/systemd/network/80-namespace-ns.link"
Parsed configuration file "/usr/lib/systemd/network/80-container-vz.link"
Parsed configuration file "/usr/lib/systemd/network/80-container-ve.link"
Parsed configuration file "/usr/lib/systemd/network/80-container-vb.link"
Parsed configuration file "/usr/lib/systemd/network/80-6rd-tunnel.link"
Created link configuration context.
Reading rules file: /usr/lib/udev/rules.d/01-md-raid-creating.rules
Reading rules file: /usr/lib/udev/rules.d/10-dm.rules
Reading rules file: /usr/lib/udev/rules.d/10-rtl-sdr.rules
Reading rules file: /usr/lib/udev/rules.d/11-dm-lvm.rules
Reading rules file: /usr/lib/udev/rules.d/11-dm-mpath.rules
Reading rules file: /usr/lib/udev/rules.d/11-dm-parts.rules
Reading rules file: /usr/lib/udev/rules.d/13-dm-disk.rules
Reading rules file: /usr/lib/udev/rules.d/39-usbmuxd.rules
Reading rules file: /usr/lib/udev/rules.d/40-libgphoto2.rules
Reading rules file: /usr/lib/udev/rules.d/40-usb-media-players.rules
Reading rules file: /usr/lib/udev/rules.d/40-usb_modeswitch.rules
Reading rules file: /usr/lib/udev/rules.d/50-udev-default.rules
Reading rules file: /usr/lib/udev/rules.d/56-hpmud.rules
Reading rules file: /usr/lib/udev/rules.d/60-autosuspend.rules
Reading rules file: /usr/lib/udev/rules.d/60-block-scheduler.rules
Reading rules file: /usr/lib/udev/rules.d/60-block.rules
Reading rules file: /usr/lib/udev/rules.d/60-cdrom_id.rules
Reading rules file: /usr/lib/udev/rules.d/60-dmi-id.rules
Reading rules file: /usr/lib/udev/rules.d/60-drm.rules
Reading rules file: /usr/lib/udev/rules.d/60-evdev.rules
Reading rules file: /usr/lib/udev/rules.d/60-fido-id.rules
Reading rules file: /usr/lib/udev/rules.d/60-infiniband.rules
Reading rules file: /usr/lib/udev/rules.d/60-input-id.rules
Reading rules file: /usr/lib/udev/rules.d/60-libjaylink.rules
Reading rules file: /usr/lib/udev/rules.d/60-mdevctl.rules
Reading rules file: /usr/lib/udev/rules.d/60-net.rules
Reading rules file: /usr/lib/udev/rules.d/60-nfs.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-alsa.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-input.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage-mtd.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage-tape.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-v4l.rules
Reading rules file: /usr/lib/udev/rules.d/60-sensor.rules
Reading rules file: /usr/lib/udev/rules.d/60-serial.rules
Reading rules file: /usr/lib/udev/rules.d/60-steam-input.rules
Reading rules file: /usr/lib/udev/rules.d/60-steam-vr.rules
Reading rules file: /usr/lib/udev/rules.d/60-tpm-udev.rules
Reading rules file: /usr/lib/udev/rules.d/60-upower-battery.rules
Reading rules file: /usr/lib/udev/rules.d/60-vboxdrv.rules
Reading rules file: /usr/lib/udev/rules.d/60-vboxguest.rules
Reading rules file: /usr/lib/udev/rules.d/60_flashrom.rules
Reading rules file: /usr/lib/udev/rules.d/61-gnome-settings-daemon-rfkill.rules
Reading rules file: /usr/lib/udev/rules.d/61-mutter.rules
Reading rules file: /usr/lib/udev/rules.d/62-multipath.rules
Reading rules file: /usr/lib/udev/rules.d/63-md-raid-arrays.rules
Reading rules file: /usr/lib/udev/rules.d/64-btrfs-dm.rules
Reading rules file: /usr/lib/udev/rules.d/64-btrfs-zoned.rules
Reading rules file: /usr/lib/udev/rules.d/64-btrfs.rules
Reading rules file: /usr/lib/udev/rules.d/64-ext4.rules
Reading rules file: /usr/lib/udev/rules.d/64-md-raid-assembly.rules
Reading rules file: /etc/udev/rules.d/65-brother-libsane-type1-inst.rules
/etc/udev/rules.d/65-brother-libsane-type1-inst.rules:14 Invalid key 'SYSFS'.
Reading rules file: /usr/lib/udev/rules.d/65-libwacom.rules
Reading rules file: /usr/lib/udev/rules.d/65-persistent-net-nbft.rules
Reading rules file: /usr/lib/udev/rules.d/65-sane-backends.rules
Reading rules file: /usr/lib/udev/rules.d/66-kpartx.rules
Reading rules file: /usr/lib/udev/rules.d/68-del-part-nodes.rules
Reading rules file: /usr/lib/udev/rules.d/69-bcache.rules
Reading rules file: /usr/lib/udev/rules.d/69-cd-sensors.rules
Reading rules file: /usr/lib/udev/rules.d/69-dm-lvm.rules
Reading rules file: /usr/lib/udev/rules.d/69-libftdi.rules
Reading rules file: /usr/lib/udev/rules.d/69-libmtp.rules
Reading rules file: /usr/lib/udev/rules.d/69-md-clustered-confirm-device.rules
Reading rules file: /usr/lib/udev/rules.d/70-camera.rules
Reading rules file: /usr/lib/udev/rules.d/70-hypervfcopy.rules
Reading rules file: /usr/lib/udev/rules.d/70-hypervkvp.rules
Reading rules file: /usr/lib/udev/rules.d/70-hypervvss.rules
Reading rules file: /usr/lib/udev/rules.d/70-infrared.rules
Reading rules file: /usr/lib/udev/rules.d/70-joystick.rules
Reading rules file: /usr/lib/udev/rules.d/70-libcamera.rules
Reading rules file: /usr/lib/udev/rules.d/70-libfprint-2.rules
Reading rules file: /usr/lib/udev/rules.d/70-memory.rules
Reading rules file: /usr/lib/udev/rules.d/70-mouse.rules
Reading rules file: /usr/lib/udev/rules.d/70-nvmf-autoconnect.rules
Reading rules file: /usr/lib/udev/rules.d/70-nvmf-keys.rules
Reading rules file: /usr/lib/udev/rules.d/70-power-switch.rules
Reading rules file: /usr/lib/udev/rules.d/70-printers.rules
Reading rules file: /usr/lib/udev/rules.d/70-spice-vdagentd.rules
Reading rules file: /usr/lib/udev/rules.d/70-touchpad.rules
Reading rules file: /usr/lib/udev/rules.d/70-uaccess.rules
Reading rules file: /usr/lib/udev/rules.d/70-wacom.rules
Reading rules file: /usr/lib/udev/rules.d/71-nvmf-netapp.rules
Reading rules file: /usr/lib/udev/rules.d/71-seat.rules
Reading rules file: /usr/lib/udev/rules.d/73-seat-late.rules
Reading rules file: /usr/lib/udev/rules.d/75-net-description.rules
Reading rules file: /usr/lib/udev/rules.d/75-probe_mtd.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-broadmobi-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-cinterion-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-dell-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-dlink-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-ericsson-mbm.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-fibocom-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-foxconn-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-gosuncn-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-haier-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-huawei-net-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-linktop-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-longcheer-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-mtk-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-nokia-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-qcom-soc.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-quectel-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-sierra.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-simtech-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-telit-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-tplink-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-ublox-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-x22x-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-zte-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/78-sound-card.rules
Reading rules file: /usr/lib/udev/rules.d/80-drivers.rules
Reading rules file: /usr/lib/udev/rules.d/80-iio-sensor-proxy.rules
Reading rules file: /usr/lib/udev/rules.d/80-libinput-device-groups.rules
Reading rules file: /usr/lib/udev/rules.d/80-mm-candidate.rules
Reading rules file: /usr/lib/udev/rules.d/80-net-setup-link.rules
Reading rules file: /usr/lib/udev/rules.d/80-pktsetup.rules
Reading rules file: /usr/lib/udev/rules.d/80-stelladaptor-joystick.rules
Reading rules file: /usr/lib/udev/rules.d/80-udisks2.rules
Reading rules file: /usr/lib/udev/rules.d/80-uvcdynctrl.rules
Reading rules file: /usr/lib/udev/rules.d/81-net-dhcp.rules
Reading rules file: /usr/lib/udev/rules.d/84-nm-drivers.rules
Reading rules file: /usr/lib/udev/rules.d/85-nm-unmanaged.rules
Reading rules file: /usr/lib/udev/rules.d/85-regulatory.rules
Reading rules file: /usr/lib/udev/rules.d/90-alsa-restore.rules
Reading rules file: /usr/lib/udev/rules.d/90-bolt.rules
Reading rules file: /usr/lib/udev/rules.d/90-iocost.rules
Reading rules file: /usr/lib/udev/rules.d/90-libgpod.rules
Reading rules file: /usr/lib/udev/rules.d/90-libinput-fuzz-override.rules
Reading rules file: /usr/lib/udev/rules.d/90-nm-thunderbolt.rules
Reading rules file: /usr/lib/udev/rules.d/90-pipewire-alsa.rules
Reading rules file: /usr/lib/udev/rules.d/90-vconsole.rules
Reading rules file: /usr/lib/udev/rules.d/90-wireshark-usbmon.rules
Reading rules file: /usr/lib/udev/rules.d/91-drm-modeset.rules
Reading rules file: /usr/lib/udev/rules.d/95-cd-devices.rules
Reading rules file: /usr/lib/udev/rules.d/95-dm-notify.rules
Reading rules file: /usr/lib/udev/rules.d/95-upower-hid.rules
Reading rules file: /usr/lib/udev/rules.d/95-upower-wup.rules
Reading rules file: /usr/lib/udev/rules.d/98-kexec.rules
Reading rules file: /usr/lib/udev/rules.d/98-trace-cmd.rules
Reading rules file: /usr/lib/udev/rules.d/99-nfs.rules
Reading rules file: /usr/lib/udev/rules.d/99-qemu-guest-agent.rules
Reading rules file: /usr/lib/udev/rules.d/99-systemd.rules
Reading rules file: /usr/lib/udev/rules.d/99-vmware-scsi-udev.rules
Reading rules file: /usr/lib/udev/rules.d/99-z-dm-mpath-late.rules
sd-device: Failed to chase symlinks in "/devices/pci0000:00/0000:00:1a.0/usb2/2-1/2-1.4/2-1.4:1.0/net/wwp0s26u1u4".
wwp0s26u1u4: /usr/lib/udev/rules.d/50-udev-default.rules:31 Importing properties from results of builtin command 'net_driver'
wwp0s26u1u4: /usr/lib/udev/rules.d/60-net.rules:1 Running PROGRAM="/lib/udev/rename_device"
wwp0s26u1u4: Running in test mode, skipping execution of '/lib/udev/rename_device'.
wwp0s26u1u4: /usr/lib/udev/rules.d/75-net-description.rules:6 Importing properties from results of builtin command 'hwdb 'net:naming:drrndis_host:''
wwp0s26u1u4: No entry found from hwdb.
wwp0s26u1u4: /usr/lib/udev/rules.d/75-net-description.rules:6 Failed to run builtin 'hwdb 'net:naming:drrndis_host:'': No data available
wwp0s26u1u4: /usr/lib/udev/rules.d/75-net-description.rules:8 Importing properties from results of builtin command 'net_id'
wwp0s26u1u4: MAC address identifier: hw_addr=06:ff:1c:24:83:f1 → x06ff1c2483f1
2-1.4:1.0: USB name identifier: ports=1u4 config=n/a interface=n/a → u1u4
wwp0s26u1u4: PCI path identifier: domain=n/a bus_and_slot=p0s26 func=n/a port=n/a → wwp0s26u1u4
0000:00:1a.0: Failed to read firmware_node/sun, ignoring: No such file or directory
0000:00:1a.0: Failed to find parent PCI device, ignoring: No such file or directory
sd-device: Failed to chase symlinks in "/sys/class/pci".
sd-device: Failed to chase symlinks in "/sys/bus/subsystem/devices/pci".
sd-device: Failed to chase symlinks in "/sys/class/subsystem/pci".
sd-device: Failed to chase symlinks in "/sys/firmware/subsystem/pci".
wwp0s26u1u4: Could not get BCMA parent device: No such file or directory
wwp0s26u1u4: /usr/lib/udev/rules.d/75-net-description.rules:10 Importing properties from results of builtin command 'usb_id'
2-1.4:1.0: if_class:239 protocol:0
wwp0s26u1u4: /usr/lib/udev/rules.d/75-net-description.rules:10 Importing properties from results of builtin command 'hwdb --subsystem=usb'
wwp0s26u1u4: hwdb modalias key: "usb:v05C6p9024d0404dc00dsc00dp00icEFisc04ip01in00"
wwp0s26u1u4: /usr/lib/udev/rules.d/80-net-setup-link.rules:5 Importing properties from results of builtin command 'path_id'
wwp0s26u1u4: /usr/lib/udev/rules.d/80-net-setup-link.rules:9 Importing properties from results of builtin command 'net_setup_link'
wwp0s26u1u4: Device has name_assign_type=4
wwp0s26u1u4: Device has addr_assign_type=0
wwp0s26u1u4: Config file /usr/lib/systemd/network/99-default.link is applied
wwp0s26u1u4: Running in test mode, skipping application of ethtool settings.
wwp0s26u1u4: Running in test mode, skipping application of rtnl settings.
wwp0s26u1u4: Policy *keep*: keeping existing userspace name
wwp0s26u1u4: Running in test mode, skipping application of SR-IOV settings.
wwp0s26u1u4: Running in test mode, skipping application of RPS setting.
wwp0s26u1u4: /usr/lib/udev/rules.d/80-net-setup-link.rules:11 NAME 'wwp0s26u1u4'
wwp0s26u1u4: /usr/lib/udev/rules.d/99-systemd.rules:73 RUN '/usr/lib/systemd/systemd-sysctl --prefix=/net/ipv4/conf/$name --prefix=/net/ipv4/neigh/$name --prefix=/net/ipv6/conf/$name --prefix=/net/ipv6/neigh/$name'
Properties:
  DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb2/2-1/2-1.4/2-1.4:1.0/net/wwp0s26u1u4
  DEVTYPE=wwan
  INTERFACE=wwp0s26u1u4
  IFINDEX=5
  ACTION=add
  SUBSYSTEM=net
  TAGS=:systemd:
  ID_NET_DRIVER=rndis_host
  ID_NET_NAMING_SCHEME=v257
  ID_NET_NAME_MAC=wwx06ff1c2483f1
  ID_NET_NAME_PATH=wwp0s26u1u4
  ID_BUS=usb
  ID_MODEL=moto_g_7__plus
  ID_MODEL_ENC=moto\x20g\x287\x29\x20plus
  ID_MODEL_ID=9024
  ID_SERIAL=motorola_moto_g_7__plus_ZY225CH38W
  ID_SERIAL_SHORT=ZY225CH38W
  ID_VENDOR=motorola
  ID_VENDOR_ENC=motorola
  ID_VENDOR_ID=05c6
  ID_REVISION=0404
  ID_TYPE=generic
  ID_USB_MODEL=moto_g_7__plus
  ID_USB_MODEL_ENC=moto\x20g\x287\x29\x20plus
  ID_USB_MODEL_ID=9024
  ID_USB_SERIAL=motorola_moto_g_7__plus_ZY225CH38W
  ID_USB_SERIAL_SHORT=ZY225CH38W
  ID_USB_VENDOR=motorola
  ID_USB_VENDOR_ENC=motorola
  ID_USB_VENDOR_ID=05c6
  ID_USB_REVISION=0404
  ID_USB_TYPE=generic
  ID_USB_INTERFACES=:ef0401:0a0000:ff4201:
  ID_USB_INTERFACE_NUM=00
  ID_USB_DRIVER=rndis_host
  ID_VENDOR_FROM_DATABASE=Qualcomm, Inc.
  .MM_USBIFNUM=00
  ID_MM_CANDIDATE=1
  ID_PATH_WITH_USB_REVISION=pci-0000:00:1a.0-usbv2-0:1.4:1.0
  ID_PATH=pci-0000:00:1a.0-usb-0:1.4:1.0
  ID_PATH_TAG=pci-0000_00_1a_0-usb-0_1_4_1_0
  ID_NET_LINK_FILE=/usr/lib/systemd/network/99-default.link
  ID_NET_NAME=wwp0s26u1u4
  CURRENT_TAGS=:systemd:
  SYSTEMD_ALIAS=/sys/subsystem/net/devices/wwp0s26u1u4
  USEC_INITIALIZED=350627435
  ID_PROCESSING=1
Tags:
  systemd
Network interface name:
  wwp0s26u1u4
Alternative interface names:
  wwp0s26u1u4
  wwx06ff1c2483f1
Queued commands:
  RUN{program} : /usr/lib/systemd/systemd-sysctl --prefix=/net/ipv4/conf/wwp0s26u1u4 --prefix=/net/ipv4/neigh/wwp0s26u1u4 --prefix=/net/ipv6/conf/wwp0s26u1u4 --prefix=/net/ipv6/neigh/wwp0s26u1u4
Unload kernel module index.
Unloaded link configuration context.

It looks like this commit is the likely culprit.

1 Like

I saw it yesterday, but did it land in 6.14 already?

Apparently so: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.14.2#:~:text=Flag%20RNDIS%20modems%20as%20WWAN%20devices

I guess you’ll need to figure out how to get Modem Manager to work instead of Network Manager. I’ve never used it.

This device obviously doesn’t work with ModemManager because it’s not a modem.. For now I can use wifi hotspot, but something here is definitely wrong.

Smartphones do have modems. Like I said, I’ve never tried it, but there are guides for how to get it to work:

Edit: The Arch wiki appears to recommend using usb_modeswitch and then you should be able to use NetworkManager again:

You can install usb_modeswitch on Fedora Linux with sudo dnf install usb_modeswitch.

Edit2: See also: Mobile broadband modem - ArchWiki

Edit3: FYI, there appear to be some GUI packages related to Modem Manager. Some of these might make managing your connection a little easier.

$ dnf search modem-manager                                                                                                                                                                         
Updating and loading repositories:
Repositories loaded.
Matched fields: name, summary
 modem-manager-gui-cm-NetworkManager.x86_64: Use NetworkManager to manage connections in modem-manager-gui
 modem-manager-gui-cm-pppd.x86_64: Use pppd to manage connections in modem-manager-gui
 modem-manager-gui-mm-ModemManager.x86_64: Use ModemManager to manage modems in modem-manager-gui
 modem-manager-gui-mm-ofono.x86_64: Use ofono to manage modems in modem-manager-gui
Matched fields: name
 fwupd-plugin-modem-manager.x86_64: fwupd plugin using ModemManger
 modem-manager-gui.x86_64: Graphical interface for ModemManager

It does NOT mean Android exposes the modem directly.. Android uses it as an ethernet device.
I suspect it’s qualcomm that - for reasons unknown - uses a “rndis_bam” device for the rndis function and doesn’t expose the fact that NCM is available.. anyway, this exact configuration worked before (while possibly not being fully correct).

But FYI, I installed modem-manager-gui and it obviously didn’t find any modems (that’s completely unsurprising).

Ah, OK. I stand corrected then. Just from reading the docs, I was under the impression it was interacting directly with the smartphone’s modem.

In that case, just looking at the code that was changed:

}, {
	/* RNDIS for tethering */
	USB_INTERFACE_INFO(USB_CLASS_WIRELESS_CONTROLLER, 1, 3),
	.driver_info = (unsigned long) &rndis_info,
}, {
	/* Mobile Broadband Modem, seen in Novatel Verizon USB730L and
	 * Telit FN990A (RNDIS)
	 */
	USB_INTERFACE_INFO(USB_CLASS_MISC, 4, 1),
-	.driver_info = (unsigned long) &rndis_info,
+	.driver_info = (unsigned long)&wwan_rndis_info,
},
	{ },		// END
};

I see that there is a condition right above the USB_CLASS_MISC that is labeled USB_CLASS_WIRELESS_CONTROLLER and it states in the comment that it is specifically meant for “tethering”. If you can get your device to be recognized as USB_CLASS_WIRELESS_CONTROLLER instead of USB_CLASS_MISC then it will probably work like it used to. I don’t know how that code is determining those classes though. Someone would need to dig a little deeper.

It looks like you need to set your device’s class to 0xe0[1]

Apparently the usb_modeswitch command can do that. Again, I’ve never used it. Sorry I cannot be of more help.

https://openwrt.org/docs/guide-user/network/wan/wwan/usb-modeswitching


  1. ↩︎

I can’t help but wonder if this is a kernel module-related thing like some of the other wifi device issues we’ve seen post f42 upgrade. If it is, its effect in NetworkManager may be a derived one.

OP, have you looked at your system journal to see how the kernel negotiated the device in the first place? Also, when, or after, you connected to your mobile-tethered wifi ?

I’ve posted dmesg logs here already.
It seems to be a regression that was already reported to the kernel bug tracker:

Like I said, the kernel adds a “wwan” flag where previously it added the “ethernet” flag.. NM then recognized this as a wwan device. That’s all I can really say.

Yeah, sorry. I breezed through the thread and saw a lot of udev-related information, and gave my thoughts.

I’m glad the problem has been identified, which almost certainly means a fix is on the way shortly.

Maybe in the interim, you can get an inexpensive usb wifi dongle and carry on as before the upgrade?

In any case, good luck!

Yeah, mobile hotspot saves me here, fortunately wifi was not broken :]