Setting up wireless with ndiswrapper

To enable wireless on the Dell Inspiron 1501 and other laptops using Broadcom drivers ndiswapper is needed to use the Windows drivers for the card as no documentation for the card is provided stopping people from writing open drivers. There is an open source Linux driver which loads proprietary firmware but this is much less efficent than the ndiswrapper method so I do not recommend this method. This tutorial will work for both 64bit openSUSE and 32bit.

In order to install ndiswrapper you first need a root terminal, you can get this by opening a terminal and typing in su. You will need an Internet connection for this tutorial so try connecting to your router via an Ethernet cable.

Then to download and install the packages type this in:

zypper in ndiswrapper ndiswrapper-kmp-default

You then need to download the the Windows driver the unzip it (this should take about 3 minutes).

cd /tmp
wget ftp://ftp.us.dell.com/network/R151517.EXE

unzip R151517.EXE

Now move the drivers into a hidden folder in you home directory:

mv DRIVER ~/.drivers
cd ~/drivers

You can now install the drivers with ndiswrapper:

ndiswrapper -i bcmwl5.inf
ndiswrapper -ma
ndiswrapper -mi

Now blacklist the broken drivers installed by default:

echo blacklist ssb >> /etc/modprobe.d/ndiswrapper
echo blacklist b43 >> /etc/modprobe.d/ndiswrapper

Once you reboot you will be able to connect to your wireless network. If this does not work please comment and I will try to help figure it out.

24 comments so far

  1. Dogcatcher on

    A BIG thank-you for posting this easy solution to one of SuSE’s most obvious shortcomings.

    The best compliment I can give you is: It works!

  2. tomdwright on

    Thank you for commenting 🙂
    I will try and add some more general tutorials soon

  3. gimli-of-gloin on

    It didn’t work for me.

    I’m trying to use a Broadcom BMC 4310 on in Acer Extensa 5220 with Open Suse 10.2.

    I followed your instructions, only that I took bcmwl5.inf from a CD that was distributed with my notebook. Was that wrong?

    “Now move the drivers into a hidden folder in you home directory”
    Do you mean, as I assumed, ‘/root/.drivers’, since I, according to your instructions, was doing this all as roots, or should I have created ‘.drivers’ in the home directory of a normal user? Does it make a difference.

    Still after doing it all (and rebooting) wlan doesn’t work. The device is detected by lspci but if I run iwconfig it is not shown.

    dmesgr gives me
    “ndiswrapper version 1.25 loaded (preempt=no,smp=yes)
    usbcore: registered new driver ndiswrapper”

    the card or wlan isn’t mentioned.

    Any ideas what I can do next?

    Thank you.

  4. tomdwright on

    Hi,
    for openSUSE 10.2 you may need to blacklist a different driver as b43 has only been included recently; you can do so with the command:

    su -c ‘echo blacklist bcm43xx >> /etc/modprobe.d/ndiswrapper’

    It doesn’t matter where you put the driver really as ndiswrapper runs as root and can access anywhere. Putting it in the users home directory is useful if you have a separate home directory or only back up the home directory so you won’t have to download it again, but it is not really advisable if you have multiple users.
    If it still doesn’t work can you post the outpost of the command:

    su -c ‘ndiswrapper -l’

  5. gimli-of-gloin on

    Thank you for bearing along with me. It still doesn*t work.

    # ndiswrapper -l
    installed drivers:
    bcmwl5 driver installed (alternate driver: ndiswrapper)

    What should I make of that?

  6. jvel777 on

    Hello. I also followed the instructions provided and have spent all day trying to get this working but no luck. I have a Dell Inspiron running a fresh copy of suse 11.0.

    I will go ahead and post the following information: ndiswrapper -l, hwinfo –wlan, hwinfo –network, lspci.

    All help is certainly greatly appreciated.

    drumix:~ # ndiswrapper -l
    bcmwl5 : driver installed
    device (14E4:4311) present (alternate driver: ssb)

    drumix:~ # hwinfo –wlan
    04: PCI 500.0: 0282 WLAN controller
    [Created at pci.310]
    UDI: /org/freedesktop/Hal/devices/pci_14e4_4311
    Unique ID: y9sn.CvS0RaMGsb1
    Parent ID: H0_h.0XeE0ctGI+6
    SysFS ID: /devices/pci0000:00/0000:00:06.0/0000:05:00.0
    SysFS BusID: 0000:05:00.0
    Hardware Class: network
    Model: “Broadcom BCM94311MCG wlan mini-PCI”
    Vendor: pci 0x14e4 “Broadcom”
    Device: pci 0x4311 “BCM94311MCG wlan mini-PCI”
    SubVendor: pci 0x1028 “Dell”
    SubDevice: pci 0x0007
    Revision: 0x01
    Driver: “ndiswrapper”
    Driver Modules: “ndiswrapper”, “ndiswrapper”
    Device File: wlan0
    Features: WLAN
    Memory Range: 0xc0200000-0xc0203fff (rw,non-prefetchable)
    IRQ: 18 (no events)
    HW Address: 00:1a:92:7f:6f:57
    Link detected: no
    WLAN channels: 1 2 3 4 5 6 7 8 9 10 11 12 13 14
    WLAN frequencies: 2.412 2.417 2.422 2.427 2.432 2.437 2.442 2.447 2.452 2.457 2.462 2.467 2.472 2.484
    WLAN bitrates: 6 9 12 18
    WLAN encryption modes: WEP40 WEP104 TKIP CCMP
    WLAN authentication modes: open sharedkey wpa-psk wpa-eap
    Module Alias: “pci:v000014E4d00004311sv00001028sd00000007bc02sc80i00”
    Driver Info #0:
    Driver Status: ssb is active
    Driver Activation Cmd: “modprobe ssb”
    Config Status: cfg=no, avail=yes, need=no, active=unknown
    Attached to: #22 (PCI bridge)
    drumix:~ #

    drumix:~ # hwinfo –wlan
    04: PCI 500.0: 0282 WLAN controller
    [Created at pci.310]
    UDI: /org/freedesktop/Hal/devices/pci_14e4_4311
    Unique ID: y9sn.CvS0RaMGsb1
    Parent ID: H0_h.0XeE0ctGI+6
    SysFS ID: /devices/pci0000:00/0000:00:06.0/0000:05:00.0
    SysFS BusID: 0000:05:00.0
    Hardware Class: network
    Model: “Broadcom BCM94311MCG wlan mini-PCI”
    Vendor: pci 0x14e4 “Broadcom”
    Device: pci 0x4311 “BCM94311MCG wlan mini-PCI”
    SubVendor: pci 0x1028 “Dell”
    SubDevice: pci 0x0007
    Revision: 0x01
    Driver: “ndiswrapper”
    Driver Modules: “ndiswrapper”, “ndiswrapper”
    Device File: wlan0
    Features: WLAN
    Memory Range: 0xc0200000-0xc0203fff (rw,non-prefetchable)
    IRQ: 18 (no events)
    HW Address: 00:1a:92:7f:6f:57
    Link detected: no
    WLAN channels: 1 2 3 4 5 6 7 8 9 10 11 12 13 14
    WLAN frequencies: 2.412 2.417 2.422 2.427 2.432 2.437 2.442 2.447 2.452 2.457 2.462 2.467 2.472 2.484
    WLAN bitrates: 6 9 12 18
    WLAN encryption modes: WEP40 WEP104 TKIP CCMP
    WLAN authentication modes: open sharedkey wpa-psk wpa-eap
    Module Alias: “pci:v000014E4d00004311sv00001028sd00000007bc02sc80i00”
    Driver Info #0:
    Driver Status: ssb is active
    Driver Activation Cmd: “modprobe ssb”
    Config Status: cfg=no, avail=yes, need=no, active=unknown
    Attached to: #22 (PCI bridge)
    drumix:~ # hwinfo –network
    32: None 00.0: 10701 Ethernet
    [Created at net.124]
    Unique ID: usDW.ndpeucax6V1
    Parent ID: rBUF.HQwXbECfpC4
    SysFS ID: /class/net/eth0
    SysFS Device Link: /devices/pci0000:00/0000:00:14.4/0000:08:00.0/ssb0:0
    Hardware Class: network interface
    Model: “Ethernet network interface”
    Driver: “b44”
    Driver Modules: “ssb”, “b44”
    Device File: eth0
    HW Address: 00:19:b9:59:59:5c
    Link detected: yes
    Config Status: cfg=no, avail=yes, need=no, active=unknown
    Attached to: #3 (Ethernet controller)

    33: None 00.0: 1070a WLAN
    [Created at net.124]
    Unique ID: AYEt.QXn1l67RSa1
    Parent ID: y9sn.AUabv0M9SM3
    SysFS ID: /class/net/wlan0
    SysFS Device Link: /devices/pci0000:00/0000:00:06.0/0000:05:00.0
    Hardware Class: network interface
    Model: “WLAN network interface”
    Driver: “ndiswrapper”
    Driver Modules: “ndiswrapper”, “ndiswrapper”
    Device File: wlan0
    HW Address: 00:1a:92:7f:6f:57
    Link detected: no
    Config Status: cfg=no, avail=yes, need=no, active=unknown
    Attached to: #4 (Network controller)

    34: None 00.0: 10700 Loopback
    [Created at net.124]
    Unique ID: ZsBS.GQNx7L4uPNA
    SysFS ID: /class/net/lo
    Hardware Class: network interface
    Model: “Loopback network interface”
    Device File: lo
    Link detected: yes
    Config Status: cfg=no, avail=yes, need=no, active=unknown
    drumix:~ #

    drumix:~ # lspci
    00:00.0 Host bridge: ATI Technologies Inc RS480 Host Bridge (rev 10)
    00:01.0 PCI bridge: ATI Technologies Inc RS480 PCI Bridge
    00:05.0 PCI bridge: ATI Technologies Inc RS480 PCI Bridge
    00:06.0 PCI bridge: ATI Technologies Inc RS480 PCI Bridge
    00:12.0 SATA controller: ATI Technologies Inc SB600 Non-Raid-5 SATA
    00:13.0 USB Controller: ATI Technologies Inc SB600 USB (OHCI0)
    00:13.1 USB Controller: ATI Technologies Inc SB600 USB (OHCI1)
    00:13.2 USB Controller: ATI Technologies Inc SB600 USB (OHCI2)
    00:13.3 USB Controller: ATI Technologies Inc SB600 USB (OHCI3)
    00:13.4 USB Controller: ATI Technologies Inc SB600 USB (OHCI4)
    00:13.5 USB Controller: ATI Technologies Inc SB600 USB Controller (EHCI)
    00:14.0 SMBus: ATI Technologies Inc SBx00 SMBus Controller (rev 13)
    00:14.1 IDE interface: ATI Technologies Inc SB600 IDE
    00:14.2 Audio device: ATI Technologies Inc SBx00 Azalia
    00:14.3 ISA bridge: ATI Technologies Inc SB600 PCI to LPC Bridge
    00:14.4 PCI bridge: ATI Technologies Inc SBx00 PCI to PCI Bridge
    00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
    00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
    00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
    00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
    01:05.0 VGA compatible controller: ATI Technologies Inc RS485 [Radeon Xpress 1100 IGP]
    05:00.0 Network controller: Broadcom Corporation BCM94311MCG wlan mini-PCI (rev 01)
    08:00.0 Ethernet controller: Broadcom Corporation BCM4401-B0 100Base-TX (rev 02)
    08:01.0 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 19)
    08:01.1 System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev 01)
    drumix:~ #

  7. jvel777 on

    I also tried this but it didn’t work for me. I have opensuse 11.0, Dell 1501, wpa-psk tkip…

    I’ve done the blacklisting of ssb and b43. Also, the driver shows up as having ssb as the alternative. I’m not sure if the ndiswrapper handles wpa-psk correctly. I checked the logs of my cisco 1200 aironet and it keeps displaying the message that the client keeps disconnecting.

    I have toshiba satellite with ipw3945abg running opensuse 11.0 and it works fine with wpa-psk.

    Any ideas??

  8. tomdwright on

    Do you have the US or Japanese version of the Inspiron 1501, if so you may need a different version of the driver.

    gimli-of-gloin, could you try using the command

    ndiswrapper -R bcmwl5

    then try reinstalling the driver, it looks like something went wrong somehow

  9. gimli-of-gloin on

    Hello tomdwright,

    now I have reinstalled the driver, this time downloading from dell, but as far as I can see, it doesn’t make any difference.

    Following the example of jvel 777 I also looked up what hwinfo has to say about my card an wlan and came up with these snippets:
    83: udi = ‘/org/freedesktop/Hal/devices/pci_14e4_4315’
    pci.product = ‘BCM4310 USB Controller’
    pci.subsys_vendor = ‘Foxconn International, Inc.’
    linux.sysfs_path_device = ‘/sys/devices/pci0000:00/0000:00:1c.1/0000:04:00.0’
    info.bus = ‘pci’
    pci.device_protocol = 0 (0x0)
    info.udi = ‘/org/freedesktop/Hal/devices/pci_14e4_4315’
    pci.linux.sysfs_path = ‘/sys/devices/pci0000:00/0000:00:1c.1/0000:04:00.0’
    pci.subsys_product_id = 57347 (0xe003)
    linux.subsystem = ‘pci’
    info.vendor = ‘Broadcom Corporation’
    pci.product_id = 17173 (0x4315)
    pci.vendor = ‘Broadcom Corporation’
    info.product = ‘BCM4310 USB Controller’
    pci.subsys_product = ‘Unknown (0xe003)’
    linux.hotplug_type = 2 (0x2)
    linux.sysfs_path = ‘/sys/devices/pci0000:00/0000:00:1c.1/0000:04:00.0’
    pci.vendor_id = 5348 (0x14e4)
    info.parent = ‘/org/freedesktop/Hal/devices/pci_8086_2841’
    pci.subsys_vendor_id = 4187 (0x105b)
    pci.device_class = 2 (0x2)
    pci.device_subclass = 128 (0x80)

    32: PCI 400.0: 0280 Network controller
    [Created at pci.286]
    UDI: /org/freedesktop/Hal/devices/pci_14e4_4315
    Unique ID: YmUS.Ti8s+vnDGs5
    Parent ID: qTvu._Y5kuEY+GiC
    SysFS ID: /devices/pci0000:00/0000:00:1c.1/0000:04:00.0
    SysFS BusID: 0000:04:00.0
    Hardware Class: network
    Model: “Foxconn International BCM4310 USB Controller”
    Vendor: pci 0x14e4 “Broadcom”
    Device: pci 0x4315 “BCM4310 USB Controller”
    SubVendor: pci 0x105b “Foxconn International, Inc.”
    SubDevice: pci 0xe003
    Revision: 0x01
    Memory Range: 0xf8000000-0xf8003fff (rw,non-prefetchable)
    IRQ: 11 (no events)
    Module Alias: “pci:v000014E4d00004315sv0000105Bsd0000E003bc02sc80i00”
    Config Status: cfg=no, avail=yes, need=no, active=unknown
    Attached to: #20 (PCI bridge)

    wlan.1: detecting wlan features
    >> wlan.2: assign udi

    int.10: modem
    >> int.11: wlan
    >> int.12: udev
    —– udevinfo —–

    Then I saw that ndiswrapper wasn’t mentioned by dmesg after rebooting, and tried

    # modprobe ndiswrapper
    # dmesg |grep ndiswrapper

    ndiswrapper version 1.25 loaded (preempt=no,smp=yes)
    usbcore: registered new driver ndiswrapper

    wlan still didn’t work.

    I don’t know if any of this is helpfull. I’m just blundering around and guessing.

    Any more advice?

  10. Antimony on

    works just perfect. Thanks for this instruction

  11. Royner on

    All intructions execute very well, but I don’t know enable the wireless. I’m restart the laptop but not work.. My laptop is an Inspiron 1501 AMD Athlon x2 64 .

    Thaks for you help

  12. tomdwright on

    you could try checking if it works if you use the shortcut (fn f2)

    if not ask on the forums

  13. andy w on

    I’m having problems with this working w/ the 64bit install.
    a) do I specifically have to use the older 151517 drivers or can newer ones work
    b) when extracting the exe and using the DRIVER folder would it contain the 64 bit drivers and also distinguish using those instead of any 32 bit drivers in it?

  14. tomdwright on

    you don’t need to use the 64bit driver (or at least I didn’t). Also the newer driver should work fine.

  15. Jonnypark on

    Hello,

    I run an Inspiron 1501 with Jacklab, that is based on Opensuse 10.2

    The wifi card is not recognised and I don’t know how to fix it. I’ve tried all that is written down, but a lot of commands don’t work…

    Could you help me ?

  16. tomdwright on

    this tutorial will only work for openSUSE 11, for 10.2 you might have to compile ndiswrapper from source 😦 or use the bcm43xx driver (google it)

  17. Ve-P on

    Awesome! Worked like a charm!

  18. David on

    Hi things work well for me upto a point. The problem point seems to be. i run into th problem at

    “mv DRIVER ~/.drivers”

    now when i hit enter here i just get another prompt no problem right? but when i enter

    “cd ~/drivers”

    i get

    “bash: cd: /root/drivers: No such file or directory”

    so i tried making it but i get the same problem…w/e i thought ill just make the folder in my home directory and CD and continue from their so i try and i et a bit further. but now im stuck here. i enter

    “ndiswrapper -i bcmwl5.inf”

    but i get no file diretory error again….now i figured w/e ill just manually get the file out of temp place them in the directory and run the opearation problem is i already did that all the files are their but their is no “bcmwl5.inf” idk what to do any ideas?

    • tomdwright on

      “cd ~/drivers” should be “cd ~/.drivers” 🙂

  19. […] followed these instructions, which included blacklisting the appropriate drivers. But to no avail. Setting up wireless with ndiswrapper « openSUSE (and others) on an Inspiron 1501 this is the output of ndiswrapper -l bcmwl6 : driver installed device (14E4:4328) present […]

  20. Nick on

    A very big thanks.. this worked well. Users of wireless routers that use different keys should be aware of the settings within your Suse network setup. I got trapped using the default WEP when my router uses WPA.

    just a thought

  21. Ciro F Saravia on

    Dear Sir:

    I have a Lenovo 3000, NT100 laptop.
    NOS = SLED11

    The default wireless driver is BCM4311, but when I check the Windows XP drivers on Lenovo’s site, it says that we should use the BCMWL5.inf, file with ndiswrapper.

    I have followed and executed the following:

    1. Installed NDISWRAPPER
    2. Installed NDISWRAPPER for the pae kernel – this is it
    3. Ran ‘ndiswrapper -i bcmwl5.inf
    4. Ran ‘ndiswrapper -ma
    5. Ran ‘ndiswrapper -mi
    6. echo blacklist ssb >> /etc/modprobe.d/ndiswrapper
    7. echo blacklist bcm4311 >> /etc/modprobe.d/ndiswrapper

    Rebooted and still the wless indicator does not start up or even flicker.

    Any clues?

    Thank you very much,

    Ciro Saravia

    • tomdwright on

      Hi,
      I’m afraid this article might be a bit dated now so don’t be surprised if thing need tweaking however I will see if I can help.

      Firstly does the default driver work? If so you might just be better off sticking with that.

      Next can you try posting the output of the lshw command and that might help track down the issue/solution.

      Good luck,
      Tom Wright

  22. Mackenzie Ward on

    ehternet cables are still the ones that i use for my home networking applications .`:


Leave a comment