This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/AM3354:在 SDK8 Linux 3.14.4上使用 WL18XX 的 AM335x

Guru**** 2562120 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/634666/linux-am3354-am335x-using-wl18xx-on-sdk8-linux-3-14-4

器件型号:AM3354
Thread 中讨论的其他器件:WL1835

工具/软件:Linux

您好!

我在 AM335X 平台中使用 SDK8工具链与 Linux 3.14.4内核(BeagleBone)。

WL18XX 模块已集成到我的硬件中、我无法获取合适的模块进行测试。 除 Wi-Fi 之外、其余的 tnhe 驱动程序都正常。 我已经下载了 WLAN 的构建实用程序、并按照以下链接执行了该过程:

根据我的 Linux 3.14.4生成了的模块和固件文件。 但它不兼容、并且不会加载模块。 最后不安装任何模块。它在 Linux 3.12 sdk7中运行的相同硬件。

请告诉我 Linux 3.14.4所需版本的所有步骤

此致、

Lofna

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Lofna、

    我们已将您的帖子分配给相关工程师、并将回复您。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    使用 WL18XX 构建实用程序编译、并将所有模块加载到我们的平台中。

    ------------------
    Ubuntu@ubuntu-armhf:~$ lsmod
    模块 使用的大小
    wl18xx 87799 0
    wlcore 179097 2 wl18xx
    mac80211 48892 wl18xx、wlcore
    cfg80211 420078 3 mac80211、wl18xx、wlcore
    Joydev 8977 0
    uvcvideo 64082 0
    smsc95xx 16381 0
    videobf2_vmalloc 2964 1 uvcvideo
    videobf2_memops 2258 1 videobf2_vmalloc
    videobf2_core 31311 1 uvcvideo
    USBnet 24147 1 smsc95xx
    SND_SoC_Davinci_McASP 9815 2.
    OMAP-SHIM 17187 0
    OMA_AES 12015 0
    SND_SoC_EVM 3991 0
    SND_SoC_tlv320aic3x 35284 1.
    SND_SoC_DaVinci 6576 1 SND_SoC_Davinci_McASP
    SND_SoC_CORE 155598 4 snd_SoC_Davinci_McASP、snd_SoC_Davinci、snd_SoC_tlv320aic3x、snd_SoC_EVM
    SND_COMpress 7754 1 snd_soc_core
    SND_PCM 87046 2 snd_soc_core、snd_soc_Davinci
    SND_TIMER 19694 1 SND_PCM
    状态 61108 4 snd_soc_core、snd_timer、snd_pcm、snd_compress
    声音核心 7112 1段
    wlcore_SDIO 5162 0
    压实 2756 4 cfg80211、mac80211、wl18xx、wlcore_SDIO
    TI_AM335x_ADC 4819 0
    Kfifo_buf 2502 1 ti_am335x_adc
    工业 46808 2 ti_am335x_adc、kfifo_buf
    RTC_OMAP 5276 0
    TI_AM335x_TSC 4743 0
    uio_pdrv_genirq 3289 0
    是的 8910 1 uio_pdrv_genirq
    Ubuntu@ubuntu-armhf:~$ modinfo wlcore
    文件名: /lib/modules/3.14.4/updates/drivers/net/wireless/ti/wlcore/wlcore.ko
    固件: TI-connectivity/wl1271-nvs.bin
    作者: Juuso Oikarinen
    作者: Luciano Coelho
    许可证: GPL
    取决于: mac80211、cfg80211
    魔法: 3.14.4 SMP mod_unload MODVERSIONS ARMv7 p2v8
    参数: DEBUG_LEVEL:wl12xx 调试级别(uint)
    参数: fwlog:FW 记录器选项:连续、按需、dbgpins 或禁用(CHARP)
    参数: fwlog_mem_blocks:fwlog mem_blocks (int)
    参数: BUGE_ON_RECOVERY:固件恢复时的 BUG()(int)
    参数: NO_RECOVERY:阻止硬件恢复。 FW 将保持卡滞。 (内部)
    Ubuntu@ubuntu-armhf:~$ modinfo wl18xx
    文件名: /lib/modules/3.14.4/updates/drivers/net/wireless/ti/wl18xx/wl18xx.ko
    固件: TI-connectivity/wl18xx-fw-4.bin
    作者: Luciano Coelho
    许可证: GPL v2
    版本: 使用反向端口 R8.4-0-g0d46f43从 Linux (R8.5-0-gcb51164)反向移植
    版本: 08D07BEEF61C769A1872BA2
    别名: 平台:wl18xx
    取决于: wlcore、compat、mac80211、cfg80211
    魔法: 3.14.4 SMP mod_unload MODVERSIONS ARMv7 p2v8
    参数: HT_MODE:强制 HT 模式:宽或低侧20 (CHARP)
    参数: RX_MASK:允许修改 MCS 支持的速率。 例如:RX_MASK=0xff、0xff、0、0、0、0、0、0、0、0 (int 数组)
    参数: Board_type:板类型:FPGA、HDK (默认)、EVB、COM8或 DVP (CHARP)
    参数: 校验和:启用 TCP 校验和:布尔(默认为 false)(bool)
    参数: dc2dc:外部 DC2DC:U8 (默认为0)(int)
    参数: n_ANAUNICS_2:已安装2.4GHz 天线的数量:1 (默认)或2 (内部)
    参数: n_ANAICS_5:已安装的5GHz 天线的数量:1 (默认)或2 (int)
    参数: LOW_BAD_COMPONENT:低值带分量:U8 (默认为0x01)(int)
    参数: LOW_BAD_COMPONENT_TYPE:低频带组件类型:U8 (默认为0x05或0x06、具体取决于 board_type)(int)
    参数: HIGH_BAD_COMPONENT:高值带分量:U8、(默认为0x01)(int)
    参数: HIGH_BAD_COMPONENT_TYPE:高频段组件类型:U8 (默认为0x09)(int)
    参数: PWR_LIMIT_reference_11_abg:功率限制基准:U8 (默认为0xc8)(int)
    参数: num_Rx_desc:int
    参数: num_rx_desc_param:Rx 描述符数:U8 (默认为32)
    Ubuntu@ubuntu-armhf:~$ modinfo cfg80211
    文件名: /lib/modules/3.14.4/updates/net/wireless/cfg80211.ko
    版本: 使用反向端口 R8.4-0-g0d46f43从 Linux (R8.5-0-gcb51164)反向移植
    别名: net-pf-16-proto 16-family-nl80211
    说明:无线配置支持
    许可证: GPL
    作者: Johannes Berg
    版本: 54DD7764BAA86368BA164BB
    取决于: 压实
    魔法: 3.14.4 SMP mod_unload MODVERSIONS ARMv7 p2v8
    参数: dfs_nop_time_ms:dfs NOP 时间(以 ms 为单位)(uint)
    参数: ieee80211_regdom:IEEE 802.11监管域代码(CHARP)
    参数: dfs_cac_time_ms:dfs CAC 时间(以 ms 为单位)(uint)
    参数: cfg80211_disable_40MHz_24GHz:禁用2.4GHz 频带中的40MHz 支持(bool)
    Ubuntu@ubuntu-armhf:~$ modinfo wlcore
    文件名: /lib/modules/3.14.4/updates/drivers/net/wireless/ti/wlcore/wlcore.ko
    固件: TI-connectivity/wl1271-nvs.bin
    作者: Juuso Oikarinen
    作者: Luciano Coelho
    许可证: GPL
    取决于: mac80211、cfg80211
    魔法: 3.14.4 SMP mod_unload MODVERSIONS ARMv7 p2v8
    参数: DEBUG_LEVEL:wl12xx 调试级别(uint)
    参数: fwlog:FW 记录器选项:连续、按需、dbgpins 或禁用(CHARP)
    参数: fwlog_mem_blocks:fwlog mem_blocks (int)
    参数: BUGE_ON_RECOVERY:固件恢复时的 BUG()(int)
    参数: NO_RECOVERY:阻止硬件恢复。 FW 将保持卡滞。 (内部)
    Ubuntu@ubuntu-armhf:~$ modinfo wlcore_SDIO
    文件名: /lib/modules/3.14.4/updates/drivers/net/wireless/ti/wlcore/wlcore_sdio.ko
    作者: Juuso Oikarinen
    作者: Luciano Coelho
    许可证: GPL
    版本: 使用反向端口 R8.4-0-g0d46f43从 Linux (R8.5-0-gcb51164)反向移植
    版本: 9AC395FFA1A6614F19CF24
    别名: 数量:N*T*Cwlcore*
    别名: SDIO:c*v0097d4076*
    取决于: 压实
    魔法: 3.14.4 SMP mod_unload MODVERSIONS ARMv7 p2v8
    参数: 转储:启用 SDIO 读/写转储。 (bool)
    Ubuntu@ubuntu-armhf:~
    --------------------------------------

    iubuntu@ubuntu-armhf:~$ ifconfig -a
    eth0 链接地址:以太网 HWaddr 00:18:31:e0:9a:D1
    上广播多播 MTU:1500公制:1
    RX 数据包:0错误:0丢弃:0超限:0帧:0
    TX 数据包:0错误:0丢弃:0超限:0载波:0
    冲突:0 txqueuelen:1000
    RX 字节:0 (0.0 B) TX 字节:0 (0.0 B)
    中断:56

    低 链路环状图:本地环回
    iNet addr:127.0.0.1掩码:255.0.0.0
    inet6 addr:::1/128范围:Host
    正在运行 MTU:65536公制:1的上环回
    RX 数据包:26错误:0丢弃:0超限:0帧:0
    TX 数据包:26错误:0丢弃:0超限:0载波:0
    冲突:0 txqueuelen:0
    RX 字节:1684 (1.6KB) TX 字节:1684 (1.6KB)

    但我仍然没有将接口作为"wlan0"。 请向我推荐出错的地方。

    此致、
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否检查内核日志消息(dmesg)中是否存在任何与 WLAN 或 MMC 相关的错误? 由于这是您的定制板、您是否正确配置了 DTS 文件以反映您的器件 MMC 和 WLAN EN/IRQ 焊盘?

    谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    感谢您的回答。 在 dmesg 中、MMC 和 WLAN 没有错误。 我在下面的器件树中定义了我的引脚混合详细信息。

    ——————— -

    ----------------------------

    /* mmc3上的 wl12xx/wl18xx 卡*/

    mmc3_PINs_default:pinmux_mmc3_PINs_default{

    pinctrl-single、pins =<

    0x44 (PIN_INPUT_PULLUP | MUX_MODE3)/* GPMC_A1.mmc2_dat0 *

    0x48 (PIN_INPUT_PULLUP | MUX_MODE3)/* GPMC_A2.mmc2_DAT1 *

    0x4C (PIN_INPUT_PULLUP | MUX_MODE3)/* GPMC_A3.mmc2_DAT2 *

    0x78 (PIN_INPUT_PULLUP | MUX_MODE3)/* GPMC_BEN1.mmc2_DAT3 *

    0x88 (PIN_INPUT_PULLUP | MUX_MODE3)/* GPMC_csn3.mmc2_cmd *

    0x8C (PIN_INPUT_PULLUP | MUX_MODE3)/* GPMC_clk.mmc2_clk *

    >;

    };

    /* wl12xx/wl18xx 卡使能/IRQ GPIO。 *

    wlan_pins_default:pinmux_wlan_pins_default{

    pinctrl-single、pins =<

    0x40 (PIN_OUTPUT 下拉| MUX_MODE7)/* GPMC_a0.GPIO1_16 */

    0x1a4 (PIN_INPUT_PULLUX | MUX_MODE7)/* McASP0_ahclkr.GPIO3_19 *

    0x1ac (PIN_OUTPUT 上拉| MUX_MODE7)/* McASP0_ahclkx.GPIO3_21 *

    >;

    };

    wlan_pins_sleep:pinmux_wlan_pins_sleep{

    pinctrl-single、pins =<

    0x40 (PIN_OUTPUT 下拉| MUX_MODE7)/* GPMC_a0.GPIO1_16 */

    0x1a4 (PIN_INPUT_PULLUX | MUX_MODE7)/* McASP0_ahclkr.GPIO3_19 *

    0x1ac (PIN_OUTPUT 上拉| MUX_MODE7)/* McASP0_ahclkx.GPIO3_21 *

    >;

    };

    wlan_en_reg:fixedregator@2{

    兼容="稳压器固定";

    reguler-name ="wlan-en-regulator ";

    稳压器最小微伏=<1800000>;

    稳压器最大值微伏=<1800000>;

    GPIO =<&GPIO1 16 0>;

    启动延迟-us =<70000>;

    使能端高电平有效;

    };

    mmc3{(&M)

    /*这些位于纵横制上,并在中进行了概述

    Xbar-event-map 元素*/

    DMA =<&EDMA 12.

    EDMA 13>;

    dma-names ="TX"、"Rx";

    状态="正常";

    VMMC-supply =<&wlan_en_reg>;

    总线宽度=<4>;

    pinctrl-names ="default";

    pinctrl-0 =<&mmc3_PINs_default &wlan_pins_default>;

    TI、不可拆卸;

    TI、需要特殊处理;

    电容断电卡;

    暂停时保持供电;

    #address-cells =<1>;

    #size-cells =<0>;

    wlcore:wlcore@2{

    兼容="ti、wlcore";

    reg =<2>;

    interrupt-parent =<&GPIO3>;

    中断=<19 IRQ_TYPE_LEVEL_HIGH_>;

    };

    };

    ------------------------------

    请建议是否存在任何其他固件问题。

    此致、

    Lofna

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    e2e.ti.com/.../1680.dmesg.txtHi、

    以上设备树文件中的任何问题。 相同的硬件在 Linux 3.12中运行。

    3.14中是否存在相关性、请帮助我。

    --------------

    Ubuntu@ubuntu-armhf:~$ cat /proc/interrupts

         CPU0

    28:   3036   INTC 12 EDMA

    30:     30   INTC 14 EDMA_ERROR

    32:      0   INTC 16 TI-AM335x-TSC、TI-AM335x-ADC

    33:      0   INTC 17 47400000 DMA 控制器

    34:      0   INTC 18 musb-hdrc.0.auto

    35:    595   INTC 19 musb-hdrc.1.auto

    44:   1260   INTC 28 mmc2

    45:   4319   INTC 29 mmc0

    52:      0   INTC 36 tilcdc

    56:      0   INTC 40 4a100000以太网

    57:      0   INTC 41 4a100000以太网

    58:      0   INTC 42 4a100000以太网

    59:      0   INTC 43 4a100000以太网

    80:   8940   INTC 64 mmc1

    84:   5246   INTC 68 gp_timer

    86:    254   INTC 70 44e0b000。i2c

    87:      0   INTC 71 4802a000 i2c

    88:   1854   INTC 72 OMAP UART0

    91:      0   INTC 75 rtc0

    92:      0   INTC 76 rtc0

    125:      0   INTC 109 53100000.sham

    127:      0   INTC 111 48310010.rng

    150:      0   GPIO 6 mmc1

    IPI0:      0 个 CPU 唤醒中断

    IPI1:      0 定时器广播中断

    IPI2:      0 重新安排中断

    IPI3:      0 个函数调用中断

    IPI4:      0 个单功能调用中断

    IPI5:      0 个 CPU 停止中断

    IPI6:      0 IRQ 工作中断

    IPI7:      0 个完成中断

    错误:      0

    --------------

    查找随附的 dmesg 日志以供您参考。

    Rgds

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我在 dmesg 中看到以下错误消息-

    [22.774931] mmc0:排队未知 CIS tuple 0x07 (0字节)
    [22.776536] mmc0:排队未知 CIS tuple 0x64 (64字节)
    [23.086979] mmc0:排队未知 CIS tuple 0x08 (0字节)
    [23.087199] mmc0:排队未知 CIS tuple 0x01 (0字节)
    [23.091815] mmc0:对未知 CIS tuple 0x01排队(2个字节)
    [23.091937] wlcore:错误无法获取硬件信息

    如果是、它在同一硬件上使用早期内核。 请比较日志和 DTS 文件、并尝试降低 SDIO 速度。

    谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    随附的 dmesg 是最新版本。 请检查一下。 我指的是相同的3.12、并在3.14中进行了更新。

    我不确定哪里出错了。

    但我已经完成了获取所有 WLAN 实用程序的构建脚本。 所有这些都是相同的。

    您能给我发送 wl18xx 模块的内核配置吗?

    这是什么"尝试降低 SDIO 速度..." ?? 请指导我

    此致、

    e2e.ti.com/.../3323.dmesg.txt

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    如果我将硬件保持在空闲状态一段时间、则会出现以下错误。 我的模块实际上是 wl1835。
    它看起来像是模块或固件文件错误。

    plz 建议我

    --------------------------------------
    [242.204769]工作队列:事件 Request_firmware_work_func
    [242.204861][ ](__schedule)从[ ](schedule_timeout+0x1c/0x22c)
    [242.204922][ ](schedule_timeout)从[ ](Wait_for_common+0x138/0x18c)
    [242.204994][ ](WAIT_for_common)、来自[ ](MMC_WAIT_TO_REQ+0x78/0x14c)
    [242.205060][ ](mmc_wait_for_req)、来自[ ](MMC_IO_RW_DELLED+0x22c/0x2a4)
    [242.205116][ ](MMC_IO_RW_DELLED)从[ ](SDIO_IO_RW_ext_helper+0x160/0x19c)
    [242.205170][ ](SDIO_IO_RW_ext_helper)、来自[ ](SDIO_memcpy_toio+0x1c/0x20)
    [242.205271][ ](SDIO_memcpy_toio)、来自[ ](wl12xx_SDIO_RAW_WRITE+bc/0x118 [wlcore_SDIO])
    [242.205576][ ](wl12xx_SDIO_RAW_WRITE [wlcore_SDIO])从[ ](wlcore_set_partition+0x2fc/0x438 [wlcore])
    [242.205856][ ](wlcore_set_partition [wlcore])、来自[ ](wl12xx_set_power_on/0x64/0x118 [wlcore])
    [242.206073][ ](wl12xx_set_power_on [wlcore])、来自[ ](wlcore_NVS_CB+0x214/0x8f4 [wlcore])
    [242.206216][ ](wlcore_NVS_CB [wlcore])、来自[ ](REQUEST_firmware_work _ func+0x2C/0x48)
    [242.206285][ ](Request_firmware_Work_func)、来自[ ](Process_One_Work+0x244/0x3e4)
    [242.206341][ ](Process_One_Work)、来自[ ](worker_thread+0x21c/0x378)
    [242.206396][ ](worker_thread)、来自[ ](kthread+0xc8/0xdc)
    [242.206456][ ](kthread)、来自[ ](RET_FANK_F叉+0x14/0x3c)
    --------------------------------------

    此致
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    它只是在这两者之间更改内核版本吗? 您将哪个 WL18xx 版本与3.12结合使用? 您是否比较了这两个版本之间的 DTS 文件?
    您可以通过在 MMC DT 节点(用于 WiLink 的 MMC)中指定最大频率来限制 MMC 时钟速度。 下面的设置为1MHz。

    Max-frequency =<1000000>


    谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我参考了此链接并使用 SDK8工具链进行了编译、并从 Beagle Bone Ubuntu 支持 Linux 3.14.4中获取了内核。

    我肯定会更改 MMC 相关时钟频率。

    此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我应该在何处更改 内核树中的 max-frequency =<1000000>。

    请帮帮我。

    此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好
    对我的问题有任何反馈、但这个问题仍然没有解决
    Rgds

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我认为,这个问题已经结束了其他主题的讨论。 现在关闭.. 如果需要、请重新打开。

    谢谢