From: nbd Date: Sat, 13 Jul 2013 11:40:48 +0000 (+0000) Subject: mac80211: tweak mac address allocation X-Git-Url: http://207.154.207.93/?a=commitdiff_plain;h=fc69de36693e38ac7caa73a023cef5e5ee1d4ef3;p=12.09%2Fopenwrt.git mac80211: tweak mac address allocation Apparently there are some broken devices out there that have the local bit already set in the factory MAC address. Move the | 0x2 over to the other side of the xor operation to fix this without affecting devices with proper addresses. Signed-off-by: Felix Fietkau Backport of r37269 git-svn-id: svn://svn.openwrt.org/openwrt/branches/attitude_adjustment@37270 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- diff --git a/package/mac80211/files/lib/wifi/mac80211.sh b/package/mac80211/files/lib/wifi/mac80211.sh index a052a1c..20f6bfa 100644 --- a/package/mac80211/files/lib/wifi/mac80211.sh +++ b/package/mac80211/files/lib/wifi/mac80211.sh @@ -284,7 +284,7 @@ mac80211_generate_mac() { [ "$((0x$mask1))" -gt 0 ] && { b1="0x$1" [ "$id" -gt 0 ] && \ - b1=$((($b1 | 0x2) ^ (($id - 1) << 2))) + b1=$(($b1 ^ ((($id - 1) << 2) | 0x2))) printf "%02x:%s:%s:%s:%s:%s" $b1 $2 $3 $4 $5 $6 return }