drivers_network.sh 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587
  1. #!/bin/bash
  2. function driver_generic_bring_back_ipx() {
  3. #
  4. # Returning headers needed for some wireless drivers
  5. #
  6. if linux-version compare "${version}" ge 5.4 && [ $EXTRAWIFI == yes ]; then
  7. display_alert "Reverting upstream-removed" "IPX stuff needed for Wireless Drivers" "info"
  8. process_patch_file "${SRC}/patch/misc/wireless-bring-back-headers.patch" "applying"
  9. fi
  10. }
  11. driver_rtl8152_rtl8153() {
  12. # Updated USB network drivers for RTL8152/RTL8153 based dongles that also support 2.5Gbs variants
  13. if linux-version compare "${version}" ge 5.4 && linux-version compare "${version}" le 5.12 && [ "$LINUXFAMILY" != mvebu64 ] && [ "$LINUXFAMILY" != rk322x ] && [ "$LINUXFAMILY" != odroidxu4 ] && [ "$EXTRAWIFI" == yes ]; then
  14. # attach to specifics tag or branch
  15. local rtl8152ver="branch:master"
  16. display_alert "Adding" "Drivers for 2.5Gb RTL8152/RTL8153 USB dongles ${rtl8152ver}" "info"
  17. fetch_from_repo "$GITHUB_SOURCE/igorpecovnik/realtek-r8152-linux" "rtl8152" "${rtl8152ver}" "yes"
  18. cp -R "${SRC}/cache/sources/rtl8152/${rtl8152ver#*:}"/{r8152.c,compatibility.h} \
  19. "$kerneldir/drivers/net/usb/"
  20. fi
  21. }
  22. driver_rtl8189ES() {
  23. # Wireless drivers for Realtek 8189ES chipsets
  24. if linux-version compare "${version}" ge 3.14 && [ "$EXTRAWIFI" == yes ]; then
  25. # attach to specifics tag or branch
  26. local rtl8189esver="branch:master"
  27. display_alert "Adding" "Wireless drivers for Realtek 8189ES chipsets ${rtl8189esver}" "info"
  28. fetch_from_repo "$GITHUB_SOURCE/jwrdegoede/rtl8189ES_linux" "rtl8189es" "${rtl8189esver}" "yes"
  29. cd "$kerneldir" || exit
  30. rm -rf "$kerneldir/drivers/net/wireless/rtl8189es"
  31. mkdir -p "$kerneldir/drivers/net/wireless/rtl8189es/"
  32. cp -R "${SRC}/cache/sources/rtl8189es/${rtl8189esver#*:}"/{core,hal,include,os_dep,platform} \
  33. "$kerneldir/drivers/net/wireless/rtl8189es"
  34. # Makefile
  35. cp "${SRC}/cache/sources/rtl8189es/${rtl8189esver#*:}/Makefile" \
  36. "$kerneldir/drivers/net/wireless/rtl8189es/Makefile"
  37. # Kconfig
  38. sed -i 's/---help---/help/g' "${SRC}/cache/sources/rtl8189es/${rtl8189esver#*:}/Kconfig"
  39. cp "${SRC}/cache/sources/rtl8189es/${rtl8189esver#*:}/Kconfig" \
  40. "$kerneldir/drivers/net/wireless/rtl8189es/Kconfig"
  41. # Add to section Makefile
  42. echo "obj-\$(CONFIG_RTL8189ES) += rtl8189es/" >> "$kerneldir/drivers/net/wireless/Makefile"
  43. sed -i '/source "drivers\/net\/wireless\/ti\/Kconfig"/a source "drivers\/net\/wireless\/rtl8189es\/Kconfig"' \
  44. "$kerneldir/drivers/net/wireless/Kconfig"
  45. process_patch_file "${SRC}/patch/misc/wireless-rtl8189es-Fix-uninitialized-cfg80211-chan-def.patch" "applying"
  46. process_patch_file "${SRC}/patch/misc/wireless-rtl8189es-Fix-p2p-go-advertising.patch" "applying"
  47. # fix compilation for kernels >= 5.4
  48. process_patch_file "${SRC}/patch/misc/wireless-rtl8189es-Fix-VFS-import.patch" "applying"
  49. fi
  50. }
  51. driver_rtl8189FS() {
  52. # Wireless drivers for Realtek 8189FS chipsets
  53. if linux-version compare "${version}" ge 3.14 && [ "$EXTRAWIFI" == yes ]; then
  54. # attach to specifics tag or branch
  55. local rtl8189fsver="branch:rtl8189fs"
  56. display_alert "Adding" "Wireless drivers for Realtek 8189FS chipsets ${rtl8189fsver}" "info"
  57. fetch_from_repo "$GITHUB_SOURCE/jwrdegoede/rtl8189ES_linux" "rtl8189fs" "${rtl8189fsver}" "yes"
  58. cd "$kerneldir" || exit
  59. rm -rf "$kerneldir/drivers/net/wireless/rtl8189fs"
  60. mkdir -p "$kerneldir/drivers/net/wireless/rtl8189fs/"
  61. cp -R "${SRC}/cache/sources/rtl8189fs/${rtl8189fsver#*:}"/{core,hal,include,os_dep,platform} \
  62. "$kerneldir/drivers/net/wireless/rtl8189fs"
  63. # Makefile
  64. cp "${SRC}/cache/sources/rtl8189fs/${rtl8189fsver#*:}/Makefile" \
  65. "$kerneldir/drivers/net/wireless/rtl8189fs/Makefile"
  66. # Kconfig
  67. sed -i 's/---help---/help/g' "${SRC}/cache/sources/rtl8189fs/${rtl8189fsver#*:}/Kconfig"
  68. cp "${SRC}/cache/sources/rtl8189fs/${rtl8189fsver#*:}/Kconfig" \
  69. "$kerneldir/drivers/net/wireless/rtl8189fs/Kconfig"
  70. # Add to section Makefile
  71. echo "obj-\$(CONFIG_RTL8189FS) += rtl8189fs/" >> "$kerneldir/drivers/net/wireless/Makefile"
  72. sed -i '/source "drivers\/net\/wireless\/ti\/Kconfig"/a source "drivers\/net\/wireless\/rtl8189fs\/Kconfig"' \
  73. "$kerneldir/drivers/net/wireless/Kconfig"
  74. process_patch_file "${SRC}/patch/misc/wireless-rtl8189fs-fix-p2p-go-advertising.patch" "applying"
  75. process_patch_file "${SRC}/patch/misc/wireless-rtl8189fs-fix-and-enable-secondary-iface.patch" "applying"
  76. # fix compilation for kernels >= 5.4
  77. process_patch_file "${SRC}/patch/misc/wireless-rtl8189fs-Fix-VFS-import.patch" "applying"
  78. fi
  79. }
  80. driver_rtl8192EU() {
  81. # Wireless drivers for Realtek 8192EU chipsets
  82. if linux-version compare "${version}" ge 3.14 && [ "$EXTRAWIFI" == yes ]; then
  83. # attach to specifics tag or branch
  84. local rtl8192euver="branch:realtek-4.4.x"
  85. display_alert "Adding" "Wireless drivers for Realtek 8192EU chipsets ${rtl8192euver}" "info"
  86. fetch_from_repo "$GITHUB_SOURCE/Mange/rtl8192eu-linux-driver" "rtl8192eu" "${rtl8192euver}" "yes"
  87. cd "$kerneldir" || exit
  88. rm -rf "$kerneldir/drivers/net/wireless/rtl8192eu"
  89. mkdir -p "$kerneldir/drivers/net/wireless/rtl8192eu/"
  90. cp -R "${SRC}/cache/sources/rtl8192eu/${rtl8192euver#*:}"/{core,hal,include,os_dep,platform} \
  91. "$kerneldir/drivers/net/wireless/rtl8192eu"
  92. # Makefile
  93. cp "${SRC}/cache/sources/rtl8192eu/${rtl8192euver#*:}/Makefile" \
  94. "$kerneldir/drivers/net/wireless/rtl8192eu/Makefile"
  95. # Kconfig
  96. sed -i 's/---help---/help/g' "${SRC}/cache/sources/rtl8192eu/${rtl8192euver#*:}/Kconfig"
  97. cp "${SRC}/cache/sources/rtl8192eu/${rtl8192euver#*:}/Kconfig" \
  98. "$kerneldir/drivers/net/wireless/rtl8192eu/Kconfig"
  99. # Add to section Makefile
  100. echo "obj-\$(CONFIG_RTL8192EU) += rtl8192eu/" >> "$kerneldir/drivers/net/wireless/Makefile"
  101. sed -i '/source "drivers\/net\/wireless\/ti\/Kconfig"/a source "drivers\/net\/wireless\/rtl8192eu\/Kconfig"' \
  102. "$kerneldir/drivers/net/wireless/Kconfig"
  103. process_patch_file "${SRC}/patch/misc/wireless-rtl8192eu-Fix-p2p-go-advertising.patch" "applying"
  104. # fix compilation for kernels >= 5.4
  105. process_patch_file "${SRC}/patch/misc/wireless-rtl8192eu-Fix-VFS-import.patch" "applying"
  106. fi
  107. }
  108. driver_rtl8811_rtl8812_rtl8814_rtl8821() {
  109. # Wireless drivers for Realtek 8811, 8812, 8814 and 8821 chipsets
  110. if linux-version compare "${version}" ge 3.14 && [ "$EXTRAWIFI" == yes ]; then
  111. # attach to specifics tag or branch
  112. local rtl8812auver="commit:450db78f7bd23f0c611553eb475fa5b5731d6497"
  113. display_alert "Adding" "Wireless drivers for Realtek 8811, 8812, 8814 and 8821 chipsets ${rtl8812auver}" "info"
  114. fetch_from_repo "$GITHUB_SOURCE/aircrack-ng/rtl8812au" "rtl8812au" "${rtl8812auver}" "yes"
  115. cd "$kerneldir" || exit
  116. rm -rf "$kerneldir/drivers/net/wireless/rtl8812au"
  117. mkdir -p "$kerneldir/drivers/net/wireless/rtl8812au/"
  118. cp -R "${SRC}/cache/sources/rtl8812au/${rtl8812auver#*:}"/{core,hal,include,os_dep,platform} \
  119. "$kerneldir/drivers/net/wireless/rtl8812au"
  120. # Makefile
  121. cp "${SRC}/cache/sources/rtl8812au/${rtl8812auver#*:}/Makefile" \
  122. "$kerneldir/drivers/net/wireless/rtl8812au/Makefile"
  123. # Kconfig
  124. cp "${SRC}/cache/sources/rtl8812au/${rtl8812auver#*:}/Kconfig" \
  125. "$kerneldir/drivers/net/wireless/rtl8812au/Kconfig"
  126. # Add to section Makefile
  127. echo "obj-\$(CONFIG_88XXAU) += rtl8812au/" >> "$kerneldir/drivers/net/wireless/Makefile"
  128. sed -i '/source "drivers\/net\/wireless\/ti\/Kconfig"/a source "drivers\/net\/wireless\/rtl8812au\/Kconfig"' \
  129. "$kerneldir/drivers/net/wireless/Kconfig"
  130. fi
  131. }
  132. driver_xradio_xr819() {
  133. # Wireless drivers for Xradio XR819 chipsets
  134. if linux-version compare "${version}" ge 4.19 && linux-version compare "${version}" le 5.19 &&
  135. [[ "$LINUXFAMILY" == sunxi* ]] && [[ "$EXTRAWIFI" == yes ]]; then
  136. display_alert "Adding" "Wireless drivers for Xradio XR819 chipsets" "info"
  137. fetch_from_repo "$GITHUB_SOURCE/dbeinder/xradio" "xradio" "branch:karabek_rebase" "yes"
  138. cd "$kerneldir" || exit
  139. rm -rf "$kerneldir/drivers/net/wireless/xradio"
  140. mkdir -p "$kerneldir/drivers/net/wireless/xradio/"
  141. cp "${SRC}"/cache/sources/xradio/karabek_rebase/*.{h,c} \
  142. "$kerneldir/drivers/net/wireless/xradio/"
  143. # Makefile
  144. cp "${SRC}/cache/sources/xradio/karabek_rebase/Makefile" \
  145. "$kerneldir/drivers/net/wireless/xradio/Makefile"
  146. # Kconfig
  147. sed -i 's/---help---/help/g' "${SRC}/cache/sources/xradio/karabek_rebase/Kconfig"
  148. cp "${SRC}/cache/sources/xradio/karabek_rebase/Kconfig" \
  149. "$kerneldir/drivers/net/wireless/xradio/Kconfig"
  150. # Add to section Makefile
  151. echo "obj-\$(CONFIG_WLAN_VENDOR_XRADIO) += xradio/" \
  152. >> "$kerneldir/drivers/net/wireless/Makefile"
  153. sed -i '/source "drivers\/net\/wireless\/ti\/Kconfig"/a source "drivers\/net\/wireless\/xradio\/Kconfig"' \
  154. "$kerneldir/drivers/net/wireless/Kconfig"
  155. # add support for K5.13+
  156. process_patch_file "${SRC}/patch/misc/wireless-xradio-5.13.patch" "applying"
  157. # add support for aarch64
  158. if [[ $ARCH == arm64 ]]; then
  159. process_patch_file "${SRC}/patch/misc/wireless-xradio-aarch64.patch" "applying"
  160. fi
  161. fi
  162. }
  163. driver_rtl8811CU_rtl8821C() {
  164. # Wireless drivers for Realtek RTL8811CU and RTL8821C chipsets
  165. if linux-version compare "${version}" ge 3.14 && [ "$EXTRAWIFI" == yes ]; then
  166. # attach to specifics tag or branch
  167. local rtl8811cuver="commit:7b8c45a270454f05e2dbf3beeb4afcf817db65da"
  168. display_alert "Adding" "Wireless drivers for Realtek RTL8811CU and RTL8821C chipsets ${rtl8811cuver}" "info"
  169. fetch_from_repo "$GITHUB_SOURCE/morrownr/8821cu-20210118" "rtl8811cu" "${rtl8811cuver}" "yes"
  170. cd "$kerneldir" || exit
  171. rm -rf "$kerneldir/drivers/net/wireless/rtl8811cu"
  172. mkdir -p "$kerneldir/drivers/net/wireless/rtl8811cu/"
  173. cp -R "${SRC}/cache/sources/rtl8811cu/${rtl8811cuver#*:}"/{core,hal,include,os_dep,platform,*.mk} \
  174. "$kerneldir/drivers/net/wireless/rtl8811cu"
  175. # Makefile
  176. cp "${SRC}/cache/sources/rtl8811cu/${rtl8811cuver#*:}/Makefile" \
  177. "$kerneldir/drivers/net/wireless/rtl8811cu/Makefile"
  178. # Kconfig
  179. sed -i 's/---help---/help/g' "${SRC}/cache/sources/rtl8811cu/${rtl8811cuver#*:}/Kconfig"
  180. cp "${SRC}/cache/sources/rtl8811cu/${rtl8811cuver#*:}/Kconfig" \
  181. "$kerneldir/drivers/net/wireless/rtl8811cu/Kconfig"
  182. # Disable debug
  183. sed -i "s/^CONFIG_RTW_DEBUG.*/CONFIG_RTW_DEBUG = n/" \
  184. "$kerneldir/drivers/net/wireless/rtl8811cu/Makefile"
  185. # Address ARM related bug $GITHUB_SOURCE/aircrack-ng/rtl8812au/issues/233
  186. sed -i "s/^CONFIG_MP_VHT_HW_TX_MODE.*/CONFIG_MP_VHT_HW_TX_MODE = n/" \
  187. "$kerneldir/drivers/net/wireless/rtl8811cu/Makefile"
  188. # Add to section Makefile
  189. echo "obj-\$(CONFIG_RTL8821CU) += rtl8811cu/" >> "$kerneldir/drivers/net/wireless/Makefile"
  190. sed -i '/source "drivers\/net\/wireless\/ti\/Kconfig"/a source "drivers\/net\/wireless\/rtl8811cu\/Kconfig"' \
  191. "$kerneldir/drivers/net/wireless/Kconfig"
  192. process_patch_file "${SRC}/patch/misc/wireless-rtl8811cu-Fix-p2p-go-advertising.patch" "applying"
  193. # fix compilation for kernels >= 5.4
  194. process_patch_file "${SRC}/patch/misc/wireless-rtl8811cu-Fix-VFS-import.patch" "applying"
  195. fi
  196. }
  197. driver_rtl8188EU_rtl8188ETV() {
  198. # Wireless drivers for Realtek 8188EU 8188EUS and 8188ETV chipsets
  199. if linux-version compare "${version}" ge 3.14 &&
  200. linux-version compare "${version}" lt 5.15 &&
  201. [ "$EXTRAWIFI" == yes ]; then
  202. # attach to specifics tag or branch
  203. local rtl8188euver="branch:v5.7.6.1"
  204. display_alert "Adding" "Wireless drivers for Realtek 8188EU 8188EUS and 8188ETV chipsets ${rtl8188euver}" "info"
  205. fetch_from_repo "$GITHUB_SOURCE/aircrack-ng/rtl8188eus" "rtl8188eu" "${rtl8188euver}" "yes"
  206. cd "$kerneldir" || exit
  207. rm -rf "$kerneldir/drivers/net/wireless/rtl8188eu"
  208. mkdir -p "$kerneldir/drivers/net/wireless/rtl8188eu/"
  209. cp -R "${SRC}/cache/sources/rtl8188eu/${rtl8188euver#*:}"/{core,hal,include,os_dep,platform} \
  210. "$kerneldir/drivers/net/wireless/rtl8188eu"
  211. # Makefile
  212. cp "${SRC}/cache/sources/rtl8188eu/${rtl8188euver#*:}/Makefile" \
  213. "$kerneldir/drivers/net/wireless/rtl8188eu/Makefile"
  214. # Kconfig
  215. sed -i 's/---help---/help/g' "${SRC}/cache/sources/rtl8188eu/${rtl8188euver#*:}/Kconfig"
  216. cp "${SRC}/cache/sources/rtl8188eu/${rtl8188euver#*:}/Kconfig" \
  217. "$kerneldir/drivers/net/wireless/rtl8188eu/Kconfig"
  218. # Disable debug
  219. sed -i "s/^CONFIG_RTW_DEBUG.*/CONFIG_RTW_DEBUG = n/" \
  220. "$kerneldir/drivers/net/wireless/rtl8188eu/Makefile"
  221. # Add to section Makefile
  222. echo "obj-\$(CONFIG_RTL8188EU) += rtl8188eu/" >> "$kerneldir/drivers/net/wireless/Makefile"
  223. sed -i '/source "drivers\/net\/wireless\/ti\/Kconfig"/a source "drivers\/net\/wireless\/rtl8188eu\/Kconfig"' \
  224. "$kerneldir/drivers/net/wireless/Kconfig"
  225. process_patch_file "${SRC}/patch/misc/wireless-rtl8188eu.patch" "applying"
  226. process_patch_file "${SRC}/patch/misc/wireless-realtek-8188eu-5.12.patch" "applying"
  227. process_patch_file "${SRC}/patch/misc/wireless-rtl8188eu-Fix-uninitialized-cfg80211-chan-def.patch" "applying"
  228. process_patch_file "${SRC}/patch/misc/wireless-rtl8188eu-Fix-p2p-go-advertising.patch" "applying"
  229. process_patch_file "${SRC}/patch/misc/wireless-rtl8188eu-Fix-misleading-indentation.patch" "applying"
  230. # fix compilation for kernels >= 5.4
  231. process_patch_file "${SRC}/patch/misc/wireless-rtl8188eu-Fix-VFS-import.patch" "applying"
  232. fi
  233. }
  234. driver_rtl88x2bu() {
  235. # Wireless drivers for Realtek 88x2bu chipsets
  236. if linux-version compare "${version}" ge 5.0 && [ "$EXTRAWIFI" == yes ]; then
  237. # attach to specifics tag or branch
  238. local rtl88x2buver="commit:2590672d717e2516dd2e96ed66f1037a6815bced"
  239. display_alert "Adding" "Wireless drivers for Realtek 88x2bu chipsets ${rtl88x2buver}" "info"
  240. fetch_from_repo "$GITHUB_SOURCE/morrownr/88x2bu-20210702" "rtl88x2bu" "${rtl88x2buver}" "yes"
  241. cd "$kerneldir" || exit
  242. rm -rf "$kerneldir/drivers/net/wireless/rtl88x2bu"
  243. mkdir -p "$kerneldir/drivers/net/wireless/rtl88x2bu/"
  244. cp -R "${SRC}/cache/sources/rtl88x2bu/${rtl88x2buver#*:}"/{core,hal,include,os_dep,platform,halmac.mk,rtl8822b.mk} \
  245. "$kerneldir/drivers/net/wireless/rtl88x2bu"
  246. # Makefile
  247. cp "${SRC}/cache/sources/rtl88x2bu/${rtl88x2buver#*:}/Makefile" \
  248. "$kerneldir/drivers/net/wireless/rtl88x2bu/Makefile"
  249. # Kconfig
  250. sed -i 's/---help---/help/g' "${SRC}/cache/sources/rtl88x2bu/${rtl88x2buver#*:}/Kconfig"
  251. cp "${SRC}/cache/sources/rtl88x2bu/${rtl88x2buver#*:}/Kconfig" \
  252. "$kerneldir/drivers/net/wireless/rtl88x2bu/Kconfig"
  253. # Adjust path
  254. sed -i "s/include \$(src)\/rtl8822b.mk /include \$(TopDIR)\/drivers\/net\/wireless\/rtl88x2bu\/rtl8822b.mk/" \
  255. "$kerneldir/drivers/net/wireless/rtl88x2bu/Makefile"
  256. # Add to section Makefile
  257. echo "obj-\$(CONFIG_RTL8822BU) += rtl88x2bu/" >> "$kerneldir/drivers/net/wireless/Makefile"
  258. sed -i "/source \"drivers\/net\/wireless\/ti\/Kconfig\"/a source \"drivers\/net\/wireless\/rtl88x2bu\/Kconfig\"" \
  259. "$kerneldir/drivers/net/wireless/Kconfig"
  260. process_patch_file "${SRC}/patch/misc/wireless-rtl88x2bu-Fix-p2p-go-advertising.patch" "applying"
  261. # fix compilation for kernels >= 5.4
  262. process_patch_file "${SRC}/patch/misc/wireless-rtl88x2bu-Fix-VFS-import.patch" "applying"
  263. fi
  264. }
  265. driver_rtl88x2cs() {
  266. # Wireless drivers for Realtek 88x2cs chipsets
  267. if linux-version compare "${version}" ge 5.9 && [ "$EXTRAWIFI" == yes ]; then
  268. # attach to specifics tag or branch
  269. local rtl88x2csver="branch:tune_for_jethub"
  270. display_alert "Adding" "Wireless drivers for Realtek 88x2cs chipsets ${rtl88x2csver}" "info"
  271. fetch_from_repo "$GITHUB_SOURCE/jethome-ru/rtl88x2cs" "rtl88x2cs" "${rtl88x2csver}" "yes"
  272. cd "$kerneldir" || exit
  273. rm -rf "$kerneldir/drivers/net/wireless/rtl88x2cs"
  274. mkdir -p "$kerneldir/drivers/net/wireless/rtl88x2cs/"
  275. cp -R "${SRC}/cache/sources/rtl88x2cs/${rtl88x2csver#*:}"/{core,hal,include,os_dep,platform,halmac.mk,ifcfg-wlan0,rtl8822c.mk,runwpa,wlan0dhcp} \
  276. "$kerneldir/drivers/net/wireless/rtl88x2cs"
  277. # Makefile
  278. cp "${SRC}/cache/sources/rtl88x2cs/${rtl88x2csver#*:}/Makefile" \
  279. "$kerneldir/drivers/net/wireless/rtl88x2cs/Makefile"
  280. # Kconfig
  281. sed -i 's/---help---/help/g' "${SRC}/cache/sources/rtl88x2cs/${rtl88x2csver#*:}/Kconfig"
  282. cp "${SRC}/cache/sources/rtl88x2cs/${rtl88x2csver#*:}/Kconfig" \
  283. "$kerneldir/drivers/net/wireless/rtl88x2cs/Kconfig"
  284. # Adjust path
  285. sed -i "s/include \$(src)\/rtl8822c.mk/include \$(TopDIR)\/drivers\/net\/wireless\/rtl88x2cs\/rtl8822c.mk/" \
  286. "$kerneldir/drivers/net/wireless/rtl88x2cs/Makefile"
  287. # Disable debug
  288. sed -i "s/^CONFIG_RTW_DEBUG.*/CONFIG_RTW_DEBUG = n/" \
  289. "$kerneldir/drivers/net/wireless/rtl88x2cs/Makefile"
  290. # Add to section Makefile
  291. echo "obj-\$(CONFIG_RTL8822CS) += rtl88x2cs/" >> "$kerneldir/drivers/net/wireless/Makefile"
  292. sed -i '/source "drivers\/net\/wireless\/ti\/Kconfig"/a source "drivers\/net\/wireless\/rtl88x2cs\/Kconfig"' \
  293. "$kerneldir/drivers/net/wireless/Kconfig"
  294. # fix compilation for kernels >= 5.4
  295. process_patch_file "${SRC}/patch/misc/wireless-rtl88x2cs-Fix-VFS-import.patch" "applying"
  296. fi
  297. }
  298. #_bt for blueteeth
  299. driver_rtl8822cs_bt() {
  300. # Bluetooth support for Realtek 8822CS (hci_ver 0x8) chipsets
  301. # For sunxi, these two patches are applied in a series.
  302. if linux-version compare "${version}" ge 5.11 && [[ "$LINUXFAMILY" != sunxi* ]]; then
  303. display_alert "Adding" "Bluetooth support for Realtek 8822CS (hci_ver 0x8) chipsets" "info"
  304. process_patch_file "${SRC}/patch/misc/bluetooth-rtl8822cs-hci_ver-0x8.patch" "applying"
  305. process_patch_file "${SRC}/patch/misc/Bluetooth-hci_h5-Add-power-reset-via-gpio-in-h5_btrt.patch" "applying"
  306. fi
  307. }
  308. driver_rtl8723DS() {
  309. # Wireless drivers for Realtek 8723DS chipsets
  310. if linux-version compare "${version}" ge 5.0 && [[ "$EXTRAWIFI" == yes ]]; then
  311. # attach to specifics tag or branch
  312. local rtl8723dsver="branch:master"
  313. display_alert "Adding" "Wireless drivers for Realtek 8723DS chipsets ${rtl8723dsver}" "info"
  314. fetch_from_repo "$GITHUB_SOURCE/lwfinger/rtl8723ds" "rtl8723ds" "${rtl8723dsver}" "yes"
  315. cd "$kerneldir" || exit
  316. rm -rf "$kerneldir/drivers/net/wireless/rtl8723ds"
  317. mkdir -p "$kerneldir/drivers/net/wireless/rtl8723ds/"
  318. cp -R "${SRC}/cache/sources/rtl8723ds/${rtl8723dsver#*:}"/{core,hal,include,os_dep,platform} \
  319. "$kerneldir/drivers/net/wireless/rtl8723ds"
  320. # Makefile
  321. cp "${SRC}/cache/sources/rtl8723ds/${rtl8723dsver#*:}/Makefile" \
  322. "$kerneldir/drivers/net/wireless/rtl8723ds/Makefile"
  323. # Kconfig
  324. sed -i 's/---help---/help/g' "${SRC}/cache/sources/rtl8723ds/${rtl8723dsver#*:}/Kconfig"
  325. cp "${SRC}/cache/sources/rtl8723ds/${rtl8723dsver#*:}/Kconfig" \
  326. "$kerneldir/drivers/net/wireless/rtl8723ds/Kconfig"
  327. # Disable debug
  328. sed -i "s/^CONFIG_RTW_DEBUG.*/CONFIG_RTW_DEBUG = n/" \
  329. "$kerneldir/drivers/net/wireless/rtl8723ds/Makefile"
  330. # Add to section Makefile
  331. echo "obj-\$(CONFIG_RTL8723DS) += rtl8723ds/" >> "$kerneldir/drivers/net/wireless/Makefile"
  332. sed -i '/source "drivers\/net\/wireless\/ti\/Kconfig"/a source "drivers\/net\/wireless\/rtl8723ds\/Kconfig"' \
  333. "$kerneldir/drivers/net/wireless/Kconfig"
  334. process_patch_file "${SRC}/patch/misc/wireless-rtl8723ds-Fix-p2p-go-advertising.patch" "applying"
  335. # fix compilation for kernels >= 5.4
  336. process_patch_file "${SRC}/patch/misc/wireless-rtl8723ds-Fix-VFS-import.patch" "applying"
  337. fi
  338. }
  339. driver_rtl8723DU() {
  340. # Wireless drivers for Realtek 8723DU chipsets
  341. if linux-version compare "${version}" ge 5.0 && [ "$EXTRAWIFI" == yes ]; then
  342. local rtl8723duver="branch:master"
  343. display_alert "Adding" "Wireless drivers for Realtek 8723DU chipsets ${rtl8723duver}" "info"
  344. fetch_from_repo "$GITHUB_SOURCE/lwfinger/rtl8723du" "rtl8723du" "${rtl8723duver}" "yes"
  345. cd "$kerneldir" || exit
  346. rm -rf "$kerneldir/drivers/net/wireless/rtl8723du"
  347. mkdir -p "$kerneldir/drivers/net/wireless/rtl8723du/"
  348. cp -R "${SRC}/cache/sources/rtl8723du/${rtl8723duver#*:}"/{core,hal,include,os_dep,platform} \
  349. "$kerneldir/drivers/net/wireless/rtl8723du"
  350. # Makefile
  351. cp "${SRC}/cache/sources/rtl8723du/${rtl8723duver#*:}"/Makefile \
  352. "$kerneldir/drivers/net/wireless/rtl8723du/Makefile"
  353. # Disable debug
  354. sed -i "s/^CONFIG_RTW_DEBUG.*/CONFIG_RTW_DEBUG = n/" \
  355. "$kerneldir/drivers/net/wireless/rtl8723du/Makefile"
  356. # Add to section Makefile
  357. echo "obj-\$(CONFIG_RTL8723DU) += rtl8723du/" >> "$kerneldir/drivers/net/wireless/Makefile"
  358. sed -i '/source "drivers\/net\/wireless\/ti\/Kconfig"/a source "drivers\/net\/wireless\/rtl8723du\/Kconfig"' \
  359. "$kerneldir/drivers/net/wireless/Kconfig"
  360. process_patch_file "${SRC}/patch/misc/wireless-rtl8723du-5.19.2.patch" "applying"
  361. process_patch_file "${SRC}/patch/misc/wireless-rtl8723du-Fix-uninitialized-cfg80211-chan-def.patch" "applying"
  362. process_patch_file "${SRC}/patch/misc/wireless-rtl8723du-Fix-p2p-go-advertising.patch" "applying"
  363. # fix compilation for kernels >= 5.4
  364. process_patch_file "${SRC}/patch/misc/wireless-rtl8723du-Fix-VFS-import.patch" "applying"
  365. fi
  366. }
  367. driver_rtl8822BS() {
  368. # Wireless drivers for Realtek 8822BS chipsets
  369. if linux-version compare "${version}" ge 4.4 && linux-version compare "${version}" le 5.16 && [ "$EXTRAWIFI" == yes ]; then
  370. # attach to specifics tag or branch
  371. display_alert "Adding" "Wireless drivers for Realtek 8822BS chipsets ${rtl8822bsver}" "info"
  372. local rtl8822bsver="branch:local_rtl8822bs"
  373. fetch_from_repo "$GITHUB_SOURCE/150balbes/wifi" "rtl8822bs" "${rtl8822bsver}" "yes"
  374. cd "$kerneldir" || exit
  375. rm -rf "$kerneldir/drivers/net/wireless/rtl8822bs"
  376. mkdir -p "$kerneldir/drivers/net/wireless/rtl8822bs/"
  377. cp -R "${SRC}/cache/sources/rtl8822bs/${rtl8822bsver#*:}"/{core,hal,include,os_dep,platform,bluetooth,getAP,rtl8822b.mk} \
  378. "$kerneldir/drivers/net/wireless/rtl8822bs"
  379. # Makefile
  380. cp "${SRC}/cache/sources/rtl8822bs/${rtl8822bsver#*:}/Makefile" \
  381. "$kerneldir/drivers/net/wireless/rtl8822bs/Makefile"
  382. # Kconfig
  383. sed -i 's/---help---/help/g' "${SRC}/cache/sources/rtl8822bs/${rtl8822bsver#*:}/Kconfig"
  384. cp "${SRC}/cache/sources/rtl8822bs/${rtl8822bsver#*:}/Kconfig" \
  385. "$kerneldir/drivers/net/wireless/rtl8822bs/Kconfig"
  386. # Add to section Makefile
  387. echo "obj-\$(CONFIG_RTL8822BS) += rtl8822bs/" >> "$kerneldir/drivers/net/wireless/Makefile"
  388. sed -i '/source "drivers\/net\/wireless\/ti\/Kconfig"/a source "drivers\/net\/wireless\/rtl8822bs\/Kconfig"' \
  389. "$kerneldir/drivers/net/wireless/Kconfig"
  390. process_patch_file "${SRC}/patch/misc/wireless-rtl8822bs-Fix-uninitialized-cfg80211-chan-def.patch" "applying"
  391. process_patch_file "${SRC}/patch/misc/wireless-rtl8822bs-Fix-p2p-go-advertising.patch" "applying"
  392. process_patch_file "${SRC}/patch/misc/wireless-rtl8822bs-Fix-misleading-indentation.patch" "applying"
  393. # fix compilation for kernels >= 5.4
  394. process_patch_file "${SRC}/patch/misc/wireless-rtl8822bs-Fix-VFS-import.patch" "applying"
  395. fi
  396. }
  397. driver_uwe5622_allwinner() {
  398. # Unisoc uwe5622 wireless Support
  399. if linux-version compare "${version}" ge 4.4 && linux-version compare "${version}" le 6.2 && [[ "$LINUXFAMILY" == sunxi* || "$LINUXFAMILY" == rockchip64 ]]; then
  400. display_alert "Adding" "Drivers for Unisoc uwe5622 found on some Allwinner and Rockchip boards" "info"
  401. process_patch_file "${SRC}/patch/misc/wireless-driver-for-uwe5622-allwinner.patch" "applying"
  402. process_patch_file "${SRC}/patch/misc/wireless-driver-for-uwe5622-allwinner-bugfix.patch" "applying"
  403. process_patch_file "${SRC}/patch/misc/wireless-driver-for-uwe5622-warnings.patch" "applying"
  404. # Add to section Makefile
  405. echo "obj-\$(CONFIG_SPARD_WLAN_SUPPORT) += uwe5622/" >> "$kerneldir/drivers/net/wireless/Makefile"
  406. if linux-version compare "${version}" lt 6.1; then
  407. process_patch_file "${SRC}/patch/misc/wireless-driver-for-uwe5622-park-link-pre-v6.1.patch" "applying"
  408. fi
  409. if linux-version compare "${version}" ge 6.1; then
  410. process_patch_file "${SRC}/patch/misc/wireless-driver-for-uwe5622-park-link-v6.1-post.patch" "applying"
  411. process_patch_file "${SRC}/patch/misc/wireless-driver-for-uwe5622-v6.1.patch" "applying"
  412. fi
  413. fi
  414. }
  415. patch_drivers_network() {
  416. display_alert "Patching network related drivers"
  417. driver_generic_bring_back_ipx
  418. driver_rtl8152_rtl8153
  419. driver_rtl8189ES
  420. driver_rtl8189FS
  421. driver_rtl8192EU
  422. driver_rtl8811_rtl8812_rtl8814_rtl8821
  423. driver_xradio_xr819
  424. driver_rtl8811CU_rtl8821C
  425. driver_rtl8188EU_rtl8188ETV
  426. driver_rtl88x2bu
  427. driver_rtl88x2cs
  428. driver_rtl8822cs_bt
  429. driver_rtl8723DS
  430. driver_rtl8723DU
  431. driver_rtl8822BS
  432. driver_uwe5622_allwinner
  433. display_alert "Network related drivers patched" "" "info"
  434. }