10-ath9k-eeprom 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. #!/bin/sh
  2. [ -e /lib/firmware/$FIRMWARE ] && exit 0
  3. . /lib/functions/caldata.sh
  4. board=$(board_name)
  5. case "$FIRMWARE" in
  6. "ath9k-eeprom-ahb-18100000.wmac.bin")
  7. case $board in
  8. 8dev,lima)
  9. caldata_extract "art" 0x1000 0x800
  10. ;;
  11. asus,rp-ac66)
  12. caldata_extract "art" 0x1000 0x440
  13. ;;
  14. avm,fritz1750e|\
  15. avm,fritz4020|\
  16. avm,fritz450e|\
  17. avm,fritzdvbc)
  18. caldata_extract_reverse "urlader" 0x1541 0x440
  19. ;;
  20. dlink,dir-505|\
  21. dlink,dir-825-c1|\
  22. dlink,dir-835-a1)
  23. caldata_extract "art" 0x1000 0x440
  24. ath9k_patch_mac $(mtd_get_mac_text "mac" 0x4)
  25. ;;
  26. dlink,dir-842-c1|\
  27. dlink,dir-842-c2|\
  28. dlink,dir-842-c3|\
  29. dlink,dir-859-a1|\
  30. nec,wf1200cr|\
  31. nec,wg1200cr|\
  32. wd,mynet-n600|\
  33. wd,mynet-n750)
  34. caldata_extract "art" 0x1000 0x440
  35. ath9k_patch_mac $(mtd_get_mac_ascii devdata "wlan24mac")
  36. ;;
  37. engenius,ecb1200|\
  38. engenius,ecb1750)
  39. caldata_extract "art" 0x1000 0x440
  40. ath9k_patch_mac $(macaddr_add $(mtd_get_mac_ascii u-boot-env athaddr) 1)
  41. ;;
  42. engenius,epg5000|\
  43. iodata,wn-ac1167dgr|\
  44. iodata,wn-ac1600dgr|\
  45. iodata,wn-ac1600dgr2|\
  46. iodata,wn-ag300dgr|\
  47. sitecom,wlr-7100|\
  48. sitecom,wlr-8100)
  49. caldata_extract "art" 0x1000 0x440
  50. ath9k_patch_mac $(mtd_get_mac_ascii u-boot-env ethaddr)
  51. ;;
  52. enterasys,ws-ap3705i)
  53. caldata_extract "calibrate" 0x1000 0x440
  54. ath9k_patch_mac $(mtd_get_mac_ascii u-boot-env0 RADIOADDR1)
  55. ;;
  56. nec,wg800hp)
  57. caldata_extract "art" 0x1000 0x440
  58. ath9k_patch_mac $(mtd_get_mac_text board_data 0x680)
  59. ;;
  60. qihoo,c301)
  61. caldata_extract "radiocfg" 0x1000 0x440
  62. ath9k_patch_mac $(mtd_get_mac_ascii devdata "wlan24mac")
  63. ;;
  64. *)
  65. caldata_die "board $board is not supported yet"
  66. ;;
  67. esac
  68. ;;
  69. "ath9k-eeprom-pci-0000:00:00.0.bin")
  70. case $board in
  71. araknis,an-300-ap-i-n|\
  72. atheros,db120|\
  73. engenius,eap600|\
  74. engenius,ecb600|\
  75. mercury,mw4530r-v1|\
  76. ocedo,raccoon|\
  77. tplink,tl-wdr3500-v1|\
  78. tplink,tl-wdr3600-v1|\
  79. tplink,tl-wdr4300-v1|\
  80. tplink,tl-wdr4300-v1-il|\
  81. tplink,tl-wdr4310-v1|\
  82. tplink,tl-wdr4900-v2|\
  83. ubnt,unifi-ap-pro|\
  84. winchannel,wb2000)
  85. caldata_extract "art" 0x5000 0x440
  86. ;;
  87. avm,fritz300e)
  88. caldata_extract_reverse "urloader" 0x1541 0x440
  89. ;;
  90. buffalo,wzr-hp-g302h-a1a0|\
  91. ubnt,unifi-ap-outdoor-plus)
  92. caldata_extract "art" 0x1000 0xeb8
  93. ;;
  94. buffalo,wzr-hp-g450h|\
  95. ubnt,unifi)
  96. caldata_extract "art" 0x1000 0x440
  97. ;;
  98. dlink,dir-825-c1|\
  99. dlink,dir-835-a1)
  100. caldata_extract "art" 0x5000 0x440
  101. ath9k_patch_mac $(macaddr_add $(mtd_get_mac_text "mac" 0x18) 1)
  102. ;;
  103. enterasys,ws-ap3705i)
  104. caldata_extract "calibrate" 0x5000 0x440
  105. ath9k_patch_mac $(mtd_get_mac_ascii u-boot-env0 RADIOADDR0)
  106. ;;
  107. meraki,mr12)
  108. caldata_extract "art" 0x11000 0xeb8
  109. ;;
  110. netgear,wnr2200-8m|\
  111. netgear,wnr2200-16m|\
  112. pcs,cap324|\
  113. tplink,tl-wr2543-v1|\
  114. tplink,tl-wr842n-v1|\
  115. ubnt,airrouter|\
  116. ubnt,bullet-m-ar7240|\
  117. ubnt,bullet-m-ar7241|\
  118. ubnt,nanobridge-m|\
  119. ubnt,nanostation-loco-m|\
  120. ubnt,nanostation-m|\
  121. ubnt,picostation-m|\
  122. ubnt,powerbridge-m|\
  123. ubnt,rocket-m)
  124. caldata_extract "art" 0x1000 0x1000
  125. ;;
  126. openmesh,mr600-v1|\
  127. openmesh,mr600-v2|\
  128. openmesh,om5p-an)
  129. caldata_extract "ART" 0x5000 0x440
  130. ;;
  131. openmesh,om2p-v1)
  132. caldata_extract "ART" 0x1000 0x440
  133. ;;
  134. wd,mynet-n600|\
  135. wd,mynet-n750)
  136. caldata_extract "art" 0x5000 0x440
  137. ath9k_patch_mac $(mtd_get_mac_ascii devdata "wlan5mac")
  138. ;;
  139. wd,mynet-wifi-rangeextender)
  140. caldata_extract "art" 0x1000 0x1000
  141. ath9k_patch_mac $(nvram get wl0_hwaddr)
  142. ;;
  143. *)
  144. caldata_die "board $board is not supported yet"
  145. ;;
  146. esac
  147. ;;
  148. "ath9k-eeprom-pci-0000:00:11.0.bin")
  149. case $board in
  150. buffalo,wzr-600dhp|\
  151. buffalo,wzr-hp-ag300h)
  152. caldata_extract "art" 0x1000 0xeb8
  153. ;;
  154. dlink,dir-825-b1)
  155. caldata_extract "caldata" 0x1000 0xeb8
  156. ath9k_patch_mac_crc $(mtd_get_mac_text "caldata" 0xffa0) 0x20c
  157. ;;
  158. meraki,mr16)
  159. caldata_extract "art" 0x11000 0xeb8
  160. ;;
  161. *)
  162. caldata_die "board $board is not supported yet"
  163. ;;
  164. esac
  165. ;;
  166. "ath9k-eeprom-pci-0000:00:12.0.bin")
  167. case $board in
  168. buffalo,wzr-600dhp|\
  169. buffalo,wzr-hp-ag300h)
  170. caldata_extract "art" 0x5000 0xeb8
  171. ;;
  172. dlink,dir-825-b1)
  173. caldata_extract "caldata" 0x5000 0xeb8
  174. ath9k_patch_mac_crc $(macaddr_add $(mtd_get_mac_text "caldata" 0xffb4) 1) 0x20c
  175. ;;
  176. meraki,mr16)
  177. caldata_extract "art" 0x15000 0xeb8
  178. ;;
  179. *)
  180. caldata_die "board $board is not supported yet"
  181. ;;
  182. esac
  183. ;;
  184. esac