AnsweredAssumed Answered

imx6solo SDIO1 port abnormal

Question asked by Gary Yin on Aug 17, 2016
Latest reply on Sep 3, 2016 by Gary Yin

linux 3.10.45

a broadcom wifi module is connected to SDIO1

 

When I am measuring the wifi network speed, using iperf. The kernel driver crash after about testing for 4 minutes as following:

(about 4 minutes after)

...

 

[  4] 247.5-248.0 sec  1.86 MBytes  31.2 Mbits/sec

[  4] 248.0-248.5 sec  1.91 MBytes  32.1 Mbits/sec

mmc0: Timeout waiting for hardware interrupt.

dhd_bcmsdh_send_buf: sdio error -1, abort command and terminate frame.

[  4] 248.5-249.0 sec   505 KBytes  8.27 Mbits/sec

[  4] 249.0-249.5 sec  0.00 Bytes  0.00 bits/sec

[  4] 249.5-250.0 sec  0.00 Bytes  0.00 bits/sec

[  4] 250.0-250.5 sec  0.00 Bytes  0.00 bits/sec

[  4] 250.5-251.0 sec  0.00 Bytes  0.00 bits/sec

[  4] 251.0-251.5 sec  0.00 Bytes  0.00 bits/sec

[  4] 251.5-252.0 sec  0.00 Bytes  0.00 bits/sec

[  4] 252.0-252.5 sec  0.00 Bytes  0.00 bits/sec

[  4] 252.5-253.0 sec  0.00 Bytes  0.00 bits/sec

[  4] 253.0-253.5 sec  0.00 Bytes  0.00 bits/sec

[  4] 253.5-254.0 sec  0.00 Bytes  0.00 bits/sec

[  4] 254.0-254.5 sec  0.00 Bytes  0.00 bits/sec

[  4] 254.5-255.0 sec  0.00 Bytes  0.00 bits/sec

[  4] 255.0-255.5 sec  0.00 Bytes  0.00 bits/sec

[  4] 255.5-256.0 sec  0.00 Bytes  0.00 bits/sec

[  4] 256.0-256.5 sec  0.00 Bytes  0.00 bits/sec

[  4] 256.5-257.0 sec  0.00 Bytes  0.00 bits/sec

[  4] 257.0-257.5 sec  0.00 Bytes  0.00 bits/sec

[  4] 257.5-258.0 sec  0.00 Bytes  0.00 bits/sec

[  4] 258.0-258.5 sec  0.00 Bytes  0.00 bits/sec

mmc0: Timeout waiting for hardware interrupt.

dhdsdio_readframes: RXHEADER FAILED: -35

dhdsdio_rxfail: abort command, terminate frame, send NAK

dhdsdio_readframes: too long: len 6176 rdlen 6144

dhdsdio_rxfail: terminate frame

dhdsdio_rxglom (superframe): len 0x0014, rounded 0x0200, expect 0x1400

dhdsdio_rxfail: abort command, terminate frame, send NAK

dhdsdio_rxglom (superframe): len 0x2440, rounded 0x2600, expect 0x1400

dhdsdio_rxfail: abort command, terminate frame, send NAK

dhdsdio_rxglom (superframe): len 0x0012, rounded 0x0200, expect 0x1400

dhdsdio_rxfail: abort command, terminate frame, send NAK

dhdsdio_rxglom (superframe): len 0x0010, rounded 0x0200, expect 0x0800

dhdsdio_rxfail: abort command, terminate frame

dhdsdio_readframes: glom superframe w/o descriptor!

dhdsdio_rxfail: terminate frame

[  4] 258.5-259.0 sec  12.9 KBytes   211 Kbits/sec

[  4] 259.0-259.5 sec  0.00 Bytes  0.00 bits/sec

[  4] 259.5-260.0 sec  0.00 Bytes  0.00 bits/sec

[  4] 260.0-260.5 sec  0.00 Bytes  0.00 bits/sec

[  4] 260.5-261.0 sec  0.00 Bytes  0.00 bits/sec

[  4] 261.0-261.5 sec  0.00 Bytes  0.00 bits/sec

[  4] 261.5-262.0 sec  0.00 Bytes  0.00 bits/sec

[  4] 262.0-262.5 sec  0.00 Bytes  0.00 bits/sec

[  4] 262.5-263.0 sec  0.00 Bytes  0.00 bits/sec

[  4] 263.0-263.5 sec  0.00 Bytes  0.00 bits/sec

[  4] 263.5-264.0 sec  0.00 Bytes  0.00 bits/sec

[  4] 264.0-264.5 sec  0.00 Bytes  0.00 bits/sec

[  4] 264.5-265.0 sec  0.00 Bytes  0.00 bits/sec

[  4] 265.0-265.5 sec  0.00 Bytes  0.00 bits/sec

[  4] 265.5-266.0 sec  0.00 Bytes  0.00 bits/sec

[  4] 266.0-266.5 sec  0.00 Bytes  0.00 bits/sec

[  4] 266.5-267.0 sec  0.00 Bytes  0.00 bits/sec

[  4] 267.0-267.5 sec  0.00 Bytes  0.00 bits/sec

[  4] 267.5-268.0 sec  0.00 Bytes  0.00 bits/sec

[  4] 268.0-268.5 sec  0.00 Bytes  0.00 bits/sec

mmc0: Timeout waiting for hardware interrupt.

dhd_bcmsdh_send_buf: sdio error -1, abort command and terminate frame.

[  4] 268.5-269.0 sec  20.0 KBytes   327 Kbits/sec

[  4] 269.0-269.5 sec  0.00 Bytes  0.00 bits/sec

 

...

 

The speed after that is alway 0.00 bits/sec.

This problem occurs randomly, not everytime.

 

According to our wifi module provider's document, they tested the same wifi driver souce code on other android based board(not imx6 chip, linux 3.0.35), it's OK.

Outcomes