diff --git a/board/common/rootfs/etc/udev/rules.d/60-rename-wifi-phy.rules b/board/common/rootfs/etc/udev/rules.d/60-rename-wifi-phy.rules index 89c64154..a7449506 100644 --- a/board/common/rootfs/etc/udev/rules.d/60-rename-wifi-phy.rules +++ b/board/common/rootfs/etc/udev/rules.d/60-rename-wifi-phy.rules @@ -1,3 +1,3 @@ # Rename WiFi PHY devices from phy0 to radio0 to avoid name clashes SUBSYSTEM=="ieee80211", ACTION=="add", KERNEL=="phy*", \ - RUN+="/bin/sh -c '/usr/sbin/iw phy %k set name radio%n'" + RUN+="/usr/libexec/infix/rename-wifi-phy %k" diff --git a/board/common/rootfs/usr/libexec/infix/rename-wifi-phy b/board/common/rootfs/usr/libexec/infix/rename-wifi-phy new file mode 100755 index 00000000..b50dcda8 --- /dev/null +++ b/board/common/rootfs/usr/libexec/infix/rename-wifi-phy @@ -0,0 +1,8 @@ +#!/bin/sh +# Rename WiFi PHY to radio{N}, enumerating from 0 +phy="$1" +n=0 +while [ -d "/sys/class/ieee80211/radio$n" ]; do + n=$((n + 1)) +done +/usr/sbin/iw phy "$phy" set name "radio$n"