cancel
Showing results for 
Search instead for 
Did you mean: 

Wi-Fi Bluetooth for Linux

mgkiller
New Contributor II

we have try the  two wl tool inside post: https://community.cypress.com/t5/Wi-Fi-Bluetooth-for-Linux/Required-quot-wl-quot-utility-executable-... but do not work at our arm926t cpu board .

/tmp # ./wlarm.7z
./wlarm.7z: line 1: syntax error: unexpected word (expecting ")")
/tmp # ./wlarm32 ver
./wlarm32: wl driver adapter not found

 

Our board aready load FMAC wifi driver & mfg firmware:

[ 687.080000] mmc0: new high speed SDIO card at address 0001 
[ 687.090000] brcmfmac: F1 signature read @0x18000000=0x1541a9a6 
[ 687.090000] brcmf_chip_recognition found AXI chip: BCM43430/1 
[ 687.130000] brcmf_chip_cores_check [1 ] core 0x800:49 base 0x18000000 wrap 0x18100000 
[ 687.170000] brcmf_chip_cores_check [2 ] core 0x812:39 base 0x18001000 wrap 0x18101000 
[ 687.170000] brcmf_chip_cores_check [3 ] core 0x829:21 base 0x18002000 wrap 0x18102000 
[ 687.210000] brcmf_chip_cores_check [4 ] core 0x82a:9 base 0x18003000 wrap 0x18103000 
[ 687.210000] brcmf_chip_cores_check [5 ] core 0x80e:22 base 0x18004000 wrap 0x18104000 
[ 687.230000] brcmf_chip_cores_check [6 ] core 0x135:0 base 0x00000000 wrap 0x18105000 
[ 687.250000] brcmf_chip_cores_check [7 ] core 0x240:0 base 0x00000000 wrap 0x18106000 
[ 687.270000] brcmf_chip_get_raminfo RAM: base=0x0 size=524288 (0x80000) sr=65536 (0x10000) 
[ 687.270000] brcmf_chip_setup ccrev=49, pmurev=24, pmucaps=0x39d25f18 
[ 687.280000] brcmf_get_module_param Enter, bus=0, chip=43430, rev=1 
[ 687.290000] brcmf_sdio_drivestrengthinit No SDIO driver strength init needed for chip BCM43430/1 rev 1 pmurev 24 
[ 687.300000] brcmf_sdio_probe completed!! 
[ 687.300000] brcmfmac: brcmf_fw_alloc_request: using cypress/cyfmac43430-sdio for chip BCM43430/1 
[ 687.350000] brcmf_sdio_verifymemory Compare RAM dl & ul at 0x00000000; size=386027 
[ 687.440000] brcmf_sdio_verifymemory Compare RAM dl & ul at 0x0007fda0; size=608 
[ 687.570000] brcmf_sdio_firmware_callback enable F2: err=0 
[ 687.570000] brcmf_sdio_sr_init SR enabled 
[ 687.570000] brcmf_bus_change_state ignoring transition, bus not attached yet 
[ 687.600000] brcmf_sdio_readshared sdpcm_shared address 0x0004182C 
[ 687.600000] brcmf_sdio_readshared sdpcm_shared address 0x0004182C 
[ 687.610000] brcmf_add_if allocate netdev interface 
[ 687.660000] brcmfmac: brcmf_fw_alloc_request: using cypress/cyfmac43430-sdio for chip BCM43430/1 
[ 687.700000] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM43430/1 wl0: May 2 2019 02:37:41 version 7.45.98.83 (r714225 CY WLTEST) FWID 01-7e9977e3 
[ 687.710000] brcmf_c_preinit_dcmds CLM version = API: 12.2 Data: 9.10.39 Compiler: 1.29.4 ClmImport: 1.36.3 Creation: 2019-05-02 02:29:44 
[ 687.740000] brcmf_pktfilter_add_remove add packet filter number 0 
[ 687.750000] brcmf_feat_firmware_capabilities [ ap sta wme 802.11d 802.11h rm cac ampdu ampdu_tx ampdu_rx amsdurx radio_pwrsave p2po anqpo dfrts stbc-tx stbc-rx-1ss wnm bsstrans mfp cptlv-4 ] 
[ 687.760000] brcmf_feat_firmware_capabilities enabling feature: P2P 
[ 687.760000] brcmf_feat_firmware_capabilities enabling feature: DOT11H 
[ 687.790000] brcmf_fws_attach FWS queueing will be avoided 
[ 687.790000] brcmf_cfg80211_attach Registering custom regulatory 
[ 687.810000] brcmf_setup_wiphybands nmode=1, vhtmode=0, bw_cap=(1, 0) 
[ 687.840000] brcmf_setup_wiphybands nchain=1 
[ 687.890000] check_vif_up device is not ready : status (0) 
[ 687.890000] brcmf_net_attach wlan0: Broadcom Dongle Host Driver

 

Any one send me a wl tool static complied for arm926t cpu?

or can we download the wl source code from some where and complie it by ourself? and where is the source  code?

0 Likes
1 Solution
raks_99
Moderator
Moderator

Hi @mgkiller ,

Thanks for the toolchain. I was able to build a dynamically linked tool.

Adding the LDFLAGS += -static when compiling with this toolchain gives me errors like 'cache_mngt.c:(.text+0x624): undefined reference to `pthread_rwlock_unlock'
collect2: error: ld returned 1 exit status

Can you compile libnl from source with this toolchain and try if this tool works?

Or maybe if you have feedback on compiling do let me know.

I compiled libnl the following way

  • wget http://www.infradead.org/~tgr/libnl/files/libnl-3.2.24.tar.gz
  • tar -xzf libnl-3.2.24.tar.gz; cd libnl-3.2.24
  • export CC=.../arm-sam9x25-linux-gnueabi/bin/arm-sam9x25-linux-gnueabi-gcc
  • ./configure --host=arm-linux-gnueabi --prefix=.../arm-sam9x25-linux-gnueabi/lib/
  • make && make install
  • include/make && include/make install
  • export PKG_CONFIG_PATH=.../arm-sam9x25-linux-gnueabi/lib/lib/pkgconfig

 

$ file wlarm_le
wlarm_le: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux 3.10.47, with debug_info, not stripped

Thanks

View solution in original post

7 Replies
raks_99
Moderator
Moderator

Hi @mgkiller ,

I have attached two standard wl binaries for fmac driver. Can you try these out?

The source for the wl tool is currently not open source. Hence it cannot be shared without an SLA/NDA .

If you let me know of any toolchain that is available for your host then I can try to cross-compile it and provide it to you.

Thanks

0 Likes
mgkiller
New Contributor II

Hi, raks_99 @raks_99 

I have try both, but no one can work.

I have uploaded my cross-compiler to Baidu Netdisk: https://pan.baidu.com/s/1RJ-l5KPSePwa_1_oIKEKTA ,Password is d5pn.

which is arm-sam9x25-linux-gnueabi/bin/arm-sam9x25-linux-gnueabi-gcc.

Please use this cross-compiler compile a static wl for me .

Thank you in advance.

0 Likes
raks_99
Moderator
Moderator

Hi @mgkiller ,

Can you please share the toolchain through a  different website? I am having trouble accessing it since it looks like it requires Baidu client software and an account for downloading files.

Thanks

0 Likes
mgkiller
New Contributor II

Hello, @raks_99 

Sorry for my delay.

I have attached the xcompiler. you need to untar as below:

~$ unzip arm-sam9x25-linux-gnueabi.xz.zip

~$ tar -xJvf arm-sam9x25-linux-gnueabi.xz

0 Likes
raks_99
Moderator
Moderator

Hi @mgkiller ,

Thanks for the toolchain. I was able to build a dynamically linked tool.

Adding the LDFLAGS += -static when compiling with this toolchain gives me errors like 'cache_mngt.c:(.text+0x624): undefined reference to `pthread_rwlock_unlock'
collect2: error: ld returned 1 exit status

Can you compile libnl from source with this toolchain and try if this tool works?

Or maybe if you have feedback on compiling do let me know.

I compiled libnl the following way

  • wget http://www.infradead.org/~tgr/libnl/files/libnl-3.2.24.tar.gz
  • tar -xzf libnl-3.2.24.tar.gz; cd libnl-3.2.24
  • export CC=.../arm-sam9x25-linux-gnueabi/bin/arm-sam9x25-linux-gnueabi-gcc
  • ./configure --host=arm-linux-gnueabi --prefix=.../arm-sam9x25-linux-gnueabi/lib/
  • make && make install
  • include/make && include/make install
  • export PKG_CONFIG_PATH=.../arm-sam9x25-linux-gnueabi/lib/lib/pkgconfig

 

$ file wlarm_le
wlarm_le: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux 3.10.47, with debug_info, not stripped

Thanks

View solution in original post

mgkiller
New Contributor II

Hi, @raks_99 

Thank you a lot. It's great, your wlarm_le seem work on my board.

/nvm/certification # ln -s wlarm_le wl

/nvm/certification # ./wl ver
1.28 RC0.0
wl0: May 2 2019 02:37:41 version 7.45.98.83 (r714225 CY WLTEST) FWID 01-7e9977e3

/nvm/certification # ./wl down
/nvm/certification # ./wl mpc 0
/nvm/certification # ./wl band b
/nvm/certification # ./wl chanspec 5/20
Chanspec set to 0x1005
/nvm/certification # ./wl country ALL
/nvm/certification # ./wl up

Any other way to check the wl+mfg firmware work as expected?

raks_99
Moderator
Moderator

Hi @mgkiller ,

Good to hear that it works. From your 'wl ver' output, I see the firmware is 'CY WLTEST' version so all manufacturing test commands will work fine. If you face any issue you can come back to community and create a thread.

Thanks,

 

0 Likes