Search Linux Wireless

BCM4313 & brcmsmac & 3.12: only semi-working?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello.

Got a Lenovo Thinkpad notebook with the following wifi card:

03:00.0 Network controller [0280]: Broadcom Corporation BCM4313 802.11b/g/n Wireless LAN Controller [14e4:4727] (rev 01)
	Subsystem: Broadcom Corporation Device [14e4:0608]
	Flags: bus master, fast devsel, latency 0, IRQ 17
	Memory at f1600000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: [40] Power Management version 3
	Capabilities: [58] Vendor Specific Information: Len=78 <?>
	Capabilities: [48] MSI: Enable- Count=1/1 Maskable- 64bit+
	Capabilities: [d0] Express Endpoint, MSI 00
	Capabilities: [100] Advanced Error Reporting
	Capabilities: [13c] Virtual Channel
	Capabilities: [160] Device Serial Number 00-00-24-ff-ff-fe-48-d2
	Capabilities: [16c] Power Budgeting <?>
	Kernel driver in use: bcma-pci-bridge

With 3.12 kernel, the device is recognized and it is possible to
connect to the access point and exchange some data.  In 3.10,
even connection (assotiation with the AP) was quite a bit
problematic, and packet exchange never worked).

However, after receiving a few packets (about 100 packets), the
interface almost stops receiving data, except a few packets once
in a while.  For example, when d/loading some file over wifi, first
part (very beginning) gets d/loaded fine, and next d/load stalls,
with Rx counter of the card not changing.  Terminating the process
makes the counter to increase by one or two.

Stopping and re-starting the interface in NetworkManager makes
it go again, also for just about 100 packets, till it stalls
again.

Sometimes it works longer, say, 500 or even 1000 packets, but
at the end it stalls anyway.

Here's a typical iwconfig output:

wlan0     IEEE 802.11bgn  ESSID:"mjt"
          Mode:Managed  Frequency:2.412 GHz  Access Point: 64:70:02:29:D9:30
          Bit Rate=1 Mb/s   Tx-Power=19 dBm
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality=56/70  Signal level=-54 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:84  Invalid misc:13   Missed beacon:0

(Note the bitrate of 1Mbps: the AP is pretty much capable of
running at 54Mbps, and actually my smartphone, when used in
exactly the same place, goes at full 54Mbps just fine.  The
signal conditions are very well in here, AP is about 15 meters
away, stright visible.  When I force-reconnect it, it displays
some more sane value here for a few moments but drops to 1mbps
anyway).

Here's some dmesg output when I start/stop wifi network and
try to d/load something:

...
[28031.696294] brcmsmac bcma0:0: brcms_ops_bss_info_changed: qos enabled: false (implement)
[28031.696307] brcmsmac bcma0:0: brcms_ops_config: change power-save mode: false (implement)
[28033.640097] wlan0: authenticate with 64:70:02:29:d9:30
[28033.642395] wlan0: send auth to 64:70:02:29:d9:30 (try 1/3)
[28033.644624] wlan0: authenticated
[28033.645452] wlan0: associate with 64:70:02:29:d9:30 (try 1/3)
[28033.650163] wlan0: RX AssocResp from 64:70:02:29:d9:30 (capab=0x411 status=0 aid=1)
[28033.651697] brcmsmac bcma0:0: brcmsmac: brcms_ops_bss_info_changed: associated
[28033.651702] brcmsmac bcma0:0: brcms_ops_bss_info_changed: qos enabled: true (implement)
[28033.651710] wlan0: associated
[28033.921528] brcmsmac bcma0:0: brcms_ops_bss_info_changed: arp filtering: 1 addresses (implement)
[28149.522205] wlan0: deauthenticating from 64:70:02:29:d9:30 by local choice (reason=3)
[28149.535454] brcmsmac bcma0:0: brcmsmac: brcms_ops_bss_info_changed: disassociated
[28149.535469] brcmsmac bcma0:0: brcms_ops_bss_info_changed: arp filtering: 1 addresses (implement)
[28149.535476] brcmsmac bcma0:0: brcms_ops_bss_info_changed: qos enabled: false (implement)
[28149.538431] cfg80211: Calling CRDA to update world regulatory domain
[28152.718056] brcmsmac bcma0:0: brcms_ops_bss_info_changed: qos enabled: false (implement)
[28152.718074] brcmsmac bcma0:0: brcms_ops_config: change power-save mode: false (implement)
[28154.564599] wlan0: authenticate with 64:70:02:29:d9:30
[28154.567108] wlan0: send auth to 64:70:02:29:d9:30 (try 1/3)
[28154.569527] wlan0: authenticated
[28154.570232] wlan0: associate with 64:70:02:29:d9:30 (try 1/3)
[28154.574687] wlan0: RX AssocResp from 64:70:02:29:d9:30 (capab=0x411 status=0 aid=1)
[28154.575257] brcmsmac bcma0:0: brcmsmac: brcms_ops_bss_info_changed: associated
[28154.575261] brcmsmac bcma0:0: brcms_ops_bss_info_changed: qos enabled: true (implement)
[28154.575268] wlan0: associated
...


The same notebook with the same wifi card works just fine under
windows (both windows 7 and 8), demonstrating stable reliable
about-54Mbps connection.

Is there any hope to get this device working under linux?

I can re-build kernels and stuff, enable debugging etc, -- that's
no problem, but I've really limited time.

I purchased this notebook especially to be used when travelling,
to be able to access to my office/work network over hotel wifi,
I plan to have a trip starting Jan-2.  After figuring out that
it doesn't quite work as I'd expect it to do, I purchased another
wifi card, just to face another issue: it my notebook refuses to
_boot_ while that card is inserted! (it was a completely new
and unexpected "feature", now I know what it is, and will avoid
lenovo and HP notebooks in the future), -- so I returned the card
back.  But now I'm again without wifi, and I can't return the
notebook...

P.S. I tried to find archives of brcm80211 list, or a way to
subscribe to it before posting, but found neither.  Are there
archives?

Thanks,

/mjt
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux