Bug 328451

Summary: No hardware support for Broadcom BCM94311MCG wlan mini-PCI on Dell Inspiron 1520
Product: [Fedora] Fedora Reporter: Răzvan Sandu <rsandu2004>
Component: kernelAssignee: John W. Linville <linville>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: rawhideCC: cebbert, davej
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: x86_64   
OS: Linux   
URL: http://www.linlap.com/wiki/Dell+Inspiron+1520
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-10-29 12:50:16 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 336981, 337001    
Bug Blocks: 190317, 373961    

Description Răzvan Sandu 2007-10-11 20:40:00 UTC
Description of problem:
There is no hardware support for the Broadcom BCM94311MCG wlan mini-PCI on Dell
Inspiron 1520 - wireless interface doesn't work at all.

System is Fedora 7.92 + online updates as of October 11, 2007.

Here is the full smolt profile for the Dell Inspiron 1520:

http://smolt.fedoraproject.org/show?UUID=28caf2c3-9766-4fe1-9e4c-d6b0ba8a0132

and here is a more human-readable review, with hardware details taken from
Windows XP:

http://forum.notebookreview.com/showthread.php?t=152717

Here is the full output of /sbin/lspci -vv:

0c:00.0 Network controller: Broadcom Corporation BCM94311MCG wlan mini-PCI (rev 01)
        Subsystem: Dell Unknown device 0007
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR+ FastB2B-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
        Latency: 0, Cache Line Size: 64 bytes
        Interrupt: pin A routed to IRQ 17
        Region 0: Memory at f9ffc000 (32-bit, non-prefetchable) [size=16K]
        Capabilities: [40] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=2 PME-
        Capabilities: [58] Message Signalled Interrupts: Mask- 64bit- Queue=0/0
Enable-
                Address: 00000000  Data: 0000
        Capabilities: [d0] Express Legacy Endpoint IRQ 0
                Device: Supported: MaxPayload 128 bytes, PhantFunc 0, ExtTag+
                Device: Latency L0s <4us, L1 unlimited
                Device: AtnBtn- AtnInd- PwrInd-
                Device: Errors: Correctable- Non-Fatal- Fatal- Unsupported-
                Device: RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
                Device: MaxPayload 128 bytes, MaxReadReq 128 bytes
                Link: Supported Speed 2.5Gb/s, Width x1, ASPM L0s, Port 0
                Link: Latency L0s <4us, L1 <64us
                Link: ASPM L0s Enabled RCB 64 bytes CommClk+ ExtSynch-
                Link: Speed 2.5Gb/s, Width x1
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [13c] Virtual Channel


Version-Release number of selected component (if applicable):
kernel-2.6.23-5.fc8


How reproducible:
Always.

Steps to Reproduce:
1.Install Fedora 7.92
2.Perform online updates
3.Integrated wireless adapter is neither functional nor visible. 
  
Actual results:
Wireless adapter doesn't work at all; it doesn't show up in NetworkManager.

Expected results:
The wireless adapter must show up and must be configurable with the regular
userspace utilities.

Additional info:
http://www.broadcom.com/collateral/pb/94311-PB01-R.pdf

Comment 1 Răzvan Sandu 2007-10-11 20:45:29 UTC
Here is some support from Dell:

http://linux.dell.com/wiki/index.php/Repository/firmware



Comment 2 Chuck Ebbert 2007-10-11 21:50:12 UTC
This is probably a revision D PHY, which has no native Linux driver anywhere for
it, not even early code for testing. Please post the output of this command
after making sure the b43 driver is loaded:

         cat /sys/bus/ssb/devices/ssb0\:0/uevent



Comment 3 Răzvan Sandu 2007-10-12 04:05:01 UTC
Hello,

I'm not very sure I've understood your instructions, but I'll try to manage ;-)

Here it is what I did:

1. modprobe b43 - went with no errors;

2. Here is the full output of /sbin/lsmod after 1.

[root@mazarin ~]# lsmod
Module                  Size  Used by
nls_utf8               10433  1 
rfcomm                 51321  0 
l2cap                  36689  9 rfcomm
autofs4                29153  2 
sunrpc                172841  1 
ipv6                  310185  26 
cpufreq_ondemand       15953  1 
acpi_cpufreq           17105  1 
dm_mirror              28121  0 
dm_multipath           25049  0 
dm_mod                 59729  2 dm_mirror,dm_multipath
arc4                   10561  2 
snd_hda_intel         338756  1 
ecb                    11585  2 
snd_seq_dummy          11589  0 
blkcipher              14021  1 ecb
rc80211_simple         12352  1 
snd_seq_oss            37841  0 
snd_seq_midi_event     15305  1 snd_seq_oss
snd_seq                58057  5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
snd_seq_device         15453  3 snd_seq_dummy,snd_seq_oss,snd_seq
b43                   148777  0 
snd_pcm_oss            47969  0 
mac80211              149641  2 rc80211_simple,b43
firewire_ohci          24393  0 
firewire_core          47369  1 firewire_ohci
cfg80211               16737  1 mac80211
b44                    34521  0 
mii                    13249  1 b44
snd_mixer_oss          22857  1 snd_pcm_oss
sdhci                  25173  0 
i2c_i801               17757  0 
mmc_core               37457  1 sdhci
ssb                    39509  2 b43,b44
crc_itu_t              10561  1 firewire_core
i2c_core               30033  1 i2c_i801
hci_usb                23949  2 
snd_pcm                81777  2 snd_hda_intel,snd_pcm_oss
battery                20313  0 
snd_timer              28513  2 snd_seq,snd_pcm
button                 16097  0 
bluetooth              66693  7 rfcomm,l2cap,hci_usb
video                  27605  0 
snd                    61481  10
snd_hda_intel,snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer
soundcore              15329  1 snd
snd_page_alloc         16721  2 snd_hda_intel,snd_pcm
ac                     13513  0 
output                 12225  1 video
joydev                 17729  0 
sg                     40945  0 
sr_mod                 23909  1 
cdrom                  40809  1 sr_mod
ata_generic            14789  0 
ata_piix               24517  5 
libata                114929  2 ata_generic,ata_piix
sd_mod                 34113  5 
scsi_mod              148121  4 sg,sr_mod,libata,sd_mod
ext3                  127737  2 
jbd                    66129  1 ext3
mbcache                16193  1 ext3
uhci_hcd               31209  0 
ohci_hcd               28493  0 
ehci_hcd               39765  0 

3. Now here is the ouptput of the command you've asked for:

cat /sys/bus/ssb/devices/ssb0\:0/uevent
DRIVER=b43
PHYSDEVBUS=ssb
PHYSDEVDRIVER=b43
MODALIAS=ssb:v4243id0812rev0A

Thanks a lot,
Răzvan


Comment 4 John W. Linville 2007-10-12 13:54:08 UTC
I don't think the link in comment 1 is helpful.

Instead:

   yum install b43-fwcutter
   wget http://downloads.openwrt.org/sources/broadcom-wl-4.80.53.0.tar.bz2
   tar -xjf broadcom-wl-4.80.53.0.tar.bz2
   b43-fwcutter -w /lib/firmware broadcom-wl-4.80.53.0/kmod/wl_apsta.o

   modprobe -r b43 ; modprobe b43

Does this improve the situation?

Comment 5 Răzvan Sandu 2007-10-12 14:25:35 UTC
The commands above went with no errors, but nothing seems to happen.

I can't test it here, in my office, since is no WLAN available.

However:

1. Performing an "ifconfig wlan0 up" after the commands you gave me shows u
p:

wlan0     Link encap:Ethernet  HWaddr 00:1C:26:54:9E:86  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

wmaster0  Link encap:UNSPEC  HWaddr
00-1C-26-54-9E-86-00-00-00-00-00-00-00-00-00-00  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

2. No new wireless hardware/device shows up in NetworkManager.

3. When manually launched from a terminal, wlassistant 0.5.7 presents an empty
window and says in background:

kbuildsycoca running...
Loaded application options.
All interfaces: eth0, wlan0, wmaster0
Wireless interface(s): wlan0
Permissions checked.
DHCP Client: dhclient
All executables found.
scan: /sbin/iwlist wlan0 scan
No networks found!
Auto connection failed: no available configured networks found.
Application options saved.
Kernel socket closed.

4. Upon me, it seems to work - I'll test it at home, where I have a wireless
access point already configured. However, what is the canonical way to launch
this adapter at startup, if nothing is "seen" by Network Manager ?


Thanks a lot,
Răzvan


Comment 6 John W. Linville 2007-10-12 17:36:59 UTC
Does NetworkManager find the wireless device after rebooting?

Comment 7 Răzvan Sandu 2007-10-12 19:20:46 UTC
Hello again,

Good news !

I can confirm that the wireless connection 100% works with the solution provided
in comment #4. The wireless acces point is a D-Link DWL-G700AP, BTW. Works
great, speed performance is very good.

Now the connection is not automatic.

The wireless device doesn't show up in NetworkManager, not even when it actually
works OK.

Starting from scratch (after a reboot):

If I do a simple "ifconfig wlan0 up", the device wlan0 starts, but it gets no
network parameters (IP address, etc.).

So I have to launch X (my laptop runs in default runlevel 3) and manually invoke
wlassistant, which immediately finds the wireless network and configures the
access to it. IP parameters come through DHCP. It remains so until next reboot.

What I really need is automatic startup at system boot, even in text mode,
initscripts, etc.

Could you *please* include this in the official Fedora kernel, to become
standard feature ?

Thanks A LOT !
Răzvan


Comment 8 John W. Linville 2007-10-12 20:06:14 UTC
Did you configure NetworkManager to start automatically?

   chkconfig NetworkManager on

You will also need to start it unless you reboot:

   service NetworkManager start

Comment 9 Răzvan Sandu 2007-10-14 07:09:02 UTC
Hello,

Yes, you're right - sorry, Network Manager and wpa_suplicant were turned off. I
enabled them in ntsysv and now the interface wlan0 starts automagically at boot.

However, it doesn't show up in system-config-network (System -> Administration
-> Network), neither on Hardware tab nor in Devices tab.

Regards,
Razvan


Comment 10 Răzvan Sandu 2007-10-17 20:05:15 UTC
Sorry, I'll reopen this for two causes:

1. The wireless interface still doesn't show up in System -> Administration ->
Network (NetworkManager *is* started at boot, in ntsysv)

2. Even with the "manual connection procedure" described above (with
wlassistant), wireless connection cannot be started because a missing file (?!)
in /etc/wpa_supplicant ...

wpa_supplicant *does not* start at boot...

Regards and many thanks,
Răzvan

Comment 11 John W. Linville 2007-10-17 20:54:06 UTC
Please open individual bugs for those issues.

Comment 12 Răzvan Sandu 2007-10-27 02:07:11 UTC
Hello,

I'll reopen this one more time, since:

- I was able to identify exactly the original drivers used by the *actual Dell
Inspiron 1520*;

- There are still very annoying issues about the Wi-Fi interface not showing up
in Network Manager, not starting at boot, etc. (please see bug #336981).


These are the correct drivers at Dell's site (Windows autoextracting archives):

1. The newest, for Windows Vista, outside US or Japan
http://ftp.us.dell.com/network/R151520.exe
Details at
http://support.dell.com/support/downloads/download.aspx?c=us&cs=555&l=en&s=biz&releaseid=R151520&SystemID=INS_PNT_PM_1520&servicetag=9BB153J&os=WLH&osl=en&deviceid=9805&devlib=0&typecnt=0&vercnt=3&catid=-1&impid=-1&formatcnt=1&libid=5&fileid=202821

2. For Windows XP, outside US or Japan
http://ftp.us.dell.com/network/R151519.EXE
Details at
http://support.dell.com/support/downloads/download.aspx?c=us&cs=555&l=en&s=biz&releaseid=R151519&SystemID=INS_PNT_PM_1520&servicetag=9BB153J&os=WW1&osl=en&deviceid=9805&devlib=0&typecnt=0&vercnt=3&catid=-1&impid=-1&formatcnt=1&libid=5&fileid=202138

After extracting files, a R1515xx/DRIVER subfolder is created. Inside it, there
are two files, "bcmwl5.sys" and "bcmwl564.sys" that are recognised by
bcm43xx-fwcutter as containing version 4.x firmware.

Here's the output for R151519's bcmwl5.sys:

# bcm43xx-fwcutter -i bcmwl5.sys
*** WARNING ***
This file contains new version4 
firmware. v4 firmware is _not_ supported by 
the driver in mainline kernels. For v4 firmware 
you need latest bcm43xx development version 
(wireless-dev kernel tree). If you don't know what 
this warning is about, use a 3.xx.xx.xx driver version 
instead to extract the firmware.

  filename   :  bcmwl5.sys
  version    :  4.100.15.5
  MD5        :  b89bcf0a25aeb3b47030ac83287f894a
  microcodes :  4 5 11 13 
  pcms       :  4 5 

  microcode  :  4
  revision   :  0x0173
  patchlevel :  0x0425
  date       :  2006-10-04
  time       :  21:02:04

  microcode  :  5
  revision   :  0x0173
  patchlevel :  0x0425
  date       :  2006-10-04
  time       :  21:02:04

  microcode  :  11
  revision   :  0x0173
  patchlevel :  0x0425
  date       :  2006-10-04
  time       :  21:02:04

  microcode  :  13
  revision   :  0x0173
  patchlevel :  0x0425
  date       :  2006-10-04
  time       :  21:02:04

and this is for R151519's bcmwl564.sys:

# bcm43xx-fwcutter -i bcmwl564.sys
*** WARNING ***
This file contains new version4 
firmware. v4 firmware is _not_ supported by 
the driver in mainline kernels. For v4 firmware 
you need latest bcm43xx development version 
(wireless-dev kernel tree). If you don't know what 
this warning is about, use a 3.xx.xx.xx driver version 
instead to extract the firmware.

  filename   :  bcmwl564.sys
  version    :  4.100.15.5
  MD5        :  feaf7ec9f38a37945b6fb169617ec859
  microcodes :  4 5 11 13 
  pcms       :  4 5 

  microcode  :  4
  revision   :  0x0173
  patchlevel :  0x0425
  date       :  2006-10-04
  time       :  21:02:04

  microcode  :  5
  revision   :  0x0173
  patchlevel :  0x0425
  date       :  2006-10-04
  time       :  21:02:04

  microcode  :  11
  revision   :  0x0173
  patchlevel :  0x0425
  date       :  2006-10-04
  time       :  21:02:04

  microcode  :  13
  revision   :  0x0173
  patchlevel :  0x0425
  date       :  2006-10-04
  time       :  21:02:04

Hope it helps !


Regards,
Razvan

Comment 13 John W. Linville 2007-10-29 12:50:16 UTC
I don't see how the last comment is relevant at all.

FWIW, you should not be using bcm43xx-fwcutter, but the newer b43-fwcutter 
instead.  Second, you should only be using the firmware as indicated 
under "Version 4 firmware" here:

   http://linuxwireless.org/en/users/Drivers/bcm43xx#devicefirmware

In comment 7, we established that with the correct firmware installed your 
device works fine.  Please stop reopening this bug.