Bug 8774

Summary: No wifi whatever I do with Broadcom 4312
Product: Mageia Reporter: Wolfgang Bornath <molch.b>
Component: InstallerAssignee: Mageia Bug Squad <bugsquad>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Normal CC: cjw, eeeemail, ennael1, ftg, mageia, molch.b, tmb
Version: Cauldron   
Target Milestone: ---   
Hardware: i586   
OS: Linux   
Whiteboard: 3beta2
Source RPM: CVE:
Status comment:
Attachments: drop broadcom-wl reference from drakx-net

Description Wolfgang Bornath 2013-01-22 13:23:35 CET
Wrapping up what happened to wifi since last Beta1 testing:

1. After testing MGA2beta1 my wifi seized to work, even when switching back to MGA2 stable.

2. I have 2 wifi machines, 
 - the laptop with Atheros chip works with all Mageia flavours, including MGA3Beta2
 - the i586 netbook with Broadcom 4312 used to work with MGA2 but never with MGA3Beta1 or Beta 2.

Both machines are standing side by side less than 1 m away from the router/AP of my network.

Results of latest build of Beta2 isos. no matter which of the i586 isos I tried, I always get the same result:

When trying to setup wifi via networkcenter it finds the correct chip set but refuses to load broadcom-wl. Message is:
"Can not install broadcom-wl, kernel-firmware and other software for this interface."

Information:
Comment 1 Wolfgang Bornath 2013-01-22 13:32:55 CET
Sorry, interrupted!

lspci says:

05:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g LP-PHY (rev 01)
        Subsystem: Broadcom Corporation Device 04b5
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0, Cache Line Size: 64 bytes
        Interrupt: pin A routed to IRQ 18
        Region 0: Memory at f0400000 (64-bit, non-prefetchable) [size=16K]
        Capabilities: [40] Power Management version 3
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
                Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=2 PME-
        Capabilities: [58] Vendor Specific Information: Len=78 <?>
        Capabilities: [e8] MSI: Enable- Count=1/1 Maskable- 64bit+
                Address: 0000000000000000  Data: 0000
        Capabilities: [d0] Express (v1) Endpoint, MSI 00
                DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited
                        ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
                DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
                        RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
                        MaxPayload 128 bytes, MaxReadReq 128 bytes
                DevSta: CorrErr+ UncorrErr+ FatalErr- UnsuppReq+ AuxPwr- TransPend-
                LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 <4us, L1 <64us
                        ClockPM+ Surprise- LLActRep- BwNot-
                LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes Disabled- Retrain- CommClk+
                        ExtSynch- ClockPM+ AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
        Capabilities: [100 v1] Advanced Error Reporting
                UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq+ ACSViol-
                UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
                CESta:  RxErr+ BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
                CEMsk:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
                AERCap: First Error Pointer: 14, GenCap+ CGenEn- ChkCap+ ChkEn-
        Capabilities: [13c v1] Virtual Channel
                Caps:   LPEVC=0 RefClk=100ns PATEntryBits=1
                Arb:    Fixed- WRR32- WRR64- WRR128-
                Ctrl:   ArbSelect=Fixed
                Status: InProgress-
                VC0:    Caps:   PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
                        Arb:    Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
                        Ctrl:   Enable+ ID=0 ArbSelect=Fixed TC/VC=01
                        Status: NegoPending- InProgress-
        Capabilities: [160 v1] Device Serial Number cd-82-00-ff-ff-7a-00-21
        Capabilities: [16c v1] Power Budgeting <?>
        Kernel driver in use: wl

CC: (none) => molch.b

Wolfgang Bornath 2013-01-22 13:35:29 CET

Whiteboard: (none) => 3beta2

Comment 2 Sander Lepik 2013-01-22 13:38:03 CET
Can you try this please: https://bugs.mageia.org/show_bug.cgi?id=7828#c14

CC: (none) => sander.lepik
Whiteboard: 3beta2 => (none)

Sander Lepik 2013-01-22 13:39:00 CET

Whiteboard: (none) => 3beta2

claire robinson 2013-01-22 13:47:49 CET

CC: (none) => eeeemail, ennael1, tmb

Comment 3 Wolfgang Bornath 2013-01-22 14:01:52 CET
Tried this but not possible. 
 - networkcenter tries to load 'wl' although it's blacklisted and keeps telling me that it is not possible to find a networkinterface for this driver.
 - apart from this we are talking about different wifi chips.
Comment 4 Sander Lepik 2013-01-22 14:07:43 CET
If i removed wl module and loaded bcma then i saw a new interface named wlan0 or something (i clicked on the net_applet icon after removing unneeded modules, not before) in networkcenter and it listed all the APs. I configured my AP and restarted network service. With the other device i had the same wl message.
Comment 5 Wolfgang Bornath 2013-01-22 14:19:20 CET
Ah, ok. Here in the list of wifi networks I see first the correct chip (Broadcom 4312) and then I see 'eth0' which I never checked. Opening that one I see some networks available but not mine!

I went next door to a friend who runs one of those networks listed and he was able to connect my machine to his metwork!

So, to summarize:
 - My ethernet connection runs on 'eth1' (it was the system's decision, not mine)
 - My wifi runs under 'eth0' and connects nicely to the network next door (given the proper password) but does not see mine which is less than 1m away and runs full signal with my other laptop.

So I have to find out why my wifi chip does not "see" my network but others.

Weird.
Comment 6 Wolfgang Bornath 2013-01-22 14:20:47 CET
Needless to say that after I blacklisted wl and loaded bcma I removed all existing networks and started from zero.
Comment 7 Wolfgang Bornath 2013-01-22 14:30:40 CET
Now I rebooted again and all of a sudden I have:
 - eth0 = ethernet connection via cable, currently not connected
 - no device name = Wifi via Broadcom BCM4312. not connected
 - eth1 = wifi via "eth1", showing several networks, not mine.
Comment 8 Sander Lepik 2013-01-22 14:40:11 CET
On what channel is your router running? Using channels above 11 might cause such problems.
Comment 9 Thomas Backlund 2013-01-22 14:51:31 CET
Created attachment 3421 [details]
drop broadcom-wl reference from drakx-net


Can you try to:

1. remove all configured wireless connections
2. apply this patch with:

patch -p0 <drakx-net-wl.diff

It will drop another reference to broadcom-wl from the drakx-net tool

3. try to reconfigure wireless
Comment 10 Wolfgang Bornath 2013-01-22 17:32:04 CET
1. removed all connections (eth0. Broadcom, eth1)

2. Rebooted

3. Applied the patch - did not work because there was no wireless.pm.orig, applied the changees in wireless.pm, which was easy, only removed a couple of lines.

4. Rebooted

5. Nothing changed. I still see
 - one ethernet connection, not connected
 - one wifi connection "Broadcom BCM4312", not configured
 - one wifi connection "eth1" showing several networks but not mine

Weird is that the working laptop's wifi connection also shows no available networks but showed them during install.

There is something weird in the complete setup- Maybe it's only "new" but "weird" nevertheless :)
Comment 11 Wolfgang Bornath 2013-01-22 17:48:24 CET
Argh, rebooted and now wifi is on eth0 and ethernet is on eth1. 

I'm looking forward to Fosdem when I will give the netbook to the Mageia booth and pick it up Sunday, hearing the explanation of what was wrong. :)
Comment 12 Wolfgang Bornath 2013-01-22 17:49:47 CET
(In reply to comment #8)
> On what channel is your router running? Using channels above 11 might cause
> such problems.

I don't know but it should run on <=11.
Comment 13 Frank Griffin 2013-01-22 17:53:44 CET
Just a nit, but is your urpmi configured to use the repos in the install ISO or a network repo ?  

If a network repo, can you retry using the wl driver with your ethernet interface connected ?  It seems that in most of the comments, you have no network connectivity at all, which would prevent drakconnect from being able to obtain firmware.

If the ISO, is it one that is supposed to have firmware on it ?

It seems to me that either drakconnect is correctly trying to use wl for your chip, but can't get the needed firmware, or else it's incorrectly trying to use wl when it should be using bcma.

No clue about your router versus the neighbor's.

Also, can you try the following.  Allow the interface to be defined to use wl (sounds like it already is), reboot, rmmod wl (or broadcom-wl or whatever), insmod bcma, and *then* check the list of APs you can see.  If it includes yours, then you probably should be using bcma and drakconnect needs to be fixed to use that for your chip.
Comment 14 Christiaan Welvaart 2013-01-22 18:00:01 CET
Re: comment #11 if this is in mga3beta/cauldron you can fix the interface
naming by listing eth0 and eth1 with their MAC addresses in
/etc/udev/rules.d/70-persistent-net.rules (check mga2 for the format) - this
file should be updated automatically at boot time but that feature has been
broken in cauldron since some systemd (udev) update.

CC: (none) => cjw

Comment 15 Frank Griffin 2013-01-22 18:00:35 CET
(In reply to comment #11)
> Argh, rebooted and now wifi is on eth0 and ethernet is on eth1. 
> 

Some broadcom drivers use ethX, and some use wlanX like everyone else.  The problem with using ethX is that it causes a race condition if the drivers are allowed to decide which ethX they're going to use.

IIRC, this happened years ago in either MGA or MDV, and at the time the resolution was to change some udev rules to hardwire eth0 to a wired interface, but I forget the specifics.

It sounds like the deciding factor might be that your ethernet is unplugged, and that delays the driver being able to grab eth0 for it.
Comment 16 Frank Griffin 2013-01-22 18:03:58 CET
(Mid-air collision with Christiaan)

Now I remember :-)

CC: (none) => ftg

Comment 17 Frank Griffin 2013-01-22 18:22:05 CET
FWIW, I'm doing a fresh install at the moment on a laptop which uses a BCM4313, and the installer fails to activate the wireless, which is expected, but the tty3 messages indicate that it thinks it should be using wl.  So I may be able to test this here once the install is complete.
Comment 18 Wolfgang Bornath 2013-01-22 18:29:32 CET
(In reply to comment #13)
Well, Frank, to say it simple: every single point of your comment has been
checked, done and reported here.

I admit, I only mentioned in the qa-discuss mailinglist that I tried all kinds
of situations, online with media set, offline with install media only, offline
with LiveCD, etc. Every time I receive the message that there the system is not
able to use the wl driver on this interface. 

That's why Sander in comment #2 and following and why Thomas attached a patch
for drakxnet, see comments #9 and #10.

@Christiaan:
Frank gave the explanation for that and I remember as well to have that here as
well when I switched from ethernet to wifi and came back and forgot to
reconnect the cable.

Well, we'll see how it goes with Frank and his 4313. But I remember reading posts where people had different results depending on the chip, whether it was 4213 or 4313 or whatever.
Comment 19 Frank Griffin 2013-01-22 18:52:03 CET
Wolfgang, in comments 5-7 it's not clear which driver was in control when you could see all networks except your own.  In comment#7, rebooting would have put you back on wl, and comment#6 indicates that under bcma eth0 showed all but yours.

Do you not see your network with *either* of wl or bcma ?  That was the reason for the last paragraph of my comment, to find out whether bcma actually works for you or not.
Comment 20 Wolfgang Bornath 2013-01-23 09:06:27 CET
(In reply to comment #19)
> Do you not see your network with *either* of wl or bcma ?  That was the reason
> for the last paragraph of my comment, to find out whether bcma actually works
> for you or not.

Whichever driver, the system never "saw" my network, while both drivers saw other networks and my friend's network always worked, no matter which kind of setup was on.
Comment 21 Sander Lepik 2013-01-23 09:38:41 CET
Check your router settings please. It might be the channel, maybe it's set to auto.
Comment 22 Wolfgang Bornath 2013-01-23 11:49:49 CET
Checked this morning by 'iwlist scanning'. The result was weird:

The laptop with Atheros chip returns several networks on different channels, my network working on channel 13 ! 
The netbook with Broadcom chip returns networks on channels 2 and 3 but not mine. 

Both wifi settings show "DE" as country setting.

BTW: The laptop does not show my network in the list of available networks but it connects to it and works.

Both machines have MGA3Beta2 as of Monday installed, so it's the same software versions. 

What I do not understand is that the netbook has been working in MGA1 & MGA2 nicely with the same router/AP, so nothing has changed on the hardware side for at least 1.5 years.
Comment 23 Sander Lepik 2013-01-23 11:58:08 CET
Is 13 your manual selection or is it set to auto? If it's auto your router will change it automatically. And 13 is causing problems for some drivers. I remember having problems with my own broadcom chip which did not see 13th channel.
Comment 24 Thomas Backlund 2013-01-23 12:12:41 CET
Is channel 13 allowed in Germany ?

I know the opensource drivers follows the official registry database, so they would not work if its not allowed...

the broadcom-wl driver may be configured for "world" so if would allow all ranges from 1-13

/me just guessing right now.
Comment 25 Wolfgang Bornath 2013-01-23 12:26:26 CET
I just reset the router but it turned on with the same channels.

The fact that my network runs on channel 13 proves that it must be allowed (router was provided by a German cable provider, they could not hand it out with a routine setting which is not allowed). The working laptop setting is on region "DE" and still works on channel 13.

OTOH I just read in a German article about channels that most German wifi networks are running on channel 13 because it's the default setting of the suppliers.

Ok, so I will have to dig into my pile of paperwork to find my login data for the dlink router - I set it up once 2 yeats ago and never looked back. :(
Comment 26 Thomas Backlund 2013-01-23 12:39:41 CET
Yep, 
I just checked the wireless-regdb, and it "clearly" states channel 13 is allowed:

country DE: DFS-ETSI
        # entries 279004 and 280006
        (2400 - 2483.5 @ 40), (N/A, 100 mW)
        # entry 303005
        (5150 - 5250 @ 40), (N/A, 100 mW), NO-OUTDOOR
        # entries 304002 and 305002
        (5250 - 5350 @ 40), (N/A, 100 mW), NO-OUTDOOR, DFS
        # entries 308002, 309001 and 310003
        (5470 - 5725 @ 40), (N/A, 500 mW), DFS
        # 60 gHz band channels 1-4, ref: Etsi En 302 567
        (57240 - 65880 @ 2160), (N/A, 40), NO-OUTDOOR


and channel 13 is at 2472, so well in range and full channel width ok.

So the weirdness comes from something else...
Comment 27 Wolfgang Bornath 2013-01-23 13:12:02 CET
Yes, as it used to be on channel 13 for as long as this netbook exists with MGA1 and MGA2.

But actually it was really the channel issue! I found my setup notes, logged into the dlink setup and it showed "auto" which resulted in channel 13 for my network, as Sander Lepik assumed.

I set the router to channel 6, reopened wifi setup of eth0 (the wifi network) and there it wasm MY NETWORK!

Works now!


So, to summarise:

From the calendar I remember that end of working wifi in MGA2 and MGA3 was the same time as a kernel update. This makes me wonder if the kernel caused this change.

Anyhow, works now, so I assume that the Broadcom driver could not work with channel 13. Right now iwlist shows my network on channel 4 while the Atheros chip in my laptop shows my network on channel 2 and the router is set to channel 6. :)

lspci says the Broadcom chip is using the 'wl' driver although I removed it, entered it into the skip list and blacklist and also applied the patch for drakxnet, provided during this bug report.
Comment 28 Wolfgang Bornath 2013-01-23 13:31:56 CET
Tested after all updates done, checked after reboot and how it wakes up after suspend2ram: working nicely.

So I assume I can close this bug report as resolved - until next ISOs are up for tests!

Status: NEW => RESOLVED
Resolution: (none) => FIXED