WG225模块(SDIO WIFI)调试记录

由于笔记是在wznote做的,图片部分无法粘贴过来,如需要看图可以点击此处查看

主芯片:TI-DM8168
Linux版本:2.6.37

WG225是深圳天工测控做的一款wifi+蓝牙的芯片模组

首先解压官方提供的WIFI驱动,编译一个.ko模块
RTL8821CS_WiFi_linux_v5.2.8_21706_COEX20170310-1212.20170323
document中的Quick_Start_Guide_for_Driver_Compilation_and_Installation会教你如何快速编译一个KO文件
首先进入驱动的目录

work@zigsun:~/ayu/sdiowifi/RTL8821CS_WiFi_linux_v5.2.8_21706_COEX20170310-1212.20170323/driver/rtl8821CS_linux_v5.2.8_21706.20170323_COEX20170310-1212$ ls -l
总用量 112
-rwxr-xr-x 1 work work    64  3月 23  2017 clean
drwxr-xr-x 3 work work  4096  9月 25 15:35 core
drwxr-xr-x 9 work work  4096  9月 25 15:35 hal
-rwxr-xr-x 1 work work    54  3月 23  2017 ifcfg-wlan0
drwxr-xr-x 4 work work 12288  3月 23  2017 include
-rwxr-xr-x 1 work work    94  3月 23  2017 Kconfig
-rwxr-xr-x 1 work work 60904  9月 17 14:33 Makefile
drwxr-xr-x 3 work work  4096  9月 25 15:35 os_dep
drwxr-xr-x 2 work work  4096  9月 25 15:35 platform
-rwxr-xr-x 1 work work  2330  3月 23  2017 rtl8821c.mk
-rwxr-xr-x 1 work work   423  3月 23  2017 runwpa
-rwxr-xr-x 1 work work   294  3月 23  2017 wlan0dhcp

修改它的makefile
1.在50行左右,关掉节能模式CONFIG_POWER_SAVING=n,其余不修改

########################## Features ###########################
CONFIG_MP_INCLUDED = y
CONFIG_POWER_SAVING = n
CONFIG_USB_AUTOSUSPEND = n
 CONFIG_HW_PWRP_DETECTION = n
CONFIG_WIFI_TEST = n
CONFIG_BT_COEXIST = y
CONFIG_INTEL_WIDI = n
CONFIG_WAPI_SUPPORT = n

2.105行左右增加自己的平台,将默认的x86平台设为n(此处只能有一个平台是y)

###################### Platform Related #######################
CONFIG_PLATFORM_TI_DM8168 = y
CONFIG_PLATFORM_I386_PC = n

3.在合适的位置添加编译参数,推荐在1063行附近,按照原有的格式和位置添加

ifeq ($(CONFIG_PLATFORM_TI_DM8168), y)
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN
ARCH = arm
CROSS_COMPILE = /opt/CodeSourcery/arm-2009q1/bin/arm-none-linux-gnueabi-
KSRC := /zigsun/8003/DVRRDK_04.00.00.03/ti_tools/linux-dvr-rdk
MODULE_NAME := wlan
endif
EXTRA_CFLAGS:配置为小端序
ARCH:ARM平台
CROSS_COMPILE:gcc工具链,根据个人情况,使用绝对路径
KSRC:linux内核源码,根据个人情况,使用绝对路径
MODULE_NAME:生成的.ko名字

内核自带sdio的驱动,一般情况下都能识别到sdio设备,但是我这边识别失败了

mmc0: card claims to support voltages below the defined range. These will be ignored.
mmc0: unrecognised CCCR structure version 3
mmc0: error -22 whilst initialising SDIO card

在未识别到sdio设备的情况下安装之前编译的wifi驱动,打印信息如下,虽然不报错,但是无法打开网卡wlan0

root@ti81xx:/mnt/net# insmod wlan.ko
RTW: module init start
RTW: rtl8821cs v5.2.8_21706.20170323_COEX20170310-1212
RTW: build time: Sep 17 2019 13:09:53
RTW: rtl8821cs BT-Coex version = COEX20170310-1212
RTW: module init ret=0

需要修改内核相关的代码,将SDIO_CCCR_REV_1_20这个宏的值改为3

//U:\8003\DVRRDK_04.00.00.03\ti_tools\linux-dvr-rdk\drivers\mmc\core\sdio.c
//line 108
if (cccr_vsn > SDIO_CCCR_REV_1_20) {
   
    printk(KERN_ERR "%s: unrecognised CCCR structure version %d\n",
    mmc_hostname(card->host), cccr_vsn);
    return -EINVAL;
 }

修改之后,重新烧录内核,启动后成功识别sdio设备

mmc0: card claims to support voltages below the defined range. These will be ignored.
mmc0: new high speed SDIO card at address 0001

除了看系统log来判断,也可以通过 /sys/bus/mmc/devices下面是否有内容来判断是否识别,比如我这边识别后可以看到mmc0:0001
此时,安装刚刚编译好的驱动,我这边的打印信息如下,有报错,但不影响使用

root@ti81xx:/mnt/net# insmod wlan.ko
RTW: module init start
RTW: rtl8821cs v5.2.8_21706.20170323_COEX20170310-1212
RTW: build time: Sep 20 2019 19:21:43
RTW: rtl8821cs BT-Coex version = COEX20170310-1212
RTW: == SDIO Card Info ==
RTW:   clock: 50000000 Hz
RTW:   timing spec :sd high-speed
RTW:   sd3_bus_mode: FALSE
RTW: ================
RTW: CHIP TYPE: RTL8821C
RTW: ERROR [HALMAC]13348M
RTW: ERROR [HALMAC]HALMAC_MAJOR_VER = 1
RTW: ERROR [HALMAC]HALMAC_PROTOTYPE_VER = 3
RTW: ERROR [HALMAC]HALMAC_MINOR_VER = 5
RTW: ERROR [HALMAC]HALMAC_PATCH_VER = 3
RTW: ERROR [HALMAC]13359M
RTW: ERROR [HALMAC]HALMAC_MAJOR_VER_88XX = 1
RTW: ERROR [HALMAC]HALMAC_PROTOTYPE_88XX = 3
RTW: ERROR [HALMAC]HALMAC_MINOR_VER_88XX = 5
RTW: ERROR [HALMAC]HALMAC_PATCH_VER_88XX = 3
RTW: rtw_hal_config_rftype RF_Type is 3 TotalTxPath is 1
RTW: Chip Version Info: CHIP_8821C_Normal_Chip_UMC_B_CUT_1T1R_RomVer(1)
RTW: SetHwReg: bMacPwrCtrlOn=1
RTW: DBG_MEM_ALLOC sdio_write_data_rsvd_page:42 dbg_rtw_zmalloc(8240)
RTW: DBG_MEM_ALLOC sdio_write_data_rsvd_page:58 dbg_rtw_mfree(8240)
RTW: DBG_MEM_ALLOC sdio_write_data_rsvd_page:42 dbg_rtw_zmalloc(8240)
RTW: DBG_MEM_ALLOC sdio_write_data_rsvd_page:58 dbg_rtw_mfree(8240)
RTW: DBG_MEM_ALLOC sdio_write_data_rsvd_page:42 dbg_rtw_zmalloc(8240)
RTW: DBG_MEM_ALLOC sdio_write_data_rsvd_page:58 dbg_rtw_mfree(8240)
RTW: DBG_MEM_ALLOC sdio_write_data_rsvd_page:42 dbg_rtw_zmalloc(7416)
RTW: DBG_MEM_ALLOC sdio_write_data_rsvd_page:58 dbg_rtw_mfree(7416)
RTW: DBG_MEM_ALLOC sdio_write_data_rsvd_page:42 dbg_rtw_zmalloc(8240)
RTW: DBG_MEM_ALLOC sdio_write_data_rsvd_page:58 dbg_rtw_mfree(8240)
RTW: DBG_MEM_ALLOC sdio_write_data_rsvd_page:42 dbg_rtw_zmalloc(8240)
RTW: DBG_MEM_ALLOC sdio_write_data_rsvd_page:58 dbg_rtw_mfree(8240)
RTW: DBG_MEM_ALLOC sdio_write_data_rsvd_page:42 dbg_rtw_zmalloc(8240)
RTW: DBG_MEM_ALLOC sdio_write_data_rsvd_page:58 dbg_rtw_mfree(8240)
RTW: DBG_MEM_ALLOC sdio_write_data_rsvd_page:42 dbg_rtw_zmalloc(8240)
RTW: DBG_MEM_ALLOC sdio_write_data_rsvd_page:58 dbg_rtw_mfree(8240)
RTW: DBG_MEM_ALLOC sdio_write_data_rsvd_page:42 dbg_rtw_zmalloc(8240)
RTW: DBG_MEM_ALLOC sdio_write_data_rsvd_page:58 dbg_rtw_mfree(8240)
RTW: DBG_MEM_ALLOC sdio_write_data_rsvd_page:42 dbg_rtw_zmalloc(8240)
RTW: DBG_MEM_ALLOC sdio_write_data_rsvd_page:58 dbg_rtw_mfree(8240)
RTW: DBG_MEM_ALLOC sdio_write_data_rsvd_page:42 dbg_rtw_zmalloc(8240)
RTW: DBG_MEM_ALLOC sdio_write_data_rsvd_page:58 dbg_rtw_mfree(8240)
RTW: DBG_MEM_ALLOC sdio_write_data_rsvd_page:42 dbg_rtw_zmalloc(8240)
RTW: DBG_MEM_ALLOC sdio_write_data_rsvd_page:58 dbg_rtw_mfree(8240)
RTW: DBG_MEM_ALLOC sdio_write_data_rsvd_page:42 dbg_rtw_zmalloc(8240)
RTW: DBG_MEM_ALLOC sdio_write_data_rsvd_page:58 dbg_rtw_mfree(8240)
RTW: DBG_MEM_ALLOC sdio_write_data_rsvd_page:42 dbg_rtw_zmalloc(5840)
RTW: DBG_MEM_ALLOC sdio_write_data_rsvd_page:58 dbg_rtw_mfree(5840)
RTW: rtl8821c_fw_dl Download Firmware from array success
RTW: NIC FW Version:9 SubVersion:7
RTW: c2h_mac_hidden_rpt_hdl: 0x2B
RTW: c2h_mac_hidden_rpt_hdl: 0x4A
RTW: c2h_mac_hidden_rpt_hdl: 0x04
RTW: c2h_mac_hidden_rpt_hdl: 0x14
RTW: c2h_mac_hidden_rpt_hdl: 0xF6
RTW: c2h_mac_hidden_rpt_hdl: 0xFF
RTW: c2h_mac_hidden_rpt_hdl: 0x37
RTW: c2h_mac_hidden_rpt_hdl: 0xFF
RTW: uuid x:0x2b y:0x4a z:0x4 crc:0xa0
RTW: hci_type:0x6
RTW: package_type:0x7
RTW: tr_switch:0x1
RTW: wl_func:0xf
RTW: hw_stype:0xf
RTW: bw:0x7
RTW: fab:0x2
RTW: ant_num:0x1
RTW: protocol:0x3
RTW: nic:0x3
RTW: c2h_mac_hidden_rpt_2_hdl: 0xFF
RTW: c2h_mac_hidden_rpt_2_hdl: 0xFF
RTW: c2h_mac_hidden_rpt_2_hdl: 0xF8
RTW: c2h_mac_hidden_rpt_2_hdl: 0xFC
RTW: c2h_mac_hidden_rpt_2_hdl: 0xFF
RTW: hal_read_mac_hidden_rpt OK! (1, 70ms), fwdl:1, id:0x19
RTW: is_valid_id_status: HALMAC_FEATURE_DUMP_LOGICAL_EFUSE
RTW: HW EFUSE
RTW: 0x000: 29 81 00 BC 09 10 28 00    AA 04 AD 75 10 8E 30 0B
RTW: 0x010: FF FF FF FF FF FF FF FF    FF FF FF 02 FF FF FF FF
RTW: 0x020: FF FF 27 25 26 25 23 24    23 26 28 2A 27 28 2A 28
RTW: 0x030: 21 FF FF FF FF FF 40 FF    FF FF 2A 2A 2A 2A 2A 2A
RTW: 0x040: 31 31 31 30 30 00 FF FF    FF FF FF FF FF FF FF FF
RTW: 0x050: FF FF FF FF FF FF FF FF    FF FF FF FF FF FF FF FF
RTW: 0x060: FF FF FF FF FF FF FF FF    FF FF FF FF FF FF FF FF
RTW: 0x070: FF FF FF FF FF FF FF FF    FF FF FF FF FF FF FF FF
RTW: 0x080: FF FF FF FF FF FF FF FF    FF FF FF FF FF FF FF FF
RTW: 0x090: FF FF FF FF FF FF FF FF    FF FF FF FF FF FF FF FF
RTW: 0x0a0: FF FF FF FF FF FF FF FF    FF FF FF FF FF FF FF FF
RTW: 0x0b0: FF FF FF FF FF FF FF FF    7F 37 1F 00 FF FF FF FF
RTW: 0x0c0: FF 21 00 41 00 00 00 00    00 FF 02 FF FF FF FF FF
RTW: 0x0d0: 7E D1 01 23 34 FF FF FF    20 04 4C 02 21 C8 21 02
RTW: 0x0e0: 0C 00 22 04 00 08 00 32    FF 21 02 0C 00 
  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值