From: Aleksander Morgado Date: Tue, 9 Nov 2021 10:24:00 +0000 (+0100) Subject: modemmanager: fix physdev sysfs path detection in PCIe modems X-Git-Url: http://git.99rst.org/?a=commitdiff_plain;h=9bc59425290d03e41699fe862132507716e18882;p=openwrt-packages.git modemmanager: fix physdev sysfs path detection in PCIe modems The PCIe physdev path lookup relies on the 'vendor' and 'device' attribute files, instead of the 'idVendor' and 'idProduct' ones, which are USB specific. Signed-off-by: Aleksander Morgado --- diff --git a/net/modemmanager/files/modemmanager.common b/net/modemmanager/files/modemmanager.common index b898a7798..b4139abad 100644 --- a/net/modemmanager/files/modemmanager.common +++ b/net/modemmanager/files/modemmanager.common @@ -39,12 +39,21 @@ mm_find_physdev_sysfs_path() { # avoid infinite loops iterating [ -z "${tmp_path}" ] || [ "${tmp_path}" = "/" ] && return - # the physical device will be that with a idVendor and idProduct pair of files + # For USB devices, the physical device will be that with a idVendor + # and idProduct pair of files [ -f "${tmp_path}"/idVendor ] && [ -f "${tmp_path}"/idProduct ] && { tmp_path=$(readlink -f "$tmp_path") echo "${tmp_path}" return } + + # For PCI devices, the physical device will be that with a vendor + # and device pair of files + [ -f "${tmp_path}"/vendor ] && [ -f "${tmp_path}"/device ] && { + tmp_path=$(readlink -f "$tmp_path") + echo "${tmp_path}" + return + } done }