Modemanager ignoring udev rules
Aleksander Morgado
aleksandermj at chromium.org
Sat Dec 17 21:20:55 UTC 2022
Hey,
> Another solution was to use the Udev rules and tell mm to ignore Quectel modem, I did think initially that this worked but unfortunately this solution is not working as well.
>
>
>
> ATTRS{idVendor}=="2c7c" ATTRS{idProduct}=="0800", ENV{ID_MM_DEVICE_IGNORE}="1"
>
> and/or
>
> ATTRS{idVendor}=="2c7c" ATTRS{idProduct}=="0800", ENV{ID_MM_PORT_IGNORE}="0"
>
> ATTRS{idVendor}=="2c7c" ATTRS{idProduct}=="0800", ENV{ID_MM_PORT_IGNORE}="1"
>
> ATTRS{idVendor}=="2c7c" ATTRS{idProduct}=="0800", ENV{ID_MM_PORT_IGNORE}="2"
>
> ATTRS{idVendor}=="2c7c" ATTRS{idProduct}=="0800", ENV{ID_MM_PORT_IGNORE}="3"
>
That's a wrong use of ID_MM_PORT_IGNORE I'm afraid. That udev tag
expects only 0 or 1, and it must be set in the specific interface that
you want to ignore.
E.g.
ACTION!="add|change|move|bind", GOTO="mm_my_rules_end"
SUBSYSTEMS=="usb", ATTRS{bInterfaceNumber}=="?*",
ENV{.MM_USBIFNUM}="$attr{bInterfaceNumber}"
# ignore iface 0
ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0800",
ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_PORT_IGNORE}="1"
# ignore iface 2
ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0800",
ENV{.MM_USBIFNUM}=="02", ENV{ID_MM_PORT_IGNORE}="1"
# and so on
LABEL="mm_my_rules_end"
>
>
> We have also added blacklist rules like below
>
> ACTION!="add|change", GOTO="mm_tty_blacklist_end"
>
You should also add "bind" and "move" in the list of ACTIONS, see my
example above
> ATTRS{idVendor}=="2c7c" ATTRS{idProduct}=="0800", ENV{ID_MM_DEVICE_IGNORE}="1"
>
This device ignore rule looks fine to me, maybe it was the bind/move
missing issue.
> Can you please help me out with this issue? Please let us know if you have faced issues like this or if you would like to know more details.
>
Remember you can apply the rules during runtime by editing the files and then:
$ sudo udevadm control --reload
$ sudo udevadm trigger
And then you should be able to see the udev tags set with e.g.:
$ sudo udevadm info -p /sys/class/tty/ttyUSB0
You must first validate the tags are being correctly set, and only
once you see them set, check what MM does.
Cheers!
--
Aleksander
More information about the ModemManager-devel
mailing list