Browse Source

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 <aleksander@aleksander.es>
lilik-openwrt-22.03
Aleksander Morgado 3 years ago
committed by Rosen Penev
parent
commit
9bc5942529
1 changed files with 10 additions and 1 deletions
  1. +10
    -1
      net/modemmanager/files/modemmanager.common

+ 10
- 1
net/modemmanager/files/modemmanager.common View File

@ -39,12 +39,21 @@ mm_find_physdev_sysfs_path() {
# avoid infinite loops iterating # avoid infinite loops iterating
[ -z "${tmp_path}" ] || [ "${tmp_path}" = "/" ] && return [ -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 ] && { [ -f "${tmp_path}"/idVendor ] && [ -f "${tmp_path}"/idProduct ] && {
tmp_path=$(readlink -f "$tmp_path") tmp_path=$(readlink -f "$tmp_path")
echo "${tmp_path}" echo "${tmp_path}"
return 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 done
} }


Loading…
Cancel
Save