For Help: problems with tx bitrate in ath10k
Yeoh Chun-Yeow
yeohchunyeow at gmail.com
Tue Apr 8 23:11:32 EDT 2014
Need firmware change to get proper Tx rate as pointed out by Kalle
Valo. So no support for the time being.
http://lists.infradead.org/pipermail/ath10k/2014-March/001587.html
----
Chun-Yeow
On Tue, Apr 8, 2014 at 4:51 PM, wangdc <wangdc at dhc.com.cn> wrote:
> Hi,all
>
> I used the backports-3.13.2-1 to drive a 11ac card(WLE900VX) on the ubuntu
> 12.04 LTS(64bit) (3.8.0-35-generic).
> The card seemed to be working well when i connected it to a broadcom AC APs
> and the card could also send or receive data normally.
> But when using command 'iw dev wlan0 station dump' to check the actual Rx
> and Tx rate, i couldn't get the tx bitrate correctly.
>
> root at ubuntu:~$ iw dev wlan2 station dump
> Station 10:48:b1:e8:17:a6 (on wlan2)
> inactive time: 28680 ms
> rx bytes: 903704
> rx packets: 6747
> tx bytes: 20731
> tx packets: 163
> tx retries: 1969
> tx failed: 0
> signal: -36 dBm
> signal avg: -36 dBm
> tx bitrate: MCS 32 40Mhz short GI
> authorized: yes
> authenticated: yes
> preamble: long
> WMM/WME: yes
> MFP: no
> TDLS peer: no
>
> And sometimes the tx bitrate was 3693.3 MBit/s, 65.0 MBit/s, 6.5Mbit/s etc.
>
> The start log as following.
>
> root at ubuntu:~$ dmesg | grep ath
> [ 0.800424] MODSIGN: Loaded cert 'Magrathea: Glacier signing key:
> c77318d5b035f7cbfa665f640863f8bc32a3fa33'
> [ 10.539694] ath10k_pci 0000:04:00.0: BAR 0: assigned [mem
> 0xf0400000-0xf05fffff 64bit]
> [ 10.886386] ath10k: MSI-X didn't succeed (1), trying MSI
> [ 10.886454] ath10k_pci 0000:04:00.0: irq 44 for MSI/MSI-X
> [ 10.886492] ath10k: MSI interrupt handling
> [ 10.921722] ath10k: Hardware name qca988x hw2.0 version 0x4100016c
> [ 12.246510] ath10k: UART prints disabled
> [ 12.250960] ath10k: firmware 10.1.467.2-1 booted
> [ 12.260459] ath10k: htt target version 2.1
> [ 12.261559] ath: EEPROM regdomain: 0x0
> [ 12.261561] ath: EEPROM indicates default country code should be used
> [ 12.261562] ath: doing EEPROM country->regdmn map search
> [ 12.261563] ath: country maps to regdmn code: 0x3a
> [ 12.261565] ath: Country alpha2 being used: US
> [ 12.261566] ath: Regpair used: 0x3a
> [ 18.767377] ath10k: MSI-X didn't succeed (1), trying MSI
> [ 18.767451] ath10k_pci 0000:04:00.0: irq 44 for MSI/MSI-X
> [ 18.767496] ath10k: MSI interrupt handling
> [ 19.700523] ath10k: UART prints disabled
> [ 19.705037] ath10k: firmware 10.1.467.2-1 booted
> [ 19.714921] ath10k: htt target version 2.1
> ...
>
> root at ubuntu:~$ dmesg
> [ 121.846056] ------------[ cut here ]------------
> [ 121.846090] WARNING: at /home/backports/net/wireless/util.c:1066
> cfg80211_calculate_bitrate+0x18e/0x210 [cfg80211]()
> [ 121.846093] Hardware name: 23066RC
> [ 121.846094] Modules linked in: ip_vs(F) nf_conntrack(F) libcrc32c(F)
> bnep(F) rfcomm(F) parport_pc(F) ppdev(F) arc4(F) coretemp(F)
> snd_hda_codec_hdmi(F) snd_hda_codec_realtek(F) ath10k_pci(OF)
> ath10k_core(OF) uvcvideo(F) nfsd(F) snd_hda_intel(F) kvm(F) snd_hda_codec(F)
> ath(OF) videobuf2_core(F) nfs_acl(F) videodev(F) auth_rpcgss(F) i915(F)
> nfs(F) videobuf2_vmalloc(F) snd_hwdep(F) btusb(F) snd_pcm(F) mac80211(OF)
> videobuf2_memops(F) joydev(F) fscache(F) bluetooth(F) ghash_clmulni_intel(F)
> thinkpad_acpi(F) lockd(F) snd_seq_midi(F) cryptd(F) drm_kms_helper(F)
> binfmt_misc(F) snd_rawmidi(F) drm(F) snd_seq_midi_event(F) cfg80211(OF)
> sunrpc(F) snd_seq(F) psmouse(F) snd_timer(F) snd_seq_device(F) mei(F) snd(F)
> microcode(F) serio_raw(F) mac_hid(F) i2c_algo_bit(F) snd_page_alloc(F)
> compat(OF) soundcore(F) lpc_ich(F) nvram(F) wmi(F) video(F) lp(F) parport(F)
> sdhci_pci(F) sdhci(F) e1000e(F)
> [ 121.846157] Pid: 1050, comm: NetworkManager Tainted: GF O
> 3.8.0-35-generic #52~precise1-Ubuntu
> [ 121.846159] Call Trace:
> [ 121.846171] [<ffffffff81059b6f>] warn_slowpath_common+0x7f/0xc0
> [ 121.846177] [<ffffffff81059bca>] warn_slowpath_null+0x1a/0x20
> [ 121.846193] [<ffffffffa019c8de>] cfg80211_calculate_bitrate+0x18e/0x210
> [cfg80211]
> [ 121.846212] [<ffffffffa01a99a7>] nl80211_put_sta_rate+0x57/0x2a0
> [cfg80211]
> [ 121.846229] [<ffffffffa01ac0e1>]
> nl80211_send_station.isra.63+0x4a1/0x870 [cfg80211]
> [ 121.846246] [<ffffffffa01ac98c>] nl80211_get_station+0x22c/0x290
> [cfg80211]
> [ 121.846254] [<ffffffff8160f6dd>] genl_rcv_msg+0x22d/0x2b0
> [ 121.846260] [<ffffffff815d830b>] ? __alloc_skb+0x8b/0x2a0
> [ 121.846264] [<ffffffff8160f4b0>] ? genl_rcv+0x40/0x40
> [ 121.846270] [<ffffffff8160ee89>] netlink_rcv_skb+0xa9/0xd0
> [ 121.846274] [<ffffffff8160f495>] genl_rcv+0x25/0x40
> [ 121.846279] [<ffffffff8160e7d1>] netlink_unicast+0x1b1/0x230
> [ 121.846285] [<ffffffff8160eb4e>] netlink_sendmsg+0x2fe/0x3b0
> [ 121.846290] [<ffffffff815cb282>] sock_sendmsg+0xd2/0xf0
> [ 121.846296] [<ffffffff815cdb8a>] ? move_addr_to_kernel+0x5a/0xa0
> [ 121.846300] [<ffffffff815da406>] ? verify_iovec+0x56/0xd0
> [ 121.846305] [<ffffffff815cd09c>] ___sys_sendmsg+0x3ac/0x3c0
> [ 121.846311] [<ffffffff811aea86>] ? pollwake+0x66/0x70
> [ 121.846316] [<ffffffff81092050>] ? try_to_wake_up+0x200/0x200
> [ 121.846323] [<ffffffff816f53e5>] ? _raw_spin_lock_irq+0x15/0x20
> [ 121.846327] [<ffffffff81092050>] ? try_to_wake_up+0x200/0x200
> [ 121.846332] [<ffffffff815ceba9>] __sys_sendmsg+0x49/0x90
> [ 121.846337] [<ffffffff815cec09>] sys_sendmsg+0x19/0x20
> [ 121.846343] [<ffffffff816fdf5d>] system_call_fastpath+0x1a/0x1f
> [ 121.846346] ---[ end trace fc50900f4228222f ]---
>
> About the reason of the warning info above,
> when debugging the code, rate->flags was 0x0 and the rate->mcs value was
> more than 32 in the function of cfg80211_calculate_bitrate,
> but i didn't know why i got a wrong rate value.
>
> /home/backports/net/wireless/util.c
> u32 cfg80211_calculate_bitrate(struct rate_info *rate)
> {
> int modulation, streams, bitrate;
>
> if (!(rate->flags & RATE_INFO_FLAGS_MCS) &&
> !(rate->flags & RATE_INFO_FLAGS_VHT_MCS))
> return rate->legacy;
> if (rate->flags & RATE_INFO_FLAGS_60G)
> return cfg80211_calculate_bitrate_60g(rate);
> if (rate->flags & RATE_INFO_FLAGS_VHT_MCS)
> return cfg80211_calculate_bitrate_vht(rate);
>
> /* the formula below does only work for MCS values smaller than 32 */
> if (WARN_ON_ONCE(rate->mcs >= 32))
> return 0;
>
> I tried other version of the firmware and backports, the test results were
> as following:
> a)The problem repeated when i tried firmware-2.bin_999.999.0.636.
> b)The tx bitrate was fixed to 6MBit/s and there was no warning info in the
> boot log when i adopted the latest development
> releases(backports-20140221).
>
> Is there anybody meets the same problem? If so, please give me some
> suggestion on getting Tx rate properly.
>
> Thanks.
> Rex
>
>
> _______________________________________________
> ath10k mailing list
> ath10k at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/ath10k
More information about the ath10k
mailing list