mirror of https://github.com/OpenIPC/firmware.git
				
				
				
			add hi3516ev300 fpv profile
							parent
							
								
									7552c12ff8
								
							
						
					
					
						commit
						489006f8ae
					
				|  | @ -68,8 +68,8 @@ jobs: | |||
|           echo "ARCHIVE_FW=$ARCHIVE_FW" >> $GITHUB_ENV | ||||
|           cd $GITHUB_WORKSPACE | ||||
|           make PLATFORM=goke BOARD=unknown_unknown_gk7205v200_fpv all | ||||
|           [[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) -gt 2097152 ]] && echo "TG_NOTIFY=Warning, kernel size exceeded : $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) vs 2097152... ${BOARD} (fpv)" >> $GITHUB_ENV && exit 1 | ||||
|           [[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) -gt 5242880 ]] && echo "TG_NOTIFY=Warning, rootfs size exceeded - $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) vs 5242880... ${BOARD} (fpv)" >> $GITHUB_ENV && exit 1 | ||||
|           [[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) -gt 3145728 ]] && echo "TG_NOTIFY=Warning, kernel size exceeded : $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) vs 3145728... ${BOARD} (fpv)" >> $GITHUB_ENV && exit 1 | ||||
|           [[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) -gt 10485760 ]] && echo "TG_NOTIFY=Warning, rootfs size exceeded - $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) vs 10485760... ${BOARD} (fpv)" >> $GITHUB_ENV && exit 1 | ||||
|           cd ${GITHUB_WORKSPACE}/output/images | ||||
|           mv uImage uImage.${BOARD} | ||||
|           mv rootfs.squashfs rootfs.squashfs.${BOARD} | ||||
|  |  | |||
|  | @ -0,0 +1,121 @@ | |||
| name: "Hi3516Ev300 (fpv)" | ||||
| 
 | ||||
| on: | ||||
|   push: | ||||
|     branches: | ||||
|       - production | ||||
|     tags: | ||||
|       - "v*" | ||||
|   schedule: | ||||
|       - cron: "00 03 * * *" | ||||
|   workflow_dispatch: | ||||
| 
 | ||||
| jobs: | ||||
|   build_core: | ||||
|     name: OpenIPC firmware for Hi3516Ev300 (fpv) | ||||
|     runs-on: ubuntu-latest | ||||
| 
 | ||||
|     steps: | ||||
| 
 | ||||
|       - name: Checkout | ||||
|         id: checkout | ||||
|         uses: actions/checkout@v2 | ||||
| 
 | ||||
|       - name: Install build dependencies | ||||
|         id: install | ||||
|         run: | | ||||
|           make install-deps | ||||
|           mkdir -p tmp | ||||
| 
 | ||||
|       - name: Free disk space | ||||
|         id: freshing | ||||
|         run: | | ||||
|           sudo swapoff -a | ||||
|           sudo rm -f /swapfile | ||||
|           sudo apt clean | ||||
|           docker rmi $(docker image ls -aq) | ||||
|           df -h | ||||
| 
 | ||||
|       - name: Prepare buildroot | ||||
|         id: prepare | ||||
|         run: | | ||||
|           HEAD_TAG=$(git tag --points-at HEAD) | ||||
|           GIT_HASH=$(git rev-parse --short $GITHUB_SHA) | ||||
|           BRANCH_NAME=$(echo $GITHUB_REF | cut -d'/' -f 3) | ||||
|           if [ -z "$HEAD_TAG" ]; then | ||||
|             TAG_NAME="latest" | ||||
|             RELEASE_NAME="Development Build" | ||||
|             PRERELEASE=true | ||||
|           else | ||||
|             TAG_NAME=${{ github.ref }} | ||||
|             RELEASE_NAME="Release ${{ github.ref }}" | ||||
|             PRERELEASE=false | ||||
|           fi | ||||
|           echo "GIT_HASH=$GIT_HASH" >> $GITHUB_ENV | ||||
|           echo "TAG_NAME=$TAG_NAME" >> $GITHUB_ENV | ||||
|           echo "RELEASE_NAME=$RELEASE_NAME" >> $GITHUB_ENV | ||||
|           echo "PRERELEASE=$PRERELEASE" >> $GITHUB_ENV | ||||
|           echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_ENV | ||||
|           echo "BOARD=hi3516ev300" >> $GITHUB_ENV | ||||
|           cd $GITHUB_WORKSPACE | ||||
|           make prepare | ||||
| 
 | ||||
|       - name: Build Hi3516Ev300 (fpv) firmware | ||||
|         id: build-hi3516ev300-fpv-firmware | ||||
|         continue-on-error: true | ||||
|         run: | | ||||
|           ARCHIVE_FW="${GITHUB_WORKSPACE}/output/images/openipc.${BOARD}-fpv-br.tgz" | ||||
|           echo "ARCHIVE_FW=$ARCHIVE_FW" >> $GITHUB_ENV | ||||
|           cd $GITHUB_WORKSPACE | ||||
|           make PLATFORM=hisilicon BOARD=unknown_unknown_${BOARD}_fpv all | ||||
|           [[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) -gt 3145728 ]] && echo "TG_NOTIFY=Warning, kernel size exceeded : $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) ... ${BOARD} (fpv)" >> $GITHUB_ENV && exit 1 | ||||
|           [[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) -gt 10485760 ]] && echo "TG_NOTIFY=Warning, rootfs size exceeded - $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) vs 10485760... ${BOARD} (fpv)" >> $GITHUB_ENV && exit 1 | ||||
|           cd ${GITHUB_WORKSPACE}/output/images | ||||
|           mv uImage uImage.${BOARD} | ||||
|           mv rootfs.squashfs rootfs.squashfs.${BOARD} | ||||
|           md5sum rootfs.squashfs.${BOARD} > rootfs.squashfs.${BOARD}.md5sum | ||||
|           md5sum uImage.${BOARD} > uImage.${BOARD}.md5sum | ||||
|           tar -cvzf $ARCHIVE_FW uImage* *rootfs.squashfs.${BOARD}* | ||||
| 
 | ||||
|       - name: Send warning message to telegram channel | ||||
|         env: | ||||
|           TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }} | ||||
|           TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }} | ||||
|         if: steps.build-hi3516ev300-fpv-firmware.outcome != 'success' | ||||
|         run: | | ||||
|           TG_OPTIONS="-s --connect-timeout 30 --max-time 30" | ||||
|           TG_NOTIFY="${TG_NOTIFY:=Warning, Buildroot compiling error... ${BOARD} (fpv)}" | ||||
|           TG_HEADER=$(echo -e "\r\n$TG_NOTIFY \r\n\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9A\xA0 GitHub Actions") | ||||
|           curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendMessage \ | ||||
|             -F chat_id=$TG_CHANNEL -F text="$TG_HEADER" | ||||
| 
 | ||||
|       - name: Create release | ||||
|         uses: actions/create-release@v1 | ||||
|         continue-on-error: true | ||||
|         env: | ||||
|           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
|         with: | ||||
|           tag_name: ${{ env.TAG_NAME }} | ||||
|           release_name: ${{ env.RELEASE_NAME }} | ||||
|           draft: false | ||||
|           prerelease: ${{ env.PRERELEASE }} | ||||
| 
 | ||||
|       - name: Upload FW to release | ||||
|         uses: svenstaro/upload-release-action@v2 | ||||
|         continue-on-error: true | ||||
|         with: | ||||
|           repo_token: ${{ secrets.GITHUB_TOKEN }} | ||||
|           file: ${{ env.ARCHIVE_FW }} | ||||
|           asset_name: openipc.${{ env.BOARD }}-fpv-br.tgz | ||||
|           tag: ${{ env.TAG_NAME }} | ||||
|           overwrite: true | ||||
| 
 | ||||
|       - name: Send binary file to telegram channel | ||||
|         env: | ||||
|           TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }} | ||||
|           TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }} | ||||
|         run: | | ||||
|           TG_OPTIONS="-s --connect-timeout 30 --max-time 30" | ||||
|           TG_HEADER=$(echo -e "\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9C\x85 GitHub Actions") | ||||
|           curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendDocument \ | ||||
|             -F chat_id=$TG_CHANNEL -F document="@$ARCHIVE_FW" -F caption="$TG_HEADER" | ||||
|  | @ -64,12 +64,13 @@ BR2_PACKAGE_LIBCURL_OPENIPC_CURL=y | |||
| # BR2_PACKAGE_LIBCURL_OPENIPC_COOKIES_SUPPORT is not set | ||||
| # BR2_PACKAGE_LIBCURL_OPENIPC_EXTRA_PROTOCOLS_FEATURES is not set | ||||
| BR2_PACKAGE_LIBCURL_OPENIPC_MBEDTLS=y | ||||
| # BR2_PACKAGE_LIBEVENT_OPENIPC is not set | ||||
| # BR2_PACKAGE_LIBEVENT_OPENIPC_REMOVE_PYSCRIPT is not set | ||||
| BR2_PACKAGE_LIBEVENT_OPENIPC=y | ||||
| BR2_PACKAGE_LIBEVENT_OPENIPC_REMOVE_PYSCRIPT=y | ||||
| # BR2_PACKAGE_LIBOGG_OPENIPC is not set | ||||
| BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y | ||||
| BR2_PACKAGE_LIBYAML=y | ||||
| # BR2_PACKAGE_MAJESTIC_FONTS is not set | ||||
| # BR2_PACKAGE_MAJESTIC_GK7205V200 is not set | ||||
| BR2_PACKAGE_MAJESTIC_FONTS=y | ||||
| BR2_PACKAGE_MAJESTIC_GK7205V200=y | ||||
| BR2_PACKAGE_MBEDTLS_OPENIPC=y | ||||
| # BR2_PACKAGE_MBEDTLS_OPENIPC_PROGRAMS is not set | ||||
| # BR2_PACKAGE_MBEDTLS_OPENIPC_COMPRESSION is not set | ||||
|  | @ -79,7 +80,7 @@ BR2_PACKAGE_MICROBE_WEB=y | |||
| # BR2_PACKAGE_OPUS_OPENIPC is not set | ||||
| # BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT is not set | ||||
| # BR2_PACKAGE_SSHPASS is not set | ||||
| # BR2_PACKAGE_UACME_OPENIPC is not set | ||||
| BR2_PACKAGE_UACME_OPENIPC=y | ||||
| # BR2_PACKAGE_VTUND_OPENIPC is not set | ||||
| BR2_PACKAGE_YAML_CLI=y | ||||
| 
 | ||||
|  |  | |||
|  | @ -56,7 +56,7 @@ BR2_PACKAGE_HASERL=y | |||
| BR2_PACKAGE_HISI_GPIO is not set | ||||
| BR2_PACKAGE_IPCTOOL=y | ||||
| BR2_PACKAGE_JSON_C=y | ||||
| BR2_PACKAGE_LAME_OPENIPC=y | ||||
| # BR2_PACKAGE_LAME_OPENIPC is not set | ||||
| BR2_PACKAGE_LIBCURL_OPENIPC=y | ||||
| BR2_PACKAGE_LIBCURL_OPENIPC_CURL=y | ||||
| # BR2_PACKAGE_LIBCURL_OPENIPC_VERBOSE is not set | ||||
|  | @ -66,19 +66,19 @@ BR2_PACKAGE_LIBCURL_OPENIPC_CURL=y | |||
| BR2_PACKAGE_LIBCURL_OPENIPC_MBEDTLS=y | ||||
| BR2_PACKAGE_LIBEVENT_OPENIPC=y | ||||
| BR2_PACKAGE_LIBEVENT_OPENIPC_REMOVE_PYSCRIPT=y | ||||
| BR2_PACKAGE_LIBOGG_OPENIPC=y | ||||
| # BR2_PACKAGE_LIBOGG_OPENIPC is not set | ||||
| BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y | ||||
| BR2_PACKAGE_LIBYAML=y | ||||
| # BR2_PACKAGE_MAJESTIC_FONTS is not set | ||||
| # BR2_PACKAGE_MAJESTIC_GK7205V200 is not set | ||||
| BR2_PACKAGE_MAJESTIC_FONTS=y | ||||
| BR2_PACKAGE_MAJESTIC_GK7205V200=y | ||||
| BR2_PACKAGE_MBEDTLS_OPENIPC=y | ||||
| # BR2_PACKAGE_MBEDTLS_OPENIPC_PROGRAMS is not set | ||||
| # BR2_PACKAGE_MBEDTLS_OPENIPC_COMPRESSION is not set | ||||
| BR2_PACKAGE_MICROBE_WEB=y | ||||
| # BR2_PACKAGE_MINI_SNMPD is not set | ||||
| # BR2_PACKAGE_MOTORS is not set | ||||
| BR2_PACKAGE_OPUS_OPENIPC=y | ||||
| BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y | ||||
| # BR2_PACKAGE_OPUS_OPENIPC is not set | ||||
| # BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT is not set | ||||
| # BR2_PACKAGE_SSHPASS is not set | ||||
| BR2_PACKAGE_UACME_OPENIPC=y | ||||
| # BR2_PACKAGE_VTUND_OPENIPC is not set | ||||
|  |  | |||
|  | @ -43,8 +43,10 @@ source "$BR2_EXTERNAL_HISILICON_PATH/package/opus-openipc/Config.in" | |||
| source "$BR2_EXTERNAL_HISILICON_PATH/package/rtl8188eus-openipc/Config.in" | ||||
| source "$BR2_EXTERNAL_HISILICON_PATH/package/rtw-hostapd/Config.in" | ||||
| source "$BR2_EXTERNAL_HISILICON_PATH/package/rtl8188fu-openipc/Config.in" | ||||
| source "$BR2_EXTERNAL_HISILICON_PATH/package/rtl8812au-openipc/Config.in" | ||||
| source "$BR2_EXTERNAL_HISILICON_PATH/package/uacme-openipc/Config.in" | ||||
| source "$BR2_EXTERNAL_HISILICON_PATH/package/uqmi/Config.in" | ||||
| source "$BR2_EXTERNAL_HISILICON_PATH/package/vtund-openipc/Config.in" | ||||
| source "$BR2_EXTERNAL_HISILICON_PATH/package/wifibroadcast/Config.in" | ||||
| source "$BR2_EXTERNAL_HISILICON_PATH/package/yaml-cli/Config.in" | ||||
| source "$BR2_EXTERNAL_HISILICON_PATH/package/zerotier-one/Config.in" | ||||
|  |  | |||
											
												
													File diff suppressed because it is too large
													Load Diff
												
											
										
									
								|  | @ -0,0 +1,63 @@ | |||
| --- a/net/wireless/db.txt	2022-02-06 14:21:30.404705488 +0300
 | ||||
| +++ b/net/wireless/db.txt	2022-02-06 14:22:10.140748295 +0300
 | ||||
| @@ -1,17 +1,43 @@
 | ||||
| -#
 | ||||
| -# This file is a placeholder to prevent accidental build breakage if someone
 | ||||
| -# enables CONFIG_CFG80211_INTERNAL_REGDB.  Almost no one actually needs to
 | ||||
| -# enable that build option.
 | ||||
| -#
 | ||||
| -# You should be using CRDA instead.  It is even better if you use the CRDA
 | ||||
| -# package provided by your distribution, since they will probably keep it
 | ||||
| -# up-to-date on your behalf.
 | ||||
| -#
 | ||||
| -# If you _really_ intend to use CONFIG_CFG80211_INTERNAL_REGDB then you will
 | ||||
| -# need to replace this file with one containing appropriately formatted
 | ||||
| -# regulatory rules that cover the regulatory domains you will be using.  Your
 | ||||
| -# best option is to extract the db.txt file from the wireless-regdb git
 | ||||
| -# repository:
 | ||||
| -#
 | ||||
| -#   git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-regdb.git
 | ||||
| -#
 | ||||
| +country 00:
 | ||||
| +       (2302 - 2742 @ 40), (30)
 | ||||
| +       (4910 - 6110 @ 160), (30)
 | ||||
| +
 | ||||
| +country DE:
 | ||||
| +       (2302 - 2742 @ 40), (30)
 | ||||
| +       (4910 - 6110 @ 160), (30)
 | ||||
| +
 | ||||
| +country AT:
 | ||||
| +       (2302 - 2742 @ 40), (30)
 | ||||
| +       (4910 - 6110 @ 160), (30)
 | ||||
| +
 | ||||
| +country CH:
 | ||||
| +       (2302 - 2742 @ 40), (30)
 | ||||
| +       (4910 - 6110 @ 160), (30)
 | ||||
| +
 | ||||
| +country TW:
 | ||||
| +       (2302 - 2742 @ 40), (30)
 | ||||
| +       (4910 - 6110 @ 160), (30)
 | ||||
| +
 | ||||
| +country AU:
 | ||||
| +       (2302 - 2742 @ 40), (30)
 | ||||
| +       (4910 - 6110 @ 160), (30)
 | ||||
| +
 | ||||
| +country CA:
 | ||||
| +       (2302 - 2742 @ 40), (30)
 | ||||
| +       (4910 - 6110 @ 160), (30)
 | ||||
| +
 | ||||
| +country US:
 | ||||
| +       (2302 - 2742 @ 40), (30)
 | ||||
| +       (4910 - 6110 @ 160), (30)
 | ||||
| +
 | ||||
| +country BO:
 | ||||
| +       (2302 - 2742 @ 40), (30)
 | ||||
| +       (4910 - 6110 @ 160), (30)
 | ||||
| +
 | ||||
| +country GB:
 | ||||
| +       (2302 - 2742 @ 40), (30)
 | ||||
| +       (4910 - 6110 @ 160), (30)
 | ||||
| +
 | ||||
| +country CN:
 | ||||
| +       (2302 - 2742 @ 40), (30)
 | ||||
| +       (4910 - 6110 @ 160), (30)
 | ||||
|  | @ -0,0 +1,62 @@ | |||
| --- a/net/wireless/reg.c	2022-02-06 14:25:43.736978901 +0300
 | ||||
| +++ b/net/wireless/reg.c	2022-02-06 14:32:43.577206926 +0300
 | ||||
| @@ -220,34 +220,23 @@
 | ||||
|  	.alpha2 =  "00", | ||||
|  	.reg_rules = { | ||||
|  		/* IEEE 802.11b/g, channels 1..11 */ | ||||
| -		REG_RULE(2412-10, 2462+10, 40, 6, 20, 0),
 | ||||
| +               REG_RULE(2312-10, 2462+10, 40, 6, 30, 0),
 | ||||
|  		/* IEEE 802.11b/g, channels 12..13. */ | ||||
| -		REG_RULE(2467-10, 2472+10, 20, 6, 20,
 | ||||
| -			NL80211_RRF_NO_IR | NL80211_RRF_AUTO_BW),
 | ||||
| +               REG_RULE(2467-10, 2472+10, 40, 6, 30, 0),
 | ||||
|  		/* IEEE 802.11 channel 14 - Only JP enables | ||||
|  		 * this and for 802.11b only */ | ||||
| -		REG_RULE(2484-10, 2484+10, 20, 6, 20,
 | ||||
| -			NL80211_RRF_NO_IR |
 | ||||
| -			NL80211_RRF_NO_OFDM),
 | ||||
| +               REG_RULE(2484-10, 2732+10, 40, 6, 30, 0),
 | ||||
|  		/* IEEE 802.11a, channel 36..48 */ | ||||
| -		REG_RULE(5180-10, 5240+10, 80, 6, 20,
 | ||||
| -                        NL80211_RRF_NO_IR |
 | ||||
| -                        NL80211_RRF_AUTO_BW),
 | ||||
| +               REG_RULE(4920-10, 5240+10, 160, 6, 30, 0),
 | ||||
|   | ||||
|  		/* IEEE 802.11a, channel 52..64 - DFS required */ | ||||
| -		REG_RULE(5260-10, 5320+10, 80, 6, 20,
 | ||||
| -			NL80211_RRF_NO_IR |
 | ||||
| -			NL80211_RRF_AUTO_BW |
 | ||||
| -			NL80211_RRF_DFS),
 | ||||
| +               REG_RULE(5260-10, 5320+10, 80, 6, 30, 0),
 | ||||
|   | ||||
|  		/* IEEE 802.11a, channel 100..144 - DFS required */ | ||||
| -		REG_RULE(5500-10, 5720+10, 160, 6, 20,
 | ||||
| -			NL80211_RRF_NO_IR |
 | ||||
| -			NL80211_RRF_DFS),
 | ||||
| +               REG_RULE(5500-10, 5720+10, 160, 6, 30, 0),
 | ||||
|   | ||||
|  		/* IEEE 802.11a, channel 149..165 */ | ||||
| -		REG_RULE(5745-10, 5825+10, 80, 6, 20,
 | ||||
| -			NL80211_RRF_NO_IR),
 | ||||
| +               REG_RULE(5745-10, 6100+10, 160, 6, 30, 0),
 | ||||
|   | ||||
|  		/* IEEE 802.11ad (60GHz), channels 1..3 */ | ||||
|  		REG_RULE(56160+2160*1-1080, 56160+2160*3+1080, 2160, 0, 0, 0), | ||||
| @@ -3106,7 +3095,7 @@
 | ||||
|  int cfg80211_get_unii(int freq) | ||||
|  { | ||||
|  	/* UNII-1 */ | ||||
| -	if (freq >= 5150 && freq <= 5250)
 | ||||
| +       if (freq >= 4920 && freq <= 5250)
 | ||||
|  		return 0; | ||||
|   | ||||
|  	/* UNII-2A */ | ||||
| @@ -3122,7 +3111,7 @@
 | ||||
|  		return 3; | ||||
|   | ||||
|  	/* UNII-3 */ | ||||
| -	if (freq > 5725 && freq <= 5825)
 | ||||
| +       if (freq > 5725 && freq <= 6100)
 | ||||
|  		return 4; | ||||
|   | ||||
|  	return -EINVAL; | ||||
|  | @ -0,0 +1,83 @@ | |||
| --- a/drivers/net/wireless/ath/regd.c	2022-02-06 14:38:00.921409323 +0300
 | ||||
| +++ b/drivers/net/wireless/ath/regd.c	2022-02-06 14:44:22.069710165 +0300
 | ||||
| @@ -33,22 +33,16 @@
 | ||||
|   */ | ||||
|   | ||||
|  /* Only these channels all allow active scan on all world regulatory domains */ | ||||
| -#define ATH9K_2GHZ_CH01_11	REG_RULE(2412-10, 2462+10, 40, 0, 20, 0)
 | ||||
| +#define ATH9K_2GHZ_CH01_11     REG_RULE(2312-10, 2462+10, 40, 0, 30, 0)
 | ||||
|   | ||||
|  /* We enable active scan on these a case by case basis by regulatory domain */ | ||||
| -#define ATH9K_2GHZ_CH12_13	REG_RULE(2467-10, 2472+10, 40, 0, 20,\
 | ||||
| -					 NL80211_RRF_NO_IR)
 | ||||
| -#define ATH9K_2GHZ_CH14		REG_RULE(2484-10, 2484+10, 40, 0, 20,\
 | ||||
| -					 NL80211_RRF_NO_IR | \
 | ||||
| -					 NL80211_RRF_NO_OFDM)
 | ||||
| +#define ATH9K_2GHZ_CH12_13     REG_RULE(2467-10, 2472+10, 40, 0, 30, 0)
 | ||||
| +#define ATH9K_2GHZ_CH14                REG_RULE(2484-10, 2732+10, 40, 0, 30, 0)
 | ||||
|   | ||||
|  /* We allow IBSS on these on a case by case basis by regulatory domain */ | ||||
| -#define ATH9K_5GHZ_5150_5350	REG_RULE(5150-10, 5350+10, 80, 0, 30,\
 | ||||
| -					 NL80211_RRF_NO_IR)
 | ||||
| -#define ATH9K_5GHZ_5470_5850	REG_RULE(5470-10, 5850+10, 80, 0, 30,\
 | ||||
| -					 NL80211_RRF_NO_IR)
 | ||||
| -#define ATH9K_5GHZ_5725_5850	REG_RULE(5725-10, 5850+10, 80, 0, 30,\
 | ||||
| -					 NL80211_RRF_NO_IR)
 | ||||
| +#define ATH9K_5GHZ_5150_5350   REG_RULE(4920-10, 5350+10, 80, 0, 30, 0)
 | ||||
| +#define ATH9K_5GHZ_5470_5850   REG_RULE(5470-10, 6100+10, 80, 0, 30, 0)
 | ||||
| +#define ATH9K_5GHZ_5725_5850   REG_RULE(5725-10, 6100+10, 80, 0, 30, 0)
 | ||||
|   | ||||
|  #define ATH9K_2GHZ_ALL		ATH9K_2GHZ_CH01_11, \ | ||||
|  				ATH9K_2GHZ_CH12_13, \ | ||||
| @@ -77,9 +71,8 @@
 | ||||
|  	.n_reg_rules = 4, | ||||
|  	.alpha2 =  "99", | ||||
|  	.reg_rules = { | ||||
| -		ATH9K_2GHZ_CH01_11,
 | ||||
| -		ATH9K_2GHZ_CH12_13,
 | ||||
| -		ATH9K_5GHZ_NO_MIDBAND,
 | ||||
| +                ATH9K_2GHZ_ALL,
 | ||||
| +                ATH9K_5GHZ_ALL,
 | ||||
|  	} | ||||
|  }; | ||||
|   | ||||
| @@ -88,8 +81,8 @@
 | ||||
|  	.n_reg_rules = 3, | ||||
|  	.alpha2 =  "99", | ||||
|  	.reg_rules = { | ||||
| -		ATH9K_2GHZ_CH01_11,
 | ||||
| -		ATH9K_5GHZ_NO_MIDBAND,
 | ||||
| +                ATH9K_2GHZ_ALL,
 | ||||
| +                ATH9K_5GHZ_ALL,
 | ||||
|  	} | ||||
|  }; | ||||
|   | ||||
| @@ -98,7 +91,7 @@
 | ||||
|  	.n_reg_rules = 3, | ||||
|  	.alpha2 =  "99", | ||||
|  	.reg_rules = { | ||||
| -		ATH9K_2GHZ_CH01_11,
 | ||||
| +                ATH9K_2GHZ_ALL,
 | ||||
|  		ATH9K_5GHZ_ALL, | ||||
|  	} | ||||
|  }; | ||||
| @@ -108,8 +101,7 @@
 | ||||
|  	.n_reg_rules = 4, | ||||
|  	.alpha2 =  "99", | ||||
|  	.reg_rules = { | ||||
| -		ATH9K_2GHZ_CH01_11,
 | ||||
| -		ATH9K_2GHZ_CH12_13,
 | ||||
| +                ATH9K_2GHZ_ALL,
 | ||||
|  		ATH9K_5GHZ_ALL, | ||||
|  	} | ||||
|  }; | ||||
| @@ -256,7 +248,8 @@
 | ||||
|  /* Frequency is one where radar detection is required */ | ||||
|  static bool ath_is_radar_freq(u16 center_freq) | ||||
|  { | ||||
| -	return (center_freq >= 5260 && center_freq <= 5700);
 | ||||
| +//	return (center_freq >= 5260 && center_freq <= 5700);
 | ||||
| +	return 0;
 | ||||
|  } | ||||
|   | ||||
|  static void ath_force_clear_no_ir_chan(struct wiphy *wiphy, | ||||
|  | @ -0,0 +1,144 @@ | |||
| --- a/drivers/net/wireless/ath/ath9k/common-init.c	2022-02-06 14:47:53.725892087 +0300
 | ||||
| +++ b/drivers/net/wireless/ath/ath9k/common-init.c	2022-02-06 14:54:27.610245503 +0300
 | ||||
| @@ -22,14 +22,14 @@
 | ||||
|  	.band = NL80211_BAND_2GHZ, \ | ||||
|  	.center_freq = (_freq), \ | ||||
|  	.hw_value = (_idx), \ | ||||
| -	.max_power = 20, \
 | ||||
| +	.max_power = 30, \
 | ||||
|  } | ||||
|   | ||||
|  #define CHAN5G(_freq, _idx) { \ | ||||
|  	.band = NL80211_BAND_5GHZ, \ | ||||
|  	.center_freq = (_freq), \ | ||||
|  	.hw_value = (_idx), \ | ||||
| -	.max_power = 20, \
 | ||||
| +	.max_power = 30, \
 | ||||
|  } | ||||
|   | ||||
|  /* Some 2 GHz radios are actually tunable on 2312-2732 | ||||
| @@ -37,6 +37,27 @@
 | ||||
|   * we have calibration data for all cards though to make | ||||
|   * this static */ | ||||
|  static const struct ieee80211_channel ath9k_2ghz_chantable[] = { | ||||
| +       CHAN2G(2312, 34), /* Channel XX */
 | ||||
| +       CHAN2G(2317, 35), /* Channel XX */
 | ||||
| +       CHAN2G(2322, 36), /* Channel XX */
 | ||||
| +       CHAN2G(2327, 37), /* Channel XX */
 | ||||
| +       CHAN2G(2332, 38), /* Channel XX */
 | ||||
| +       CHAN2G(2337, 39), /* Channel XX */
 | ||||
| +       CHAN2G(2342, 40), /* Channel XX */
 | ||||
| +       CHAN2G(2347, 41), /* Channel XX */
 | ||||
| +       CHAN2G(2352, 42), /* Channel XX */
 | ||||
| +       CHAN2G(2357, 43), /* Channel XX */
 | ||||
| +       CHAN2G(2362, 44), /* Channel XX */
 | ||||
| +       CHAN2G(2367, 45), /* Channel XX */
 | ||||
| +       CHAN2G(2372, 46), /* Channel XX */
 | ||||
| +       CHAN2G(2377, 47), /* Channel XX */
 | ||||
| +       CHAN2G(2382, 48), /* Channel XX */
 | ||||
| +       CHAN2G(2387, 49), /* Channel XX */
 | ||||
| +       CHAN2G(2392, 50), /* Channel XX */
 | ||||
| +       CHAN2G(2397, 51), /* Channel XX */
 | ||||
| +       CHAN2G(2402, 52), /* Channel XX */
 | ||||
| +       CHAN2G(2407, 53), /* Channel XX */
 | ||||
| +
 | ||||
|  	CHAN2G(2412, 0), /* Channel 1 */ | ||||
|  	CHAN2G(2417, 1), /* Channel 2 */ | ||||
|  	CHAN2G(2422, 2), /* Channel 3 */ | ||||
| @@ -50,7 +71,31 @@
 | ||||
|  	CHAN2G(2462, 10), /* Channel 11 */ | ||||
|  	CHAN2G(2467, 11), /* Channel 12 */ | ||||
|  	CHAN2G(2472, 12), /* Channel 13 */ | ||||
| -	CHAN2G(2484, 13), /* Channel 14 */
 | ||||
| +
 | ||||
| +       CHAN2G(2477, 13), /* Channel XX */
 | ||||
| +       CHAN2G(2478, 14), /* Channel XX */
 | ||||
| +       CHAN2G(2482, 15), /* Channel XX */
 | ||||
| + 
 | ||||
| +       CHAN2G(2484, 16), /* Channel 14 */
 | ||||
| + 
 | ||||
| +       CHAN2G(2487, 17), /* Channel XX */
 | ||||
| +       CHAN2G(2489, 18), /* Channel XX */
 | ||||
| +       CHAN2G(2492, 19), /* Channel XX */
 | ||||
| +       CHAN2G(2494, 20), /* Channel XX */
 | ||||
| +       CHAN2G(2497, 21), /* Channel XX */
 | ||||
| +       CHAN2G(2499, 22), /* Channel XX */
 | ||||
| +       CHAN2G(2512, 23), /* Channel XX */
 | ||||
| +       CHAN2G(2532, 24), /* Channel XX */
 | ||||
| +       CHAN2G(2572, 25), /* Channel XX */
 | ||||
| +       CHAN2G(2592, 26), /* Channel XX */
 | ||||
| +       CHAN2G(2612, 27), /* Channel XX */
 | ||||
| +       CHAN2G(2632, 28), /* Channel XX */
 | ||||
| +       CHAN2G(2652, 29), /* Channel XX */
 | ||||
| +       CHAN2G(2672, 30), /* Channel XX */
 | ||||
| +       CHAN2G(2692, 31), /* Channel XX */
 | ||||
| +       CHAN2G(2712, 32), /* Channel XX */
 | ||||
| +       CHAN2G(2732, 33), /* Channel XX */
 | ||||
| +
 | ||||
|  }; | ||||
|   | ||||
|  /* Some 5 GHz radios are actually tunable on XXXX-YYYY | ||||
| @@ -58,34 +103,39 @@
 | ||||
|   * we have calibration data for all cards though to make | ||||
|   * this static */ | ||||
|  static const struct ieee80211_channel ath9k_5ghz_chantable[] = { | ||||
| +       CHAN5G(4920, 54), /* Channel XX */
 | ||||
| +       CHAN5G(4940, 55), /* Channel XX */
 | ||||
| +       CHAN5G(4960, 56), /* Channel XX */
 | ||||
| +       CHAN5G(4980, 57), /* Channel XX */
 | ||||
| +
 | ||||
|  	/* _We_ call this UNII 1 */ | ||||
| -	CHAN5G(5180, 14), /* Channel 36 */
 | ||||
| -	CHAN5G(5200, 15), /* Channel 40 */
 | ||||
| -	CHAN5G(5220, 16), /* Channel 44 */
 | ||||
| -	CHAN5G(5240, 17), /* Channel 48 */
 | ||||
| +       CHAN5G(5180, 58), /* Channel 36 */
 | ||||
| +       CHAN5G(5200, 59), /* Channel 40 */
 | ||||
| +       CHAN5G(5220, 60), /* Channel 44 */
 | ||||
| +       CHAN5G(5240, 61), /* Channel 48 */
 | ||||
|  	/* _We_ call this UNII 2 */ | ||||
| -	CHAN5G(5260, 18), /* Channel 52 */
 | ||||
| -	CHAN5G(5280, 19), /* Channel 56 */
 | ||||
| -	CHAN5G(5300, 20), /* Channel 60 */
 | ||||
| -	CHAN5G(5320, 21), /* Channel 64 */
 | ||||
| +       CHAN5G(5260, 62), /* Channel 52 */
 | ||||
| +       CHAN5G(5280, 63), /* Channel 56 */
 | ||||
| +       CHAN5G(5300, 64), /* Channel 60 */
 | ||||
| +       CHAN5G(5320, 65), /* Channel 64 */
 | ||||
|  	/* _We_ call this "Middle band" */ | ||||
| -	CHAN5G(5500, 22), /* Channel 100 */
 | ||||
| -	CHAN5G(5520, 23), /* Channel 104 */
 | ||||
| -	CHAN5G(5540, 24), /* Channel 108 */
 | ||||
| -	CHAN5G(5560, 25), /* Channel 112 */
 | ||||
| -	CHAN5G(5580, 26), /* Channel 116 */
 | ||||
| -	CHAN5G(5600, 27), /* Channel 120 */
 | ||||
| -	CHAN5G(5620, 28), /* Channel 124 */
 | ||||
| -	CHAN5G(5640, 29), /* Channel 128 */
 | ||||
| -	CHAN5G(5660, 30), /* Channel 132 */
 | ||||
| -	CHAN5G(5680, 31), /* Channel 136 */
 | ||||
| -	CHAN5G(5700, 32), /* Channel 140 */
 | ||||
| +       CHAN5G(5500, 66), /* Channel 100 */
 | ||||
| +       CHAN5G(5520, 67), /* Channel 104 */
 | ||||
| +       CHAN5G(5540, 68), /* Channel 108 */
 | ||||
| +       CHAN5G(5560, 69), /* Channel 112 */
 | ||||
| +       CHAN5G(5580, 70), /* Channel 116 */
 | ||||
| +       CHAN5G(5600, 71), /* Channel 120 */
 | ||||
| +       CHAN5G(5620, 72), /* Channel 124 */
 | ||||
| +       CHAN5G(5640, 73), /* Channel 128 */
 | ||||
| +       CHAN5G(5660, 74), /* Channel 132 */
 | ||||
| +       CHAN5G(5680, 75), /* Channel 136 */
 | ||||
| +       CHAN5G(5700, 76), /* Channel 140 */
 | ||||
|  	/* _We_ call this UNII 3 */ | ||||
| -	CHAN5G(5745, 33), /* Channel 149 */
 | ||||
| -	CHAN5G(5765, 34), /* Channel 153 */
 | ||||
| -	CHAN5G(5785, 35), /* Channel 157 */
 | ||||
| -	CHAN5G(5805, 36), /* Channel 161 */
 | ||||
| -	CHAN5G(5825, 37), /* Channel 165 */
 | ||||
| +       CHAN5G(5745, 77), /* Channel 149 */
 | ||||
| +       CHAN5G(5765, 78), /* Channel 153 */
 | ||||
| +       CHAN5G(5785, 79), /* Channel 157 */
 | ||||
| +       CHAN5G(5805, 80), /* Channel 161 */
 | ||||
| +       CHAN5G(5825, 81), /* Channel 165 */
 | ||||
|  }; | ||||
|   | ||||
|  /* Atheros hardware rate code addition for short premble */ | ||||
|  | @ -0,0 +1,40 @@ | |||
| --- a/drivers/net/wireless/ath/ath9k/eeprom_4k.c	2022-02-06 14:59:02.314498487 +0300
 | ||||
| +++ b/drivers/net/wireless/ath/ath9k/eeprom_4k.c	2022-02-06 15:03:17.406759246 +0300
 | ||||
| @@ -18,6 +18,9 @@
 | ||||
|  #include "hw.h" | ||||
|  #include "ar9002_phy.h" | ||||
|   | ||||
| +extern u8 tx_power_man;
 | ||||
| +extern u8 thresh62_man;
 | ||||
| +
 | ||||
|  static int ath9k_hw_4k_get_eeprom_ver(struct ath_hw *ah) | ||||
|  { | ||||
|  	return ((ah->eeprom.map4k.baseEepHeader.version >> 12) & 0xF); | ||||
| @@ -636,8 +639,12 @@
 | ||||
|  	if (test) | ||||
|  	    return; | ||||
|   | ||||
| -	for (i = 0; i < Ar5416RateSize; i++)
 | ||||
| -		ratesArray[i] -= AR5416_PWR_TABLE_OFFSET_DB * 2;
 | ||||
| +	for (i = 0; i < Ar5416RateSize; i++) {
 | ||||
| +//		ratesArray[i] -= AR5416_PWR_TABLE_OFFSET_DB * 2;
 | ||||
| +                ratesArray[i] = tx_power_man;
 | ||||
| +	}
 | ||||
| +
 | ||||
| +       printk("ATH: TX Power set: %d\n",tx_power_man);
 | ||||
|   | ||||
|  	ENABLE_REGWRITE_BUFFER(ah); | ||||
|   | ||||
| @@ -1009,10 +1016,8 @@
 | ||||
|  	if (AR_SREV_9271_10(ah)) | ||||
|  		REG_RMW_FIELD(ah, AR_PHY_RF_CTL3, AR_PHY_TX_END_TO_A2_RX_ON, | ||||
|  			      pModal->txEndToRxOn); | ||||
| -	REG_RMW_FIELD(ah, AR_PHY_CCA, AR9280_PHY_CCA_THRESH62,
 | ||||
| -		      pModal->thresh62);
 | ||||
| -	REG_RMW_FIELD(ah, AR_PHY_EXT_CCA0, AR_PHY_EXT_CCA0_THRESH62,
 | ||||
| -		      pModal->thresh62);
 | ||||
| +       REG_RMW_FIELD(ah, AR_PHY_CCA, AR9280_PHY_CCA_THRESH62, thresh62_man);
 | ||||
| +       REG_RMW_FIELD(ah, AR_PHY_EXT_CCA0, AR_PHY_EXT_CCA0_THRESH62, thresh62_man);
 | ||||
|   | ||||
|  	if ((eep->baseEepHeader.version & AR5416_EEP_VER_MINOR_MASK) >= | ||||
|  						AR5416_EEP_MINOR_VER_2) { | ||||
|  | @ -0,0 +1,26 @@ | |||
| --- a/drivers/net/wireless/ath/ath9k/eeprom_9287.c	2022-02-06 15:07:44.951075986 +0300
 | ||||
| +++ b/drivers/net/wireless/ath/ath9k/eeprom_9287.c	2022-02-06 15:09:33.707198364 +0300
 | ||||
| @@ -18,6 +18,8 @@
 | ||||
|  #include "hw.h" | ||||
|  #include "ar9002_phy.h" | ||||
|   | ||||
| +extern u8 tx_power_man;
 | ||||
| +
 | ||||
|  #define SIZE_EEPROM_AR9287 (sizeof(struct ar9287_eeprom) / sizeof(u16)) | ||||
|   | ||||
|  static int ath9k_hw_ar9287_get_eeprom_ver(struct ath_hw *ah) | ||||
| @@ -762,8 +764,12 @@
 | ||||
|  	if (test) | ||||
|  		return; | ||||
|   | ||||
| -	for (i = 0; i < Ar5416RateSize; i++)
 | ||||
| -		ratesArray[i] -= AR9287_PWR_TABLE_OFFSET_DB * 2;
 | ||||
| +	for (i = 0; i < Ar5416RateSize; i++) {
 | ||||
| +//		ratesArray[i] -= AR9287_PWR_TABLE_OFFSET_DB * 2;
 | ||||
| +               ratesArray[i] = tx_power_man;
 | ||||
| +	}
 | ||||
| +
 | ||||
| +       printk("ATH: TX Power set: %d\n",tx_power_man);
 | ||||
|   | ||||
|  	ENABLE_REGWRITE_BUFFER(ah); | ||||
|   | ||||
|  | @ -0,0 +1,11 @@ | |||
| --- a/drivers/net/wireless/ath/ath9k/hif_usb.h	2022-02-06 15:12:07.699367211 +0300
 | ||||
| +++ b/drivers/net/wireless/ath/ath9k/hif_usb.h	2022-02-06 15:12:22.731383462 +0300
 | ||||
| @@ -61,7 +61,7 @@
 | ||||
|  #define MAX_PKT_NUM_IN_TRANSFER 10 | ||||
|   | ||||
|  #define MAX_REG_OUT_URB_NUM  1 | ||||
| -#define MAX_REG_IN_URB_NUM   64
 | ||||
| +#define MAX_REG_IN_URB_NUM   8
 | ||||
|   | ||||
|  #define MAX_REG_IN_BUF_SIZE 64 | ||||
|   | ||||
|  | @ -0,0 +1,53 @@ | |||
| --- a/drivers/net/wireless/ath/ath9k/hw.c	2022-02-06 15:14:11.847500396 +0300
 | ||||
| +++ b/drivers/net/wireless/ath/ath9k/hw.c	2022-02-06 15:16:29.055645264 +0300
 | ||||
| @@ -37,6 +37,40 @@
 | ||||
|  MODULE_SUPPORTED_DEVICE("Atheros 802.11n WLAN cards"); | ||||
|  MODULE_LICENSE("Dual BSD/GPL"); | ||||
|   | ||||
| +u8 tx_power_man = 58; //manual power
 | ||||
| +u8 cwmin_man = 7;
 | ||||
| +u8 cwmax_man = 15;
 | ||||
| +u8 aifs_man = 2;
 | ||||
| +u8 cck_sifs_man = 10;
 | ||||
| +u8 ofdm_sifs_man = 16;
 | ||||
| +u8 slottime_man = 9;
 | ||||
| +u8 thresh62_man = 28;
 | ||||
| +
 | ||||
| +module_param_named(txpower,tx_power_man,byte,0444);
 | ||||
| +MODULE_PARM_DESC(txpower,"Manual TX power setting, default 58, max 63");
 | ||||
| +
 | ||||
| +module_param_named(cwmin,cwmin_man,byte,0444);
 | ||||
| +MODULE_PARM_DESC(cwmin,"CWMIN setting, 0-255, default 7");
 | ||||
| +
 | ||||
| +module_param_named(cwmax,cwmax_man,byte,0444);
 | ||||
| +MODULE_PARM_DESC(cwmax,"CWMAX setting, 0-255, default 15");
 | ||||
| +
 | ||||
| +module_param_named(aifs,aifs_man,byte,0444);
 | ||||
| +MODULE_PARM_DESC(aifs,"AIFS setting, default 2");
 | ||||
| +
 | ||||
| +module_param_named(cck_sifs,cck_sifs_man,byte,0444);
 | ||||
| +MODULE_PARM_DESC(cck_sifs,"CCK SIFS setting, default 10");
 | ||||
| +
 | ||||
| +module_param_named(ofdm_sifs,ofdm_sifs_man,byte,0444);
 | ||||
| +MODULE_PARM_DESC(ofdm_sifs,"OFDM SIFS setting, default 16");
 | ||||
| +
 | ||||
| +module_param_named(slottime,slottime_man,byte,0444);
 | ||||
| +MODULE_PARM_DESC(slottime,"Slottime setting, default 9");
 | ||||
| +
 | ||||
| +module_param_named(thresh62,thresh62_man,byte,0444);
 | ||||
| +MODULE_PARM_DESC(thresh62,"CCA THRESH62 setting, default 28");
 | ||||
| +
 | ||||
| +
 | ||||
|  static void ath9k_hw_set_clockrate(struct ath_hw *ah) | ||||
|  { | ||||
|  	struct ath_common *common = ath9k_hw_common(ah); | ||||
| @@ -1076,7 +1110,8 @@
 | ||||
|  	} | ||||
|   | ||||
|  	/* As defined by IEEE 802.11-2007 17.3.8.6 */ | ||||
| -	slottime += 3 * ah->coverage_class;
 | ||||
| +//	slottime += 3 * ah->coverage_class;
 | ||||
| +       slottime = slottime_man;
 | ||||
|  	acktimeout = slottime + sifstime + ack_offset; | ||||
|  	ctstimeout = acktimeout; | ||||
|   | ||||
|  | @ -0,0 +1,11 @@ | |||
| --- a/drivers/net/wireless/ath/ath9k/hw.h	2022-02-06 15:18:19.827760817 +0300
 | ||||
| +++ b/drivers/net/wireless/ath/ath9k/hw.h	2022-02-06 15:18:51.895794076 +0300
 | ||||
| @@ -73,7 +73,7 @@
 | ||||
|   | ||||
|  #define ATH9K_RSSI_BAD			-128 | ||||
|   | ||||
| -#define ATH9K_NUM_CHANNELS	38
 | ||||
| +#define ATH9K_NUM_CHANNELS	82
 | ||||
|   | ||||
|  /* Register read/write primitives */ | ||||
|  #define REG_WRITE(_ah, _reg, _val) \ | ||||
|  | @ -0,0 +1,26 @@ | |||
| --- a/drivers/net/wireless/ath/ath9k/mac.c	2022-02-06 15:20:00.487864963 +0300
 | ||||
| +++ b/drivers/net/wireless/ath/ath9k/mac.c	2022-02-06 15:21:04.523930861 +0300
 | ||||
| @@ -18,6 +18,13 @@
 | ||||
|  #include "hw-ops.h" | ||||
|  #include <linux/export.h> | ||||
|   | ||||
| +extern u8 cwmin_man;
 | ||||
| +extern u8 cwmax_man;
 | ||||
| +extern u8 aifs_man;
 | ||||
| +extern u8 cck_sifs;
 | ||||
| +extern u8 ofdm_sifs;
 | ||||
| +
 | ||||
| +
 | ||||
|  static void ath9k_hw_set_txq_interrupts(struct ath_hw *ah, | ||||
|  					struct ath9k_tx_queue_info *qi) | ||||
|  { | ||||
| @@ -216,7 +223,8 @@
 | ||||
|  	if (qinfo->tqi_aifs != ATH9K_TXQ_USEDEFAULT) | ||||
|  		qi->tqi_aifs = min(qinfo->tqi_aifs, 255U); | ||||
|  	else | ||||
| -		qi->tqi_aifs = INIT_AIFS;
 | ||||
| +//		qi->tqi_aifs = INIT_AIFS;
 | ||||
| +               qi->tqi_aifs = aifs_man;
 | ||||
|  	if (qinfo->tqi_cwmin != ATH9K_TXQ_USEDEFAULT) { | ||||
|  		cw = min(qinfo->tqi_cwmin, 1024U); | ||||
|  		qi->tqi_cwmin = 1; | ||||
|  | @ -0,0 +1,105 @@ | |||
| # Architecture | ||||
| BR2_arm=y | ||||
| BR2_cortex_a7=y | ||||
| BR2_ARM_EABI=y | ||||
| BR2_ARM_FPU_NEON_VFPV4=y | ||||
| BR2_ARM_INSTRUCTIONS_THUMB2=y | ||||
| BR2_KERNEL_HEADERS_VERSION=y | ||||
| BR2_DEFAULT_KERNEL_VERSION="4.9.37" | ||||
| BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y | ||||
| 
 | ||||
| # Toolchain | ||||
| BR2_PER_PACKAGE_DIRECTORIES=y | ||||
| BR2_GCC_VERSION_7_X=y | ||||
| # BR2_TOOLCHAIN_USES_UCLIBC is not set | ||||
| # BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set | ||||
| # BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc" | ||||
| BR2_TOOLCHAIN_USES_MUSL=y | ||||
| BR2_TOOLCHAIN_BUILDROOT_MUSL=y | ||||
| BR2_TOOLCHAIN_BUILDROOT_LIBC="musl" | ||||
| BR2_TOOLCHAIN_BUILDROOT_CXX=y | ||||
| BR2_TOOLCHAIN_BUILDROOT_LOCALE=y | ||||
| BR2_TOOLCHAIN_BUILDROOT_USE_SSP=y | ||||
| 
 | ||||
| # Kernel | ||||
| BR2_LINUX_KERNEL=y | ||||
| BR2_LINUX_KERNEL_CUSTOM_VERSION=y | ||||
| BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.9.37" | ||||
| BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y | ||||
| BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HISILICON_PATH)/board/hi3516ev200/kernel/hi3516ev300.generic-fpv.config" | ||||
| BR2_LINUX_KERNEL_UIMAGE=y | ||||
| BR2_LINUX_KERNEL_XZ=y | ||||
| BR2_LINUX_KERNEL_EXT_HISI_PATCHER=y | ||||
| BR2_LINUX_KERNEL_EXT_HISI_PATCHER_LIST="$(BR2_EXTERNAL_HISILICON_PATH)/board/hi3516ev200/kernel/patches/ $(BR2_EXTERNAL_HISILICON_PATH)/board/hi3516ev200/kernel/overlay" | ||||
| 
 | ||||
| # Filesystem | ||||
| # BR2_TARGET_TZ_INFO is not set | ||||
| BR2_TARGET_ROOTFS_CPIO=y | ||||
| BR2_TARGET_ROOTFS_SQUASHFS=y | ||||
| BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y | ||||
| BR2_ROOTFS_OVERLAY="$(TOPDIR)/../general/overlay" | ||||
| BR2_ROOTFS_POST_BUILD_SCRIPT="$(TOPDIR)/../scripts/executing_commands_for_$(BR2_TOOLCHAIN_BUILDROOT_LIBC).sh" | ||||
| 
 | ||||
| # OpenIPC configuration | ||||
| BR2_TOOLCHAIN_BUILDROOT_VENDOR="openipc" | ||||
| BR2_TARGET_GENERIC_ISSUE="Welcome to OpenIPC v2.2" | ||||
| BR2_TARGET_GENERIC_HOSTNAME="openipc-hi3516ev300-fpv" | ||||
| BR2_GLOBAL_PATCH_DIR="$(TOPDIR)/../general/package/all-patches" | ||||
| 
 | ||||
| # OpenIPC packages | ||||
| BR2_PACKAGE_BUSYBOX_CONFIG="$(TOPDIR)/../general/package/busybox/busybox.config" | ||||
| BR2_PACKAGE_DROPBEAR_OPENIPC=y | ||||
| # BR2_PACKAGE_FDK_AAC_OPENIPC is not set | ||||
| BR2_PACKAGE_FWPRINTENV_OPENIPC=y | ||||
| BR2_PACKAGE_HASERL=y | ||||
| BR2_PACKAGE_HISI_GPIO is not set | ||||
| BR2_PACKAGE_HISILICON_OSDRV_HI3516EV300=y | ||||
| BR2_PACKAGE_IPCTOOL=y | ||||
| BR2_PACKAGE_JSON_C=y | ||||
| # BR2_PACKAGE_LAME_OPENIPC is not set | ||||
| BR2_PACKAGE_LIBCURL_OPENIPC=y | ||||
| BR2_PACKAGE_LIBCURL_OPENIPC_CURL=y | ||||
| # BR2_PACKAGE_LIBCURL_OPENIPC_VERBOSE is not set | ||||
| # BR2_PACKAGE_LIBCURL_OPENIPC_PROXY_SUPPORT is not set | ||||
| # BR2_PACKAGE_LIBCURL_OPENIPC_COOKIES_SUPPORT is not set | ||||
| # BR2_PACKAGE_LIBCURL_OPENIPC_EXTRA_PROTOCOLS_FEATURES is not set | ||||
| BR2_PACKAGE_LIBCURL_OPENIPC_MBEDTLS=y | ||||
| BR2_PACKAGE_LIBEVENT_OPENIPC=y | ||||
| BR2_PACKAGE_LIBEVENT_OPENIPC_REMOVE_PYSCRIPT=y | ||||
| # BR2_PACKAGE_LIBOGG_OPENIPC is not set | ||||
| BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y | ||||
| BR2_PACKAGE_LIBYAML=y | ||||
| BR2_PACKAGE_MAJESTIC_FONTS=y | ||||
| BR2_PACKAGE_MAJESTIC_HI3516EV300=y | ||||
| BR2_PACKAGE_MBEDTLS_OPENIPC=y | ||||
| # BR2_PACKAGE_MBEDTLS_OPENIPC_PROGRAMS is not set | ||||
| # BR2_PACKAGE_MBEDTLS_OPENIPC_COMPRESSION is not set | ||||
| BR2_PACKAGE_MICROBE_WEB=y | ||||
| # BR2_PACKAGE_MINI_SNMPD is not set | ||||
| # BR2_PACKAGE_MOTORS is not set | ||||
| # BR2_PACKAGE_OPUS_OPENIPC is not set | ||||
| # BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT is not set | ||||
| # BR2_PACKAGE_SSHPASS is not set | ||||
| BR2_PACKAGE_UACME_OPENIPC=y | ||||
| # BR2_PACKAGE_VTUND_OPENIPC is not set | ||||
| BR2_PACKAGE_YAML_CLI=y | ||||
| 
 | ||||
| # WiFi | ||||
| BR2_PACKAGE_WIRELESS_TOOLS=y | ||||
| # BR2_PACKAGE_WIRELESS_REGDB is not set | ||||
| BR2_PACKAGE_WPA_SUPPLICANT=y | ||||
| BR2_PACKAGE_WPA_SUPPLICANT_CLI=y | ||||
| BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y | ||||
| BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y | ||||
| BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y | ||||
| # BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MT7601U is not set | ||||
| # BR2_PACKAGE_RTL8188EU is not set | ||||
| # BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_ATHEROS_9271 is not set | ||||
| BR2_PACKAGE_RTL8812AU_OPENIPC=y | ||||
| 
 | ||||
| # WIREGUARD | ||||
| # BR2_PACKAGE_WIREGUARD_LINUX_COMPAT is not set | ||||
| # BR2_PACKAGE_WIREGUARD_TOOLS is not set | ||||
| 
 | ||||
| # FPV | ||||
| BR2_PACKAGE_WIFIBROADCAST=y | ||||
|  | @ -43,8 +43,10 @@ include $(BR2_EXTERNAL_HISILICON_PATH)/package/opus-openipc/opus-openipc.mk | |||
| include $(BR2_EXTERNAL_HISILICON_PATH)/package/rtl8188eus-openipc/rtl8188eus-openipc.mk | ||||
| include $(BR2_EXTERNAL_HISILICON_PATH)/package/rtw-hostapd/rtw-hostapd.mk | ||||
| include $(BR2_EXTERNAL_HISILICON_PATH)/package/rtl8188fu-openipc/rtl8188fu-openipc.mk | ||||
| include $(BR2_EXTERNAL_HISILICON_PATH)/package/rtl8812au-openipc/rtl8812au-openipc.mk | ||||
| include $(BR2_EXTERNAL_HISILICON_PATH)/package/uacme-openipc/uacme-openipc.mk | ||||
| include $(BR2_EXTERNAL_HISILICON_PATH)/package/uqmi/uqmi.mk | ||||
| include $(BR2_EXTERNAL_HISILICON_PATH)/package/vtund-openipc/vtund-openipc.mk | ||||
| include $(BR2_EXTERNAL_HISILICON_PATH)/package/wifibroadcast/wifibroadcast.mk | ||||
| include $(BR2_EXTERNAL_HISILICON_PATH)/package/yaml-cli/yaml-cli.mk | ||||
| include $(BR2_EXTERNAL_HISILICON_PATH)/package/zerotier-one/zerotier-one.mk | ||||
|  |  | |||
|  | @ -0,0 +1 @@ | |||
| ../../general/package/rtl8812au-openipc | ||||
|  | @ -0,0 +1 @@ | |||
| ../../general/package/wifibroadcast | ||||
								
									
									
										
											14
										
									
									building.sh
									
									
									
									
								
								
							
							
										
											14
										
									
									building.sh
									
									
									
									
								|  | @ -33,7 +33,7 @@ should_fit() { | |||
| } | ||||
| 
 | ||||
| rename() { | ||||
|   if grep -q ultimate_defconfig ./output/.config; then | ||||
|   if grep -q ultimate_defconfig ./output/.config || grep -q fpv_defconfig ./output/.config; then | ||||
|       should_fit uImage $MAX_KERNEL_SIZE_ULTIMATE | ||||
|       should_fit rootfs.squashfs $MAX_ROOTFS_SIZE_ULTIMATE | ||||
|   else | ||||
|  | @ -355,6 +355,11 @@ hi3516ev300_dev() { | |||
|   fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_dev all && rename | ||||
| } | ||||
| 
 | ||||
| hi3516ev300_fpv() { | ||||
|   soc="hi3516ev300" | ||||
|   fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_fpv all && rename | ||||
| } | ||||
| 
 | ||||
| hi3516ev300_glibc() { | ||||
|   soc="hi3516ev300" | ||||
|   fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_glibc all && rename | ||||
|  | @ -564,12 +569,12 @@ xm550() { | |||
| # gk7202v300                    # testing.. | ||||
| # gk7205v200                    # OpenIPC | ||||
| # gk7205v200_ultimate           # OpenIPC_ultimate version | ||||
| # gk7205v200_fpv                # FPV | ||||
| # gk7205v200_fpv                # FPV (ultimate by default) | ||||
| # gk7205v200_iscom              # Iscom test | ||||
| # gk7205v200_ufanet             # Ufanet | ||||
| # gk7205v300                    # OpenIPC | ||||
| # gk7205v300_ultimate           # OpenIPC_ultimate version | ||||
| # gk7205v300_fpv                # FPV | ||||
| # gk7205v300_fpv                # FPV (ultimate by default) | ||||
| # gk7605v100                    # testing.. | ||||
| # | ||||
| ####### | ||||
|  | @ -600,6 +605,7 @@ xm550() { | |||
| # hi3516ev200_ultimate          # OpenIPC_ultimate version | ||||
| # hi3516ev300                   # OpenIPC | ||||
| # hi3516ev300_dev               # OpenIPC development | ||||
| # hi3516ev300_fpv               # FPV (ultimate by default) | ||||
| # hi3516ev300_glibc             # testing.. | ||||
| # hi3516ev300_tehshield         # Tehshield | ||||
| # hi3516ev300_ultimate          # OpenIPC_ultimate version | ||||
|  | @ -607,7 +613,7 @@ xm550() { | |||
| # | ||||
| # hi3519v101                    # OpenIPC | ||||
| # hi3516av200                   # OpenIPC | ||||
| hi3516av200_ultimate          # OpenIPC_ultimate version | ||||
| # hi3516av200_ultimate          # OpenIPC_ultimate version | ||||
| # | ||||
| # hi3516av300                   # testing.. | ||||
| # hi3516cv500                   # testing.. | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue