Broadcom 4313 something strange

Hi,

I have the problem with HP 625 NoteBook, Broadcom 4313 card / OpenSuSE 13.1
NIC is recognized properly, but I cannot connect to acces point. NM does not recognize any network - dmesg repeate:

22.414416] NET: Registered protocol family 17
22.427250] ERROR @wl_cfg80211_scan : WLC_SCAN error (-22)
22.427453] ERROR @wl_cfg80211_scan : WLC_SCAN error (-22)
46.102778] ERROR @wl_cfg80211_scan : WLC_SCAN error (-22)

but if I connect active wired network cable for few second, and immediately I disconnect it NM is finding wireless netwok and connect to it and work w/o any problem.
dmesg report:

120.702306] r8169 0000:02:00.0 eth0: link up (this is wired interface)
120.702328] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
122.102086] ERROR @wl_cfg80211_scan : WLC_SCAN error (-22)
127.360216] r8169 0000:02:00.0 eth0: link down
177.126734] cfg80211: Calling CRDA for country: PL
177.134312] cfg80211: Regulatory domain changed to country: PL
177.134318] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
177.134322] cfg80211: (2402000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm)
177.134325] cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (N/A, 2000 mBm)
177.134328] cfg80211: (5250000 KHz - 5330000 KHz @ 40000 KHz), (N/A, 2000 mBm)
177.134330] cfg80211: (5490000 KHz - 5710000 KHz @ 40000 KHz), (N/A, 2700 mBm)
177.134333] cfg80211: (57240000 KHz - 65880000 KHz @ 2160000 KHz), (N/A, 4000 mBm)

and (as a result) ifconfig:
wlo1 Link encap:Ethernet HWaddr 00:26:82:90:B3:AA
inet addr:192.168.1.11 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::226:82ff:fe90:b3aa/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3511 errors:0 dropped:0 overruns:0 frame:836
TX packets:3316 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2398871 (2.2 Mb) TX bytes:581281 (567.6 Kb)
Interrupt:17
and everything works - but up to the next reboot!>:(
I was trying set: iw reg set PL, I defined variable COUNTRY=PL, I was experiment with wpa_suppliacant, blacklists - no result! :’(

tail wpa_supplicant.log:
wlo1: Failed to initiate AP scan
wlo1: Failed to initiate AP scan
wlo1: Failed to initiate AP scan
wlo1: Failed to initiate AP scan
(and after connect / disconnect RJ45 network cable):
wlo1: Trying to associate with dc:02:8e:7b:d0:bf (SSID=‘NeoBalice’ freq=2437 MHz)
wlo1: Associated with dc:02:8e:7b:d0:bf
wlo1: WPA: Key negotiation completed with dc:02:8e:7b:d0:bf [PTK=CCMP GTK=TKIP]
wlo1: CTRL-EVENT-CONNECTED - Connection to dc:02:8e:7b:d0:bf completed [id=0 id_str=]

Any suggestions?

And what driver are you using?

/sbin/lspci -nnk

If you didn’t specifically install any driver, this would be “brcm80211” (brcmsmac) I suppose.
And http://wireless.kernel.org/en/users/Drivers/brcm80211 states:

Please note: at least BCM4313 is not fully supported. Some models appears to work (users reported success), but some don’t, and there’s no indication that this is going to change.

So I would suggest you try out the proprietary broadcom-wl driver (also known as STA), available from Packman.
Please note that you have to install “broadcom-wl” and a “broadcom-wl-kmp-xxx” package matching to your kernel.

[QUOTE=wolfi323;2641716]And what driver are you using?

/sbin/lspci -nnk

There is wl in use:
06:00.0 Network controller [0280]: Broadcom Corporation BCM4313 802.11bgn Wireless Network Adapter [14e4:4727] (rev 01)
Subsystem: Hewlett-Packard Company Device [103c:145c]
Kernel driver in use: wl

Others are blacklisted (there is a result of many probes):

modules blacklisted for broadcom-wl

blacklist bcm43xx
blacklist ssb
blacklist b43
blacklist ndiswrapper
blacklist brcm80211
blacklist bcma
blacklist brcmsmac

drive wl is working properly - but I do not know how to start it !

Yes, that’s necessary for wl to work. If they would not be blacklisted, one of them would be loaded before wl.

drive wl is working properly - but I do not know how to start it !

You do not have to “start” it. It should be loaded automatically during boot.

And according to you lspci output, it was indeed loaded.

Was this when it worked or not?

So do I understand this correctly: wireless is not working directly after boot, but only if you connect and disconnect a wired cable?

Can you post the lspci output right after boot when it is not working, please?

Does it work if you load the wl driver with “sudo /sbin/modprobe wl” instead of connecting/disconnecting the wired cable?

“And according to you lspci output, it was indeed loaded”

Yes, you are right.

“Was this when it worked or not?”

Everything looks good in both cases, but there is one “minor” problem - I cannot connect! I was trying ifup and Network Manager - result is the same - ANY wireless network is visible. I was trying dhcp and static configuration - makes no difference!

So do I understand this correctly: wireless is not working directly after boot, but only if you connect and disconnect a wired cable?

Exactly! There is only one method to make wireless accessible. I discovered it accidentally :slight_smile:

Does it work if you load the wl driver with “sudo /sbin/modprobe wl” instead of connecting/disconnecting the wired cable?[/QUOTE]

No! I think that problem is outside the driver. I was also trying to add additional rule for udev for crda:

more 85-regulatory.rules

KERNEL==“regulatory*”, ACTION==“change”, SUBSYSTEM==“platform”, RUN+="/sbin/crda"

Makes no difference. Also iw reg set PL does not help.

Look, please for this part of dmesg (with my comments):
120.702306] r8169 0000:02:00.0 eth0: link up # RJ cable connected…
120.702328] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
122.102086] ERROR @wl_cfg80211_scan : WLC_SCAN error (-22) # still problem with scanning WiFi
127.360216] r8169 0000:02:00.0 eth0: link down # RJ cable disconnected
177.126734] cfg80211: Calling CRDA for country: PL # Thats why I was trying iw reg set PL
177.134312] cfg80211: Regulatory domain changed to country: PL
177.134318] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp) # WiFi is start to work!!!

One more - if I switch off WiFi using laptop key it of course vanish, but after switch on again returns w/o any problem :sarcastic:

Hm. Maybe the wired is somehow interfering? (since disconnecting the cable makes the wireless work)

Try to blacklist the r8169 driver, by adding “brokenmodules=r8169” to the boot options. (press ‘e’ at the boot menu, search for a line starting with “linux” and append that, then press ‘F10’ to boot)
Don’t worry, this doesn’t save anything, so you should have your wired back when you reboot again.

Does it work then?

Good idea! Many thanks. Maybe it help find where the problem really is!
I will try it tomorrow (there exists a world outside computers ;)). I of course will post the result.
Don’t worry too - I always keep way back open!

As promised - I had follow your advice. I like to work early morning - silence helps in concentration.

I can blacklist r8169, but WiFi is still not activated
I think that problem is not in the driver itself, because if I start WiFi (new - plug-in/plug out method, I am going to patent it! ;)) it work without any problem.

Look, please for interesting part of my /var/log/messages, and see what happens after plug-out cable from eth0 NIC.
Something wrong with dbus? It looks that restart it by system daemon makes possible to recognize WiFi, which (I have not idea why!) was not detected during normal start-up. Restart caused by plug-out wired network leads to the activation of wlo1 interface, which exists from system start, but is not recognized by network programs.
Maybe NM or ifup are started before wlo1 is created by udev?
On the other hand restart of network service does not help.

How I love automatic setups! “Long long live PnP” (Plug and Put in trash!). >:)

2014-05-08T05:48:14.669877+02:00 szef avahi-daemon[597]: Withdrawing address record for 192.168.1.20 on eth0.
2014-05-08T05:48:14.670877+02:00 szef avahi-daemon[597]: Leaving mDNS multicast group on interface eth0.IPv4 with address 192.168.1.20.
2014-05-08T05:48:14.671866+02:00 szef avahi-daemon[597]: Interface eth0.IPv4 no longer relevant for mDNS.
2014-05-08T05:48:14.777934+02:00 szef dbus[632]: [system] Activating via systemd: service name=‘org.freedesktop.nm_dispatcher’ unit=‘dbus-org.freedesktop.nm-dispatcher.service’
2014-05-08T05:48:14.778395+02:00 szef systemd[1]: Starting Network Manager Script Dispatcher Service…
2014-05-08T05:48:14.795891+02:00 szef dbus[632]: [system] Successfully activated service ‘org.freedesktop.nm_dispatcher’
2014-05-08T05:48:14.796928+02:00 szef systemd[1]: Started Network Manager Script Dispatcher Service.
2014-05-08T05:48:45.602359+02:00 szef kernel: 426.940969] cfg80211: Calling CRDA for country: PL
2014-05-08T05:48:45.609003+02:00 szef kernel: 426.947565] cfg80211: Regulatory domain changed to country: PL
2014-05-08T05:48:45.609034+02:00 szef kernel: 426.947574] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
2014-05-08T05:48:45.609038+02:00 szef kernel: 426.947581] cfg80211: (2402000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm)
2014-05-08T05:48:45.609043+02:00 szef kernel: 426.947587] cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (N/A, 2000 mBm)
2014-05-08T05:48:45.609046+02:00 szef kernel: 426.947592] cfg80211: (5250000 KHz - 5330000 KHz @ 40000 KHz), (N/A, 2000 mBm)
2014-05-08T05:48:45.609050+02:00 szef kernel: 426.947596] cfg80211: (5490000 KHz - 5710000 KHz @ 40000 KHz), (N/A, 2700 mBm)
2014-05-08T05:48:45.609054+02:00 szef kernel: 426.947601] cfg80211: (57240000 KHz - 65880000 KHz @ 2160000 KHz), (N/A, 4000 mBm)
2014-05-08T05:48:45.711954+02:00 szef dhclient[2248]: Internet Systems Consortium DHCP Client 4.2.5-P1
2014-05-08T05:48:45.712573+02:00 szef dhclient[2248]: Copyright 2004-2013 Internet Systems Consortium.
2014-05-08T05:48:45.712953+02:00 szef dhclient[2248]: All rights reserved.
2014-05-08T05:48:45.714469+02:00 szef dhclient[2248]: For info, please visit https://www.isc.org/software/dhcp/
2014-05-08T05:48:45.714738+02:00 szef dhclient[2248]:
2014-05-08T05:48:45.733488+02:00 szef dhclient[2248]: Listening on LPF/wlo1/00:26:82:90:b3:aa
2014-05-08T05:48:45.734068+02:00 szef dhclient[2248]: Sending on LPF/wlo1/00:26:82:90:b3:aa
2014-05-08T05:48:45.734421+02:00 szef dhclient[2248]: Sending on Socket/fallback
2014-05-08T05:48:45.734690+02:00 szef dhclient[2248]: DHCPREQUEST on wlo1 to 255.255.255.255 port 67
2014-05-08T05:48:45.836531+02:00 szef dhclient[2248]: DHCPACK from 192.168.1.1
2014-05-08T05:48:45.847046+02:00 szef dhclient[2248]: bound to 192.168.1.11 – renewal in 40400 seconds.

and of course I can work (and send post to forum…)

Investigations in progress:

Since I discovered driver wl is OK, proper modules loaded and working I switch to Network Manager.
That whats going on (var/log/NetworkManager):

Just after boot:
2014-05-09T11:17:21.844148+02:00 szef NetworkManager[625]: <info> (wlo1): deactivating device (reason ‘managed’) [2]

After user login:
2014-05-09T11:17:21.862222+02:00 szef NetworkManager[625]: <info> ModemManager available in the bus
2014-05-09T11:17:21.862971+02:00 szef NetworkManager[625]: <info> (wlo1) supports 1 scan SSIDs
2014-05-09T11:17:21.863849+02:00 szef NetworkManager[625]: <info> (wlo1): supplicant interface state: starting → ready
2014-05-09T11:17:21.864253+02:00 szef NetworkManager[625]: <info> (wlo1): device state change: unavailable → disconnected (reason ‘supplicant-available’) [20 30 42]
2014-05-09T11:17:21.866393+02:00 szef NetworkManager[625]: <warn> Trying to remove a non-existant call id.
2014-05-09T11:17:21.867219+02:00 szef NetworkManager[625]: <info> (wlo1): supplicant interface state: ready → disconnected
2014-05-09T11:17:21.867582+02:00 szef NetworkManager[625]: <info> (wlo1) supports 1 scan SSIDs
2014-05-09T11:19:25.876987+02:00 szef NetworkManager[625]: <info> Activation (wlo1) starting connection ‘NeoBalice 1’
… and :frowning:
2014-05-09T11:19:51.594863+02:00 szef NetworkManager[625]: <warn> Activation (wlo1/wireless): association took too long, failing activation.
2014-05-09T11:19:51.595489+02:00 szef NetworkManager[625]: <info> (wlo1): device state change: config → failed (reason ‘SSID not found’) [50 120 53]
2014-05-09T11:19:51.595955+02:00 szef NetworkManager[625]: <info> NetworkManager state is now DISCONNECTED
2014-05-09T11:19:51.596362+02:00 szef NetworkManager[625]: <warn> Activation (wlo1) failed for connection ‘NeoBalice 1’
2014-05-09T11:19:51.596749+02:00 szef NetworkManager[625]: <info> (wlo1): device state change: failed → disconnected (reason ‘none’) [120 30 0]
2014-05-09T11:19:51.597135+02:00 szef NetworkManager[625]: <info> (wlo1): deactivating device (reason ‘none’) [0]
2014-05-09T11:21:49.781332+02:00 szef NetworkManager[625]: <info> (eth0): carrier now ON (device state 20)
2014-05-09T11:21:49.782440+02:00 szef NetworkManager[625]: <info> (eth0): device state change: unavailable → disconnected (reason ‘carrier-changed’) [20 30 40]

Now I plug-in wired ethernet:
2014-05-09T11:21:49.789531+02:00 szef NetworkManager[625]: <info> Activation (eth0) Stage 2 of 5 (Device Configure) successful.

waiting for connection (get dhcp addres) and unplug it:
2014-05-09T11:22:18.862633+02:00 szef NetworkManager[625]: <info> (eth0): carrier now OFF (device state 100, deferring action for 4 seconds)
2014-05-09T11:22:21.219300+02:00 szef NetworkManager[625]: <info> (wlo1): supplicant interface state: disconnected → scanning
2014-05-09T11:22:22.185738+02:00 szef NetworkManager[625]: <info> Auto-activating connection ‘NeoBalice 1’.
2014-05-09T11:22:22.186695+02:00 szef NetworkManager[625]: <info> Activation (wlo1) starting connection ‘NeoBalice 1’
2014-05-09T11:22:22.187108+02:00 szef NetworkManager[625]: <info> (wlo1): device state change: disconnected → prepare (reason ‘none’) [30 40 0]
2014-05-09T11:22:22.187494+02:00 szef NetworkManager[625]: <info> Activation (wlo1) Stage 1 of 5 (Device Prepare) scheduled…
2014-05-09T11:22:22.187872+02:00 szef NetworkManager[625]: <info> Activation (wlo1) Stage 1 of 5 (Device Prepare) started…
2014-05-09T11:22:22.188312+02:00 szef NetworkManager[625]: <info> Activation (wlo1) Stage 2 of 5 (Device Configure) scheduled…
2014-05-09T11:22:22.188795+02:00 szef NetworkManager[625]: <info> Activation (wlo1) Stage 1 of 5 (Device Prepare) complete.
2014-05-09T11:22:22.192248+02:00 szef NetworkManager[625]: <info> Activation (wlo1) Stage 2 of 5 (Device Configure) starting…
2014-05-09T11:22:22.192678+02:00 szef NetworkManager[625]: <info> (wlo1): device state change: prepare → config (reason ‘none’) [40 50 0]
2014-05-09T11:22:22.193027+02:00 szef NetworkManager[625]: <info> Activation (wlo1/wireless): access point ‘NeoBalice 1’ has security, but secrets are required.

and my wireless is starting to work!

Any suggestions?

Hi everybody,

I have solved problem:
In HP 625 BIOS PXE boot option have to be enabled - and Broadcom 4313 work w/o any problems!

Do not ask me why - it is still wizzards for me, but it solve all my problems with WiFi - now it work great, connect immediately etc.

Thanks for help!