LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Wireless Networking (https://www.linuxquestions.org/questions/linux-wireless-networking-41/)
-   -   Problem getting ndiswrapper to work FC6 (https://www.linuxquestions.org/questions/linux-wireless-networking-41/problem-getting-ndiswrapper-to-work-fc6-554326/)

woodpecka_04 05-16-2007 07:18 AM

Problem getting ndiswrapper to work FC6
 
Hey, I have recently installed ndiswrapper, from what I can tell successfully:

ndiswrapper -l gives me:
bcmwl5 : driver installed
device (14E4:4312) present (alternate driver: bcm43xx)

However, the light for my Wireless fails to come on

I then try and activate the wireless network eth1 and dmesg gives output that contains alot about the bcm43xx driver and I have read this one is not as good as the bcmwl5 that I need to use.

I checked ./iwconfig and the eth1 network comes up with an entry like:

eth1 IEEE 802.11 b/g ESSID "" blah blah blah

However, the wireless still doesnt work.

I decided to blacklist the bcm43xx driver in the hope it would stop using it. Interestingly enough when I restarted the wireless light came on!? But then when I checked iwconfig eth1 did not appear anymore - just lo and eth0.

Help me please!!!

Lenard 05-16-2007 08:56 AM

Did you perhaps forget to also edit the /etc/modprobe.conf file eth1 line entry??

Recreate the missing /etc/sysconfig/network-scripts/ifcfg-eth1 file, sample below;

TYPE=Wireless
DEVICE=eth1
HWADDR=
BOOTPROTO=dhcp
DOMAIN=
ONBOOT=yes
ONHOTPLUG=yes
USERCTL=yes
IPV6INIT=no
PEERDNS=no
ESSID=
CHANNEL= <<--adjust to the channel shown by the command:iwlist eth1 scan
MODE=
RATE=


FYI: with the freshrpms-release rpm package installed: http://zod.freshrpms.net/

yum install dkms dkms-ndiswrapper

And you will not need to rebuild the ndiswrapper module again after a kernel update. Extra points for rebuilding and installing the dkms-ndisswrapper for the latest release version of ndiswrapper. Just grab the source rpm file and the latest ndiswrapper source. Edit the spec file from the source rpm package to reflect the latest released version and build;

rpmbuild -ba --define 'dist .fc6' <the spec file name here>

If you have a problem then; yum install rpm-build

woodpecka_04 05-16-2007 09:27 AM

Right well I have just changed the modprobe.conf
I presume you mean the line that read:
alias eth1 bcm43xx

So I have changed the bcm43xx to bcmwl5

Restarted but nothing changed, by dmesg says the following when I try and connect:
bcm43xx: set security called .level = 0, .enabled = 0, .encrypt = 0
SoftMAC: Associate: Scanning for networks first
SoftMAC: Associate: Failed to initiate scan. Is device up?
bcm43xx: PHY connected
bcm43xx: Error: Microcode "bcm43xx_microcode5.fw" not available or load failed
bcm43xx: core_up for active 802.11 core failed (-2)

I will try adding the script you mentioned now

Thanks for getting back to me

Lenard 05-16-2007 09:41 AM

Nope change the line to: alias eth1 ndiswrapper

Then restart the network after creating the ifcfg-eth1 file;

service network restart

intricatic 05-16-2007 09:42 AM

Are you sure you're using the correct firmware for your chipset?

woodpecka_04 05-16-2007 10:06 AM

Yes I am sure the firmware is right

Okay let me update where I am up to:

- I have re-blacklisted the bcm43xx drivers
- I have modified the modprobe.conf as above
- I have also changed the line in /etc/modprobe.d/ndiswrapper
from
alias wlan0 ndiswrapper to alias eth1 ndiswrapper
(not sure if that was the right thing to do or not - wlan0 seemed quite useless though)
- I then restarted and thankfully the wireless light is now on
- iwconfig shows the expected eth1 interface as before (so this is an improvement :D)
- The eth1 script is still there, but when I scan with iwlist is says no scan results so I don't think I can set the channel properly
- When I now try and enable the network through system-network-config I get the following output:
Error for wireless request "Set Mode" (8B06) SET failed on device eth1; Invalid argument
- Then when I look at my dmesg I have the following output:
ADDRCONF(NETDEV_UP): eth1: link is not ready

Now then, reading what Lenard just posted:
"Nope change the line to: alias eth1 ndiswrapper"
Do I have to change it to that line as I stated above (where previously it was alias wlan0 ndiswrapper) in /etc/modprobe.d/ndiswrapper?

Okay I will see what happens when I use Lenard's suggestion. Please bear with me - i've been trying to get this thing working for a while now. If any of the steps I have taken above are wrong then please tell me lol.

intricatic 05-16-2007 10:26 AM

Press the wireless button. ;)

I had the same problem when I upgraded Ubuntu, from the sounds of it. Took me about a week to figure it out, too.

woodpecka_04 05-16-2007 10:39 AM

Right I just made that change that Lenard metioned

Unfortunately there seems to be no change in results, the light still comes on but I am receiving the same messages from dmesg and system-config-network.

I noticed that the encryption on the wireless network I am trying to connect to is WPA-PSK encrypted, is ndiswrapper only good for WEP encryption or will it not matter?

I wish it was as easy as pressing the wireless button! Maybe one day it will be...

Lenard 05-16-2007 10:54 AM

Why not show use which Broadcom chipset you have, some work just fine with the bcm43xx driver and others do not.

/sbin/lscpi -v

If your chipset is OK then you need to install the firmware from he same file you used with ndiswrapper using the firmware cutter package;

The good/bad bcm43xx list: http://bcm43xx.berlios.de/?go=devices
The bcm43xx-fwcutter can be installed by: yum install bcm43xx-fwcutter
The firmware is installed by typing: bcm43xx-fwcutter -w /lib/firmware <the file name here>

intricatic 05-16-2007 11:10 AM

That's about how much of a problem it was for me... lol

WPA, I think you need wpa_supplicant, but if you have the ability, set it to WEP and it should work OK. I've personally never played around with WPA on ndiswrapper, but it is do-able.

You're saying that "iwlist ifname scan" gives you no results, though? It should find the network regardless of encryption.

intricatic 05-16-2007 11:14 AM

Like I said, when I upgraded Ubuntu recently I had a problem that sounds exactly like this -- the wireless looked like it should be working, the firmware loaded properly, etc... and the interface was showing up on iwconfig, but it wouldn't do anything on an iwlist.

Pressing FN + F2 (wireless button) got it working like a charm instantly.

woodpecka_04 05-16-2007 11:29 AM

Okay good news is some progress has been made!

I messed around with the modprobe.conf file as Lenard suggested, eventually I am now up to the stage where iwlist eth1 scan is giving me some results! Horaahhh!

However, at the moment it is only picking up my neighbours WLAN's and not mine, and yes they are encrypted so I can't even "borrow" them.

I am hoping that after a few tries my network will eventually come up.

What commands should I be using though if (and hopefully when) it comes up? The essid of the network is "woody"

Thanks alot for all of your help so far

P.S I would love to be using yum but I have no internet on FC6 - thats why I'm trying to sort things out. I keep having to reboot into Windoze to post these messages lol.

Lenard 05-16-2007 12:16 PM

Remember this;

TYPE=Wireless
DEVICE=eth1
HWADDR=
BOOTPROTO=dhcp
DOMAIN=
ONBOOT=yes
ONHOTPLUG=yes
USERCTL=yes
IPV6INIT=no
PEERDNS=no
ESSID=
CHANNEL= <<--adjust to the channel shown by the command:iwlist eth1 scan
MODE=
RATE=

Change the ESSID to ESSID=woody

FYI: disable encryption on your wireless router until you see if you get a connection.
FYI: both the wireless router and the Linux wireless device must use the same encryption level 64-bit or 128-bit. The default is 128-bit in Linux.

FYI: it does not matter the alias name for the device as long as ever file uses the same name.

woodpecka_04 05-16-2007 02:02 PM

Hey, I've managed to get my home network to show up and I turned the encryption off but it still doesnt seem to connect.

The commands I am using are:
./iwconfig eth1 essid woody channel 11
./dhclient eth1

I don't know what is meant to happen i.e. does it tell me I am connected or what?

What am I doing wrong?

EDIT: Okay I have found it works with no encryption when I restart - wow internet on linux! Im just going to try turning encryption back on

intricatic 05-16-2007 03:32 PM

Awesome! :D

Like I said, you'll probably need wpa_supplicant to get the WPA encryption to work.

woodpecka_04 05-17-2007 05:02 AM

I think I will try and get it working with WEP encryption first and then tackle the heady heights of WPA.

Wish me luck
Thanks for everyones help

woodpecka_04 05-17-2007 08:39 AM

Right well i'm currently on linux while typing this, using WEP encyption - which is nice.

However, Firefox is behaving oddly...for the vast majority of web addresses it works, but for some results from Google and for example www.thinkwiki.org - it keeps saying it cannot find the server.

So either the server is actually down or something is going wrong?
Any ideas? I thought maybe its my security policy but I haven't blocked anything specifically.

Lenard 05-17-2007 09:17 AM

No the site is up, check your /etc/resolv.conf file some times it is best that it reflects the nameserver information for your ISP (the same as the wireless router uses), example;

nameserver XXX.XXX.XXX.XXX
nameserver XXX.XXX.XXX.XXX
nameserver <your wireless router internal IP address here>

woodpecka_04 05-17-2007 09:30 AM

How bizarre...I just did all of the stuff to use WPA-PSK encryption and I didnt really know if it had worked because when I ran
./wpa_supplicant -d -c/etc/wpa_supplicant/wpa_supplicant.conf -ieth1 -Dwext

it would freeze when it got to:

EAPOL: startWhen --> 0

and I would have to terminate it...so I try it with:

./wpa_supplicant -B -c/etc/wpa_supplicant/wpa_supplicant.conf -ieth1 -Dwext

and it seems to work, then I:
./ifup eth1

and it works...so I try one of the websites in question, and that also works - having not changed anything in resolve.conf!?

I think I have cracked it!!

Will I have to run that wpa_supplicant command everytime I start up or can I write a script to do it or will it be done automatically?

EDIT: Okay just realised that the majority of the other websites don't work lol, weird...is there a way I can find the IP address of my router from linux or will I have to log into the router?

Lenard 05-17-2007 10:08 AM

Check around in the /etc/wpa_supplicant directory, you should find something!!

You can try: netstat -r

woodpecka_04 05-17-2007 10:20 AM

netstat -r gives me:

Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.0.0 * 255.255.255.0 U 0 0 0 eth1
169.254.0.0 * 255.255.0.0 U 0 0 0 eth1
default 192.168.0.1 0.0.0.0 UG 0 0 0 eth1

So many numbers which do I choose??? I have tried adding the 192 addresses to resolv.conf because I am pretty sure they are for my router. However, it hasn't made any difference.

Lenard 05-17-2007 11:51 AM

The 192.168.0.1 is your wireless router, like i suggested add the nameserver info for yor ISP in /etc/resolvf.conf. Yes you can get this info from your router.

woodpecka_04 05-17-2007 12:23 PM

Okay I have added that address to revolv.conf, however things seem to be quite random.

Different websites load when I connect different times.

Also certain websites don't display in the right way its like they have their style sheets off (when they are on).

Hmmm its all a little confusing

When I did ./ifup eth1, sometimes I got failed and other times it said failed no cable and then it just worked. I checked my dmesg...

ADDRCONF(NETDEV_UP): eth1: link is not ready
ndiswrapper (iw_set_freq:384): setting configuration failed (00010003)
eth1: no IPv6 routers present
ADDRCONF(NETDEV_UP): eth1: link is not ready
ndiswrapper (iw_set_freq:384): setting configuration failed (00010003)
ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
eth1: no IPv6 routers present

I don't know if I have a setting wrong somewhere or what but things are not working as they should

woodpecka_04 05-17-2007 12:59 PM

I have just noticed a file:
/etc/sysconfig/wpa_supplicant

which reads:

# wlan0 and wifi0
# INTERFACES="-iwlan0 -iwifi0"
INTERFACES="-iwlan0"
# ndiswrapper and prism
# DRIVERS="-Dndiswrapper -Dprism"
DRIVERS="-Dndiswrapper"

Both of these attributes do not seem appropriate for my setup. Do you think it may be this thats causing a problem?

pappy_mcfae 05-19-2007 12:57 AM

If I may suggest...
 
From reading the problems you are having, I am willing to bet your problem resides in your setup for wpa_supplicant. Either that, or you are not specifically assigning an IP address to your wireless adapter once it is actually "on line". It took me about a week to get my wireless adapter (a Broadcom bcm43xx chipset adapter in a Compaq Presario C504US) up and working. The hardest, trickiest part was getting wpa_supplicant to work properly.

I created a file that contains all the steps I took to finally get things operating properly. While I did it under Slackware, I'm sure with a little creative thinking, you can re-write it a bit to work with your distribution. the URL is: http://www.linuxquestions.org/questi...d.php?t=550053

I hope that helps. I know that now my wireless adapter works properly. Not only can I surf the net, and jam on my favorite Internet radio station, I can also use samba to share files with the other Slackware machine and the Windoze machines on my LAN as well. You could say I got it working properly.

Please let me know if the document is helpful.

Blessed be!
Pappy

woodpecka_04 05-19-2007 05:55 AM

The problem was my DNS settings in the end, there was one little box I hadn't ticked in system-config-network that was causing me all the trouble.

Thanks to one and all who helped me with this problem.


All times are GMT -5. The time now is 02:18 AM.