Jump to content

WiFi network card installation


DaFoot

Recommended Posts

I've just installed a new PCI WiFi card to my box, but none of the gnome network tools seem to see it.

 

I believe it runs an rt2800 chipset from what I've found online, indeed I checked before buying that people have got it working under Linux.

 

Any ideas how to go about getting this card recognised by the system?

 

lspci

03:06.0 Network controller: Ralink corp. RT2800 802.11n PCI

... so hardware is there and physically connected ok

 

lsmod

[root@bigfoot ~]# lsmod | grep rt28*

rt2800pci 18477 0

rt2800lib 52393 1 rt2800pci

rt2x00pci 13995 1 rt2800pci

rt2x00lib 57912 3 rt2x00pci,rt2800lib,rt2800pci

eeprom_93cx6 13088 1 rt2800pci

mac80211 492420 3 rt2x00lib,rt2x00pci,rt2800lib

cfg80211 195764 2 mac80211,rt2x00lib

crc_ccitt 12573 1 rt2800lib

...seems to imply drivers are there, right? or am I misunderstanding what lsmod is about?

 

ifconfig:

[root@bigfoot ~]# ifconfig

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500

inet 192.168.2.101 netmask 255.255.255.0 broadcast 192.168.2.255

ether 6c:f0:49:08:51:8a txqueuelen 1000 (Ethernet)

RX packets 337361 bytes 182804948 (174.3 MiB)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 315727 bytes 26473860 (25.2 MiB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

device interrupt 41 base 0x4000

 

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 16436

inet 127.0.0.1 netmask 255.0.0.0

inet6 ::1 prefixlen 128 scopeid 0x10<host>

loop txqueuelen 0 (Local Loopback)

RX packets 18 bytes 1288 (1.2 KiB)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 18 bytes 1288 (1.2 KiB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

 

virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500

inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255

ether 52:54:00:68:a8:72 txqueuelen 0 (Ethernet)

RX packets 0 bytes 0 (0.0 B)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 0 bytes 0 (0.0 B)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

Link to comment
Share on other sites

Hi DaFoot, Please don't be offended, but what Distro is this and what version?

New cards should usually get picked up, I have had issues with old Netgear dongles that were resolved using Windows Wireless drivers for which you need the .inf file off the driver/setup CD or download it from the Ralink Website.

If not installed, try ndiswrapper - if installed, install the 'front-end' ndis-gtk.

Once all packages installed open terminal and 'sudo ndis-gtk' - once the interface is up and running (have done this on Gnome 3 as well (Comice), drag the .inf file to the little window on the left of the ndis-gtk gui and a popup will ask if you want to install this driver - obviously, select yes, and if it detects it you will have no problem. As a safeguard I would disable any onboard network card that you would connect with a cable via the BIOS if onboard LAN or disable from network properties and re-boot.

 

Just to add, (based on my old dongle and Gnome3) you will not be able to edit the wireless connection (and you don't need to) - if the card is recognised you will see all the nearby routers in your street including yours show up in connections, choose yours, enter the password once and forget - it will hold the setting without having to enter into 'Edit Network Connections'.

Edited by swarfendor43
Link to comment
Share on other sites

Just some other thoughts:

 

1. Is there any graphical indication that it is working via the Network applet?

(swirl of green round blue spheres?

2. Mac address of PCI Card entered in allowed list on router (if router requires it)?

3. Should have remembered that you use 'bleeding edge' Fedora - have you got a plaster?:hihi:

 

I also notice your MTU is set to 1500 - I'm on TT and the maximum I can set this to is 1432 - so I would change that if you can as well.

Link to comment
Share on other sites

thanks forthe comments, I'll try again tomorrow and let you know.

I'd rather not use ndiswrapper given the choice, especially as I specifically chose this card because it is supposed to be well supported.

 

I made more progress this afternoon.... I thing the driver is now being loaded but can't find firmware. Possibly related to Fedora moving stuff in latest release (upgraded earlier).

 

I'll get back to you tomorrow.

Link to comment
Share on other sites

thanks forthe comments, I'll try again tomorrow and let you know.

I'd rather not use ndiswrapper given the choice, especially as I specifically chose this card because it is supposed to be well supported.

 

I made more progress this afternoon.... I thing the driver is now being loaded but can't find firmware. Possibly related to Fedora moving stuff in latest release (upgraded earlier).

 

I'll get back to you tomorrow.

 

 

This is why I ditched Fedora!

Link to comment
Share on other sites

I like Fedora - because I get shiny stuff straight away mostly. :)

I've only had problems when I upgrade to the latest release on release day. Really should leave it a couple of weeks to let the bugs get ironed out before upgrading. Otherwise, no problems. eg the recent filesystem re-org has been done but left symlinks pointing to new locations +(/lib -> /usr/lib for example).

 

Back to network card... the docs for the driver I downloaded from RaLink only talk about kernels 2.4.x and 2.6.x. Fedora moved on from those a long time ago (as I'd imagine most distros have by now)!

 

That's a potential issue but I'm hoping it's just that they forgot to update the docs.

 

I can't recall why the MTU got set to 1500, there was a reason a few years back. Probably no longer relevant so I'll switch it back to something more sensible.

 

Latest situation:

It seems the card is recognised by a driver during boot now....

lo no wireless extensions.

 

virbr0 no wireless extensions.

 

ra0 Ralink STA ESSID:"" Nickname:""

Mode:Auto Frequency=2.412 GHz Access Point: Not-Associated

Bit Rate:1 Mb/s

RTS thr:off Fragment thr:off

Encryption key:off

Link Quality=10/100 Signal level:0 dBm Noise level:0 dBm

Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0

Tx excessive retries:0 Invalid misc:0 Missed beacon:0

 

eth0 no wireless extensions.

 

virbr0-nic no wireless extensions.

 

However when I try and bring up the interface....

 

May 31 10:30:54 bigfoot kernel: [ 938.849814] NICLoadFirmware: MCU is not ready

May 31 10:30:54 bigfoot kernel: [ 938.849819]

May 31 10:30:54 bigfoot kernel: [ 938.849821]

May 31 10:30:54 bigfoot kernel: [ 938.849826] ERROR!!! NICLoadFirmware failed, Status[=0x00000001]

May 31 10:30:54 bigfoot kernel: [ 938.849835] !!! rt28xx Initialized fail !!!

May 31 10:30:55 bigfoot kernel: [ 939.893686] NICLoadFirmware: MCU is not ready

May 31 10:30:55 bigfoot kernel: [ 939.893691]

May 31 10:30:55 bigfoot kernel: [ 939.893693]

May 31 10:30:55 bigfoot kernel: [ 939.893698] ERROR!!! NICLoadFirmware failed, Status[=0x00000001]

May 31 10:30:55 bigfoot kernel: [ 939.893706] !!! rt28xx Initialized fail !!!

May 31 10:30:56 bigfoot kernel: [ 940.961500] NICLoadFirmware: MCU is not ready

May 31 10:30:56 bigfoot kernel: [ 940.961502]

May 31 10:30:56 bigfoot kernel: [ 940.961503]

May 31 10:30:56 bigfoot kernel: [ 940.961505] ERROR!!! NICLoadFirmware failed, Status[=0x00000001]

May 31 10:30:56 bigfoot kernel: [ 940.961508] !!! rt28xx Initialized fail !!!

May 31 10:30:56 bigfoot dhclient[3139]: DHCPDISCOVER on ra0 to 255.255.255.255 port 67 interval 3 (xid=0x5f9ba238)

May 31 10:30:56 bigfoot dhclient[3139]: send_packet: Network is down

May 31 10:30:56 bigfoot dhclient[3139]: dhclient.c:2397: Failed to send 300 byte long packet over ra0 interface.

May 31 10:30:56 bigfoot dhclient[3139]: receive_packet failed on ra0: Network is down

May 31 10:30:59 bigfoot dhclient[3139]: DHCPDISCOVER on ra0 to 255.255.255.255 port 67 interval 6 (xid=0x5f9ba238)

May 31 10:30:59 bigfoot dhclient[3139]: send_packet: Network is down

May 31 10:30:59 bigfoot dhclient[3139]: dhclient.c:2397: Failed to send 300 byte long packet over ra0 interface.

May 31 10:31:05 bigfoot dhclient[3139]: DHCPDISCOVER on ra0 to 255.255.255.255 port 67 interval 14 (xid=0x5f9ba238)

May 31 10:31:05 bigfoot dhclient[3139]: send_packet: Network is down

May 31 10:31:05 bigfoot dhclient[3139]: dhclient.c:2397: Failed to send 300 byte long packet over ra0 interface.

May 31 10:31:14 bigfoot dbus-daemon[891]: ** Message: No devices in use, exit

May 31 10:31:19 bigfoot dhclient[3139]: DHCPDISCOVER on ra0 to 255.255.255.255 port 67 interval 16 (xid=0x5f9ba238)

May 31 10:31:19 bigfoot dhclient[3139]: send_packet: Network is down

May 31 10:31:19 bigfoot dhclient[3139]: dhclient.c:2397: Failed to send 300 byte long packet over ra0 interface.

 

Which leads me to believe it's an issue with wrong driver and/or firmware for the chipset or the firmware isn't where the driver expects it to be.

Link to comment
Share on other sites

Hi DaFoot,

 

Been in touch with my expert friend who advises:

 

"One major thing I noticed from his terminal results is that he has the lowest possible link quality!

Link Quality=10/100

 

Tell him to try a different channel in his router. i.e. if it is set in channel 1, to try channel 11 or 9 or 6 to see if his signal quality will improve.

 

If he tries

CODE: SELECT ALL

sudo modprobe rt2800pci

does he get internet to work?

 

Tell him also to give the results of

CODE: SELECT ALL

sudo lshw -c network

 

and

CODE: SELECT ALL

sudo rfkill list all

 

 

 

He can also try to load the latest driver which is RT2860PCI.

If he wants to do so, tell him to follow these steps:

 

1. To go to this link http://www.ralinktech.com/en/04_support ... php?sn=501 and download the RT2860PCI driver.

2. Go to his Downloads file and extract the file with the driver. He will get a file with the name 2010_07_16_RT2860_Linux_STA_v2.4.0.0

3. Open terminal and write:

CODE: SELECT ALL

sudo gedit /Downloads/2010_07_16_RT2860_Linux_STA_v2.4.0.0/os/linux/config.mk

and change the following two lines 'HAS_WPA_SUPPLICANT=y' and 'HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y'.

4. Open terminal and navigate to the file i.e.

CODE: SELECT ALL

cd /Downloads/2010_07_16_RT2860_Linux_STA_v2.4.0.0

and run

CODE: SELECT ALL

sudo make

 

5. Then

CODE: SELECT ALL

sudo mkdir -p /etc/Wireless/RT2860STA/

 

CODE: SELECT ALL

sudo cp RT2860STA.dat /etc/Wireless/RT2860STA/RT2860STA.dat

 

CODE: SELECT ALL

sudo cp /os/linux/rt2860sta.ko /etc/Wireless/RT2860STA/

 

 

6. Then remove old module

CODE: SELECT ALL

sudo modprobe -r rt2800pci

 

 

7. And load new module

CODE: SELECT ALL

sudo insmod /etc/Wireless/RT2860STA/rt2860sta.ko

 

 

8. If this works, to make the new module permanent:

CODE: SELECT ALL

sudo mkdir -p /lib/modules/3.2.0-24-generic/kernel/drivers/staging/rt2860

(change 3.2.0-24 to what his kernel is).

CODE: SELECT ALL

sudo ln -s /etc/Wireless/RT2860STA/rt2860sta.ko /lib/modules/3.2.0-23-generic/kernel/drivers/staging/rt2860/rt2860sta.ko

sudo ln -s /etc/Wireless/RT2860STA/RT2860STA.dat /lib/modules/3.2.0-24-generic/kernel/drivers/staging/rt2860/RT2860STA.dat

(again change the 3.2.0-24 to what his kernel is).

 

9. And then blacklist the old module

CODE: SELECT ALL

sudo gedit /etc/modprobe.d/blacklist.conf

 

and add the line

blacklist rt2800pci

 

 

No need to say that if he changes kernel he will have to repeat step 8.

 

This is what I can think of for now. Hope this helps."

Link to comment
Share on other sites

Right, I've removed any rt28* modules from the kernel and re-run the make install process.

 

On examining the above above instructions it seems the installer did everything except copy the .ko file to the /etc directory (cp /os/linux/rt2860sta.ko /etc/Wireless/RT2860STA/).

 

After that I checked the kernel again and the make install had installed rt28690rta module, but to be sure I removed it and reinserted with ref to the .ko (insmod /etc/Wireless/RT2860STA/rt2860sta.ko).

 

At step 8 I took "if this works" to mean "give it a go" so I attempted to bring up the wireless interface with ifup, but same errors in the kernel log:

 

 

Jun 1 10:12:01 bigfoot kernel: [86206.591809] NICLoadFirmware: MCU is not ready

Jun 1 10:12:01 bigfoot kernel: [86206.591811]

Jun 1 10:12:01 bigfoot kernel: [86206.591812]

Jun 1 10:12:01 bigfoot kernel: [86206.591814] ERROR!!! NICLoadFirmware failed, Status[=0x00000001]

Jun 1 10:12:01 bigfoot kernel: [86206.591817] !!! rt28xx Initialized fail !!!

Jun 1 10:12:01 bigfoot kernel: [86206.592007] sched: RT throttling activated

Jun 1 10:12:02 bigfoot kernel: [86207.614772] NICLoadFirmware: MCU is not ready

Jun 1 10:12:02 bigfoot kernel: [86207.614775]

Jun 1 10:12:02 bigfoot kernel: [86207.614776]

Jun 1 10:12:02 bigfoot kernel: [86207.614780] ERROR!!! NICLoadFirmware failed, Status[=0x00000001]

Jun 1 10:12:02 bigfoot kernel: [86207.614785] !!! rt28xx Initialized fail !!!

Jun 1 10:12:03 bigfoot kernel: [86208.670227] NICLoadFirmware: MCU is not ready

Jun 1 10:12:03 bigfoot kernel: [86208.670229]

Jun 1 10:12:03 bigfoot kernel: [86208.670229]

Jun 1 10:12:03 bigfoot kernel: [86208.670231] ERROR!!! NICLoadFirmware failed, Status[=0x00000001]

Jun 1 10:12:03 bigfoot kernel: [86208.670234] !!! rt28xx Initialized fail !!!

Jun 1 10:12:03 bigfoot dhclient[443]: DHCPDISCOVER on ra0 to 255.255.255.255 port 67 interval 3 (xid=0x42a0c463)

Jun 1 10:12:03 bigfoot dhclient[443]: send_packet: Network is down

Jun 1 10:12:03 bigfoot dhclient[443]: dhclient.c:2397: Failed to send 300 byte long packet over ra0 interface.

Jun 1 10:12:03 bigfoot dhclient[443]: receive_packet failed on ra0: Network is down

Jun 1 10:12:06 bigfoot dhclient[443]: DHCPDISCOVER on ra0 to 255.255.255.255 port 67 interval 7 (xid=0x42a0c463)

Jun 1 10:12:06 bigfoot dhclient[443]: send_packet: Network is down

Jun 1 10:12:06 bigfoot dhclient[443]: dhclient.c:2397: Failed to send 300 byte long packet over ra0 interface.

Jun 1 10:12:13 bigfoot dhclient[443]: DHCPDISCOVER on ra0 to 255.255.255.255 port 67 interval 21 (xid=0x42a0c463)

Jun 1 10:12:13 bigfoot dhclient[443]: send_packet: Network is down

Jun 1 10:12:13 bigfoot dhclient[443]: dhclient.c:2397: Failed to send 300 byte long packet over ra0 interface.

Jun 1 10:12:34 bigfoot dhclient[443]: DHCPDISCOVER on ra0 to 255.255.255.255 port 67 interval 15 (xid=0x42a0c463)

Jun 1 10:12:34 bigfoot dhclient[443]: send_packet: Network is down

Jun 1 10:12:34 bigfoot dhclient[443]: dhclient.c:2397: Failed to send 300 byte long packet over ra0 interface.

Jun 1 10:12:49 bigfoot dhclient[443]: DHCPDISCOVER on ra0 to 255.255.255.255 port 67 interval 15 (xid=0x42a0c463)

Jun 1 10:12:49 bigfoot dhclient[443]: send_packet: Network is down

Jun 1 10:12:49 bigfoot dhclient[443]: dhclient.c:2397: Failed to send 300 byte long packet over ra0 interface.

Jun 1 10:13:04 bigfoot dhclient[443]: No DHCPOFFERS received.

 

This is an error about firmware/drivers so I don't think the apparent low signal message shown in earlier post is relevant. However I'll go get the output from those commands requested now.

Link to comment
Share on other sites

First tell him to install the "linux-firmware" and "linux-firmware-nonfree" packages.

 

Indeed the rt2860sta.ko is missing. I just found, and maybe he would like to try the exact instructions from Ralink. There are some extra steps.

 

Setting Up Ralink Wireless

------------------------------------

 

Step 1

Download latest RT2860 driver source code from Ralink. - RT2860PCI/mPCI/CB/PCIe(RT2760/RT2790/RT2860/RT2890)

http://www.ralinktech.com/en/04_support ... php?sn=501

 

 

Step 2

Open and extract the downloaded file to your home directory - do not change the name.

 

Open a terminal window and perform the following commands:

 

cd ~/2010*

gedit ./os/linux/config.mk

 

 

Step 3

Find the following lines (by default set to "n") and set them to be "y":

 

HAS_WPA_SUPPLICANT=y

HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y

 

Save and close the file.

 

 

Step 4

Back in the terminal window perform the following command:

 

gedit ./common/cmm_wpa.c

 

For the warning message choose "Western" then "Retry".

 

Use the find command to locate "MIX_CIPHER_NOTUSE". Replace the entire line with this code:

 

WPA_MIX_PAIR_CIPHER FlexibleCipher = WPA_TKIPAES_WPA2_TKIPAES;

 

Save and close the file.

 

 

Step 5

Make sure gcc is installed (usually is by default but if not install it via synaptic) then from the terminal window perform the following commands:

 

sudo make

sudo make install

sudo ifconfig wlan0 down (on some hardware it is ra0)

sudo rmmod rt2860sta

sudo mv /lib/modules/2.6.*/kernel/drivers/staging/rt2860/rt2860sta.ko rt2860sta.ko.dist

 

NOTE: Replace the * in the last command with the actual directory name of the current kernel (if you are unsure what it is, navigate to the directory in nautilus to check).

 

 

Step 6

Still in the terminal window perform the following commands:

 

sudo depmod -a

sudo modprobe rt2860sta

sudo ifconfig wlan0 up (on some hardware it is ra0)

 

 

Step 7

Check that network manager can now select networks and connect to them.

 

 

Step 8

Back in the terminal window perform the following command:

 

sudo cp rt2860sta.ko /lib/modules/2.6.*/kernel/drivers/staging/rt2860/

 

NOTE: Replace the * in the last command with the actual directory name of the current kernel (if you are unsure what it is, navigate to the directory in nautilus to check).

 

 

Step 9

In the terminal window perform the following command:

 

gksudo gedit /etc/modules

 

Add "rt2860sta" on a line at the end of the file then save and close it.

 

 

Step 10

Reboot and check that wireless still works.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.