Can't get ndiswrapper to load Windows driver


Forum: Networking
Topic: Can't get ndiswrapper to load Windows driver
started by: lesliek

Posted by lesliek on Mar. 26 2007,09:59
I'm using the current version of DSL on an old laptop with 64MB of RAM.

I'm trying to get going a Netgear WG511v2 wireless card. The PCMCIA tool tells me that my card has the Marvell 88W8310 chipset.

I understand that my only possibilities are the Windows driver, together with either ndiswrapper or the Linuxant driverloader. I'm trying the first for now.

I've followed the instructions at the ndiswrapper site as far as I can. When I run ndiswrapper -l, I get the message that says "driver installed, hardware present". However, when I do modprobe ndiswrapper and then check the dmesg output, I get a line saying:
<3> ndiswrapper (NdisMAllocateSharedMemory:926): couldn't allocate 261376 bytes of un-cached DMA memory

followed by another line saying that the Windows driver couldn't initialise the device.

I found in the forums a post with the title "WG511v2 - works, but doesn't work....", in which dare2bfree said he'd got a WG511v2 with the Marvell chipset going by following earlier instructions given by Winter Knight. I assume that dare2bfree didn't get at any stage the dmesg output I got.

Am I unable to get the card going because I only have 64MB of RAM or is there some way I can overcome this problem?

Thanks for reading this,

Leslie

Posted by Juanito on Mar. 26 2007,10:56
I don't think this is the problem, but have you copied both the *.inf and *.sys windows driver files? I believe ndiswrapper needs both.
Posted by ^thehatsrule^ on Mar. 26 2007,13:17
Quote
<3> ndiswrapper (NdisMAllocateSharedMemory:926): couldn't allocate 261376 bytes of un-cached DMA memory
To me, that is the main problem.  Afaik this has happened mostly to low-memory users... did you try booting with "lowram base norestore" etc. just to see if it works?

Posted by lesliek on Mar. 26 2007,18:44
@Juanito

Yes, I did copy the .sys file as well as the .INF file.

@^thehatsrule^

I am running DSL via frugal install.

I'm not sure how to try what you suggest.

What I'm thinking of doing is editing the menu.lst file to add an additional option similar to the existing default one, with the first and last lines the same, but with the middle line edited.

The line in my current default option that begins with "kernel" reads as follows:

kernel /boot/linux24 root=/dev/hda1 quiet vga=normal noacpi noapm nodma noscsi frugal

Would it be sufficient just to add to the end of that line in my new option the words "loram base norestore" or am I misunderstanding altogether how to do what you're suggesting?

Also, could there be any relevance to my problem that, as I now see, I boot up with nodma, given the complaint I get about no un-cached DMA memory?

Thanks to both for your replies.

Leslie

Posted by ^thehatsrule^ on Mar. 26 2007,22:40
Quote
Would it be sufficient just to add to the end of that line in my new option the words "loram base norestore" or am I misunderstanding altogether how to do what you're suggesting?
Yes, or you could create another entry just for testing purposes.

Quote
Also, could there be any relevance to my problem that, as I now see, I boot up with nodma, given the complaint I get about no un-cached DMA memory?
afaik the nodma boot parameter is to turn off dma for IDE devices only (although if your system supports it, you should use it for better drive access) and shouldn't have anything to do with ndiswrapper.

Posted by lesliek on Mar. 27 2007,02:37
Hi again ^thehatsrule^.

I created a new entry in my menu.lst file that added to the end of the middle line of my default entry the three additional words you suggested.

I then booted up and used that testing option.

At the desktop, I went through the same steps I'd been following earlier.

Unfortunately, the result was identical.

For the sake of completeness, here's the entire output of dmesg | grep -i ndiswrapper:

<6> ndiswrapper version 1.14 loaded (preempt=no,smp=yes)
<6> ndiswrapper: driver wg511v2 (NETGEAR,02/22/2005,3.1.1.7) loaded
<6> ndiswrapper: using IRQ 11
<3> ndiswrapper (NdisMAllocateSharedMemory: 926): couldn't allocate 261376 bytes of un-cached DMA memory
<4> ndiswrapper (miniport_init:273): couldn't initialize device: C0000001
<4> ndiswrapper (pnp_start_device:497): Windows driver couldn't initialize the device (C0000001)

If you have any other suggestions, I'd be happy to try them.

Thanks again,

Leslie

Posted by ^thehatsrule^ on Mar. 27 2007,03:24
This < http://damnsmalllinux.org/cgi-bin....;t=4515 > suggests acpi=noirq though its for another card... might also want to try
pnpbios=off
pci=bios
noapic

Did you try the superlowram (as decribed in wiki)?
Are there any other problems in dmesg? (irq conflicts)?

Might want to check out < http://ndiswrapper.sourceforge.net/mediawiki/index.php/List#N >
Apparently theres a couple versions of v2, so I'd assume some .inf+.sys's don't seem to work with others.

Posted by lesliek on Mar. 27 2007,21:54
Thanks very much for your latest reply, ^thehatsrule^.

I'm pleased to say that I've now been able to advance further than ever before.

I deleted from the computer the two Windows files (WG511v2.INF and WG511v2.sys) I'd copied to it from the CD that came with the card and started all over.

First, I copied to the computer ALL of the files in the relevant Windows XP folder on the CD that came with the card, not just the two I’d earlier copied. Whether that mattered, I can’t say, but I did it because I saw in my reading someone suggesting that that be done.

Next, I ran ndiswrapper –i WG511v2.INF, followed by ndiswrapper -l. The latter showed that the driver was installed and hardware was present.

Next, I added /etc/ndiswrapper (which now included files created by running ndiswrapper –i WG511v2.INF) to .filetool.lst, added sudo modprobe ndiswrapper to bootlocal.sh and rebooted. (I hadn't done those things before, but had tried simply to take all of the steps one after the other. Maybe rebooting part way through the steps helped.)

As I watched on the reboot, I saw a message saying “unable to locate module ndiswrapper”. However, when I got the desktop, I decided to try again. I opened the terminal, typed in sudo modprobe ndiswrapper (which gave me back the prompt, not a message about being unable to locate the module) and then dmesg | grep –i ndiswrapper.

This time, the entries in dmesg didn’t include anything about being unable to allocate shared memory; as well, the lights on the card were flashing for the first time ever.

Then, very disappointingly, I had to leave for work, from where I'm typing this.

I hope that when I get home and boot up, I'll again be able to get back to the point where the card shows signs of life.

Naturally, I'd prefer that the sudo modprobe ndiswrapper command could run from bootlocal.sh, rather than from the command line.

Are you able to give me any suggestion as to why the command wouldn't work when included in bootlocal.sh?

Thanks again,

Leslie

Posted by ^thehatsrule^ on Mar. 27 2007,22:55
I think some commands require time for loading, etc. especially for ndiswrapper.

Placing sleep commands before the non-working ones probably help you out. (I think `sleep 10` was suggested as a good test)

Posted by lesliek on Mar. 28 2007,00:53
As much as I hate to admit this, I feel I must.

A combination of small print and old eyes made me fail to notice that I'd asked for the module ndsiwrapper, not the module ndiswrapper. With that changed, all works as expected on boot-up and I'm on to the next stage, during which I will probably make similar errors!

Thanks again, ^thehatsrule^, and I'm sorry to have troubled you about the latest problem unnecessarily.

Powered by Ikonboard 3.1.2a
Ikonboard © 2001 Jarvis Entertainment Group, Inc.