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.

How to wl18xx build and load module at startup (for am437x) ?

Hi,

I have a custom AM437x board and ti-sdk-am437x-evm from which I want to build and load wifi and bluetooth modules into my kernel.
(I am using WL18xx for wifi)
Now I see that the wifi drivers for wl18xx are already present (in: ~/ti-sdk-am437x-evm-07.01.00.00/board-support/linux-3.12.10-ti2013.12.01/drivers/net/wireless/ti/ directory)
moreover, the module: wl18xx.ko is also present in wl18xx directory. However I observed that in the driver files, none of the symbols are exported.
Is there any other wl18xx drivers for am437x that are required to be used and not these that are in the ti directory?
The wl18xx.ko module is present in the targetNFS directory which I can also see when I login to my board. However, when I try to insmod wl18xx.ko, it shouts that all the symbols are unknown!

Secondly, what lines would need to be added into the Makefile present in the ~/ti-sdk-am437x-evm-07.01.00.00/ directory, if I were to specifically make and install wl18xx drivers by traversing inside to: "~/ti-sdk-am437x-evm-07.01.00.00/board-support/linux-3.12.10-ti2013.12.01/drivers/net/wireless/ti/wl18xx" and only then exeecuting the Makefile ?

currently my Makefile in the ~/ti-sdk-am437x-evm-07.01.00.00/ folder looks like this:

# Wireless build targets
wireless: wifi-firmware
wireless_install: wifi-firmware_install
wireless_clean: wifi-firmware_clean

wifi-firmware:
	@echo ================================
	@echo      Building wifi firmware
	@echo ================================
	@echo "Nothing to do"

wifi-firmware_install:
	@echo ==================================
	@echo      Installing wifi firmware
	@echo ==================================
	@cd board-support/extra-drivers; \
	cd `find . -maxdepth 1 -name "wl18xx-firmware*"`; \
	make DEST_DIR=${DESTDIR} install

wifi-firmware_clean:
	@echo ================================
	@echo      Cleaning wifi firmware
	@echo ================================
	@echo "Nothing to do"

As you can see, it builds and installs firmware for the wireless device, but doesn't do anything about the driver itself. What patch do i need to add so that the driver gets loaded and module gets up and running at boot up?      
Please let me know if you need any more details..

  • Hi Rohit,

    The wl18xx driver code from the kernel source tree are not the latest. You must use the compat build process to build the wl18xx drivers.
    Please see the build instructions at: processors.wiki.ti.com/.../WL18xx_System_Build_Scripts

    The latest release is R8.5

    The build script will generate the kos (cfg80211.ko, mac80211.ko, wlcore.ko, wl18xx.ko, wlcore_sdio.ko) which needs to be "insmod" during boot.

    Regards,
    Gigi Joseph.
  • Hi Joseph,

    Thanks for the update. It really helped speed things.

    So I installed wl18xx drivers as per the instructions given on that link. I got the updated modules viz: (cfg80211.ko, mac80211.ko, wlcore.ko, wl18xx.ko, wlcore_sdio.ko).
    First I manually pasted these ko files into the targetNFS directory in their respective folders. When I booted up my board, I could see the modules loaded (by doing lsmod). I could not interact with the device anyways as I had not updated the dts file for the uart3, sdio, enable etc pins.
    Later I updated the dts file as per this link: git.ti.com/.../2ca1d8b5a9106bafc27c663a618083e656df3049

    keeping everything else the same, I cross compiled for my custom board and now checked lsmod. However, now it does not show me the bluetooth and wifi drivers loaded! note that the only difference i had made was the dts file.
    The dmesg log shows that the addresses of pins going to wifi-BT module could not be registered.
    Am I missing a step or doing anything wrong ?

  • In addition to the aforementioned observations, I also noticed that when I make linux_install, the final step of depmod is referring to the directory: Linux 3.12.10-gdde5bc4-dirty/ and not the directory: Linux 3.12.10-ti2013.12.01. So:
    1. How/what changes do I make so that depmod refers to the ti directory (OR) how do I patch the drivers created i the wl8-build into the "Linux 3.12.10-gdde5bc4-dirty"?
    2. After I boot on my custom board, I see all the hardware getting initialized in dmesg, but none of the drivers in lsmod.
    When I go on to try insmod, all symbols encountered in any of the wl18xx/wlcore etc modules are reported as "Unknown Symbol"

    Please let me know what & where the problem is.. Its becoming a blocker this week.
  • Hi,
    So I could get the modules loaded (and can see them in lsmod). But I basically changed the $(DEST_DIR) during make linux_install to point to wl8-build. This will in effect not load the crypto.ko module.
    Now, i cannot interact with the wireless module and also cannot see anything in iwconfig output.
    the interfaces file in /etc/network is already modified with driver name, essid and key.
    Also, the wpa-supplicant is modified as needed.

    Hope this helps zoom in on the issue..
  • Hi Rohit,

    This would typically mean that the WLAN_EN is not going high. Can you please verify it using a scope?
    The board file (dts) changes that are required are explained in: processors.wiki.ti.com/.../WL18xx_Platform_Integration_Guide

    I would suggest that you take a look at that as well.

    Also, please share the complete boot logs...
    Are you seeing something like: "new SDIO card at address ...." ?

    Regards,
    Gigi Joseph.
  • Hi Joseph,

    1. I cannot observe the voltage on that pin because the WLAN_EN on wifi-bt module is directly connected to a gpio pin on MPU & the track goes underneath the module. (The pin is configured as output pullup on our custom board)
    2. I did read the wiki page and followed the steps given in there. The one thing I'm not exactly sure about is the pin addresses that are written I the dts file just before configuring that pin as input/output or pullup etc..
    I used this utility: www.ti.com/.../PINMUXTOOL (PINMUXTOOL-V3: for AM437x) to genrate those addresses as per structure of our custom board.
    And I made the changes to dts file by referring to this link: git.ti.com/.../2ca1d8b5a9106bafc27c663a618083e656df3049
    3. Yes I do see this line in the boot log: [ 2.422101] mmc1: new high speed SDIO card at address 0001

    The entire bootlog is as follows:

    SPL: Direct Linux boot not active!
    reading u-boot.img
    reading u-boot.img


    U-Boot 2013.10-g58c18d5 (Feb 24 2015 - 16:01:45)

    I2C: ready
    DRAM: 1 GiB
    NAND: 0 MiB
    MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
    *** Error - No Valid Environment Area found
    *** Warning - bad CRC, using default environment

    Could not probe the EEPROM at 0x50
    Could not get board ID.
    Net: <ethaddr> not set. Validating first E-fuse MAC
    Could not get PHY for cpsw: addr 0
    cpsw
    Hit any key to stop autoboot: 3 2 1 0
    (Re)start USB...
    USB0: Register 2000440 NbrPorts 2
    Starting the controller
    USB XHCI 1.00
    scanning bus 0 for devices... 1 USB Device(s) found
    scanning usb for storage devices... 0 Storage Device(s) found

    USB device 0: unknown device
    mmc0 is current device
    Scanning mmc 0...
    4255488 bytes read in 228 ms (17.8 MiB/s)
    48175 bytes read in 9 ms (5.1 MiB/s)
    mmc0 is current device
    SD/MMC found on device 0
    reading uEnv.txt
    ** Unable to read file uEnv.txt **
    4255488 bytes read in 227 ms (17.9 MiB/s)
    48175 bytes read in 10 ms (4.6 MiB/s)
    Booting from mmc0 ...
    Kernel image @ 0x80200000 [ 0x000000 - 0x40ef00 ]
    ## Flattened Device Tree blob at 80f80000
    Booting using the fdt blob at 0x80f80000
    Loading Device Tree to 9fff1000, end 9ffffc2e ... OK
    Starting kernel ...

    [ 0.000000] Booting Linux on physical CPU 0x0
    [ 0.000000] Linux version 3.12.10-gdde5bc4-dirty (rohit@linuxpc) (gcc version 4.7.3 20130226 (prerelease) (crosstool-NG linaro-1.13.1-4.7-2013.03-20130313 - Linaro GCC 2013.03) ) #1 Tue Feb 24 11:01:26 PST 2015
    [ 0.000000] CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
    [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [ 0.000000] Machine: Generic AM43 (Flattened Device Tree), model: TI AM437x gp EVM
    [ 0.000000] cma: CMA: reserved 24 MiB at ae000000
    [ 0.000000] Memory policy: ECC disabled, Data cache writeback
    [ 0.000000] CPU: All CPU(s) started in SVC mode.
    [ 0.000000] AM437x ES1.0 (sgx neon )
    [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 259856
    [ 0.000000] Kernel command line: console=ttyO0,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait
    [ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
    [ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
    [ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
    [ 0.000000] Memory: 1002832K/1045504K available (5767K kernel code, 563K rwdata, 1928K rodata, 348K init, 225K bss, 42672K reserved, 267264K highmem)
    [ 0.000000] Virtual kernel memory layout:
    [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
    [ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
    [ 0.000000] vmalloc : 0xf0000000 - 0xff000000 ( 240 MB)
    [ 0.000000] lowmem : 0xc0000000 - 0xef800000 ( 760 MB)
    [ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
    [ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
    [ 0.000000] .text : 0xc0008000 - 0xc078c04c (7697 kB)
    [ 0.000000] .init : 0xc078d000 - 0xc07e4010 ( 349 kB)
    [ 0.000000] .data : 0xc07e6000 - 0xc0872f50 ( 564 kB)
    [ 0.000000] .bss : 0xc0872f50 - 0xc08ab700 ( 226 kB)
    [ 0.000000] NR_IRQS:16 nr_irqs:16 16
    [ 0.000000] GIC CPU mask not found - kernel will fail to boot.
    [ 0.000000] GIC CPU mask not found - kernel will fail to boot.
    [ 0.000000] OMAP clockevent source: timer2 at 19200000 Hz
    [ 0.000000] sched_clock: 32 bits at 19MHz, resolution 52ns, wraps every 223696ms
    [ 0.000000] OMAP clocksource: timer1 at 19200000 Hz
    [ 0.000000] Console: colour dummy device 80x30
    [ 0.000490] Calibrating delay loop... 479.23 BogoMIPS (lpj=2396160)
    [ 0.119496] pid_max: default: 32768 minimum: 301
    [ 0.119662] Security Framework initialized
    [ 0.119750] Mount-cache hash table entries: 512
    [ 0.131520] CPU: Testing write buffer coherency: ok
    [ 0.132079] Setting up static identity map for 0xc05a77e8 - 0xc05a7858
    [ 0.132248] L310 cache controller enabled
    [ 0.132279] l2x0: 16 ways, CACHE_ID 0x410000c9, AUX_CTRL 0x7e030000, Cache size: 256 kB
    [ 0.133293] devtmpfs: initialized
    [ 0.137543] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
    [ 0.208266] omap_hwmod: dss_dispc: cannot be enabled for reset (3)
    [ 0.211856] omap_hwmod: dss_rfbi: cannot be enabled for reset (3)
    [ 0.212694] pinctrl core: initialized pinctrl subsystem
    [ 0.213814] regulator-dummy: no parameters
    [ 0.216637] NET: Registered protocol family 16
    [ 0.220009] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [ 0.223542] cpuidle: using governor ladder
    [ 0.223559] cpuidle: using governor menu
    [ 0.240435] L3 debug error: target 13 clkdm 1 (unclearable)
    [ 0.240490] L3 application error: target 13 clkdm 1 (unclearable)
    [ 0.240809] platform 49000000.edma: FIXME: clock-name 'fck' DOES NOT exist in dt!
    [ 0.242947] platform 44e3e000.rtc: Cannot lookup hwmod 'rtc'
    [ 0.245039] OMAP GPIO hardware version 0.1
    [ 0.259204] platform 56000000.sgx: FIXME: clock-name 'fck' DOES NOT exist in dt!
    [ 0.261889] platform ocp2scp.0: FIXME: clock-name 'fck' DOES NOT exist in dt!
    [ 0.262293] platform ocp2scp.1: FIXME: clock-name 'fck' DOES NOT exist in dt!
    [ 0.262739] platform 48380000.omap_dwc3_1: FIXME: clock-name 'fck' DOES NOT exist in dt!
    [ 0.263172] platform 483c0000.omap_dwc3_2: FIXME: clock-name 'fck' DOES NOT exist in dt!
    [ 0.263571] platform 4832a000.dss: FIXME: clock-name 'fck' DOES NOT exist in dt!
    [ 0.264009] platform 4832a400.dispc: FIXME: clock-name 'fck' DOES NOT exist in dt!
    [ 0.264729] platform 4832a800.rfbi: FIXME: clock-name 'fck' DOES NOT exist in dt!
    [ 0.270449] No ATAGs?
    [ 0.270483] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
    [ 0.270498] hw-breakpoint: maximum watchpoint size is 4 bytes.
    [ 0.305385] bio: create slab <bio-0> at 0
    [ 0.326882] edma-dma-engine edma-dma-engine.0: TI EDMA DMA engine driver
    [ 0.328250] vmmcsd_fixed: 3300 mV
    [ 0.328920] vmmcwl_fixed: 1800 mV
    [ 0.329499] evm_v3p3: 3300 mV
    [ 0.335023] vgaarb: loaded
    [ 0.336713] SCSI subsystem initialized
    [ 0.338624] usbcore: registered new interface driver usbfs
    [ 0.338887] usbcore: registered new interface driver hub
    [ 0.339175] usbcore: registered new device driver usb
    [ 0.340706] omap_i2c 44e0b000.i2c: could not find pctldev for node /pinmux@44e10800/pinmux_i2c0_pins, deferring probe
    [ 0.340745] platform 44e0b000.i2c: Driver omap_i2c requests probe deferral
    [ 0.340783] omap_i2c 4802a000.i2c: could not find pctldev for node /pinmux@44e10800/i2c1_pins, deferring probe
    [ 0.340805] platform 4802a000.i2c: Driver omap_i2c requests probe deferral
    [ 0.340837] omap_i2c 4819c000.i2c: could not find pctldev for node /pinmux@44e10800/i2c2_pins, deferring probe
    [ 0.340857] platform 4819c000.i2c: Driver omap_i2c requests probe deferral
    [ 0.341239] media: Linux media interface: v0.10
    [ 0.341501] Linux video capture interface: v2.00
    [ 0.341899] pps_core: LinuxPPS API ver. 1 registered
    [ 0.341914] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [ 0.342101] PTP clock support registered
    [ 0.345651] Switched to clocksource timer1
    [ 0.372260] NET: Registered protocol family 2
    [ 0.373044] TCP established hash table entries: 8192 (order: 4, 65536 bytes)
    [ 0.373273] TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
    [ 0.373405] TCP: Hash tables configured (established 8192 bind 8192)
    [ 0.373578] TCP: reno registered
    [ 0.373599] UDP hash table entries: 512 (order: 1, 8192 bytes)
    [ 0.373640] UDP-Lite hash table entries: 512 (order: 1, 8192 bytes)
    [ 0.373947] NET: Registered protocol family 1
    [ 0.374434] RPC: Registered named UNIX socket transport module.
    [ 0.374451] RPC: Registered udp transport module.
    [ 0.374461] RPC: Registered tcp transport module.
    [ 0.374470] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [ 0.375771] NetWinder Floating Point Emulator V0.97 (double precision)
    [ 0.376798] PM: Loading am335x-pm-firmware.binbounce pool size: 64 pages
    [ 0.571909] VFS: Disk quotas dquot_6.5.2
    [ 0.571990] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
    [ 0.572718] NFS: Registering the id_resolver key type
    [ 0.572801] Key type id_resolver registered
    [ 0.572814] Key type id_legacy registered
    [ 0.572877] jffs2: version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc.
    [ 0.573104] msgmni has been set to 1484
    [ 0.575295] NET: Registered protocol family 38
    [ 0.575349] io scheduler noop registered
    [ 0.575361] io scheduler deadline registered
    [ 0.575396] io scheduler cfq registered (default)
    [ 0.576467] omap-ocp2scp ocp2scp.0: invalid resource
    [ 0.576511] omap-ocp2scp: probe of ocp2scp.0 failed with error -22
    [ 0.577125] omap-ocp2scp ocp2scp.1: invalid resource
    [ 0.577160] omap-ocp2scp: probe of ocp2scp.1 failed with error -22
    [ 0.581333] pinctrl-single 44e10800.pinmux: mux offset out of range: 0xa4c (0x31c)
    [ 0.581361] pinctrl-single 44e10800.pinmux: could not add functions for pinmux_wlan_pins_default 2636x
    [ 0.581415] pinctrl-single 44e10800.pinmux: mux offset out of range: 0xa4c (0x31c)
    [ 0.581433] pinctrl-single 44e10800.pinmux: could not add functions for pinmux_wlan_pins_sleep 2636x
    [ 0.581609] pinctrl-single 44e10800.pinmux: 199 pins at pa f9e10800 size 796
    [ 0.591245] OMAP DSS rev 2.0
    [ 0.615504] Console: switching to colour frame buffer device 100x30
    [ 0.631007] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
    [ 0.634456] omap_uart 44e09000.serial: No clock speed specified: using default:48000000
    [ 0.634809] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 104, base_baud = 3000000) is a OMAP UART0
    [ 1.650043] console [ttyO0] enabled
    [ 1.655455] omap_uart 481a6000.serial: No clock speed specified: using default:48000000
    [ 1.666462] 481a6000.serial: ttyO3 at MMIO 0x481a6000 (irq = 76, base_baud = 3000000) is a OMAP UART3
    [ 1.680817] omap_rng 48310000.rng: OMAP Random Number Generator ver. 20
    [ 1.703560] brd: module loaded
    [ 1.715002] loop: module loaded
    [ 1.719684] (stk) :sysfs entries created
    [ 1.724929] (stk) : debugfs entries created
    [ 1.736680] mtdoops: mtd device (mtddev=name/number) must be supplied
    [ 1.751422] usbcore: registered new interface driver asix
    [ 1.758956] usbcore: registered new interface driver ax88179_178a
    [ 1.767337] usbcore: registered new interface driver cdc_ether
    [ 1.775331] usbcore: registered new interface driver r815x
    [ 1.782859] usbcore: registered new interface driver smsc95xx
    [ 1.790735] usbcore: registered new interface driver net1080
    [ 1.798500] usbcore: registered new interface driver cdc_subset
    [ 1.806606] usbcore: registered new interface driver zaurus
    [ 1.814315] usbcore: registered new interface driver cdc_ncm
    [ 1.822530] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
    [ 1.831230] ehci-pci: EHCI PCI platform driver
    [ 1.837432] ehci-omap: OMAP-EHCI Host Controller driver
    [ 1.845853] usbcore: registered new interface driver cdc_wdm
    [ 1.853686] usbcore: registered new interface driver usb-storage
    [ 1.863325] mousedev: PS/2 mouse device common for all mice
    [ 1.874742] omap_rtc 44e3e000.rtc: rtc core: registered 44e3e000.rtc as rtc0
    [ 1.885617] i2c /dev entries driver
    [ 1.891517] vpfe-capture 48326000.vpfe: v4l2 device registered
    [ 1.899383] vpfe-capture 48326000.vpfe: Asynchronous subdevice registration
    [ 1.908714] vpfe-capture 48326000.vpfe: AM437x ISIF is registered with vpfe.
    [ 1.918809] vpfe-capture 48328000.vpfe: v4l2 device registered
    [ 1.926684] vpfe-capture 48328000.vpfe: Asynchronous subdevice registration
    [ 1.936001] vpfe-capture 48328000.vpfe: AM437x ISIF is registered with vpfe.
    [ 1.945696] Driver for 1-wire Dallas network protocol.
    [ 1.956269] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
    [ 1.968349] edma-dma-engine edma-dma-engine.0: allocated channel for 0:25
    [ 1.977571] edma-dma-engine edma-dma-engine.0: allocated channel for 0:24
    [ 2.026268] edma-dma-engine edma-dma-engine.0: allocated channel for 0:33
    [ 2.035298] edma-dma-engine edma-dma-engine.0: allocated channel for 0:32
    [ 2.146573] pinctrl-single 44e10800.pinmux: mux offset out of range: 0x9a4 (0x31c)
    [ 2.156702] pinctrl-single 44e10800.pinmux: could not add functions for leds_pins 2468x
    [ 2.169099] ledtrig-cpu: registered to indicate activity on CPUs
    [ 2.178865] edma-dma-engine edma-dma-engine.0: allocated channel for 0:36
    [ 2.188057] omap-sham 53100000.sham: hw accel on OMAP rev 0.0
    [ 2.198205] omap-aes 53501000.aes: OMAP AES hw accel rev: 0.1
    [ 2.206053] edma-dma-engine edma-dma-engine.0: allocated channel for 0:5
    [ 2.215040] edma-dma-engine edma-dma-engine.0: allocated channel for 0:6
    [ 2.225309] omap-des 53701000.des: OMAP DES hw accel rev: 0.33
    [ 2.233356] omap-des 53701000.des: Unable to request in DMA channel
    [ 2.241729] omap_des_dma_init: error: -12
    [ 2.247075] mmc0: host does not support reading read-only switch. assuming write-enable.
    [ 2.259657] usbcore: registered new interface driver usbhid
    [ 2.267109] usbhid: USB HID core driver
    [ 2.276606] oprofile: no performance counters
    [ 2.282560] mmc0: new high speed SDHC card at address aaaa
    [ 2.291196] oprofile: using timer interrupt.
    [ 2.296992] mmcblk0: mmc0:aaaa SS08G 7.40 GiB
    [ 2.303677] TCP: cubic registered
    [ 2.308125] Initializing XFRM netlink socket
    [ 2.314506] NET: Registered protocol family 17
    [ 2.320635] mmcblk0: p1 p2
    [ 2.324554] NET: Registered protocol family 15
    [ 2.332161] Bridge firewalling registered
    [ 2.337693] RPC: Registered rdma transport module.
    [ 2.345236] 8021q: 802.1Q VLAN Support v1.8
    [ 2.352938] Key type dns_resolver registered
    [ 2.359195] mmc1: card claims to support voltages below the defined range. These will be ignored.
    [ 2.371392] cpu cpu0: cpu0 regulator not ready, retry
    [ 2.378278] platform cpufreq-cpu0.0: Driver cpufreq-cpu0 requests probe deferral
    [ 2.389007] ThumbEE CPU extension supported.
    [ 2.404532] vdd_core: 920 <--> 1140 mV at 1100 mV
    [ 2.413856] mmc1: queuing unknown CIS tuple 0x91 (3 bytes)
    [ 2.422139] mmc1: new high speed SDIO card at address 0001
    [ 2.429530] vdd_mpu: 920 <--> 1375 mV at 1100 mV
    [ 2.439991] DCDC3: at 1500 mV
    [ 2.448344] LDO1: 1800 mV
    [ 2.453254] omap_i2c 44e0b000.i2c: bus 0 rev0.12 at 100 kHz
    [ 2.464749] omap_i2c 4802a000.i2c: bus 1 rev0.12 at 100 kHz
    [ 2.472648] pinctrl-single 44e10800.pinmux: pin 44e10a38.0 already requested by encoder.2; cannot claim for 4819c000.i2c
    [ 2.487134] pinctrl-single 44e10800.pinmux: pin-142 (4819c000.i2c) status -22
    [ 2.496621] pinctrl-single 44e10800.pinmux: could not request pin 142 (44e10a38.0) from group i2c2_pins on device pinctrl-single
    [ 2.512087] omap_i2c 4819c000.i2c: Error applying setting, reverse things back
    [ 2.523551] omap_i2c 4819c000.i2c: bus 2 rev0.12 at 100 kHz
    [ 2.532150] cpufreq_cpu0: Bootloader freq 480000000Hz no match to table, Using 300000000Hz
    [ 2.615705] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
    [ 2.623785] davinci_mdio 4a101000.mdio: no live phy, scanning all
    [ 2.632286] davinci_mdio: probe of 4a101000.mdio failed with error -5
    [ 2.641801] Detected MACID = 34:b1:f7:36:1b:13
    [ 2.669626] omap_rtc 44e3e000.rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
    [ 2.706262] EXT4-fs (mmcblk0p2): recovery complete
    [ 2.712629] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
    [ 2.723462] VFS: Mounted root (ext4 filesystem) on device 179:2.
    [ 2.735067] devtmpfs: mounted
    [ 2.739775] Freeing unused kernel memory: 348K (c078d000 - c07e4000)
    INIT: version 2.88 booting
    Starting udev
    [ 3.498220] udevd[880]: starting version 182
    [ 4.444128] PM: CM3 Firmware Version = 0x186
    [ 4.743221] pixcir_ts 1-005c: pixcir_set_power_mode: can't read reg 0x33 : -121
    [ 4.752991] pixcir_ts 1-005c: Failed to set IDLE mode
    [ 4.798358] Loading modules backported from Linux version R8.5-0-gcb51164
    [ 4.807413] Backport generated by backports.git R8.4-0-g0d46f43
    [ 4.885918] pixcir_ts: probe of 1-005c failed with error -121
    [ 6.757605] davinci_evm sound.11: tlv320aic3x-hifi <-> 4803c000.mcasp mapping ok
    [ 7.512261] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
    [ 8.086329] cfg80211: Calling CRDA to update world regulatory domain
    [ 8.097067] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
    [ 8.104879] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 1
    [ 8.115949] xhci-hcd xhci-hcd.1.auto: irq 206, io mem 0x483d0000
    [ 8.124068] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
    [ 8.133079] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [ 8.142647] usb usb1: Product: xHCI Host Controller
    [ 8.149107] usb usb1: Manufacturer: Linux 3.12.10-gdde5bc4-dirty xhci-hcd
    [ 8.158095] usb usb1: SerialNumber: xhci-hcd.1.auto
    [ 8.165848] hub 1-0:1.0: USB hub found
    [ 8.170858] hub 1-0:1.0: 1 port detected
    [ 8.176414] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
    [ 8.184156] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 2
    [ 8.194532] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003
    [ 8.203539] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [ 8.213104] usb usb2: Product: xHCI Host Controller
    [ 8.219565] usb usb2: Manufacturer: Linux 3.12.10-gdde5bc4-dirty xhci-hcd
    [ 8.228555] usb usb2: SerialNumber: xhci-hcd.1.auto
    [ 8.236140] hub 2-0:1.0: USB hub found
    [ 8.241149] hub 2-0:1.0: 1 port detected
    [ 8.293591] wlcore: ERROR configuration binary file size is wrong, expected 1226 got 1221
    [ 8.431098] cfg80211: World regulatory domain updated:
    [ 8.437992] cfg80211: DFS Master region: unset
    [ 8.443754] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
    [ 8.456664] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm), (N/A)
    [ 8.467734] cfg80211: (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm), (N/A)
    [ 8.478807] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm), (N/A)
    [ 8.489865] cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm), (N/A)
    [ 8.500922] cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm), (N/A)
    Starting Bootlog daemon: bootlogd: cannot allocate pseudo tty: No such file or directory
    bootlogd.
    [ 8.806994] EXT4-fs (mmcblk0p2): re-mounted. Opts: data=ordered
    ALSA: Restoring mixer settings...
    Configuring network interfaces... Successfully initialized wpa_supplicant
    wlan0: Unsupported driver 'wlcore'
    ifconfig: SIOCGIFFLAGS: No such device
    [ 9.916626] ------------[ cut here ]------------
    [ 9.922849] WARNING: CPU: 0 PID: 1334 at drivers/bus/omap_l3_noc.c:137 l3_interrupt_handler+0x198/0x28c()
    [ 9.935613] L3 custom error: MASTER:UN IDENTIFIED TARGET:L4_FAST
    [ 9.943618] Modules linked in: wl18xx(O) wlcore(O) mac80211(O) cfg80211(O) dwc3 snd_soc_evm snd_soc_omap snd_pcm_dmaengine snd_soc_davinci_mcasp snd_soc_davinci snd_soc_tlv320aic3x snd_soc_core wlcore_sdio(O) ti_am335x_adc compat(O) industrialio regmap_spi pixcir_i2c_ts snd_pcm snd_timer dwc3_omap snd_page_alloc snd_compress snd soundcore
    [ 9.983767] CPU: 0 PID: 1334 Comm: ifconfig Tainted: G O 3.12.10-gdde5bc4-dirty #1
    [ 9.995020] Backtrace:
    [ 9.998300] [<c0017880>] (dump_backtrace+0x0/0x10c) from [<c0017a1c>] (show_stack+0x18/0x1c)
    [ 10.009550] r6:c0283a6c r5:00000009 r4:ed655be0 r3:00000000
    [ 10.017130] [<c0017a04>] (show_stack+0x0/0x1c) from [<c059fdbc>] (dump_stack+0x20/0x28)
    [ 10.027823] [<c059fd9c>] (dump_stack+0x0/0x28) from [<c0046d04>] (warn_slowpath_common+0x70/0x90)
    [ 10.039689] [<c0046c94>] (warn_slowpath_common+0x0/0x90) from [<c0046dc8>] (warn_slowpath_fmt+0x38/0x40)
    [ 10.052337] r8:c0898db0 r7:00000002 r6:f0800a00 r5:0000000c r4:80080003
    [ 10.061346] [<c0046d90>] (warn_slowpath_fmt+0x0/0x40) from [<c0283a6c>] (l3_interrupt_handler+0x198/0x28c)
    [ 10.074222] r3:c0706fb4 r2:c0707048
    [ 10.079013] [<c02838d4>] (l3_interrupt_handler+0x0/0x28c) from [<c0071628>] (handle_irq_event_percpu+0x54/0x1b8)
    [ 10.092587] [<c00715d4>] (handle_irq_event_percpu+0x0/0x1b8) from [<c00717bc>] (handle_irq_event+0x30/0x40)
    [ 10.105562] [<c007178c>] (handle_irq_event+0x0/0x40) from [<c0074054>] (handle_fasteoi_irq+0x74/0x128)
    [ 10.117973] r4:ed0056c0 r3:00000000
    [ 10.122753] [<c0073fe0>] (handle_fasteoi_irq+0x0/0x128) from [<c0070f30>] (generic_handle_irq+0x28/0x38)
    [ 10.135409] r4:0000002a r3:c0073fe0
    [ 10.140203] [<c0070f08>] (generic_handle_irq+0x0/0x38) from [<c0015560>] (handle_IRQ+0x38/0x8c)
    [ 10.151801] r4:c0843664 r3:000001c0
    [ 10.156591] [<c0015528>] (handle_IRQ+0x0/0x8c) from [<c00087e0>] (gic_handle_irq+0x30/0x5c)
    [ 10.167753] r6:ed655cf8 r5:c07ee480 r4:fa24010c r3:00000100
    [ 10.175331] [<c00087b0>] (gic_handle_irq+0x0/0x5c) from [<c05a3b40>] (__irq_svc+0x40/0x54)
    [ 10.186355] Exception stack(0xed655cf8 to 0xed655d40)
    [ 10.193088] 5ce0: ed374600 00000000
    [ 10.203995] 5d00: 000000ff 00000000 ed301000 c05eadbc 00000000 60000013 00008914 ed654000
    [ 10.214919] 5d20: 00000001 ed655d5c ed655d60 ed655d40 c03cac40 c03c9b54 80000013 ffffffff
    [ 10.225821] r7:ed655d2c r6:ffffffff r5:80000013 r4:c03c9b54
    [ 10.233413] [<c03c9ae0>] (cpdma_ctlr_int_ctrl+0x0/0x7c) from [<c03cac40>] (cpsw_intr_disable+0x28/0x2c)
    [ 10.245939] r7:00001002 r6:ed301440 r5:c05eadbc r4:ed301000
    [ 10.253516] [<c03cac18>] (cpsw_intr_disable+0x0/0x2c) from [<c03cd290>] (cpsw_ndo_open+0x3d0/0x63c)
    [ 10.265625] [<c03ccec0>] (cpsw_ndo_open+0x0/0x63c) from [<c04debe4>] (__dev_open+0xb0/0x114)
    [ 10.276888] [<c04deb34>] (__dev_open+0x0/0x114) from [<c04dee3c>] (__dev_change_flags+0x90/0x140)
    [ 10.288723] r5:00001043 r4:ed301000
    [ 10.293504] [<c04dedac>] (__dev_change_flags+0x0/0x140) from [<c04def7c>] (dev_change_flags+0x18/0x50)
    [ 10.305911] r7:00000000 r6:00000000 r5:00001002 r4:ed301000
    [ 10.313488] [<c04def64>] (dev_change_flags+0x0/0x50) from [<c052febc>] (devinet_ioctl+0x620/0x6d8)
    [ 10.325429] r6:00000000 r5:ed2f578c r4:00000000 r3:00008914
    [ 10.333000] [<c052f89c>] (devinet_ioctl+0x0/0x6d8) from [<c0530e6c>] (inet_ioctl+0x1b4/0x1c8)
    [ 10.344338] [<c0530cb8>] (inet_ioctl+0x0/0x1c8) from [<c04c9d70>] (sock_ioctl+0x64/0x294)
    [ 10.355250] [<c04c9d0c>] (sock_ioctl+0x0/0x294) from [<c00e0edc>] (do_vfs_ioctl+0x84/0x578)
    [ 10.366384] r6:00008914 r5:00000003 r4:00005452 r3:c04c9d0c
    [ 10.373961] [<c00e0e58>] (do_vfs_ioctl+0x0/0x578) from [<c00e1444>] (SyS_ioctl+0x74/0x84)
    [ 10.384873] [<c00e13d0>] (SyS_ioctl+0x0/0x84) from [<c0014660>] (ret_fast_syscall+0x0/0x30)
    [ 10.395984] ---[ end trace 493002a805da472a ]---
    [ 10.422371] net eth0: initializing cpsw version 1.15 (0)
    [ 10.430873] libphy: PHY 4a101000.mdio:00 not found
    [ 10.437281] net eth0: phy 4a101000.mdio:00 not found on slave 0
    [ 10.453402] 8021q: adding VLAN 0 to HW filter on device eth0
    udhcpc (v1.20.2) started
    Sending discover...
    Sending discover...
    Sending discover...
    No lease, failing
    ifconfig: SIOCGIFFLAGS: No such device
    done.
    Mon Jun 9 20:19:00 UTC 2014
    INIT: Entering runlevel: 5
    Starting system message bus: dbus.
    UIM SYSFS Node Found at /sys/./devices/kim.7/install
    Starting uim-sysfs daemon.
    uim:@ main
    uim:install = /sys/./devices/kim.7/install
    uim:dev_name = /sys/./devices/kim.7/dev_name
    uim:baud_rate = /sys/./devices/kim.7/baud_rate
    uim:flow_cntrl = /sys/./devices/kim.7/flow_cntrl
    uim:begin polling...
    Starting Dropbear SSH server: dropbear.
    Starting telnet daemon.
    Starting syslogd/klogd: done
    Starting thttpd.
    Starting PVR
    Error: missing filename.
    Could not find pvrsrvkm driver
    Starting Lighttpd Web Server: lighttpd.
    2014-06-09 20:19:00: (log.c.166) server started
    /
    Starting Matrix GUI application.
    ***************************************************************
    ***************************************************************
    NOTICE: This file system contains the followin GPLv3 packages:
    binutils-symlinks
    binutils
    gdbserver

    If you do not wish to distribute GPLv3 components please remove
    the above packages prior to distribution. This can be done using
    the opkg remove command. i.e.:
    opkg remove <package>
    Where <package> is the name printed in the list above

    NOTE: If the package is a dependency of another package you
    will be notified of the dependent packages. You should
    use the --force-removal-of-dependent-packages option to
    also remove the dependent packages as well
    ***************************************************************
    ***************************************************************
    Stopping Bootlog daemon: bootlogd.




    am437x-evm login:

  • Hi Rohit,

    Thanks for the logs.
    Can you please make the below changes and see if it helps?

    1. Remove "/lib/firmware/ti-connectivity/wl18xx-conf.bin" from your filesystem and try again

    2. Confirm the wpa_supplicant parameters. It should be: "wpa_supplicant -d -Dnl80211 -c/etc/wpa_supplicant.conf -iwlan0 -B". Please confirm that you are using "-Dnl80211". The log: "wlan0: Unsupported driver 'wlcore'" suggests otherwise.

    Regards,
    Gigi Joseph.
  • HI Joseph,

    1. So I did as you said and after deleting the wl18xx-conf.bin firmware, the wireless module does show up in iwconfig and I can also execute ifconfig wlan0 up!
    2. I checked the wpa_supplicant settings and they are exactly as you mentioned: with the -Dnl80211. I think the term in bootlog that says "wlan0: Unsupported driver 'wlcore' " is because I inserted this in the /etc/network/interfaces file:
    # Wireless interfaces
    auto wlan0
    iface wlan0 inet dhcp
    wireless_mode managed
    wireless_essid any
    wpa-driver wlcore
    wpa-conf /etc/wpa_supplicant.conf
    Isn't wlcore the correct driver to be loaded? I also tried wl18xx as the wpa-driver and the log then said: " wlan0: Unsupported driver 'wl18xx' "

    3. Moreover, if I check netstat, it reports that wlan0 is not connected:
    root@am437x-evm:~# netstat
    Active Internet connections (w/o servers)
    Proto Recv-Q Send-Q Local Address Foreign Address State
    netstat: /proc/net/tcp6: No such file or directory
    netstat: /proc/net/udp6: No such file or directory
    netstat: /proc/net/raw6: No such file or directory
    Active UNIX domain sockets (w/o servers)
    Proto RefCnt Flags Type State I-Node Path
    unix 2 [ ] DGRAM 2996 /var/run/wpa_supplicant/wlan0
    unix 4 [ ] DGRAM 2762 /dev/log
    unix 3 [ ] DGRAM 1150
    unix 3 [ ] DGRAM 1149
    unix 3 [ ] STREAM CONNECTED 2705
    unix 3 [ ] STREAM CONNECTED 2704
    unix 2 [ ] DGRAM 2782
    unix 2 [ ] DGRAM 2770

    If I try to ping a network pc, the ping reports: Dest host unreachable.
    So basically I think all I need to do now is activate the module and connect to my wireless router.. Please let me know if you see an evident problem or a simple solution. Am I missing a step while configuring it?
  • Hi Rohit,

    Yes, it looks like you are all set...

    Please try the below commands for a quick sanity check:

    ifconfig wlan0 up
    iw wlan0 scan | grep SSID
    iw wlan0 connect <AP_SSID> (please select an AP without security)

    For the "unsupported driver" error, please try "nl80211" instead of wlcore/wl18xx.

    Regards,
    Gigi Joseph.
  • Hi Joseph,

    Great news!
    So it turns out all I needed to do was change driver to nl80211 instead of wlcore   ..and it worked !!
    I tested it out on my secured wifi connection and I can ping any website!!

    Thanks a lot for all your quick & efficient response, help and guidance !!

  • Hi Rohit,

    Thanks for the update... I will mark this thread as closed.

    Regards,
    Gigi Joseph.