mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-29 10:08:59 +00:00
8b15e7f661
The device path will be the same for the first phy. For all subsequent phys, the path gets an extra +1, +2, ... Move the code for converting path to phy and vice versa to a separate library script shared by config detection code and the netifd wireless handler script Signed-off-by: Felix Fietkau <nbd@nbd.name>
37 lines
692 B
Bash
37 lines
692 B
Bash
mac80211_phy_to_path() {
|
|
local phy="$1"
|
|
|
|
[ -x /usr/bin/readlink -a -h /sys/class/ieee80211/${phy} ] || return
|
|
|
|
local path="$(readlink -f /sys/class/ieee80211/${phy}/device)"
|
|
[ -n "$path" ] || return
|
|
|
|
path="${path##/sys/devices/}"
|
|
case "$path" in
|
|
platform*/pci*) path="${path##platform/}";;
|
|
esac
|
|
|
|
local p
|
|
local seq=""
|
|
for p in $(ls /sys/class/ieee80211/$phy/device/ieee80211); do
|
|
[ "$p" = "$phy" ] && {
|
|
echo "$path${seq:++$seq}"
|
|
break
|
|
}
|
|
|
|
seq=$((${seq:-0} + 1))
|
|
done
|
|
}
|
|
|
|
mac80211_path_to_phy() {
|
|
local path="$1"
|
|
|
|
local p
|
|
for p in $(ls /sys/class/ieee80211); do
|
|
local cur="$(mac80211_phy_to_path "$p")"
|
|
case "$cur" in
|
|
*$path) echo "$p"; return;;
|
|
esac
|
|
done
|
|
}
|