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.

WiLink 8 could not get configuration binary ti-connectivity wl18xx-conf.bin

Other Parts Discussed in Thread: TMDXEVM3358

Hi everyone,

 

I'm using the TMDXEVM3358 (AM335x Evaluation Module) with a WiLink 8 daughter board.

 

Basically I’m rebuilding the PSP 04.06.00.08 using Buildroot. I have a proper working BSP so I followed this guide to setup the WiLink 8 daughter board (I applied the patches and I set the flag of the kernel config file):

 

http://processors.wiki.ti.com/index.php/Open_Source_Wireless_Connectivity_WiLink8_Build_scripts

 

I refer to this wiki for instructions on generating wl18xx-conf.bin file: http://processors.wiki.ti.com/index.php/Open_Source_Wireless_Connectivity_wlconf.

 

wlconf -o /root/wl18xx-conf.bin -I /usr/sbin/wlconf/official_inis/WL8_System_parameters_PG2_RDL_2_4_SP_SISO.ini

 

There are more than one wlconf, I used wlconf located under /usr/sbin/wlconf/

 

Is it correct?

 

I moved the file to

 

/etc/firmware/ti-connectivity/

/lib/firmware/ti-connectivity/

/usr/sbin/wlconf/

 

And other directory but when I load the wlcore_sdio.ko module the board hangs and after I get this error:

 

# modprobe updates/drivers/net/wireless/ti/wlcore/wlcore.ko

[  397.381469] Disabling lock debugging due to kernel taint

[  397.388702] Compat-wireless backport release: ol_r8.a5.01

[  397.394317] Backport based on wl18xx ol_r8.a4.05

[  397.399200] compat.git: wl18xx

[  397.443572] cfg80211: Calling CRDA to update world regulatory domain

#

#

# modprobe updates/drivers/net/wireless/ti/wl18xx/wl18xx.ko

[  404.932983] wlcore: wl18xx driver version: ol_r8.a4.05

#

#

# modprobe updates/drivers/net/wireless/ti/wlcore/wlcore_sdio.ko

[  472.166625] wlcore: ERROR could not get configuration binary ti-connectivity/wl18xx-conf.bin: -2

[  472.175781] wlcore: WARNING falling back to default config

[  533.129028] wlcore: loaded

[  533.131866] wlcore: driver version: ol_r8.a4.05

[  533.136657] wlcore: timestamp: Thu Nov  1 14:43:46 2012

#

 

Where should I put the file? I must load the module using a specific parameter?

 

I made some test with official ti FS November 21, 2012:

 

http://processors.wiki.ti.com/index.php/AM335x_WL8_release_download_page

 

I have also noticed that there’s no wl18xx-conf.bin file

 

Thanks!

 

Marco.

  • Hi Marco,

    First of all, you are correct that the wlconf application you should use is located in /usr/sbin/wlconf/
    The correct location of placing the wl18xx-conf.bin should be under /lib/firmware/ti-connectivity/

    It looks like your wl18xx-conf.bin is either not generated or not "properly" generated. Do you see this file under /lib/firmware/ti-connectivity/?
    And can you provide the commands you entered when generating the wl18xx-conf.bin? If the wiki page is correct, you should be able to successfully generate the file.

  • Thanks Victor!

    that's the commands:

    # mkdir -p /lib/firmware/ti-connectivity
    #
    # cd /usr/sbin/wlconf/
    #
    # ./wlconf -o /lib/firmware/ti-connectivity/wl18xx-conf.bin -I /usr/sbin/wlconf/official_inis/WL8_System_parameters_PG2_RDL_2_4_SP_SISO.ini
    #
    # ls -al /lib/firmware/ti-connectivity/
    total 12
    drwxr-xr-x    2 root     root          4096 Jan  1 00:10 .
    drwxr-xr-x    3 root     root          4096 Jan  1 00:08 ..
    -rw-r--r--    1 root     root          1213 Jan  1 00:10 wl18xx-conf.bin
    #

    Regards,

    Marco.

  • Hi Macro,

    Your actual firmware file (wl18xx-fw-mc.bin) is either missing or placed in an incorrect directory. Are you able to locate where your firmware file is?
    When you build the WL8 driver by executing the build script, you should already have the /lib/firmware/ti-connectivity directory created and wl18xx-fw-mc.bin firmware file inside. Please make sure it is there, or otherwise something is wrong during your building.
    As a reference, the following is my directory on AM335X:

    root@am335x-evm:/lib/firmware/ti-connectivity# ls
    Android.mk                   wl128x-fw-4-plt.bin
    LICENCE                      wl128x-fw-4-sr.bin
    wl1271-fw-multirole-plt.bin  wl128x-fw-multirole-plt.bin
    wl1271-fw-multirole-roc.bin  wl128x-fw-multirole-roc.bin
    wl1271-nvs.bin               wl18xx-conf.bin
    wl127x-fw-4-mr.bin           wl18xx-fw-mc.bin
    wl127x-fw-4-plt.bin          wl18xx-fw-pg1.1.bin
    wl127x-fw-4-sr.bin           wl18xx-fw.bin
    wl128x-fw-4-mr.bin

  • Hi Macro,

    I've got your image and tried it myself, and yes, I do see the problem you saw even though the file is there. I think there's some configuration error in your image.
    In addition, I experience a big delay when inserting the wlcore_sdio.ko

    Let me figure out what's wrong with your image, and get back to you asap.

  • hi,

    Make sure if udevd is running. Ans also cross check for proper udev rules.

    I would suggest cross verify with sdk filesystem and see if you have proper rules similar to 

    /etc/init.d/*

    and /etc/udev.

    try some thing as below and 

    insmod wlcore_sdio.ko &
    sleep 2
    cd /sys/devices/platform/davinci_mmc.0/mmc_host/mmc0/mmc0:0001/mmc0:0001:2/wl18xx/firmware/wl18xx
    echo 1 > loading
    cat /lib/firmware/ti-connectivity/wl18xx-conf.bin > data
    echo 0 > loading

    this may help change mmc* based on the mmc you are using.

    Thanks

    Vijay

  • Thanks Victor, Vijay

     

    I made some tests using the AM335x WiLink8 demo Software version Mar 18, 2013 R8.SP1 (A5.13)

    http://processors.wiki.ti.com/index.php/AM335x_WL8_release_download_page

     

    The Wi-Fi works but I noticed the same error during boot also using official TI PSP:

     

    Starting udev

    [    3.193511] Disabling lock debugging due to kernel taint

    [    3.199920] Compat-wireless backport release: R8.xx_Build-275

    [    3.205963] Backport based on wl18xx.git ol_r8.a5.13

    [    3.211151] compat.git: wl18xx.git

    [    5.285217] cfg80211: Calling CRDA to update world regulatory domain

    [    5.523284] wlcore: wl18xx driver version: ol_r8.a5.13

    [    5.739105] wlcore: ERROR could not get configuration binary ti-connectivity/wl18xx-conf.bin: -2

    [    5.748382] wlcore: WARNING falling back to default config

    [    6.136596] wlcore: wl18xx HW: RDL 2, 1857 MIMO, PG 2.1 (ROM 0)

    [    6.156982] wlcore: loaded

    [    6.159851] wlcore: driver version: ol_r8.a5.13

    [    6.164581] wlcore: timestamp: Mon Mar 18 16:51:48 2013

     

    Is it normal to fall back to default configuration?

     

    I think the problem is the device manager, I had many problem using udev-182 due to incompatibility with the toolchain. So I got back to udev-164 (the same of TI PSP) but I can’t load kernel modules (as said before).

    Now I tried to replace udev with mdev and it seem ok.

    Are there drawbacks on mdev?

     

    Best,

    Marco.

  • Attached complete boot log using AM335x WiLink8 demo Software version Mar 18, 2013 R8.SP1 (A5.13)

    http://processors.wiki.ti.com/index.php/AM335x_WL8_release_download_page

    Best,

    Marco.

    CCCCCCCC
    U-Boot SPL 2012.10 (Dec 16 2012 - 13:54:10)
    OMAP SD/MMC: 0
    reading u-boot.img
    reading u-boot.img
    
    
    U-Boot 2012.10 (Dec 16 2012 - 13:54:10)
    
    I2C:   ready
    DRAM:  512 MiB
    WARNING: Caches not enabled
    NAND:  256 MiB
    MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
    *** Warning - bad CRC, using default environment
    
    musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn)
    musb-hdrc: MHDRC RTL version 2.0
    musb-hdrc: setup fifo_mode 4
    musb-hdrc: 28/31 max ep, 16384/16384 memory
    USB Peripheral mode controller at 47401000 using PIO, IRQ 0
    musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn)
    musb-hdrc: MHDRC RTL version 2.0
    musb-hdrc: setup fifo_mode 4
    musb-hdrc: 28/31 max ep, 16384/16384 memory
    USB Host mode controller at 47401800 using PIO, IRQ 0
    Net:   cpsw, usb_ether
    Hit any key to stop autoboot:  0
    SD/MMC found on device 0
    reading uEnv.txt
    
    ** Unable to read "uEnv.txt" from mmc 0:1 **
    reading uImage
    
    3212288 bytes read
    Booting from mmc ...
    ## Booting kernel from Legacy Image at 80007fc0 ...
       Image Name:   Linux-3.2.0
       Image Type:   ARM Linux Kernel Image (uncompressed)
       Data Size:    3212224 Bytes = 3.1 MiB
       Load Address: 80008000
       Entry Point:  80008000
       Verifying Checksum ... OK
       XIP Kernel Image ... OK
    OK
    
    Starting kernel ...
    
    Uncompressing Linux... done, booting the kernel.
    [    0.000000] Linux version 3.2.0 (user@US-apps-srv) (gcc version 4.5.3 20110311 (prerelease) (GCC) ) #1 Thu Mar 14 13:46:00 PDT 2013
    [    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7d
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [    0.000000] Machine: am335xevm
    [    0.000000] Memory policy: ECC disabled, Data cache writeback
    [    0.000000] AM335X ES1.0 (sgx neon )
    [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 130048
    [    0.000000] Kernel command line: console=ttyO0,115200n8 root=/dev/mmcblk0p2 ro rootfstype=ext3 rootwait ip=none
    [    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
    [    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
    [    0.000000] Memory: 512MB = 512MB total
    [    0.000000] Memory: 513060k/513060k available, 11228k reserved, 0K highmem
    [    0.000000] Virtual kernel memory layout:
    [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    [    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    [    0.000000]     vmalloc : 0xe0800000 - 0xff000000   ( 488 MB)
    [    0.000000]     lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
    [    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
    [    0.000000]       .text : 0xc0008000 - 0xc05b4000   (5808 kB)
    [    0.000000]       .init : 0xc05b4000 - 0xc05f2000   ( 248 kB)
    [    0.000000]       .data : 0xc05f2000 - 0xc065b238   ( 421 kB)
    [    0.000000]        .bss : 0xc065b25c - 0xc0688148   ( 180 kB)
    [    0.000000] NR_IRQS:396
    [    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
    [    0.000000] Total of 128 interrupts on 1 active controller
    [    0.000000] OMAP clockevent source: GPTIMER2 at 24000000 Hz
    [    0.000000] OMAP clocksource: GPTIMER1 at 32768 Hz
    [    0.000000] sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps every 131071999ms
    [    0.000000] Console: colour dummy device 80x30
    [    0.000152] Calibrating delay loop... 718.02 BogoMIPS (lpj=3590144)
    [    0.058929] pid_max: default: 32768 minimum: 301
    [    0.059082] Security Framework initialized
    [    0.059173] Mount-cache hash table entries: 512
    [    0.059539] CPU: Testing write buffer coherency: ok
    [    0.080078] omap_hwmod: pruss: failed to hardreset
    [    0.081207] print_constraints: dummy:
    [    0.081573] NET: Registered protocol family 16
    [    0.083740] OMAP GPIO hardware version 0.1
    [    0.086364] omap_mux_init: Add partition: #1: core, flags: 0
    [    0.088317]  omap_i2c.1: alias fck already exists
    [    0.089294]  omap2_mcspi.1: alias fck already exists
    [    0.089508]  omap2_mcspi.2: alias fck already exists
    [    0.090454]  edma.0: alias fck already exists
    [    0.090484]  edma.0: alias fck already exists
    [    0.090515]  edma.0: alias fck already exists
    [    0.117645] bio: create slab <bio-0> at 0
    [    0.119903] SCSI subsystem initialized
    [    0.121551] usbcore: registered new interface driver usbfs
    [    0.121856] usbcore: registered new interface driver hub
    [    0.122070] usbcore: registered new device driver usb
    [    0.122222] musb-ti81xx musb-ti81xx: musb0, board_mode=0x13, plat_mode=0x3
    [    0.122497] musb-ti81xx musb-ti81xx: musb1, board_mode=0x13, plat_mode=0x1
    [    0.139007] omap_i2c omap_i2c.1: bus 1 rev2.4.0 at 100 kHz
    [    0.140869] tps65910 1-002d: JTAGREVNUM 0x0
    [    0.143249] print_constraints: VRTC:
    [    0.144714] print_constraints: VIO: at 1800 mV
    [    0.147003] print_constraints: VDD1: 600 <--> 1500 mV at 1262 mV normal
    [    0.149322] print_constraints: VDD2: 600 <--> 1500 mV at 1137 mV normal
    [    0.150329] print_constraints: VDD3: 5000 mV
    [    0.151733] print_constraints: VDIG1: at 1800 mV
    [    0.153167] print_constraints: VDIG2: at 1800 mV
    [    0.154571] print_constraints: VPLL: at 1800 mV
    [    0.156005] print_constraints: VDAC: at 1800 mV
    [    0.157409] print_constraints: VAUX1: at 1800 mV
    [    0.158843] print_constraints: VAUX2: at 3300 mV
    [    0.160308] print_constraints: VAUX33: at 3300 mV
    [    0.161712] print_constraints: VMMC: at 3300 mV
    [    0.162200] tps65910 1-002d: No interrupt support, no core IRQ
    [    0.163452] Advanced Linux Sound Architecture Driver Version 1.0.24.
    [    0.164581] Switching to clocksource gp timer
    [    0.180053] musb-hdrc: version 6.0, ?dma?, otg (peripheral+host)
    [    0.180236] musb-hdrc musb-hdrc.0: dma type: pio
    [    0.180572] MUSB0 controller's USBSS revision = 4ea20800
    [    0.181213] musb-hdrc musb-hdrc.0: USB OTG mode controller at e083c000 using PIO, IRQ 18
    [    0.181365] musb-hdrc musb-hdrc.1: dma type: pio
    [    0.181640] MUSB1 controller's USBSS revision = 4ea20800
    [    0.181823] musb-hdrc musb-hdrc.1: MUSB HDRC host driver
    [    0.181915] musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 1
    [    0.182037] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
    [    0.182067] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [    0.182067] usb usb1: Product: MUSB HDRC host driver
    [    0.182067] usb usb1: Manufacturer: Linux 3.2.0 musb-hcd
    [    0.182098] usb usb1: SerialNumber: musb-hdrc.1
    [    0.182861] hub 1-0:1.0: USB hub found
    [    0.182891] hub 1-0:1.0: 1 port detected
    [    0.183441] musb-hdrc musb-hdrc.1: USB Host mode controller at e083e800 using PIO, IRQ 19
    [    0.183868] NET: Registered protocol family 2
    [    0.184051] IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.184387] TCP established hash table entries: 16384 (order: 5, 131072 bytes)
    [    0.184753] TCP bind hash table entries: 16384 (order: 4, 65536 bytes)
    [    0.184936] TCP: Hash tables configured (established 16384 bind 16384)
    [    0.184936] TCP reno registered
    [    0.184967] UDP hash table entries: 256 (order: 0, 4096 bytes)
    [    0.184997] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    [    0.185180] NET: Registered protocol family 1
    [    0.185455] RPC: Registered named UNIX socket transport module.
    [    0.185455] RPC: Registered udp transport module.
    [    0.185455] RPC: Registered tcp transport module.
    [    0.185485] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.185729] NetWinder Floating Point Emulator V0.97 (double precision)
    [    0.207000] VFS: Disk quotas dquot_6.5.2
    [    0.207061] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
    [    0.207641] msgmni has been set to 1002
    [    0.210845] alg: No test for stdrng (krng)
    [    0.211547] io scheduler noop registered
    [    0.211547] io scheduler deadline registered
    [    0.211608] io scheduler cfq registered (default)
    [    0.215393] omap_uart.0: ttyO0 at MMIO 0x44e09000 (irq = 72) is a OMAP UART0
    [    0.831115] console [ttyO0] enabled
    [    0.835418] omap_uart.1: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1
    [    0.843231] omap_uart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UART2
    [    0.851043] omap_uart.3: ttyO3 at MMIO 0x481a6000 (irq = 44) is a OMAP UART3
    [    0.858825] omap_uart.4: ttyO4 at MMIO 0x481a8000 (irq = 45) is a OMAP UART4
    [    0.866607] omap_uart.5: ttyO5 at MMIO 0x481aa000 (irq = 46) is a OMAP UART5
    [    0.874877] omap4_rng omap4_rng: OMAP4 Random Number Generator ver. 2.00
    [    0.891204] brd: module loaded
    [    0.899261] loop: module loaded
    [    0.902709] i2c-core: driver [tsl2550] using legacy suspend method
    [    0.909210] i2c-core: driver [tsl2550] using legacy resume method
    [    0.915618] at24 1-0051: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
    [    0.929534] Detected a daughter card on AM335x EVM..
    [    0.934509] Unknown CPLD version found
    [    0.938659] at24 1-0050: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
    [    0.953826] Board name: A33515BB
    [    0.957183] Board version: 1.1A
    [    0.960479] SKU: SKU#01
    [    0.963531] The board is general purpose EVM in profile 0
    [    0.970214]  da8xx_lcdc.0: alias fck already exists
    [    0.975738] da8xx_lcdc da8xx_lcdc.0: GLCD: Found TFC_S9700RTWV35TR_01B panel
    [    0.999359] Console: switching to colour frame buffer device 100x30
    [    1.016052] omap-gpmc omap-gpmc: GPMC revision 6.0
    [    1.021057] Registering NAND on CS0
    [    1.025451]  omap_i2c.2: alias fck already exists
    [    1.045349] omap_i2c omap_i2c.2: bus 2 rev2.4.0 at 100 kHz
    [    1.051818] tsl2550 2-0039: standard operating mode
    [    1.057647] tsl2550 2-0039: support ver. 1.2 enabled
    [    1.063476]  davinci-mcasp.1: alias fck already exists
    [    1.069335]  omap_hsmmc.0: alias fck already exists
    [    1.074707]  omap_hsmmc.2: alias fck already exists
    [    1.080139] Configure Bluetooth Enable pin...
    [    1.086090] registered am33xx_sr device
    [    1.090576] _regulator_get: 2-0018 supply Vdd not found, using dummy regulator
    [    1.098236] _regulator_get: 2-0018 supply Vdd_IO not found, using dummy regulator
    [    1.126678] lis3lv02d: 8 bits 3DLH sensor found
    [    1.215606] input: ST LIS3LV02DL Accelerometer as /devices/platform/lis3lv02d/input/input0
    [    1.227355] mtdoops: mtd device (mtddev=name/number) must be supplied
    [    1.234619] omap2-nand driver initializing
    [    1.239257] ONFI flash detected
    [    1.242675] ONFI param page 0 valid
    [    1.246337] NAND device: Manufacturer ID: 0x2c, Chip ID: 0xda (Micron MT29F2G08ABAEAWP)
    [    1.254882] Creating 8 MTD partitions on "omap2-nand.0":
    [    1.260467] 0x000000000000-0x000000020000 : "SPL"
    [    1.266784] 0x000000020000-0x000000040000 : "SPL.backup1"
    [    1.273651] 0x000000040000-0x000000060000 : "SPL.backup2"
    [    1.280578] 0x000000060000-0x000000080000 : "SPL.backup3"
    [    1.287475] 0x000000080000-0x000000260000 : "U-Boot"
    [    1.294647] 0x000000260000-0x000000280000 : "U-Boot Env"
    [    1.301544] 0x000000280000-0x000000780000 : "Kernel"
    [    1.310089] 0x000000780000-0x000010000000 : "File System"
    [    1.420349] OneNAND driver initializing
    [    1.425842] CAN device driver interface
    [    1.429840] CAN bus driver for Bosch D_CAN controller 1.0
    [    1.485198] davinci_mdio davinci_mdio.0: davinci mdio revision 1.6
    [    1.491668] davinci_mdio davinci_mdio.0: detected phy mask fffffffe
    [    1.499114] davinci_mdio.0: probed
    [    1.502655] davinci_mdio davinci_mdio.0: phy[0]: device 0:00, driver unknown
    [    1.510345] usbcore: registered new interface driver zd1201
    [    1.516387] usbcore: registered new interface driver cdc_ether
    [    1.522613] usbcore: registered new interface driver cdc_eem
    [    1.528686] usbcore: registered new interface driver dm9601
    [    1.534545] cdc_ncm: 04-Aug-2011
    [    1.538085] usbcore: registered new interface driver cdc_ncm
    [    1.544006] Initializing USB Mass Storage driver...
    [    1.549316] usbcore: registered new interface driver usb-storage
    [    1.555603] USB Mass Storage support registered.
    [    1.560852] mousedev: PS/2 mouse device common for all mice
    [    1.567596] input: matrix-keypad as /devices/platform/matrix-keypad/input/input1
    [    1.576599] input: ti-tsc as /devices/platform/omap/ti_tscadc/tsc/input/input2
    [    1.585449] omap_rtc am33xx-rtc: rtc core: registered am33xx-rtc as rtc0
    [    1.592620] i2c /dev entries driver
    [    1.596923] Linux video capture interface: v2.00
    [    1.602050] usbcore: registered new interface driver uvcvideo
    [    1.608093] USB Video Class driver (1.1.1)
    [    1.613250] lm75 2-0048: hwmon0: sensor 'tmp275'
    [    1.621002] OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
    [    1.629608] cpuidle: using governor ladder
    [    1.634368] cpuidle: using governor menu
    [    1.642303] omap4_aes_mod_init: loading AM33X AES driver
    [    1.648040] omap4-aes omap4-aes: AM33X AES hw accel rev: 3.02
    [    1.654571] omap4_aes_probe: probe() done
    [    1.659240] omap4_sham_mod_init: loading AM33X SHA/MD5 driver
    [    1.665405] omap4-sham omap4-sham: AM33X SHA/MD5 hw accel rev: 4.03
    [    1.680267] omap4_sham_probe: probe() done
    [    1.690338] usbcore: registered new interface driver usbhid
    [    1.696197] usbhid: USB HID core driver
    [    1.700805] usbcore: registered new interface driver snd-usb-audio
    [    1.709320] _regulator_get: 2-001b supply IOVDD not found, using dummy regulator
    [    1.717132] _regulator_get: 2-001b supply DVDD not found, using dummy regulator
    [    1.724822] _regulator_get: 2-001b supply AVDD not found, using dummy regulator
    [    1.732482] _regulator_get: 2-001b supply DRVDD not found, using dummy regulator
    [    1.743041] asoc: tlv320aic3x-hifi <-> davinci-mcasp.1 mapping ok
    [    1.750854] ALSA device list:
    [    1.753936]   #0: AM335X EVM
    [    1.756988] oprofile: hardware counters not available
    [    1.762237] oprofile: using timer interrupt.
    [    1.766723] nf_conntrack version 0.5.0 (8016 buckets, 32064 max)
    [    1.773559] ip_tables: (C) 2000-2006 Netfilter Core Team
    [    1.779266] TCP cubic registered
    [    1.782623] NET: Registered protocol family 17
    [    1.787414] Bridge firewalling registered
    [    1.791595] can: controller area network core (rev 20090105 abi 8)
    [    1.798126] NET: Registered protocol family 29
    [    1.802764] can: raw protocol (rev 20090105)
    [    1.807220] can: broadcast manager protocol (rev 20090105 t)
    [    1.813171] Registering the dns_resolver key type
    [    1.818145] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    [    1.826141] ThumbEE CPU extension supported.
    [    1.830657] mux: Failed to setup hwmod io irq -22
    [    1.836212] Power Management for AM33XX family
    [    1.841064] Trying to load am335x-pm-firmware.bin (60 secs timeout)
    [    1.847747] Copied the M3 firmware to UMEM
    [    1.852233] smartreflex smartreflex: am33xx_sr_probe: Zero NValue read from EFUSE
    [    1.860107] smartreflex: probe of smartreflex failed with error -22
    [    1.867248] sr_init: platform driver register failed
    [    1.877563] clock: disabling unused clocks to save power
    [    1.894622] mmc0: new high speed SDHC card at address 1234
    [    1.901123] mmcblk0: mmc0:1234 SA04G 3.63 GiB
    [    1.908355]  mmcblk0: p1 p2
    [    1.983123] Detected MACID=d4:94:a1:80:ac:b4
    [    1.988708] cpsw: Detected MACID = d4:94:a1:80:ac:b5
    [    1.995574] input: gpio-keys as /devices/platform/gpio-keys/input/input3
    [    2.003204] omap_rtc am33xx-rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
    [    2.018432] kjournald starting.  Commit interval 5 seconds
    [    2.024200] EXT3-fs (mmcblk0p2): mounted filesystem with ordered data mode
    [    2.031463] VFS: Mounted root (ext3 filesystem) readonly on device 179:2.
    [    2.038909] Freeing init memory: 248K
    [    2.047576] mmc1: card claims to support voltages below the defined range. These will be ignored.
    [    2.068664] mmc1: queuing unknown CIS tuple 0x91 (3 bytes)
    [    2.076202] mmc1: new high speed SDIO card at address 0001
    INIT: version 2.88 booting
    Starting udev
    [    3.193511] Disabling lock debugging due to kernel taint
    [    3.199920] Compat-wireless backport release: R8.xx_Build-275
    [    3.205963] Backport based on wl18xx.git ol_r8.a5.13
    [    3.211151] compat.git: wl18xx.git
    [    5.285217] cfg80211: Calling CRDA to update world regulatory domain
    [    5.523284] wlcore: wl18xx driver version: ol_r8.a5.13
    [    5.739105] wlcore: ERROR could not get configuration binary ti-connectivity/wl18xx-conf.bin: -2
    [    5.748382] wlcore: WARNING falling back to default config
    [    6.136596] wlcore: wl18xx HW: RDL 2, 1857 MIMO, PG 2.1 (ROM 0)
    [    6.156982] wlcore: loaded
    [    6.159851] wlcore: driver version: ol_r8.a5.13
    [    6.164581] wlcore: timestamp: Mon Mar 18 16:51:48 2013
    Starting Bootlog daemon: bootlogd: cannot allocate pseudo tty: No such file or directory
    bootlogd.
    [    6.352569] EXT3-fs (mmcblk0p2): using internal journal
    ALSA: Restoring mixer settings...
    No state is present for card EVM
    Found hardware: "AM335X_EVM" "" "" "" ""
    Hardware is initialized using a generic method
    No state is present for card EVM
    Configuring network interfaces... [    6.886169] net eth0: CPSW phy found : id is : 0x4dd074
    udhcpc (v1.19.4) started
    Sending discover...
    [    8.886810] PHY: 0:00 - Link is Up - 100/Full
    Sending discover...
    Sending select for 192.168.1.116...
    Lease of 192.168.1.116 obtained, lease time 43200
    adding dns 192.168.1.1
    done.
    Mon Dec 17 06:07:00 UTC 2012
    INIT: Entering runlevel: 5
    Starting system message bus: dbus.
    Starting Dropbear SSH server: Will output 1024 bit rsa secret key to '/etc/dropbear/dropbear_rsa_host_key'
    Generating key, this may take a while...
    Public key portion is:
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgwDT7qIpksymoFNFQ4OzT5YUaI0gb0GJTGoB6mlB0idQZXsPgezJP/d9SV1wzUrrpd307BW6siqKUcQK/cOz+9Ybz7+8pmNUXp78wa9jbwM3gluGywXEGKOA0qS8f9k2vpzCH60vCxReheFWRVq7EgJWGvACg+wUjfHXe0IBfHNoy55z root@am335x-evm
    Fingerprint: md5 30:c4:dc:f4:c0:50:d6:7b:0c:7c:85:13:15:7b:61:d9
    dropbear.
    Starting telnet daemon.
    Performing wifi calibration...
    ERROR: Module wl12xx_sdio does not exist in /proc/modules
    insmod: can't read '/lib/modules/3.2.0/updates/drivers/net/wireless/wl12xx/wl12xx_sdio.ko': No such file or directory
    Failed to load kernel module using command /sbin/insmod /lib/modules/3.2.0/updates/drivers/net/wireless/wl12xx/wl12xx_sdio.ko
    Calibration not complete. Removing half-baked nvs
    FATAL: Module wl12xx_sdio not found.
    Starting network benchmark server: netserver.
    Starting syslogd/klogd: done
    Starting thttpd.
    Starting PVR
    Starting Lighttpd Web Server: lighttpd.
    2012-12-17 06:07:01: (log.c.166) server started
    Calibrating touchscreen (first time only)xres = 800, yres = 480
    Took 91 samples...
    Top left : X = 3755 Y = 3554
    Took 87 samples...
    Top right : X =  447 Y = 3461
    Took 69 samples...
    Bot right : X =  463 Y =  566
    Took 63 samples...
    Bot left : X = 3796 Y =  571
    Took 60 samples...
    Center : X = 2105 Y = 2016
    849.587952 -0.210777 -0.002052
    498.805695 0.001903 -0.129242
    Calibration constants: 55678596 -13813 -134 32689730 124 -8470 65536
    .
    /
    Starting Matrix GUI application.
    [   54.676574] g_mass_storage: disagrees about version of symbol wake_up_process
    [   54.684051] g_mass_storage: Unknown symbol wake_up_process (err -22)
    FATAL: Error inserting g_mass_storage (/lib/modules/3.2.0/kernel/drivers/usb/gadget/g_mass_storage.ko): Invalid argument
    ***************************************************************
    ***************************************************************
    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.
    
     _____                    _____           _         _
    |  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
    |     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
    |__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
                  |___|                    |___|
    
    Arago Project http://arago-project.org am335x-evm ttyO0
    
    Arago 2012.10 am335x-evm ttyO0
    
    am335x-evm login: root
    root@am335x-evm:~#
    root@am335x-evm:~#
    root@am335x-evm:~#
    root@am335x-evm:~#
    root@am335x-evm:~# ifconfig -a
    eth0      Link encap:Ethernet  HWaddr D4:94:A1:80:AC:B4
              inet addr:192.168.1.116  Bcast:192.168.1.255  Mask:255.255.255.0
              UP BROADCAST RUNNING ALLMULTI MULTICAST  MTU:1500  Metric:1
              RX packets:8 errors:0 dropped:0 overruns:0 frame:0
              TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:1174 (1.1 KiB)  TX bytes:716 (716.0 B)
    
    eth1      Link encap:Ethernet  HWaddr D4:94:A1:80:AC:B5
              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)
    
    lo        Link encap:Local Loopback
              inet addr:127.0.0.1  Mask:255.0.0.0
              UP LOOPBACK RUNNING  MTU:16436  Metric:1
              RX packets:131 errors:0 dropped:0 overruns:0 frame:0
              TX packets:131 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:250694 (244.8 KiB)  TX bytes:250694 (244.8 KiB)
    
    wlan0     Link encap:Ethernet  HWaddr 00:DA:36:16:DE:EB
              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)
    
    root@am335x-evm:~#
    root@am335x-evm:~#
    root@am335x-evm:~#
    

  • Hi Marco,

    It's great to hear that it's working with mdev. If you want to know the difference between udev and mdev, we command you to visit various Linux discussion forums on the internet. There are plenty of Linux experts out there.

    With regards to the fall back configuration, that's something you should not see if the wl18xx-conf.bin was created correctly. Fall-back can occur if 1) the conf file was not generated (or not generated properly), 2) driver was not implemented correctly to recognize the conf file, or 3) device manager has problems. Since this is the first time booting, it's perfectly normal to see this message because system needs to generate this file.

    Hope this helps.

  • Thanks Victor,

     

    I fixed the device manager problem using udev-182 and Codesourcery Codebench 2011.09 toolchain, regarding to the fall back configuration I generated a proper config file:

     

    ./wlconf -o /lib/firmware/ti-connectivity/wl18xx-conf.bin –I /usr/sbin/wlconf/official_inis/WL8_System_parameters_PG2_RDL_2_4_SP_SISO.ini

     

    Everything seems ok except there is still a huge delay before the WiFi became available:

     

     

    Populating /dev using udev: [    2.509857] udevd[706]: starting version 182

    done

    Initializing random number generator... done.

    [    2.799255] Disabling lock debugging due to kernel taint

    [    2.805603] Compat-wireless backport release: ol_r8.a5.01

    [    2.811309] Backport based on wl18xx ol_r8.a4.05

    [    2.816131] compat.git: wl18xx

    Starting network...

    Starting dropbear sshd: OK

     

    Welcome to AU/wfxb

    wfxb login: [    3.603607] cfg80211: Calling CRDA to update world regulatory domain

    [    3.787048] wlcore: wl18xx driver version: ol_r8.a4.05

    [    3.945922] cfg80211: World regulatory domain updated:

    [    3.951416] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)

    [    3.959930] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)

    [    3.968017] cfg80211:   (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)

    [    3.976104] cfg80211:   (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)

    [    3.984191] cfg80211:   (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)

    [    3.992279] cfg80211:   (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)

    [   34.404418] wlcore: loaded

    [   34.407348] wlcore: driver version: ol_r8.a4.05

    [   34.412078] wlcore: timestamp: Thu Nov  1 14:43:46 2012

     

     

    Do you have any suggestion?

     

    Regards,

    Marco.

  • Hi Marco,

    I'm a little bit confused of what you were doing. Why were you switching the driver version back and forth between a4.05 and r5.13? Please use, and only use, the a5.13 driver for testing since it is our latest one.

    On the other hand, I did not see the problem by using the image I built. How did you build this image that you use?

  • Please use the latest implementation that we have from this page: http://processors.wiki.ti.com/index.php/WL8_release_download_page#AM335x
    We do not experience this problem. Perhaps something was wrong in your build.

    Let me know if you have anymore questions.

  • Marco,

    I don't know if you ever got to the bottom of this, but I am seeing the same problem on Yocto. From the information collected around the Internet and my own observations it appears that udev-178 and does things differently. In particular it cannot properly load drivers that request firmware in _probe. This is exactly what wilink driver does - three times in fact. The official reply from udev maintainer is that no sane driver should load firmware from within probe. 

    I'm going to see if I can blacklist the driver and then load it via a service instead

  • Hi Alexander,

    I solved blacklisting the driver and loading it with an "ad hoc" init entry.
    That is a work around more than a fix, but it works pretty fine.

    Marco.

  • Yes, that's what I ended up doing as well except in my case (using yocto 1.5.1) I got away with adding wlcore wlcore-sdio and wl18xx to both blacklist (/etc/modprobe.d) and autoload (/etc/modules-load.d). No special init entry needed.