We have developed a specialized circuit board featuring the OSD3358-512M-BSM microprocessor. Our setup utilizes Linux Kernel 4.19 and u-boot version 2019.04. Could you provide assistance in configuring the device tree source (DTS) to enable connectivity for the WL1831 module, specifically connected to MMC2 for Wi-Fi functionality?
Apoorva,
Please take a look at the device tree bindings for WLXX devices here: https://elixir.bootlin.com/linux/v4.19.315/source/Documentation/devicetree/bindings/net/wireless/ti,wlcore.txt
Beaglebonne Black Wireless uses a similar Wilink modue(WL1835). The schematics are available here: https://github.com/beagleboard/beaglebone-black-wireless/blob/master/BeagleBone_Black_Wireless_SCH.pdf. The device tree for WiFi for Beaglebone Black Wireless is here: https://github.com/RobertCNelson/dtb-rebuilder/blob/4.19-ti/src/arm/am335x-boneblack-wireless.dts#L73. You should be able to use this device tree as a reference.
Additional documentation if you want to dig deeper: https://www.ti.com/lit/ug/swru561a/swru561a.pdf.
Best,
Neeraj
Thank you for your timely response. We have successfully configured the dts file and the kernel now recognizes the Wi-Fi module as an SDIO device. Despite this progress, we encounter an issue where we are unable to establish communication with the device and bring the network interface up; our attempts have been unsuccessful. Upon examining the SDIO lines, we observed communication activity, but we remain uncertain if the Wi-Fi module is responding appropriately. While we suspect driver issues may be at play, the installed drivers (wlcore, wlcore_sdio, and wl18xx along with supplemental drivers) should theoretically support our setup. Could there be any other underlying reasons contributing to our difficulty? Attached for your review is a relevant kernel log.
Dec 20 18:49:46 arm kernel: WARNING: CPU: 0 PID: 194 at drivers/net/wireless/ti/wlcore/sdio.c:145 wl12xx_sdio_raw_write+0x148/0x1b4 [wlcore_sdio]
Dec 20 18:49:46 arm kernel: Modules linked in: wl18xx wlcore wlcore_sdio evdev uio_pdrv_genirq uio ip_tables x_tables
Dec 20 18:49:47 arm kernel: CPU: 0 PID: 194 Comm: NetworkManager Not tainted 4.19.280-bone76 #3
Dec 20 18:49:47 arm kernel: Hardware name: Generic AM33XX (Flattened Device Tree)
Dec 20 18:49:47 arm kernel: Backtrace:
Dec 20 18:49:47 arm kernel: [<c0cf8098>] (dump_backtrace) from [<c0cf8454>] (show_stack+0x20/0x24)
Dec 20 18:49:47 arm kernel: r7:60010113 r6:c13c43c4 r5:00000000 r4:c13c43c4
Dec 20 18:49:47 arm kernel: [<c0cf8434>] (show_stack) from [<c0d07944>] (dump_stack+0x8c/0xa0)
Dec 20 18:49:47 arm kernel: [<c0d078b8>] (dump_stack) from [<c0cf8b80>] (__warn.part.3+0xb0/0xcc)
Dec 20 18:49:47 arm kernel: r7:00000091 r6:00000009 r5:00000000 r4:00000000
Dec 20 18:49:47 arm kernel: [<c0cf8ad0>] (__warn.part.3) from [<c0cf8d1c>] (warn_slowpath_null+0x54/0x74)
Dec 20 18:49:47 arm kernel: r7:d9895e10 r6:bf07d3a0 r5:00000091 r4:bf07ebd0
Dec 20 18:49:47 arm kernel: [<c0cf8cc8>] (warn_slowpath_null) from [<bf07d3a0>] (wl12xx_sdio_raw_write+0x148/0x1b4 [wlcore_sdio])
Dec 20 18:49:47 arm kernel: r6:00000000 r5:c1305dc8 r4:dc4ed200
Dec 20 18:49:47 arm kernel: [<bf07d258>] (wl12xx_sdio_raw_write [wlcore_sdio]) from [<bf0a53b4>] (wlcore_boot_upload_firmware+0x1ec/0x50c [wlcore])
Dec 20 18:49:47 arm kernel: r10:d687c000 r9:00014000 r8:bf07d258 r7:d9b48e60 r6:bf0b9600 r5:80900000
Dec 20 18:49:47 arm kernel: r4:00000000
Dec 20 18:49:47 arm kernel: [<bf0a51c8>] (wlcore_boot_upload_firmware [wlcore]) from [<bf0d60f0>] (wl18xx_boot+0x7fc/0xcd4 [wl18xx])
Dec 20 18:49:47 arm kernel: r10:00000002 r9:00000014 r8:c10aa518 r7:bf0b9600 r6:c1305dc8 r5:00000000
Dec 20 18:49:47 arm kernel: r4:d9b48e60
Dec 20 18:49:47 arm kernel: [<bf0d58f4>] (wl18xx_boot [wl18xx]) from [<bf09678c>] (wl1271_op_add_interface+0x558/0x99c [wlcore])
Dec 20 18:49:47 arm kernel: r9:00000000 r8:d9b48e9c r7:bf0b9600 r6:c1305dc8 r5:d9b48e60 r4:d9fecdf8
Dec 20 18:49:47 arm kernel: [<bf096234>] (wl1271_op_add_interface [wlcore]) from [<c0c611b4>] (drv_add_interface+0x4c/0x200)
Dec 20 18:49:47 arm kernel: r10:00000000 r9:ffffffff r8:d9fec85c r7:d9fec580 r6:d9fec580 r5:d9b48480
Dec 20 18:49:47 arm kernel: r4:d9fec588
Dec 20 18:49:47 arm kernel: [<c0c61168>] (drv_add_interface) from [<c0c79db8>] (ieee80211_do_open+0x484/0x95c)
Dec 20 18:49:47 arm kernel: r7:d9fec580 r6:d9b48480 r5:d9fec000 r4:d9fec588
Dec 20 18:49:47 arm kernel: [<c0c79934>] (ieee80211_do_open) from [<c0c7a2e4>] (ieee80211_open+0x54/0x60)
Dec 20 18:49:47 arm kernel: r10:00000000 r9:d9f42b10 r8:d9fec02c r7:c0effca8 r6:00000000 r5:c1305dc8
Dec 20 18:49:47 arm kernel: r4:d9fec580
Dec 20 18:49:47 arm kernel: [<c0c7a290>] (ieee80211_open) from [<c0a8db00>] (__dev_open+0xec/0x188)
Dec 20 18:49:47 arm kernel: r5:c1305dc8 r4:d9fec000
Dec 20 18:49:47 arm kernel: [<c0a8da14>] (__dev_open) from [<c0a8df60>] (__dev_change_flags+0x19c/0x1fc)
Dec 20 18:49:47 arm kernel: r8:00001002 r7:c1305dc8 r6:00001003 r5:00000001 r4:d9fec000
Dec 20 18:49:47 arm kernel: [<c0a8ddc4>] (__dev_change_flags) from [<c0a8dfe8>] (dev_change_flags+0x28/0x58)
Dec 20 18:49:47 arm kernel: r9:d9f42b10 r8:d9a63c28 r7:d9fec14c r6:00000000 r5:00001002 r4:d9fec000
Dec 20 18:49:47 arm kernel: [<c0a8dfc0>] (dev_change_flags) from [<c0aa58d8>] (do_setlink+0x2c0/0xa4c)
Dec 20 18:49:47 arm kernel: r9:d9f42b10 r8:d9a63c28 r7:d98803c0 r6:c1305dc8 r5:d9a63b58 r4:d9fec000
Dec 20 18:49:47 arm kernel: [<c0aa5618>] (do_setlink) from [<c0aa6808>] (rtnl_newlink+0x4e8/0x744)
Dec 20 18:49:47 arm kernel: r10:d9a63d04 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:00000000
Dec 20 18:49:47 arm kernel: r4:d9fec000
Dec 20 18:49:47 arm kernel: [<c0aa6320>] (rtnl_newlink) from [<c0aa1f1c>] (rtnetlink_rcv_msg+0x138/0x304)
Dec 20 18:49:47 arm kernel: r10:d9f42b00 r9:00000000 r8:00000000 r7:d98803c0 r6:c14533d0 r5:c1305dc8
Dec 20 18:49:47 arm kernel: r4:c0aa6320
Dec 20 18:49:47 arm kernel: [<c0aa1de4>] (rtnetlink_rcv_msg) from [<c0adac88>] (netlink_rcv_skb+0xc8/0x120)
Dec 20 18:49:47 arm kernel: r10:00000000 r9:c1305dc8 r8:00000020 r7:d9f42b00 r6:c0aa1de4 r5:c1305dc8
Dec 20 18:49:47 arm kernel: r4:d98803c0
Dec 20 18:49:47 arm kernel: [<c0adabc0>] (netlink_rcv_skb) from [<c0aa1de0>] (rtnetlink_rcv+0x20/0x24)
Dec 20 18:49:47 arm kernel: r8:00000000 r7:d98803c0 r6:00000020 r5:d9c71c00 r4:dc19cc00
Dec 20 18:49:47 arm kernel: [<c0aa1dc0>] (rtnetlink_rcv) from [<c0ada328>] (netlink_unicast+0x194/0x210)
Dec 20 18:49:47 arm kernel: [<c0ada194>] (netlink_unicast) from [<c0ada6c8>] (netlink_sendmsg+0x210/0x400)
Dec 20 18:49:47 arm kernel: r9:d9c71c00 r8:00000020 r7:d98803c0 r6:c1305dc8 r5:d9a63f44 r4:d9f42b00
Dec 20 18:49:47 arm kernel: [<c0ada4b8>] (netlink_sendmsg) from [<c0a65330>] (sock_sendmsg+0x44/0x54)
Dec 20 18:49:47 arm kernel: r10:00000000 r9:d9a63edc r8:daa991c0 r7:00000000 r6:00000040 r5:daa991c0
Dec 20 18:49:47 arm kernel: r4:d9a63f44
Dec 20 18:49:47 arm kernel: [<c0a652ec>] (sock_sendmsg) from [<c0a65d94>] (___sys_sendmsg+0x288/0x29c)
Dec 20 18:49:47 arm kernel: r5:c1305dc8 r4:d9a63f44
Dec 20 18:49:47 arm kernel: [<c0a65b0c>] (___sys_sendmsg) from [<c0a6708c>] (__sys_sendmsg+0x60/0x9c)
Dec 20 18:49:47 arm kernel: r10:00000128 r9:d9a62000 r8:c0101264 r7:daa991c0 r6:00000000 r5:bed47d90
Dec 20 18:49:47 arm kernel: r4:c1305dc8
Dec 20 18:49:47 arm kernel: [<c0a6702c>] (__sys_sendmsg) from [<c0a670e4>] (sys_sendmsg+0x1c/0x20)
Dec 20 18:49:47 arm kernel: r7:00000128 r6:00000008 r5:bed47d90 r4:00000000
Dec 20 18:49:47 arm kernel: [<c0a670c8>] (sys_sendmsg) from [<c0101000>] (ret_fast_syscall+0x0/0x54)
Dec 20 18:49:47 arm kernel: Exception stack(0xd9a63fa8 to 0xd9a63ff0)
Dec 20 18:49:47 arm kernel: 3fa0: 00000000 bed47d90 00000008 bed47d90 00000000 00000000
Dec 20 18:49:47 arm kernel: 3fc0: 00000000 bed47d90 00000008 00000128 bed47ec4 bed47ec8 00000000 0083e500
Dec 20 18:49:47 arm kernel: 3fe0: 00000128 bed47d68 b69de25d b69df526
Dec 20 18:49:47 arm kernel: —[ end trace 443da2882a293759 ]—
Dec 20 18:49:47 arm kernel: wl1271_sdio mmc2:0001:2: sdio write failed (-110)
Dec 20 18:49:47 arm systemd[1]: getty@tty1.service: Current command vanished from the unit file, execution of the command list won’t be resumed.
Dec 20 18:49:47 arm systemd[1]: serial-getty@ttyS0.service: Current command vanished from the unit file, execution of the command list won’t be resumed.
Dec 20 18:49:48 arm systemd[1]: regenerate_ssh_host_keys.service: Succeeded.
Dec 20 18:49:48 arm systemd[1]: Started Regenerate SSH host keys.
Dec 20 18:49:48 arm systemd[1]: Starting OpenBSD Secure Shell server…
Dec 20 18:49:49 arm systemd[1]: NetworkManager-dispatcher.service: Succeeded.
Apporva,
The above log seems to indicate that there was a kernel panic during initialization of the WiFi module. Here are a few debug inputs:
First, I suggest making sure the module is powered and enabled. The Beaglebone black sets up an enable signal here: https://github.com/RobertCNelson/dtb-rebuilder/blob/4.19-ti/src/arm/am335x-boneblack-wireless.dts#L20.
In addition, please check for proper pinmux setup. The MMC interface pinmux for BBWireless is here: https://github.com/RobertCNelson/dtb-rebuilder/blob/4.19-ti/src/arm/am335x-boneblack-wireless.dts#L40. Also verify GPIO control pinmux for the WiFi module here: https://github.com/RobertCNelson/dtb-rebuilder/blob/4.19-ti/src/arm/am335x-boneblack-wireless.dts#L60.
Please probe the ENABLE signal to the WiFi module to make sure the module is being enabled to respond to probing.
Best,
Neeraj
Octavo Systems LLC all rights reserved
OCTAVO is registered in the U.S. Patent and Trademark Office. OSD, C-SiP, and the Octavo Logo are trademarks of Octavo Systems LLC.
"*" indicates required fields
"*" indicates required fields
"*" indicates required fields
"*" indicates required fields