- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I'm trying to create a test platform for a module that uses the AzureWave AW-CM256SM (which is based on the CYW43455) on the Raspberry Pi 4b. I have added an existing device tree overlay to enable SDIO on GPIO pins 22-27. It appears the module is being detected (sdio) but it fails to initialize. I have attached several outputs for your review. Since the brcmfmac driver for the 43455 was already installed, I have not made any driver changes. Please provide guidance on possible causes and next steps. My linux knowledge is limited so please provide a verbose answer.
Best regards,
Mark
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello:
Since SDIO interface was detected successfully , but timeout in the logs.
I found a Raspberry tuning record from internet , you can have a reference .
I think you didn't need to modify anything other , only SDIO interface configuration and hardware need to be careful.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello:
Would you please check if brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt exists in the directory /lib/firmware/brcm/ ?
[ 8.112856] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt failed with error -2
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
The brcm/brcmfmac43455-sdio file is present. It's my understanding the 43455 part has been used since the 3B model.
The -2 error is benign since when I do not used the SDIO dtoverlay which enables the internal WiFi part, I still see the -2 error but the internal WiFi component works.
I'm have not seen any device tree files with the ".raspberrypi,4-model-b.txt" extension. I'm assuming that is an error.
Best regards,
Mark
# Cloned from bcm94345wlpagb_p2xx.txt
NVRAMRev=$Rev: 498373 $
sromrev=11
vendid=0x14e4
devid=0x43ab
manfid=0x2d0
prodid=0x06e4
#macaddr=00:90:4c:c5:12:38
macaddr=b8:27:eb:74:f2:6c
nocrc=1
boardtype=0x6e4
boardrev=0x1304
#XTAL 37.4MHz
xtalfreq=37400
btc_mode=1
#------------------------------------------------------
#boardflags: 5GHz eTR switch by default
# 2.4GHz eTR switch by default
# bit1 for btcoex
boardflags=0x00480201
boardflags2=0x40800000
boardflags3=0x44200100
phycal_tempdelta=15
rxchain=1
txchain=1
aa2g=1
aa5g=1
tssipos5g=1
tssipos2g=1
femctrl=0
AvVmid_c0=1,165,2,100,2,100,2,100,2,100
pa2ga0=-129,6525,-718
pa2ga1=-149,4408,-601
pa5ga0=-185,6836,-815,-186,6838,-815,-184,6859,-815,-184,6882,-818
pa5ga1=-202,4285,-574,-201,4312,-578,-196,4391,-586,-201,4294,-575
itrsw=1
pdoffsetcckma0=2
pdoffset2gperchan=0,-2,1,0,1,0,1,1,1,0,0,-1,-1,0
pdoffset2g40ma0=16
pdoffset40ma0=0x8888
pdoffset80ma0=0x8888
extpagain5g=2
extpagain2g=2
tworangetssi2g=1
tworangetssi5g=1
# LTECX flags
# WCI2
ltecxmux=0
ltecxpadnum=0x0504
ltecxfnsel=0x22
ltecxgcigpio=0x32
maxp2ga0=80
ofdmlrbw202gpo=0x0022
dot11agofdmhrbw202gpo=0x4442
mcsbw202gpo=0x98444422
mcsbw402gpo=0x98444422
maxp5ga0=82,82,82,82
mcsbw205glpo=0xb9555000
mcsbw205gmpo=0xb9555000
mcsbw205ghpo=0xb9555000
mcsbw405glpo=0xb9555000
mcsbw405gmpo=0xb9555000
mcsbw405ghpo=0xb9555000
mcsbw805glpo=0xb9555000
mcsbw805gmpo=0xb9555000
mcsbw805ghpo=0xb9555000
swctrlmap_2g=0x00000000,0x00000000,0x00000000,0x010000,0x3ff
swctrlmap_5g=0x00100010,0x00200020,0x00200020,0x010000,0x3fe
swctrlmapext_5g=0x00000000,0x00000000,0x00000000,0x000000,0x3
swctrlmapext_2g=0x00000000,0x00000000,0x00000000,0x000000,0x3
vcodivmode=1
deadman_to=481500000
ed_thresh2g=-54
ed_thresh5g=-54
eu_edthresh2g=-54
eu_edthresh5g=-54
ldo1=4
rawtempsense=0x1ff
cckPwrIdxCorr=3
cckTssiDelay=150
ofdmTssiDelay=150
txpwr2gAdcScale=1
txpwr5gAdcScale=1
dot11b_opts=0x3aa85
cbfilttype=1
fdsslevel_ch11=6
# Improved Bluetooth coexistence parameters from Cypress
btc_mode=1
btc_params8=0x4e20
btc_params1=0x7530
btc_params50=0x972c
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello:
So I can image the board of your tested, the internal wifi module is still a 43455 or 4356 module , is that right ? then you disconnect the internal module, flying the interface to AW-CM256SM . if so , please check:
1. the NVRAM is released from Azurewave ?
2. if the SDIO interface is configured correctly after the switch , like pull-up resistor .
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
The internal wifi is disconnected by using the sdio dtoverlay in /boot/config.txt.
The device tree overlay enables gpio 22-27 as an sdio interface.
I have confirmed the sdio interface configuration.
I have pulled high the wifi enable pin on the AW-CM256SM.
Best regards,
Mark
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Would you please share the internal chip Nvram ? and what is the INT mode of AW256 ? sdio: inband , or GPIO INT, OOB .
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I shared the NVRAM contents in a previous post.
I'm not sure about the interrupt mode.
Please provide directions for obtaining the information you are requesting.
Best regards,
Mark
Here is /proc/interrupts
pi@raspberrypi:~ $ cat /proc/interrupts
CPU0 CPU1 CPU2 CPU3
17: 108 0 0 0 GICv2 99 Level timer
18: 0 0 0 0 GICv2 29 Level arch_timer
19: 22148310 3736479 3500825 3998961 GICv2 30 Level arch_timer
26: 6352278 0 0 0 GICv2 65 Level fe00b880.mailbox
29: 6783 0 0 0 GICv2 153 Level uart-pl011
32: 46509 0 0 0 GICv2 114 Level DMA IRQ
39: 59 0 0 0 GICv2 66 Level VCHIQ doorbell
40: 31293899 0 0 0 GICv2 158 Level mmc1, mmc0
41: 27828936 0 0 0 GICv2 144 Level vc4 firmware kms
42: 0 0 0 0 GICv2 48 Level arm-pmu
43: 0 0 0 0 GICv2 49 Level arm-pmu
44: 0 0 0 0 GICv2 50 Level arm-pmu
45: 0 0 0 0 GICv2 51 Level arm-pmu
47: 891720 0 0 0 GICv2 189 Level eth0
48: 0 0 0 0 GICv2 190 Level eth0
54: 423729 0 0 0 GICv2 106 Level v3d
55: 0 0 0 0 GICv2 175 Level PCIe PME, aerdrv
56: 1937214 0 0 0 BRCM STB PCIe MSI 524288 Edge xhci_hcd
IPI0: 0 0 0 0 CPU wakeup interrupts
IPI1: 0 0 0 0 Timer broadcast interrupts
IPI2: 1874602 4460050 3935149 5495644 Rescheduling interrupts
IPI3: 136522 62609 63610 144154 Function call interrupts
IPI4: 0 0 0 0 CPU stop interrupts
IPI5: 1556197 633374 615923 674454 IRQ work interrupts
IPI6: 0 0 0 0 completion interrupts
Err: 0
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It is strange that the Nvram doesn't provide INT setting.
This is for SDIO in-band interrupt.
sd_gpout=1
sd_oobonly=1
sd_gpval=1
sd_gpdc=0
If the module connected with the INT pin , assume it is GPIO0 from module.
muxenb=0x10
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I'm not sure what to do with the information you provided.
The files I have are from the standard Raspberry distro which provide the brcmfmac driver supporting the 43455 which the AW-CM256SM is based on. Are you saying the existing files are not correct?
Best regards,
Mark
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Would you please share more dts info in this platform especially for wifi part ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello:
Since SDIO interface was detected successfully , but timeout in the logs.
I found a Raspberry tuning record from internet , you can have a reference .
I think you didn't need to modify anything other , only SDIO interface configuration and hardware need to be careful.