10 Commits
Author SHA1 Message Date
Bjørn Mork afd3ce86c9 mm-netlink: use unaligned netlink attribute length
Alignment padding is not accounted for in the netlink attribute
length.  Fix to avoid warnings later if we add shorter fixed
length attributes, even though it currently makes no difference
since we only add a 4 byte attribute

Signed-off-by: Bjørn Mork <bjorn@mork.no>
2022-03-28 13:25:52 +02:00
Bjørn Mork 7bbf6c8a4a mm-netlink: only change IFF_UP flag
This fixes the missing NOARP flag on the second and following VLAN
sub-interfaces when multiplexing over the cdc_mbim driver.

ifi_change specifies all the flags we want to change. Any listed
flag which isn't set in ifi_flags will be cleared by the kernel:

        if (ifm->ifi_change)
                flags = (flags & ifm->ifi_change) |
                        (rtnl_dev_get_flags(dev) & ~ifm->ifi_change);

Drivers like cdc_mbim set some netdev flags by default, indicating
supported or unsupported features. The driver emulates an ethernet
netdev but it doesn't implement ARP.  Clearing NOARP on cdc_mbim
netdevs will block IP transmissions, waiting for an ARP reply we
never will receive.

Signed-off-by: Bjørn Mork <bjorn@mork.no>
2022-03-28 13:25:07 +02:00
Bjørn Mork 1c6258056e bearer-qmi: fix dual-stack connections
Connecting the second family of a dual stack connections fails with
'PolicyMismatch' when muxing is setup after family selection.

Switching the order of the family selection and muxing setup to
fix the problem. Looks like family selection must be the very last
WDS request before connecting the client.

Signed-off-by: Bjørn Mork <bjorn@mork.no>
2021-04-23 20:25:12 +02:00
Bjørn Mork 26533c84b8 port-qmi: fix crash when QRTR is disabled
Fix typo causing crash when WITH_QRTR is undefined:

 [6596]: <debug> [1619029470.854688] [cdc-wdm0/probe] probing QMI...

 Thread 1 "ModemManager" received signal SIGSEGV, Segmentation fault.
 0x77a7310f in install_property_internal () from /usr/lib/libgobject-2.0.so.0
 (gdb) bt
 #0  0x77a7310f in install_property_internal () from /usr/lib/libgobject-2.0.so.0
 #1  0x77a731db in validate_and_install_class_property () from /usr/lib/libgobject-2.0.so.0
 Backtrace stopped: frame did not save the PC

Fixes: ec375bd959 ("port-qmi: add support for QRTR")
Signed-off-by: Bjørn Mork <bjorn@mork.no>
2021-04-22 09:29:07 +02:00
Bjørn Mork 239ab6ca6b blacklist: ignore Infineon flashloader device
A device like this shows up briefly while the Sierra EM7345 is booting:

P:  Vendor=8087 ProdID=0716 Rev= 0.00
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=(none)
E:  Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms

We do have a driver identifying this as an "Infineon Flashloader"
device.  It is not a modem in any case, and should be ignored.

Signed-off-by: Bjørn Mork <bjorn@mork.no>
2014-06-02 16:42:25 +02:00
Bjørn Mork f721c650d2 qcdm: add utility to display and set the "IPv6 enabled" variable
Signed-off-by: Bjørn Mork <bjorn@mork.no>
2013-12-05 13:16:48 -06:00
Bjørn Mork fa0fa1c647 qcdm: add IPv6 nvram setting to test suite
Signed-off-by: Bjørn Mork <bjorn@mork.no>
2013-12-05 13:16:12 -06:00
Bjørn Mork 13552aa8b6 qcdm: add IPv6 nvram setting
Some Qualcomm firmwares disable IPv6 unless this flag is set in nvram, at
least for the LTE default bearer. The firmware will happily let you
configure the IPV6 and IPV4V6 PDP types, also including the default
profile, but any attempt to connect will fail.

Signed-off-by: Bjørn Mork <bjorn@mork.no>
2013-12-05 13:16:09 -06:00
Bjørn Mork e446037aa7 mbm: add another H5321gw ID
This device ID is used in a Lenovo Thinkpad T430.

Link: http://bugs.debian.org/705942
Reported-by: Etienne Bagnoud <etienne.bagnoud@irovision.ch>
Signed-off-by: Bjørn Mork <bjorn@mork.no>
2013-09-11 22:16:42 +02:00
Bjørn Mork c014bce554 mbm: add udev rule for Toshiba branded H5321gw module
Reported-by: Thomas Schäfer <tschaefer@t-online.de>
Signed-off-by: Bjørn Mork <bjorn@mork.no>
2013-09-02 11:35:39 +02:00