Hi! It took me a while to get this into a nice shape and make the code less hackish. Thank you for all the helpful feedback on PATCH v0 and the RFC! I'm looking forward to your comments and highly appreciate any further advise. Changes since my previous patch: * restructured nl80211 stuff, putting the whole thing into a NLA_NESTED makes the parser happy. * store selection state in the driver instead of overwriting the value in the AntCtrlCommon field. * expose selected switch_com_value in eeprom_4k. * moved stuff in ath9k to where it belongs (afaik) * lots of cosmetics I got my patched-up version of iw and works like a charm with the ALL0258N now: root@OpenWrt:/# iw list Wiphy phy0: Band 1: ... Device supports antenna configuration profiles. (*) 0 horiz (horizontal TX, vertical RX) ( ) 1 vert (vertical TX, horizontal RX) ... root@OpenWrt:/# grep 9964 /sys/kernel/debug/ieee80211/phy0/ath9k/regdump 0x009964 0x00000000 root@OpenWrt:/# iw phy phy0 interface add wlan0 type station root@OpenWrt:/# ifconfig wlan0 up root@OpenWrt:/# grep 9964 /sys/kernel/debug/ieee80211/phy0/ath9k/regdump 0x009964 0x09a00210 root@OpenWrt:/# ifconfig wlan0 down root@OpenWrt:/# iw set extant 1 root@OpenWrt:/# iw list Wiphy phy0 Band 1: ... Device supports antenna configuration profiles. ( ) 0 horiz (horizontal TX, vertical RX) (*) 1 vert (vertical TX, horizontal RX) ... root@OpenWrt:/# ifconfig wlan0 up root@OpenWrt:/# grep 9964 /sys/kernel/debug/ieee80211/phy0/ath9k/regdump 0x009964 0x0a900120 Here the patch for iw. I'm planing to partially reimplement that in libiwinfo for OpenWrt's LuCI.
Attachment:
signature.asc
Description: Digital signature