20231222给NanoPC-T4(RK3399)开发板的适配原厂Android10的挖掘机方案并跑通AP6398SV

20231222给NanoPC-T4(RK3399)开发板的适配原厂Android10的挖掘机方案并跑通AP6398SV


1、简略步骤:
rootroot@rootroot-X99-Turbo:~/3TB/3399-android10$ cat Rockchip_Android10.0_SDK_Release.tar.gz0* > Rockchip_Android10.0_SDK_Release.tar.gz
rootroot@rootroot-X99-Turbo:~/3TB/3399-android10$ tar zxvf Rockchip_Android10.0_SDK_Release.tar.gz
rootroot@rootroot-X99-Turbo:~/3TB/3399-android10$ .repo/repo/repo sync -l
rootroot@rootroot-X99-Turbo:~/3TB/3399-android10$ cd u-boot
rootroot@rootroot-X99-Turbo:~/3TB/3399-android10/u-boot$ ./make.sh rk3399
rootroot@rootroot-X99-Turbo:~/3TB/3399-android10/u-boot$ cd ..
rootroot@rootroot-X99-Turbo:~/3TB/3399-android10$ cd kernel/
rootroot@rootroot-X99-Turbo:~/3TB/3399-android10/kernel$ make ARCH=arm64 rockchip_defconfig android-10.config rk3399.config -j36
rootroot@rootroot-X99-Turbo:~/3TB/3399-android10/kernel$ ll
rootroot@rootroot-X99-Turbo:~/3TB/3399-android10/kernel$ make ARCH=arm64 BOOT_IMG=../rockdev/Image-rk3399_Android10/boot.img rk3399-sapphire-excavator-edp-avb.img -j36
rootroot@rootroot-X99-Turbo:~/3TB/3399-android10/kernel$ cd ..
rootroot@rootroot-X99-Turbo:~/3TB/3399-android10$ source build/envsetup.sh 
rootroot@rootroot-X99-Turbo:~/3TB/3399-android10$ lunch
     22. rk3399_Android10-userdebug
Which would you like? [aosp_arm-eng] 22
rootroot@rootroot-X99-Turbo:~/3TB/3399-android10$ make -j36
rootroot@rootroot-X99-Turbo:~/3TB/3399-android10$ ./mkimage.sh
rootroot@rootroot-X99-Turbo:~/3TB/3399-android10$ ./build.sh -u


AF6554D06A7C09C677BD3DB44A85A4AA  Rockchip_Android10.0_SDK_Release.tar.gz00
6670B93020F599C2E67E7954368B0A5D  Rockchip_Android10.0_SDK_Release.tar.gz01
8EA0D6462402C53554B1E225B3E387A3  Rockchip_Android10.0_SDK_Release.tar.gz02
3C67DC7007F9E70A85F69370D7931D5E  Rockchip_Android10.0_SDK_Release.tar.gz03
C901FB21C1A4417FAB187BB4ACCB569D  Rockchip_Android10.0_SDK_Release.tar.gz04
BE04E2A442636E6983B188C681A52F9F  Rockchip_Android10.0_SDK_Release.tar.gz05
D972C7CB0BF6C527EA592F34FD3396A3  Rockchip_Android10.0_SDK_Release.tar.gz06
A6279BE1EBD29C67C83288C4C1E5302E  Rockchip_Android10.0_SDK_Release.tar.gz07
D23FDBA115E14EC2F9E5D7D0821FE000  Rockchip_Android10.0_SDK_Release.tar.gz08
B883B9689636F3ED97EE1CCC5DFB634A  Rockchip_Android10.0_SDK_Release.tar.gz09


2、刷机之后,用鼠标打开WIFI开关之后,发现缺少AP6275S的固件:nvram_ap6275s.txt
【奇怪呀,开发板上的WIFI/BT模块上有激光刻印的字:AP6398SV,难道它俩是一个型号吗?】
console:/ # 
console:/ # cd /vendor/lib/modules
console:/vendor/lib/modules # 
console:/vendor/lib/modules # 
console:/vendor/lib/modules # ls -l
total 54940
-rw-r--r-- 1 root root  3448960 2023-12-20 09:49 8723cs.ko
-rw-r--r-- 1 root root  5265944 2023-12-20 09:49 8821cs.ko
-rw-r--r-- 1 root root  6720696 2023-12-20 09:49 8822bs.ko
-rw-r--r-- 1 root root 23507712 2023-12-20 09:49 bcmdhd.ko
-rw-r--r-- 1 root root 18025400 2023-12-20 09:49 mali_kbase.ko
-rw-r--r-- 1 root root      569 2023-12-20 09:49 modules.alias
-rw-r--r-- 1 root root      159 2023-12-20 09:49 modules.dep
console:/vendor/lib/modules # 
console:/vendor/lib/modules # ifconfig\
> ^C
130|console:/vendor/lib/modules # ifconfig                                     
eth0      Link encap:Ethernet  HWaddr 6e:a7:de:18:73:b4  Driver rk_gmac-dwmac
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0 
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 
          collisions:0 txqueuelen:1000 
          RX bytes:0 TX bytes:0 
          Interrupt:27 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0 
          inet6 addr: ::1/128 Scope: Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0 
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 
          collisions:0 txqueuelen:1000 
          RX bytes:0 TX bytes:0 

console:/vendor/lib/modules # [  171.997853] dhd_module_init: in Dongle Host Driver, version 100.10.545.9 (r826445-20200316-8)
[  171.997895] ======== dhd_wlan_init_plat_data ========
[  171.997901] [WLAN_RFKILL]: rockchip_wifi_get_oob_irq: Enter
[  171.997950] dhd_wlan_init_gpio: WL_HOST_WAKE=-1, oob_irq=89, oob_irq_flags=0x414
[  171.997955] dhd_wlan_init_gpio: WL_REG_ON=-1
[  171.997960] dhd_wifi_platform_load: Enter
[  171.997966] Power-up adapter 'DHD generic adapter'
[  171.999709] wifi_platform_set_power = 1, delay: 200 msec
[  171.999805] ======== PULL WL_REG_ON(-1) HIGH! ========
[  171.999823] [WLAN_RFKILL]: rockchip_wifi_power: 1
[  171.999832] [WLAN_RFKILL]: wifi turn on power. -1
[  172.310158] wifi_platform_bus_enumerate device present 1
[  172.310231] ======== Card detection to detect SDIO card! ========
[  172.310256] mmc0:mmc host rescan start!
[  172.330108] bcmsdh_register: register client driver
[  172.330447] bcmsdh_sdmmc_probe: Enter num=1
[  172.331219] bcmsdh_sdmmc_probe: Enter num=2
[  172.331260] bus num (host idx)=0, slot num (rca)=1
[  172.331277] found adapter info 'DHD generic adapter'
[  172.331395] sdioh_attach: set sd_f2_blocksize 256
[  172.331500] sdioh_attach: sd clock rate = 0
[  172.332047] dhdsdio_probe : no mutex held. set lock
[  172.332259] F1 signature read @0x18000000=0x1042aae8
[  172.341241] F1 signature OK, socitype:0x1 chip:0xaae8 rev:0x2 pkg:0x4
[  172.342240] DHD: dongle ram size is set to 1310720(orig 1310720) at 0x170000
[  172.342366] [dhd] dhd_conf_set_chiprev : chip=0xaae8, chiprev=2
[  172.354430] [dhd] CFG80211-ERROR) wl_cfg80211_netdev_notifier_call : wdev null. Do nothing
[  172.354521] [dhd] CFG80211-ERROR) wl_cfg80211_netdev_notifier_call : wdev null. Do nothing
[  172.354531] [dhd] CFG80211-ERROR) wl_cfg80211_netdev_notifier_call : wdev null. Do nothing
[  172.354542] [dhd] CFG80211-ERROR) wl_cfg80211_netdev_notifier_call : wdev null. Do nothing
[  172.354552] [dhd] CFG80211-ERROR) wl_cfg80211_netdev_notifier_call : wdev null. Do nothing
[  172.354563] [dhd] CFG80211-ERROR) wl_cfg80211_netdev_notifier_call : wdev null. Do nothing
[  172.354577] [dhd] CFG80211-ERROR) wl_cfg80211_netdev_notifier_call : wdev null. Do nothing
[  172.354613] [dhd] CFG80211-ERROR) wl_cfg80211_netdev_notifier_call : wdev null. Do nothing
[  172.355589] dhd_log_dump_init: kernel log buf size = 512KB; logdump_prsrv_tailsize = 80KB; limit prsrv tail size to = 76KB
[  172.357046] dhd_attach(): thread:dhd_watchdog_thread:7ca started
[  172.357167] dhd_attach(): thread:dhd_dpc:7cb started
[  172.357313] dhd_attach(): thread:dhd_rxf:7cc started
[  172.357332] dhd_deferred_work_init: work queue initialized
[  172.357346] dhd_tcpack_suppress_set: TCP ACK Suppress mode 0 -> mode 2
[  172.357423] get_mem_val_from_file: File [/data/misc/wifi/.memdump.info] doesn't exist
[  172.357447] dhd_get_memdump_info: MEMDUMP ENABLED = 3
[  172.357476] sdioh_cis_read: func_cis_ptr[0]=0x1070
[  172.369706] dhdsdio_probe_init: making DHD_BUS_DOWN
[  172.369992] Dongle Host Driver, version 100.10.545.9 (r826445-20200316-8)
[  172.383245] Register interface [wlan0]  MAC: 08:fb:ea:ea:a3:da
[  172.383245] 
[  172.383448] dhd_dbg_detach_pkt_monitor, 2100
[  172.383464] dhd_bus_devreset: == Power OFF ==
[  172.384594] dhd_bus_stop: making DHD_BUS_DOWN
[  172.384738] bcmsdh_oob_intr_unregister: Enter
[  172.384781] bcmsdh_oob_intr_unregister: irq is not registered
[  172.384806] dhd_bus_devreset: making dhdpub up FALSE
[  172.384829] dhd_txglom_enable: enable 0
[  172.384904] dhd_bus_devreset: making DHD_BUS_DOWN
[  172.384926] dhd_bus_devreset:  WLAN OFF DONE
[  172.385125] wifi_platform_set_power = 0, delay: 0 msec
[  172.385174] ======== PULL WL_REG_ON(-1) LOW! ========
[  172.385191] [WLAN_RFKILL]: rockchip_wifi_power: 0
[  172.385221] [WLAN_RFKILL]: wifi shut off power.
[  172.385258] dhdsdio_probe : the lock is released.
[  172.386321] dhd_module_init: Exit err=0
[  172.388483] init: processing action (wlan.driver.status=ok) from (/vendor/etc/init/hw/init.connectivity.rc:51)
[  172.397500] init: processing action (wlan.driver.status=ok) from (/vendor/etc/init/hw/init.connectivity.rc:51)
[  172.414944] init: Received control message 'interface_start' for 'android.hardware.wifi.supplicant@1.0::ISupplicant/default' from pid: 154 (/system/bin/hwservicemanager)
[  172.415730] init: starting service 'wpa_supplicant'...
[  172.420118] init: Created socket '/dev/socket/wpa_wlan0', mode 660, user 1010, group 1010
[  172.533451] capability: warning: `wpa_supplicant' uses 32-bit capabilities (legacy support in use)
[  172.619585] init: processing action (wlan.driver.status=ok) from (/vendor/etc/init/hw/init.connectivity.rc:51)
[  172.620650] dhd_open: Enter wlan0
[  172.620676] dhd_open : no mutex held. set lock
[  172.620687] 
[  172.620687] Dongle Host Driver, version 100.10.545.9 (r826445-20200316-8)
[  172.620707] [dhd-wlan0] wl_android_wifi_on : in g_wifi_on=0
[  172.620716] wifi_platform_set_power = 1, delay: 200 msec
[  172.620726] ======== PULL WL_REG_ON(-1) HIGH! ========
[  172.620734] [WLAN_RFKILL]: rockchip_wifi_power: 1
[  172.620741] [WLAN_RFKILL]: wifi turn on power. -1
[  172.925945] sdio_reset_comm():
[  172.941334] mmc_host mmc0: Bus speed (slot 0) = 400000Hz (slot req 400000Hz, actual 400000HZ div = 0)
[  172.958564] mmc_host mmc0: Bus speed (slot 0) = 100000Hz (slot req 100000Hz, actual 100000HZ div = 0)
[  173.025038] mmc0: queuing unknown CIS tuple 0x80 (2 bytes)
[  173.031739] mmc0: queuing unknown CIS tuple 0x80 (3 bytes)
[  173.038819] mmc0: queuing unknown CIS tuple 0x80 (3 bytes)
[  173.050561] mmc0: queuing unknown CIS tuple 0x80 (7 bytes)
[  173.067462] mmc0: queuing unknown CIS tuple 0x8e (9 bytes)
[  173.410050] mmc_host mmc0: Bus speed (slot 0) = 100000000Hz (slot req 100000000Hz, actual 100000000HZ div = 0)
[  173.606337] dwmmc_rockchip fe310000.dwmmc: Successfully tuned phase to 110
[  173.606435] sdioh_start: set sd_f2_blocksize 256
[  173.606677] 
[  173.606677] 
[  173.606677] dhd_bus_devreset: == Power ON ==
[  173.606779] F1 signature read @0x18000000=0x1042aae8
[  173.610545] F1 signature OK, socitype:0x1 chip:0xaae8 rev:0x2 pkg:0x4
[  173.611234] DHD: dongle ram size is set to 1310720(orig 1310720) at 0x170000
[  173.611314] dhd_bus_devreset: making DHD_BUS_DOWN
[  173.611360] dhdsdio_probe_init: making DHD_BUS_DOWN
[  173.611656] [dhd] dhd_conf_read_config : Ignore config file /vendor/etc/firmware/config.txt
[  173.611695] [dhd] dhd_conf_set_path_params : Final fw_path=/vendor/etc/firmware/fw_bcm43752a2_ag.bin
[  173.611717] [dhd] dhd_conf_set_path_params : Final nv_path=/vendor/etc/firmware/nvram_ap6275s.txt
[  173.611737] [dhd] dhd_conf_set_path_params : Final clm_path=/vendor/etc/firmware/clm_bcm43752a2_ag.blob
[  173.611757] [dhd] dhd_conf_set_path_params : Final conf_path=/vendor/etc/firmware/config.txt
[  173.612178] dhdsdio_download_code_file: Open firmware file failed /vendor/etc/firmware/fw_bcm43752a2_ag.bin
[  173.612205] _dhdsdio_download_firmware: dongle image file download failed

[  173.612251] dhd_bus_devreset Failed to download binary to the dongle
[  173.612284] dhd_net_bus_devreset: dhd_bus_devreset: -35
[  173.612314] dhd_dbg_detach_pkt_monitor, 2100
[  173.612342] dhd_net_bus_devreset: dhd_bus_devreset: -35
[  173.612387] wifi_platform_set_power = 0, delay: 0 msec
[  173.612415] ======== PULL WL_REG_ON(-1) LOW! ========
[  173.612437] [WLAN_RFKILL]: rockchip_wifi_power: 0
[  173.612472] [WLAN_RFKILL]: wifi shut off power.
[  173.612493] [dhd-wlan0] wl_android_wifi_on : Failed
[  173.612515] dhd_open : wl_android_wifi_on failed (-35)
[  173.612540] dhd_stop: Enter wlan0
[  173.612565] [dhd-wlan0] wl_android_wifi_off : in g_wifi_on=0, on_failure=1
[  173.612585] dhd_dbg_detach_pkt_monitor, 2100
[  173.612600] dhd_net_bus_devreset: dhd_bus_devreset: -35
[  173.612694] sdioh_disable_func_intr: error for read SDIO_CCCR_IENx : 0xffffff92
[  173.612723] wifi_platform_set_power = 0, delay: 0 msec
[  173.612752] ======== PULL WL_REG_ON(-1) LOW! ========
[  173.612772] [WLAN_RFKILL]: rockchip_wifi_power: 0
[  173.612798] [WLAN_RFKILL]: wifi shut off power.
[  173.612819] [dhd-wlan0] wl_android_wifi_off : out
[  173.624957] dhd_stop: Exit wlan0
[  173.625254] dhd_open : the lock is released.
[  173.625318] dhd_open: Exit wlan0 ret=-1
[  173.625341] Failed to open primary dev ret -1

console:/vendor/lib/modules # 


3、将所缺少的固件通过adb push推进去了!
【如果拿不到合适的,可以使用Firefly的AIO-3568J的开发板中的固件!^_】

Microsoft Windows [版本 10.0.19045.2311]
(c) Microsoft Corporation。保留所有权利。

C:\Users\Administrator>adb remount
* daemon not running; starting now at tcp:5037
* daemon started successfully
Not running as root. Try "adb root" first.
remount failed

C:\Users\Administrator>adb root
restarting adbd as root

C:\Users\Administrator>
C:\Users\Administrator>adb remount
W DM_DEV_STATUS failed for scratch: No such device or address
E [liblp]No device named scratch
[liblp]Partition scratch will resize from 0 bytes to 905875456 bytes
[liblp]Updated logical partition table at slot 0 on device /dev/block/by-name/super
[libfs_mgr]Created logical partition scratch on device /dev/block/dm-4
[libfs_mgr]__mount(source=/dev/block/dm-4,target=/mnt/scratch,type=f2fs)=0: Success
Using overlayfs for /system
Using overlayfs for /vendor
Using overlayfs for /product
[libfs_mgr]__mount(source=overlay,target=/system,type=overlay,upperdir=/mnt/scratch/overlay/system/upper)=0
[libfs_mgr]__mount(source=overlay,target=/vendor,type=overlay,upperdir=/mnt/scratch/overlay/vendor/upper)=0
[libfs_mgr]__mount(source=overlay,target=/product,type=overlay,upperdir=/mnt/scratch/overlay/product/upper)=0
remount succeeded

C:\Users\Administrator>


Microsoft Windows [版本 10.0.19045.2311]
(c) Microsoft Corporation。保留所有权利。

C:\Users\Administrator>cd H:\802确认AP6275S+3个USB接口-evb2_3usb+ap6275s_Image-rk3568_s_20230212_1059\802确认AP6275S+3个USB接口-evb2_3usb+ap6275s_Image-rk3568_s\LOG\12e确认ap6275s-3usb_20230211_2050\vendor\rockchip\common\wifi\firmware

C:\Users\Administrator>h:

H:\802确认AP6275S+3个USB接口-evb2_3usb+ap6275s_Image-rk3568_s_20230212_1059\802确认AP6275S+3个USB接口-evb2_3usb+ap6275s_Image-rk3568_s\LOG\12e确认ap6275s-3usb_20230211_2050\vendor\rockchip\common\wifi\firmware>
H:\802确认AP6275S+3个USB接口-evb2_3usb+ap6275s_Image-rk3568_s_20230212_1059\802确认AP6275S+3个USB接口-evb2_3usb+ap6275s_Image-rk3568_s\LOG\12e确认ap6275s-3usb_20230211_2050\vendor\rockchip\common\wifi\firmware>H:\802确认AP6275S+3个USB接口-evb2_3usb+ap6275s_Image-rk3568_s_20230212_1059\802确认AP6275S+3个USB接口-evb2_3usb+ap6275s_Image-rk3568_s\LOG\12e确认ap6275s-3usb_20230211_2050\vendor\rockchip\common\wifi\firmware
H:\802确认AP6275S+3个USB接口-evb2_3usb+ap6275s_Image-rk3568_s_20230212_1059\802确认AP6275S+3个USB接口-evb2_3usb+ap6275s_Image-rk3568_s\LOG\12e确认ap6275s-3usb_20230211_2050\vendor\rockchip\common\wifi\firmware>adb push fw_bcm43752a2_ag.bin /vendor/etc/firmware/
fw_bcm43752a2_ag.bin: 1 file pushed, 0 skipped. 12.3 MB/s (743607 bytes in 0.058s)

H:\802确认AP6275S+3个USB接口-evb2_3usb+ap6275s_Image-rk3568_s_20230212_1059\802确认AP6275S+3个USB接口-evb2_3usb+ap6275s_Image-rk3568_s\LOG\12e确认ap6275s-3usb_20230211_2050\vendor\rockchip\common\wifi\firmware>adb push fw_bcm43752a2_ag_apsta.bin /vendor/etc/firmware/
fw_bcm43752a2_ag_apsta.bin: 1 file pushed, 0 skipped. 10.2 MB/s (743607 bytes in 0.070s)

H:\802确认AP6275S+3个USB接口-evb2_3usb+ap6275s_Image-rk3568_s_20230212_1059\802确认AP6275S+3个USB接口-evb2_3usb+ap6275s_Image-rk3568_s\LOG\12e确认ap6275s-3usb_20230211_2050\vendor\rockchip\common\wifi\firmware>adb push nvram_ap6275s.txt /vendor/etc/firmware/
nvram_ap6275s.txt: 1 file pushed, 0 skipped. 0.2 MB/s (8709 bytes in 0.055s)

H:\802确认AP6275S+3个USB接口-evb2_3usb+ap6275s_Image-rk3568_s_20230212_1059\802确认AP6275S+3个USB接口-evb2_3usb+ap6275s_Image-rk3568_s\LOG\12e确认ap6275s-3usb_20230211_2050\vendor\rockchip\common\wifi\firmware>adb push clm_bcm43752a2_ag.blob /vendor/etc/firmware/
clm_bcm43752a2_ag.blob: 1 file pushed, 0 skipped. 0.5 MB/s (28865 bytes in 0.056s)

H:\802确认AP6275S+3个USB接口-evb2_3usb+ap6275s_Image-rk3568_s_20230212_1059\802确认AP6275S+3个USB接口-evb2_3usb+ap6275s_Image-rk3568_s\LOG\12e确认ap6275s-3usb_20230211_2050\vendor\rockchip\common\wifi\firmware>


4、现在就可以打开WIFI了!
2|console:/sdcard/DCIM # cd /
console:/ # 
console:/ # ifconfig
eth0      Link encap:Ethernet  HWaddr 6e:a7:de:18:73:b4  Driver rk_gmac-dwmac
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0 
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 
          collisions:0 txqueuelen:1000 
          RX bytes:0 TX bytes:0 
          Interrupt:27 

wlan0     Link encap:Ethernet  HWaddr 08:fb:ea:ea:a3:da  Driver bcmsdh_sdmmc
          inet addr:192.168.186.224  Bcast:192.168.186.255  Mask:255.255.255.0 
          inet6 addr: fe80::9e70:9030:3741:b73b/64 Scope: Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2130 errors:0 dropped:0 overruns:0 frame:0 
          TX packets:1315 errors:0 dropped:0 overruns:0 carrier:0 
          collisions:0 txqueuelen:1000 
          RX bytes:2404115 TX bytes:111182 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0 
          inet6 addr: ::1/128 Scope: Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:4 errors:0 dropped:0 overruns:0 frame:0 
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0 
          collisions:0 txqueuelen:1000 
          RX bytes:240 TX bytes:240 

console:/ # 


5、也可以/但是建议使用WIFI6的驱动程序:【NanoPC-T4(RK3399)开发板默认使用这个驱动程序】
Z:\3TB\13rk3399-android-10\kernel\arch\arm64\configs\nanopi4_android_defconfig
Z:\3TB\Rockchip_Android10.0_SDK_Release\kernel\arch\arm64\configs\rockchip_defconfig

CONFIG_WL_ROCKCHIP=y
CONFIG_WIFI_BUILD_MODULE=y
CONFIG_AP6XXX=m

修改为:
CONFIG_WL_ROCKCHIP=y
CONFIG_WIFI_BUILD_MODULE=y
#CONFIG_AP6XXX=m
CONFIG_AP6XXX_WIFI6=m


如果不修改这里,驱动模块会被默认编译成为bcmdhd_wifi6.ko
Z:\3TB\Rockchip_Android10.0_SDK_Release\kernel\drivers\net\wireless\rockchip_wlan\rkwifi\bcmdhd_wifi6\Makefile
# SPDX-License-Identifier: GPL-2.0
# bcmdhd

#MODULE_NAME := bcmdhd_wifi6
MODULE_NAME := bcmdhd

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/295011.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot3通过GraalVM生成exe执行文件

一、安装GraalVM 1、官网:https://www.graalvm.org/downloads/ 2、配置环境变量 2.1、环境变量必须使用JAVA_HOME,否则会出现问题 2.2、在系统变量配置Path,%JAVA_HOME%\bin,注意必须放在顶部第一位 2.3、配置jdk的环境变量,在P…

高级算法设计与分析(四) -- 贪心算法

系列文章目录 高级算法设计与分析(一) -- 算法引论 高级算法设计与分析(二) -- 递归与分治策略 高级算法设计与分析(三) -- 动态规划 高级算法设计与分析(四) -- 贪心算法 高级…

python/matlab将数组以彩色图片的形式展现

python: plt.imshow可以将数组的值以图片的形式展示出来,数组的值对应着不同的颜色深浅。比如一个2X2的数组,图片里的小方块也会有2X2个。 案例1结果: 案例1代码: import numpy as np import matplotlib.pyplot as pltx np.ar…

智能优化算法应用:基于变色龙算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于变色龙算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于变色龙算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.变色龙算法4.实验参数设定5.算法结果6.参考文…

k8s启动docker容器Error: Could not find or load main class ${start-class}报错

前行提要: 今天部署采集点服务(docker项目)发现报这个错误。 提出假设: 1,配置文件错误(工程需要配置的东西比较多) 之后开始一一排查,发现配置有问题,但是不是这个错误…

2023的AI工具集合,google和claude被禁用解决和edge的copilot

一、前言 AI工具集合 首先,OpenAI的ChatGPT以其深度学习模型和强大的语言处理能力引领了AI聊天机器人的潮流。自2022年11月30日上线以来,它创下了100万用户的注册记录,并被广泛应用于全球财富500强公司。为了实现盈利,OpenAI发布…

Redis原理

🌇个人主页:平凡的小苏 📚学习格言:命运给你一个低的起点,是想看你精彩的翻盘,而不是让你自甘堕落,脚下的路虽然难走,但我还能走,比起向阳而生,我更想尝试逆风…

DshanMCU-R128s2启动与资源划分

启动与资源划分 下面简单介绍一下 R128 方案的资源划分与启动流程。 资源划分 CPU 资源划分 这只是默认配置方案,CPU 资源划分可以按照需求任意修改 CPU功能说明M33控制核。运行 WI-FI/BT 固件、协议栈、驱动、休眠唤醒、安全启动、安全控制C906应用核。运行大…

《软件方法(下)》8.2.4 类和属性的命名

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 8.2 建模步骤C-1 识别类和属性 8.2.4 类和属性的命名 8.2.4.2 关于DDD话语中的“通用语言” DDD(领域驱动设计)话语中有“通用语言(Ubiquitous L…

MongoDB介绍

一、MongoDB介绍 1.1 mongoDB介绍 MongoDB 是由C语言编写的,是一个基于分布式文件存储的开源数据库系统。 在高负载的情况下,添加更多的节点,可以保证服务器性能。 MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB …

[SQL]实验 视图和索引的应用

实验目的: [实验目的和要求] 1、掌握视图的创建、修改和重命名的方法 2、掌握视图中数据的操作 3、了解索引的作用 4、掌握索引的创建方法 实验步骤: 1、在销售管理数据库中,创建一个女职工视图,包括员工的编号、姓名、性别、雇佣…

不忍学弟学妹受苦受难!!!逐一讲解发动机原理实验报告(1)

固体火箭发动机侵蚀燃烧测试实验 经过了愉快迷糊——哦不瑟瑟发抖——哦不痛不欲生的两天,终于和小伙伴们协力完成了西北工业大学航天学院发动机原理实验报告。具体的实验指导书均可在本人博客资源站下载。 固体火箭发动机侵蚀燃烧测试实验,嗯哼—— 实…