13 Replies Latest reply on Dec 17, 2016 6:20 AM by mifo

    BCM4343W Linux kernel 4.4.1 driver

    manoj_1578136

      We are developing a custom board based on AM3351 and BCM4343W module. Our Linux BSP is based on 4.4.1 kernel,but I'm facing some error.

      I enabled the broadcom driver and  configured the dts as follow

      &mmc2 {
      status = "okay";
      vmmc-supply = <&vmmc_reg>;
      bus-width = <4>;
      pinctrl-names = "default";
      pinctrl-0 = <&mmc2_pins_default>;
      ti,non-removable;
      ti,needs-special-hs-handling;
      cap-power-off-card;
      keep-power-in-suspend;

      brcmf: bcrmf@1 {
      status = "okay";
      reg = <1>;
      compatible = "brcm,bcm43340-fmac";
      };

      };

      once device booted, I'm able to connect the broadcom wifi to access point and able to get ip address. Also I''m able to ping but in between I'm getting the dma error.

      ping 192.168.1.100
      PING 192.168.1.100 (192.168.1.100): 56 data bytes
      64 bytes from 192.168.1.100: seq=0 ttl=64 time=988.498 ms
      64 bytes from 192.168.1.100: seq=1 ttl=64 time=7.694 ms
      64 bytes from 192.168.1.100: seq=2 ttl=64 time=250.249 ms
      64 bytes from 192.168.1.100: seq=3 ttl=64 time=339.703 ms
      64 bytes from 192.168.1.100: seq=4 ttl=64 time=400.491 ms
      64 bytes from 192.168.1.100: seq=5 ttl=64 time=459.148 ms
      64 bytes from 192.168.1.100: seq=6 ttl=64 time=498.982 ms
      64 bytes from 192.168.1.100: seq=7 ttl=64 time=748.227 ms
      64 bytes from 192.168.1.100: seq=8 ttl=64 time=807.846 ms
      64 bytes from 192.168.1.100: seq=9 ttl=64 time=867.752 ms
      64 bytes from 192.168.1.100: seq=10 ttl=64 time=927.145 ms
      64 bytes from 192.168.1.100: seq=11 ttl=64 time=986.852 ms
      64 bytes from 192.168.1.100: seq=12 ttl=64 time=13.413 ms
      64 bytes from 192.168.1.100: seq=13 ttl=64 time=246.074 ms
      64 bytes from 192.168.1.100: seq=14 ttl=64 time=306.052 ms
      64 bytes from 192.168.1.100: seq=15 ttl=64 time=345.741 ms
      64 bytes from 192.168.1.100: seq=16 ttl=64 time=385.357 ms
      64 bytes from 192.168.1.100: seq=17 ttl=64 time=425.048 ms
      64 bytes from 192.168.1.100: seq=18 ttl=64 time=484.698 ms
      64 bytes from 192.168.1.100: seq=19 ttl=64 time=544.552 ms
      64 bytes from 192.168.1.100: seq=20 ttl=64 time=604.137 ms
      64 bytes from 192.168.1.100: seq=21 ttl=64 time=663.809 ms
      64 bytes from 192.168.1.100: seq=22 ttl=64 time=1753.569 ms
      64 bytes from 192.168.1.100: seq=23 ttl=64 time=753.921 ms
      64 bytes from 192.168.1.100: seq=24 ttl=64 time=813.022 ms
      64 bytes from 192.168.1.100: seq=25 ttl=64 time=872.778 ms
      64 bytes from 192.168.1.100: seq=26 ttl=64 time=932.389 ms
      64 bytes from 192.168.1.100: seq=27 ttl=64 time=992.037 ms
      64 bytes from 192.168.1.100: seq=28 ttl=64 time=8.566 ms
      64 bytes from 192.168.1.100: seq=29 ttl=64 time=241.322 ms
      64 bytes from 192.168.1.100: seq=30 ttl=64 time=301.199 ms
      [ 150.400617] omap_hsmmc 481d8000.mmc: MMC start dma failure
      [ 150.406301] brcmf_sdiod_sglist_rw: CMD53 sg block write failed -22
      [ 150.413672] brcmf_sdio_txfail: sdio error, abort command and terminate frame
      64 bytes from 192.168.1.100: seq=32 ttl=64 time=390.718 ms
      64 bytes from 192.168.1.100: seq=33 ttl=64 time=450.200 ms
      64 bytes from 192.168.1.100: seq=34 ttl=64 time=510.942 ms
      64 bytes from 192.168.1.100: seq=35 ttl=64 time=559.477 ms
      64 bytes from 192.168.1.100: seq=36 ttl=64 time=619.287 ms
      64 bytes from 192.168.1.100: seq=37 ttl=64 time=678.835 ms
      64 bytes from 192.168.1.100: seq=38 ttl=64 time=718.629 ms
      64 bytes from 192.168.1.100: seq=39 ttl=64 time=778.465 ms
      64 bytes from 192.168.1.100: seq=40 ttl=64 time=1004.650 ms
      64 bytes from 192.168.1.100: seq=41 ttl=64 time=10.999 ms
      64 bytes from 192.168.1.100: seq=42 ttl=64 time=243.885 ms
      64 bytes from 192.168.1.100: seq=43 ttl=64 time=303.621 ms
      64 bytes from 192.168.1.100: seq=44 ttl=64 time=363.150 ms
      64 bytes from 192.168.1.100: seq=45 ttl=64 time=422.981 ms
      64 bytes from 192.168.1.100: seq=46 ttl=64 time=482.599 ms
      64 bytes from 192.168.1.100: seq=47 ttl=64 time=542.241 ms
      64 bytes from 192.168.1.100: seq=48 ttl=64 time=601.993 ms
      64 bytes from 192.168.1.100: seq=49 ttl=64 time=661.802 ms
      64 bytes from 192.168.1.100: seq=50 ttl=64 time=721.374 ms
      64 bytes from 192.168.1.100: seq=51 ttl=64 time=761.107 ms
      64 bytes from 192.168.1.100: seq=52 ttl=64 time=800.756 ms
      64 bytes from 192.168.1.100: seq=53 ttl=64 time=860.386 ms
      64 bytes from 192.168.1.100: seq=54 ttl=64 time=920.059 ms
      64 bytes from 192.168.1.100: seq=55 ttl=64 time=979.836 ms
      64 bytes from 192.168.1.100: seq=56 ttl=64 time=76.361 ms
      64 bytes from 192.168.1.100: seq=57 ttl=64 time=309.258 ms
      64 bytes from 192.168.1.100: seq=58 ttl=64 time=368.817 ms
      64 bytes from 192.168.1.100: seq=59 ttl=64 time=408.553 ms
      64 bytes from 192.168.1.100: seq=60 ttl=64 time=468.503 ms
      64 bytes from 192.168.1.100: seq=61 ttl=64 time=507.720 ms
      64 bytes from 192.168.1.100: seq=62 ttl=64 time=548.293 ms
      [ 182.433832] omap_hsmmc 481d8000.mmc: MMC start dma failure
      [ 182.439411] brcmf_sdiod_sglist_rw: CMD53 sg block write failed -22
      [ 182.446784] brcmf_sdio_txfail: sdio error, abort command and terminate frame
      [ 183.434177] omap_hsmmc 481d8000.mmc: MMC start dma failure
      [ 183.439740] brcmf_sdiod_sglist_rw: CMD53 sg block write failed -22
      [ 183.446947] brcmf_sdio_txfail: sdio error, abort command and terminate frame
      [ 184.434577] omap_hsmmc 481d8000.mmc: MMC start dma failure
      [ 184.440142] brcmf_sdiod_sglist_rw: CMD53 sg block write failed -22
      [ 184.447354] brcmf_sdio_txfail: sdio error, abort command and terminate frame
      64 bytes from 192.168.1.100: seq=66 ttl=64 time=796.402 ms
      64 bytes from 192.168.1.100: seq=67 ttl=64 time=863.185 ms
      64 bytes from 192.168.1.100: seq=68 ttl=64 time=55.485 ms
      64 bytes from 192.168.1.100: seq=69 ttl=64 time=285.458 ms
      64 bytes from 192.168.1.100: seq=70 ttl=64 time=365.019 ms
      64 bytes from 192.168.1.100: seq=71 ttl=64 time=424.705 ms
      64 bytes from 192.168.1.100: seq=72 ttl=64 time=1524.363 ms
      64 bytes from 192.168.1.100: seq=73 ttl=64 time=524.570 ms
      64 bytes from 192.168.1.100: seq=74 ttl=64 time=583.997 ms
      64 bytes from 192.168.1.100: seq=75 ttl=64 time=643.822 ms

       

      Can any one help how to get rid of this error