This is a static archive of the old Zorin Forum.

The information below may be outdated. Visit the new Zorin Forum here ›

If you have registered on the old forum, you will need to create an account on the new forum.

(SOLVED) Zorin 9 and Broadcom 4322 Wireless

Greenpalmer

Fri Aug 15, 2014 11:29:58 am

Hi again

I last posted back in March when I installed Zorin 6 and couldn't connect with my Broadcom 4322 wireless card. Thanks to madvinegar's help then I was able to use ndiswrapper and the windows driver to connect and everything has since worked very well. Here's the link to that post:

viewtopic.php?f=5&t=6706

Now I have installed Zorin 9 and I have done exactly the same as madvinegar advised back then to use ndiswrapper to install the windows driver but I now get the following error message when loading the driver with "Windows Wireless Drivers":

"Module could not be loaded. Error was:

modprobe: FATAL: Module ndiswrapper not found.

Is the ndiswrapper module installed?"

I would be very grateful for any help and advice to get the wireless working again - thanks in advance.

madvinegar

Fri Aug 15, 2014 2:17:30 pm

Try this. Open terminal and run the commands:

cd /usr/src/ndiswrapper-1.59
sudo make
sudo make install
sudo modprobe ndiswrapper


Wait 3-4 seconds and check if your wireless is now working.
In case you get any error in the commands, post it here.

Greenpalmer

Fri Aug 15, 2014 4:40:26 pm

Hi madvinegar,

I ran the four commands and they all completed without error. Unfortunately wireless did not start working, even after rebooting and removing and reinstalling the windows driver and rebooting again.

madvinegar

Fri Aug 15, 2014 4:58:28 pm

Was the .inf windows driver loaded when you run the commands?
If not, first load the driver in windows wireless drivers, connect to the internet via ethernet, and then run the commands as follows:

cd /usr/src/ndiswrapper-1.59
sudo make
sudo make install
sudo modprobe -r ndiswrapper
sudo modprobe ndiswrapper

If again it does not work, can you please post here the result of the following command:

ls /usr/src

Greenpalmer

Fri Aug 15, 2014 10:09:40 pm

Hi madvinegar,

The inf was loaded from last time and I am connected via ethernet so I ran the five commands but still no wireless connection.

Here's the output from ls /usr/src:

linux-headers-3.13.0-30 linux-headers-3.13.0-34-generic
linux-headers-3.13.0-30-generic ndiswrapper-1.59
linux-headers-3.13.0-34 ndiswrapper.tar.bz2

madvinegar

Sat Aug 16, 2014 9:38:44 am

hmmm...
This is very strange. We will try to start from the beginning.
First we will delete the ndiswrapper files inside /usr/src. Be very careful with the syntax of the following commands. Better copy/paste them.

sudo rm /usr/src/ndiswrapper-1.59
sudo rm /usr/src/ndiswrapper-1.59.tar.bz2


Then do the following:

Download from here ndiswrapper 1.59: http://sourceforge.net/projects/ndiswrapper/
It will be downloaded in your Downloads folder.
We will copy it inside /usr/src and then extract it by running the following commands:

sudo cp /home/$USER/Downloads/ndiswrapper-1.59.tar.gz /usr/src
cd /usr/src
sudo tar -zxvf ndiswrapper-1.59.tar.gz

Close the terminal, re-open it and then run again the commands

cd /usr/src/ndiswrapper-1.59
sudo make
sudo make install
sudo modprobe -r ndiswrapper
sudo modprobe ndiswrapper

Hopefully after the last command your wireless will start working.

Greenpalmer

Sat Aug 16, 2014 11:26:37 am

Hi madvinegar,

When I try to run the first command I get the response:

"rm: cannot remove ‘/usr/src/ndiswrapper-1.59’: Is a directory"

I also tried to remove the directory via the file manager but I don't have permission.

Wolfgang02

Sun Aug 17, 2014 8:00:58 am

try:
Code:
rm -rf /usr/src/ndiswrapper-1.59


see if that works.

Just in case anyone following this thread would like to know what the -rf switch does: it removes the files from the directory without any prompts and then removes/ deletes the directory.

madvinegar

Sun Aug 17, 2014 8:19:22 am

Wolfgang must be right. However, just to be 100% safe and not delete any catalogs, open terminal and run

Code:
gksudo nautilus

or
Code:
sudo nautilus


Give your password and nautilus (i.e. the file manager) will open with administrative rights.
Then navigate to /usr/src and delete the files ndiswrapper-1.59 and ndiswrapper-1.59.tar.bz2

Then continue with the guide.


@Wolfgang: Regarding the "-rf": the r makes it recursive (so it can delete a folder and files) and the f overrides permissions.

Greenpalmer

Sun Aug 17, 2014 10:44:43 am

Hi madvinegar,

I managed to do everything as per your instructions but unfortunately still no wireless.

I have done quite a bit of browsing around the web on this subject and I get the impression that there is a general problem with ndiswrapper not working with Ubuntu 14.04 and all the distros based on it.

I'm thinking that maybe I should go back to using Zorin 6.4, it's also an LTS release and is good until 2017.

BTW thanks for all your help.

madvinegar

Sun Aug 17, 2014 11:03:31 am

I have installed zorin lite9 on a laptop that needs ndiswrapper and it works just fine. The only problem in comparison to zorin 6 is that it takes longer to conmect.

Can you please post back the result of the following command:


sudo rfkill list all

Greenpalmer

Sun Aug 17, 2014 11:16:04 am

That's encouraging news!

"sudo rfkill list all" does not give any output at all.

madvinegar

Sun Aug 17, 2014 11:46:17 am

Then please post the result of

lsmod


Also run the following command and restart to see if that helps:

echo 'ndiswrapper' | sudo tee -a /etc/modules

Greenpalmer

Sun Aug 17, 2014 12:00:40 pm

Here's the output of lsmod:

Module Size Used by
snd_intel8x0 33110 2
snd_ac97_codec 105709 1 snd_intel8x0
ac97_bus 12642 1 snd_ac97_codec
snd_pcm 85501 2 snd_ac97_codec,snd_intel8x0
gpio_ich 13229 0
snd_page_alloc 14230 2 snd_intel8x0,snd_pcm
snd_seq_midi 13132 0
snd_seq_midi_event 14475 1 snd_seq_midi
snd_rawmidi 25135 1 snd_seq_midi
dell_laptop 17808 0
dcdbas 14448 1 dell_laptop
snd_seq 55383 2 snd_seq_midi_event,snd_seq_midi
b43 356470 0
snd_seq_device 14137 3 snd_seq,snd_rawmidi,snd_seq_midi
bcma 42043 1 b43
dm_multipath 22402 0
snd_timer 28584 2 snd_pcm,snd_seq
scsi_dh 14458 1 dm_multipath
mac80211 546051 1 b43
pcmcia 51828 0
snd 60871 12 snd_ac97_codec,snd_intel8x0,snd_timer,snd_pcm,snd_seq,snd_rawmidi,snd_seq_device,snd_seq_midi
rfcomm 53664 0
bnep 18895 2
serio_raw 13230 0
bluetooth 342263 10 bnep,rfcomm
cfg80211 409394 2 b43,mac80211
yenta_socket 40201 0
lpc_ich 16864 0
joydev 17101 0
soundcore 12600 1 snd
pcmcia_rsrc 18319 1 yenta_socket
binfmt_misc 13140 1
pcmcia_core 22328 3 pcmcia,pcmcia_rsrc,yenta_socket
mac_hid 13037 0
parport_pc 31981 0
ppdev 17391 0
ndiswrapper 192915 0
lp 13299 0
parport 40836 3 lp,ppdev,parport_pc
btrfs 822702 0
xor 26221 1 btrfs
raid6_pq 97455 1 btrfs
libcrc32c 12543 1 btrfs
dm_mirror 21756 0
dm_region_hash 20121 1 dm_mirror
dm_log 18072 2 dm_region_hash,dm_mirror
hid_generic 12492 0
usbhid 46997 0
hid 87604 3 hid_generic,usbhid
radeon 1416373 3
i2c_algo_bit 13197 1 radeon
ttm 72698 1 radeon
drm_kms_helper 47182 1 radeon
b44 31275 0
firewire_ohci 35529 0
psmouse 91033 0
firewire_core 61867 1 firewire_ohci
sdhci_pci 18535 0
mii 13654 1 b44
drm 244037 5 ttm,drm_kms_helper,radeon
ssb 51854 2 b43,b44
sdhci 37779 1 sdhci_pci
crc_itu_t 12627 1 firewire_core
video 18903 0

Running "echo 'ndiswrapper' | sudo tee -a /etc/modules" and rebooting didn't seem to change anything.

madvinegar

Sun Aug 17, 2014 2:35:01 pm

Ndiswrapper is loaded in modules just fine. But I see that also b43 is loaded which may create a conflict.

Can you also please post the results of the following commands:

lspci -nnk | grep -iA2 net
sudo lshw -c network
iwconfig

Greenpalmer

Sun Aug 17, 2014 3:05:57 pm

Here's the results:

lspci -nnk | grep -iA2 net:

03:00.0 Ethernet controller [0200]: Broadcom Corporation BCM4401-B0 100Base-TX [14e4:170c] (rev 02)
Subsystem: Dell Inspiron 6000 laptop [1028:0188]
Kernel driver in use: b44
--
03:03.0 Network controller [0280]: Broadcom Corporation BCM43222 Wireless Network Adapter [14e4:4350]
Subsystem: Broadcom Corporation Device [14e4:04d2]
Kernel driver in use: b43-pci-bridge

sudo lshw -c network:

*-network:0
description: Ethernet interface
product: BCM4401-B0 100Base-TX
vendor: Broadcom Corporation
physical id: 0
bus info: pci@0000:03:00.0
logical name: eth0
version: 02
serial: 00:12:3f:e0:c9:bb
size: 100Mbit/s
capacity: 100Mbit/s
width: 32 bits
clock: 33MHz
capabilities: pm bus_master cap_list ethernet physical mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=b44 driverversion=2.0 duplex=full ip=192.168.0.11 latency=64 link=yes multicast=yes port=twisted pair speed=100Mbit/s
resources: irq:18 memory:dfcfa000-dfcfbfff
*-network:1
description: Network controller
product: BCM43222 Wireless Network Adapter
vendor: Broadcom Corporation
physical id: 3
bus info: pci@0000:03:03.0
version: 00
width: 32 bits
clock: 33MHz
capabilities: pm bus_master cap_list
configuration: driver=b43-pci-bridge latency=64
resources: irq:17 memory:dfcfc000-dfcfffff

and iwconfig:

lo no wireless extensions.

eth0 no wireless extensions.

I think that I'm starting to learn a bit of Linux now as I can see from this output that the b43 driver is indeed loaded instead of the ndiswrapper driver.

madvinegar

Sun Aug 17, 2014 4:12:17 pm

exactly.

Try the following.
Code:
sudo modprobe -r b43
sudo modprobe ndiswrapper


Does your wireless work?

If it works, to make it permanent run the following command and restart:
Code:
echo 'blacklist b43' | sudo tee -a /etc/modprobe.d/blacklist.conf

Greenpalmer

Sun Aug 17, 2014 4:44:28 pm

I was getting quite excited thinking that this was it but no - after the first two commands there was still no wireless.

madvinegar

Sun Aug 17, 2014 4:50:32 pm

Run again these commands:

sudo modprobe -r b43
sudo modprobe -r b43-pci-bridge
sudo modprobe -r bcma
sudo modprobe -r ndiswrapper
sudo modprobe ndiswrapper

Greenpalmer

Sun Aug 17, 2014 5:03:21 pm

No, still no go.

With the b43-pci-bridge command I got the response "modprobe: FATAL: Module b43-pci-bridge not found."

madvinegar

Sun Aug 17, 2014 5:05:07 pm

I just made some research about your card.

This problem occurs when using b44 as the wired driver. ssb is the module name for the b43-pci-bridge. So, you'd have to blacklist that one to get rid of it. Only the problem is that the b44 driver that's handling your wired card needs the ssb module to work properly.

What happens is that b44 loads up and then the ssb is loaded too and since b44 tends to get loaded before the wireless drivers, the ssb just hogs up the wireless too as it is unclaimed at the time. And when your wireless driver gets loaded, the wireless is already associated with a driver, so the OS thinks everything is working fine already and doesn't do anything. A bit of a design flaw to have the same module capable of handling both interfaces, since it leads to trouble like this.

Run the following commands.

Code:
sudo modprobe -r b43 b44 ssb
sudo modprobe ndiswrapper
sudo modprobe b44 ssb


What that does is simply unloads all the b4* stuff first, then loads up ndiswrapper and then loads the b44 & ssb for your wired connection again. That way ndiswrapper gets loaded before ssb and should get associated with the wireless interface.

If it works, we can add the commands to your /etc/rc.local file before the exit 0 line, so they automatically get run during bootup.

Greenpalmer

Sun Aug 17, 2014 5:18:03 pm

Madvinegar,

I said it back in March and I'll say it again now - you are a genius!

I am now connected wirelessly.

After typing in the first two commands I did not have wireless but then I went into Windows Wireless Drivers and removed the driver and installed it again and bingo - it worked. I then ran the third command and the ethernet connection also sprang back into life so both are working well now.

Thank you so much!

madvinegar

Sun Aug 17, 2014 5:24:18 pm

Ok, but we have to make it permanent because I suspect that after rebooting you will not have wireless again.

To do so, open terminal and run the command:

sudo gedit /etc/rc.local

A file will open.
At the end of the file, BUT ABOVE the line that says "exit 0", add the following 4 commands:

modprobe -r b43 b44 ssb
modprobe -r ndiswrapper
modprobe ndiswrapper
modprobe b44 ssb

Save, exit, reboot and see if all works ok.

Greenpalmer

Sun Aug 17, 2014 5:35:02 pm

Yes - it works!

Thanks again madvinegar for all your time and trouble.

I'm going to have a beer or two to celebrate - I would be delighted to buy you a beer or two as well!

madvinegar

Sun Aug 17, 2014 5:43:26 pm

Glad I helped my friend. At least we got it working in the end.
I will mark the topic as solved.

Beer sounds fantastic but I don't know how this can be arranged as I live in Greece. Where about are you? :P

Drink a beer for me as well. :P

Greenpalmer

Sun Aug 17, 2014 8:00:05 pm

So I have had some dinner and a couple of beers - one for you as well!

Incidently I am in London and by coincidence live in an area with a large Greek (mainly Greek Cypriot) population.

Thanks again madvinegar.

Swarfendor437

Fri Aug 22, 2014 3:45:12 pm

120 blue jewels to madvinegar - pity they can't buy beer! :D