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/WL1835MODCOM8B: running wlconf produces error, no wifi functionality

Part Number: WL1835MODCOM8B
Other Parts Discussed in Thread: WL1835

Tool/software: Linux

running on am437x gp evm board

SDK 4.0.3.0.5

the WL1835 module plugged in

i read that one of the first steps is to run "configure_device.sh" in /usr/sbin/wlconf so i did that on my target and i get this:

root@am437x-evm:/usr/sbin/wlconf# ./configure-device.sh

Please provide the following information.

Are you using a TI module? [y/n] : y
What is the chip flavor? [1801/1805/1807/1831/1835/1837 or 0 for unknown] : 1835
Should certification Class 2 Permissive Change (C2PC) due to higher antenna gain (max 3.2dBm) be applied? [y/n] : n
How many 2.4GHz antennas are fitted? [1/2] : 2
[243867.300806] wlcore: down

The device has been successfully configured.
TI Module: y
Chip Flavor: 1835
Number of 2.4GHz Antennas Fitted: 2
Number of 5GHz Antennas Fitted: 0
Diversity Support: n
SISO40 Support: y
Japanese Standards Applied: n
Class 2 Permissive Change (C2PC) Applied: n

[243868.074121] wl18xx_driver wl18xx.3.auto: Direct firmware load for ti-connectivity/wl1271-nvs.bin failed with error -2
root@am437x-evm:/usr/sbin/wlconf# [243868.431250] wlcore: wl18xx HW: 183x or 180x, PG 2.2 (ROM 0x11)
[243868.465003] wlcore: loaded
[243869.262409] wlcore: PHY firmware version: Rev 8.2.0.0.240
[243869.334128] wlcore: firmware booted (Rev 8.9.0.0.76)
[243869.364907] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready

i would have thought that maybe i would be able to at least scan for networks on it, and i get:

root@am437x-evm:/usr/sbin/wlconf# iwlist wlan0 scan
wlan0 Interface doesn't support scanning.

during boot up this message shows the firmware version:

[ 25.844655] wl18xx_driver wl18xx.3.auto: Direct firmware load for ti-connectivity/wl1271-nvs.bin failed with error -2
[ 26.184607] wlcore: wl18xx HW: 183x or 180x, PG 2.2 (ROM 0x11)
[ 26.489100] wlcore: loaded

...

[ 27.716832] wlcore: PHY firmware version: Rev 8.2.0.0.240
[ 27.866531] wlcore: firmware booted (Rev 8.9.0.0.76)

but i also see:

[    4.259899] wlan-en-regulator: disabling 

with no "enabling" statement afterward so i do wonder if it is up or not. what commands would i enter to verify that? i did run:

ifconfig wlan0 up

before running previous commands as well and it made no difference

it seems i do not have the proper firmware for this thing. am i have trouble communicating with the chip or a problem with the wifi firmware on my machine?

  • Hi,
    Can you confirm following are defined for mmc/sdio connected to wl8 in dts file :
    cap-power-off-card;
    keep-power-in-suspend;
    ti,non-removable;
    github.com/.../am437x-gp-evm.dts

    "wl18xx_driver wl18xx.3.auto: Direct firmware load for ti-connectivity/wl1271-nvs.bin failed with error -2"
    This is not a major error and shouldn't prevent scan etc. NVS file is used to configure specific MAC address if needed. If it's missing , MAC address is still assigned to wireless interface

    Thanks
    Saurabh
  • yup, those are all defined:

    &mmc3 {
    status = "okay";
    /* these are on the crossbar and are outlined in the
    xbar-event-map element */
    dmas = <&edma_xbar 30 0 1>,
    <&edma_xbar 31 0 2>;
    dma-names = "tx", "rx";
    vmmc-supply = <&vmmcwl_fixed>;
    bus-width = <4>;
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&mmc3_pins_default>;
    pinctrl-1 = <&mmc3_pins_sleep>;
    cap-power-off-card;
    keep-power-in-suspend;
    ti,non-removable;

    #address-cells = <1>;
    #size-cells = <0>;
    wlcore: wlcore@0 {
    compatible = "ti,wl1835";
    reg = <2>;
    interrupt-parent = <&gpio1>;
    interrupts = <23 IRQ_TYPE_LEVEL_HIGH>;
    };
    };
  • can you share output of
    - ifconfig
    - iw wlan0 scan
  • ifconfig:

    eth0 Link encap:Ethernet HWaddr 68:9E:19:B8:40:84
    inet addr:192.168.61.106 Bcast:192.168.61.255 Mask:255.255.255.0
    inet6 addr: fe80::6a9e:19ff:feb8:4084%763860/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:61388 errors:0 dropped:0 overruns:0 frame:0
    TX packets:55812 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:62961192 (60.0 MiB) TX bytes:8345798 (7.9 MiB)
    Interrupt:110

    lo Link encap:Local Loopback
    inet addr:127.0.0.1 Mask:255.0.0.0
    inet6 addr: ::1%763860/128 Scope:Host
    UP LOOPBACK RUNNING MTU:65536 Metric:1
    RX packets:6 errors:0 dropped:0 overruns:0 frame:0
    TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1
    RX bytes:528 (528.0 B) TX bytes:528 (528.0 B)

    wlan0 Link encap:Ethernet HWaddr 50:65:83:F8:1C:BA
    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 (0.0 B) TX bytes:0 (0.0 B)

    iw wlan0 scan did work and provided scan results. i'm new to linux so when i looked up wifi commands i thought i had to use "iwlist"

    either way any idea why i am getting an error?
  • we support 'iw' and not 'iwlist'.
  • that's nice, however my question is with the error i get when trying to run the configure-device.sh
  • nvs file error response is already mentioned in one of the posts above

    "wl18xx_driver wl18xx.3.auto: Direct firmware load for ti-connectivity/wl1271-nvs.bin failed with error -2"
    This is not a major error and shouldn't prevent scan etc. NVS file is used to configure specific MAC address if needed. If it's missing , MAC address is still assigned to wireless interface

    You can create an empty nvs file /lib/firmware/ti-connectivity/wl1271-nvs.bin to avoid this error and if needed also configure specific MAC address : processors.wiki.ti.com/.../WL18xx_Writing_MAC_address

    Saurabh
  • so the answer is
    -it's not an error worth worrying about (even though i have no idea what it signifies)
    -you don't need to use configure-device.sh anyway because it's only used to reassign the MAC address. if you want to use the wifi module just plain vanilla you don't need to configure anything

    that sound about right?
  • "-it's not an error worth worrying about (even though i have no idea what it signifies)"
    Yes, it's not a major error . Details are provided in previous posts

    "-you don't need to use configure-device.sh anyway because it's only used to reassign the MAC address. if you want to use the wifi module just plain vanilla you don't need to configure anything"
    It is must to run configure-device.sh one time to create wl18xx configuration file. It carries driver, radio etc. settings. MAC address error will be seen whenever you unload / re-load driver modules , which this script does automatically . Don't confuse the two . You may simply create the file as mentioned in previous posts and this error will go away .

    Saurabh