LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (https://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   BCM4306 - ndiswrapper - Windows driver couldn't initialize the device (https://www.linuxquestions.org/questions/linux-hardware-18/bcm4306-ndiswrapper-windows-driver-couldnt-initialize-the-device-344849/)

Darvocet 07-19-2005 11:52 PM

BCM4306 - ndiswrapper - Windows driver couldn't initialize the device
 
I have been trying for weeks to get the wireless network card for my HP dv1000 series (dv1130us) laptop working, but have been unsuccessful. The wireless card is listed in "lspci" as:
Code:

0000:02:06.0 Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 03)
I have read many posts and articles regarding this device and it's installation procedures and have learned that there are no linux drivers for this card, and I must use 'ndiswrapper' or use lexuant's 'driverloader'. The driverloader is not free, so even though I KNOW it works, I am not willing to use it.

ndiswrapper has excellent documentation on the web, so I got to work configuring that. It's readily available on the sourceforge site, so I downloaded the tar, uncompressed it, and ran make && make install. (as root)

Reading the web for my card, as well as checking the manufacturer's website for the correct windows drivers I located both bcmwl5.inf and bcmwl5a.inf. I put both of these files (as well as bcmwl5.sys) in a directory and started by trying the first of the drivers in ndiswrapper with this command:
Code:

ndiswrapper -i /usr/local/etc/windrivers/bcmwl5.inf
Afterwards I ran 'ndiswrapper -l' and this was the output:
Code:

Installed ndis drivers:
bcmwl5        driver present, hardware present

So it seemed everything worked, now the modprobe, the 'important' step.
Code:

modprobe ndiswrapper
The light that indicates the wireless card is activated remained off, so I checked the 'dmesg' log. This is what it shows:
Code:

ndiswrapper version 1.2+CVS loaded (preempt=yes,smp=yes)
ndiswrapper: driver bcmwl5 (Broadcom,07/17/2003, 3.30.15.0) loaded
ACPI: PCI Interrupt 0000:02:06.0[A] -> GSI 18 (level, low) -> IRQ 18
ndiswrapper (NdisWriteErrorLogEntry:314): log: C000138D, count: 1 (00000103), return address: def84be3
ndiswrapper (ndiswrapper_add_pci_device:220): Windows driver couldn't initialize the device (C0000001)
ndiswrapper: probe of 0000:02:06.0 failed with error -22

[EDIT: The above paste shows the results of the CVS version, just note that I tried multiple versions of ndiswrapper, and not only the CVS.]

... So this is the error I am getting. I have tried this on several different distros, slackware, knoppix, fedora, and now I am using gentoo. I have read and read many forums and posts, but nothing seems to solve the problem. My next thought was maybe it is IRQ related. I ran 'cat /proc/interrputs' and this was the output:
Code:

          CPU0     
  0:      66784    IO-APIC-edge  timer
  1:        138    IO-APIC-edge  i8042
  9:        82  IO-APIC-level  acpi
 12:        111    IO-APIC-edge  i8042
 14:        798    IO-APIC-edge  ide0
 15:        13    IO-APIC-edge  ide1
 16:        19  IO-APIC-level  uhci_hcd:usb2, eth0
 17:          0  IO-APIC-level  Intel 82801DB-ICH4
 18:          0  IO-APIC-level  uhci_hcd:usb4
 19:        32  IO-APIC-level  uhci_hcd:usb3
 20:          0  IO-APIC-level  yenta
 22:          1  IO-APIC-level  ohci1394
 23:          2  IO-APIC-level  ehci_hcd:usb1
NMI:          0
LOC:      66734
ERR:          0
MIS:          0

So could this be it? The ndiswrapper error in dmesg said my ethernet card was attempting to use IRQ 18, but this shows that IRQ 18 is already used!

I have no idea what to do from here, and I have spent WAY too much time on this already. If anyone out there can help please post it here, so that in the future we can help others with this same problem!

Just in case you needed it you can find the entire output of my dmesg & various other utilities pasted here. Another helpful note would be that I tried both bcmwl5.inf and bcmwl5a.inf and they both give the same errors & results.

[EDIT: It is also probably good to note that the laptop does not have any settings for IRQ in BIOS. -- Also, please note that I am aware the button on the laptop that turn on/off the device may still work when the light is off. I have tried to load this multiple times to make sure this does not solve the problem.]


Thanks!

muddyn 07-20-2005 10:46 AM

Have you tried putting all the files belonging to the Windows driver in the directory where you put the .inf and .sys?

Worth a shot.. :)

Darvocet 07-20-2005 11:52 AM

Ok... Thanks to Muddy for helping me with this, I wanted to login and post the solution so that if anyone else later has this same issue they can find the solution easier.

I ended up downloading a new copy of the bcmwl5 driver package from here.

I unzipped that into /lib/windrivers (THE ENTIRE ZIP, NOT ONLY THE .INF and .SYS)

I unloaded the old driver from ndiswrapper (ndiswrapper -e bcmwl5)

Then I loaded the new driver (ndiswrapper -i /lib/windrivers/bcmwl5.inf)

Then I loaded in modprobe (modprobe ndiswrapper)

Device now works!

So.. the solution was one of several things. It is important to use this driver and not the other one, I am not sure why the other one did not work (it was the one from the HP website), and also it was important to unzip the entire archive into the windrivers folder, not just the 2 drivers.

I hope this helps someone else later, good luck.

Darvocet
me@darvnet.com

OneSeventeen 07-28-2005 08:48 AM

THANK YOU!!

When using the 64 bit driver earlier all I needed was the .inf and .sys files, but now that I've switched to 32-bit linux, I couldn't for the life of me get this thing working!

Thank you very much for posting the solution.

Darvocet 07-30-2005 03:54 AM

Quote:

Thank you very much for posting the solution.
No problem! I am glad that I was able to help. It was driving me crazy and I was unable to find the answer anywhere so I figured after I fixed it I should post it here for others!

0x1d3 09-02-2005 08:33 PM

When I Got the modprobe part it gave me the error

modprobe: Can't locate the module ndiswrapper


I do not know what the porblem is do i need to put in a location? Please help. Thanks.

oprogue 09-29-2005 02:35 PM

Quote:

Originally posted by OneSeventeen
THANK YOU!!

When using the 64 bit driver earlier all I needed was the .inf and .sys files, but now that I've switched to 32-bit linux, I couldn't for the life of me get this thing working!

Thank you very much for posting the solution.


I am currently running SuSe 10.0 RC1 x86-64 ... I've attempted to load the bcml5 and bcml5a inf files without success. YaST simply does not see the nic ... but it is listed in the system hardware settings.

What 64 bit driver were you using? ... and where did you get it from?

Any help is greatly appreciated!

oprogue.

hoover93 12-31-2005 10:42 PM

what about encryption?
 
It works! Sort of . . .

After using the ndiswrapper steps outlined above the wireless card came to life on my HP nx6110 laptop. However, I can only surf if I run an open network. If I try to use any type of encryption, such as WEP or WPA, I lose my ability to surf.

This is okay for testing, but obviously, this is not a long-term solution.

Anyone else experience this?

furiousn00b 04-27-2006 05:51 PM

Oh my God, it works! After like 2 months of griping and complaining you have the answer. BTW my problem was the driver. I have a Linksys PCI wireless G card v2.0 and despite the Wiki telling me I had the correct drivers they didnt work. Ndiswrapper would always tell me wrong driver buddy! error! and wouldnt cooperate after that. The driver link you have worked! THANKS!!!!!!!!!


All times are GMT -5. The time now is 01:33 PM.