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.

AM335x + Kernel 4.4 + wilink8 + ti-processor-sdk-linux-am335x-evm-03.00.00.04/ -> wifi not emitting signal for tx/rx?

Other Parts Discussed in Thread: WL1837, WL1835

Hi Guys,


                 We are using AM335x custom board + wilink8 chipset with latest SDK ti-processor-sdk-linux-am335x-evm-03.00.00.04/ from ti website, i was able to load all module even added new conf file with firmware checked, we intend to use 2.4Ghz, we ran ap_start.sh, it enabled SSID sitaraAP(default), but we got nat table error,

>>"  iptables v1.6.0: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
>>   Perhaps iptables or your kernel needs to be upgraded."

as it is latest kernel, by default wl18xx module is inbuilt, so we don't need to load any module but still i checked lsmod all wifi related modules were present, except wlcore_sdio, when i did modprobe  i got error saying modules is already present.


i checked cat /proc/interrupts i got wl18xx irq. i have checked all 4 datalines, clk, cmd, en & irq lines everything is present passing required voltage,clock signal, connected 26MHz. checked that too on board working properly.

well even checked driver_state, you can see

cat /sys/kernel/debug/ieee80211/phy0/wlcore/driver_state
channel = 3 (AP)
tx_blocks_available = 44
tx_allocated_blocks = 0
tx_allocated_pkts[0] = 0
tx_allocated_pkts[1] = 0
tx_allocated_pkts[2] = 0
tx_allocated_pkts[3] = 0
tx_frames_cnt = 0
tx_frames_map[0] = 0x0
tx_queue_count[0] = 0
tx_queue_count[1] = 0
tx_queue_count[2] = 0
tx_queue_count[3] = 0
tx_packets_count = 0
tx_results_count = 0
flags = 0x19
tx_blocks_freed = 0
rx_counter = 0
state = 2
band = 0
power_level = 0
sg_enabled = 1
enable_11a = 1
noise = 0
ap_fw_ps_map = 0x0
ap_ps_map = 0x0
quirks = 0xe8c
irq = 0x31
hw_pg_ver = 0x2
irq_flags = 0x2004
chip.id = 0x6030111
chip.fw_ver_str = Rev 8.9.0.0.48
chip.phy_fw_ver_str = Rev 8.2.0.0.232
recovery_count = 0

even after doing all these i'm not getting any signal, checked with wifi analyser tool to see signal strength nothing came into picture.

tried as station but no success, same issue nothing came.

when passed # iw wlan0 scan

>>>>>>>>>>>>>>>>>>>Nothing came on screen

# iw event -t -f &

# iw wlan0 scan

//got message scanning and some 2.4GHz frequency other that nothing, no ssid

Does anybody has any idea or if required more information please do free to contact.

regards,

Ganesh

  • Can you try deleting /lib/firmware/ti-connectivity/wl18xx-conf.bin? 

    When I did that I started getting scan results. The default settings in the driver will work for you

    If this does work for you you can create a new one. The two things to watch when running wlconf are:

    1) In SDK file system wlconf directory is wrongly installed in /usr/bin rather than /usr/sbin

    2) If you are using wl1837 make sure you only select 1 5GHz antennae as the mainline driver does not support diversity - if you want diversity then you need to build R8.7 drivers out of tree. 

    In my build script I have following for SDK3.0

    # correct installation of wlconf in SDK 3.0
    sudo mv usr/bin/wlconf usr/sbin/

    # use default wlconf configuration in driver with 2 2.4GHz and 1 5GHz antennae
    # works on both wl1835 and wl1837 boards as mainline kernel does not support diversity
    sudo rm lib/firmware/ti-connectivity/wl18xx-conf.bin

  • Hi Ian,

    we also facing same issue .we are using ti-processor-sdk-3.00.00.04 .In that SDK  kernel version is 4.4.12 ,we used ti wifi chipset WG7833-BG0(1833). In kernel dts file for compatible string i gave wl1835 since 1833 doesnt seem to be supported.

    &mmc2 {
            vmmc-supply = <&wlan_en_reg>;
            bus-width = <4>;
            pinctrl-names = "default";
            pinctrl-0 = <&mmc2_pins &wlan_pins>;
            non-removable;
            needs-special-hs-handling;
            cap-power-off-card;
            enable-sdio-wakeup;
            status = "okay";
            #address-cells = <1>;
            #size-cells = <0>;
            wlcore: wlcore@2 {
                    compatible = "ti,wl1835";
                    reg = <2>;
                    interrupt-parent = <&gpio0>; /*WLAN_IRQ GPIO0_22*/
                    interrupts = <22 IRQ_TYPE_EDGE_RISING>;
                    ref-clock-frequency = <26000000>;
            };
    };

    As you specified, I removed wl18xx-conf.bin from /lib/firmware/ti-connectivity/ .we got below dmesg logs.I think its taking default config file.

    root@am335x-evm:~# dmesg | grep wl
    [    0.299308] wlan-en-regulator: 1800 mV
    [    0.299358] reg-fixed-voltage fixedregulator@2: wlan-en-regulator supplying 1800000uV
    [   14.523865] wl18xx_driver wl18xx.0.auto: Direct firmware load for ti-connectivity/wl1271-nvs.bin failed with error -2
    [   14.572168] wl18xx_driver wl18xx.0.auto: Direct firmware load for ti-connectivity/wl18xx-conf.bin failed with error -2
    [   14.613074] wlcore: ERROR could not get configuration binary ti-connectivity/wl18xx-conf.bin: -2
    [   14.625920] wlcore: WARNING falling back to default config
    [   14.927005] wlcore: wl18xx HW: 183x or 180x, PG 2.2 (ROM 0x11)
    [   15.022866] wlcore: loaded
    [   17.186408] wlcore: PHY firmware version: Rev 8.2.0.0.232
    [   17.369857] wlcore: firmware booted (Rev 8.9.0.0.48)
    [   17.468998] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready


    we ran ap_start.sh from /usr/share/wl18xx, we got interface and it was enabled. we got signal but the signal was not stationary. and we tried iw wlan0 scan before running ap_start.sh but no output or ssid to connect.

    we also used .ini file to create conf file but even that was of no help. nothing came.

    any help will be usefull.

    thanks & regards,

    veeranjaneyulu

  • closing old thread. pls repost on new thread if issue still persists.