F9: Compiled and created rt2870sta.ko, but where to install?

Dan Thurman dant at cdkkt.com
Tue Jul 15 17:10:39 UTC 2008


Patrick O'Callaghan wrote:
>
> On Mon, 2008-07-14 at 17:13 -0700, Dan Thurman wrote:
> > Patrick O'Callaghan wrote:
> > >
> > > On Sat, 2008-07-12 at 17:39 -0700, Dan Thurman wrote:
> > > > As a side note, I wonder why this module is not included in the
> > > > F8/9 repository since it is freely available?  I am assuming this
> > > > is license-free?
> > >
> > > Two points:
> > >
> > > 1) Every package in the standard Fedora repos is licensed. If you 
> mean
> > > the module comes with a free software license and thus could 
> potentially
> > > be part of Fedora then of course that's something else, but it's not
> > > what you said.
> > >
> > > 2) When you say it's "freely available" do you mean you just 
> downloaded
> > > it from the manufacturer's site *without* having to click on a 
> license
> > > agreement? It would be helpful if you gave the URL you got it 
> from. One
> > > of the keys to getting useful answers is to provide enough 
> information
> > > in the question.
> > >
> > I obtained the rt2870 software from:
> > http://www.ralinktech.com/ralink/Home/Support/Linux.html
> > and the specific file I downloaded was: RT2870USB(RT2870/RT2870)
> > 
> <http://www.ralinktech.com.tw/data/drivers/2008_0528_RT2870_Linux_STA_v1.3.0.0.tar.bz2> 
>
> >
> >
> >  From what I can tell, it is an Open-Source Organization and I
> > did not see any licensing in regards to the code i.e. I do not
> > think I recall having to click on any license agreements.
>
> The fact that there's no visible license makes me think it's not Open
> Source or Free within the accepted guidelines, just that they provide
> source code.
>
> > Anyway, does anyone have any helpful links that might help
> > me in properly installing and setting up the Wireless software?
>
> The README file says:
>
> 6> load driver, go to "os/linux/" directory.
>     #[kernel 2.4]
>     #    $/sbin/insmod rt2870sta.o
>     #    $/sbin/ifconfig ra0 inet YOUR_IP up
>
>     #[kernel 2.6]
>     #    $/sbin/insmod rt2870sta.ko
>     #    $/sbin/ifconfig ra0 inet YOUR_IP up
>
> Which seems pretty clear.
>
Yes, it seems clear - but what is not clear is there is no mention
of where to put rt2870sta.ko  If you had built the driver in your home
directory, and performed the above setup and later blew away your
build directory, the system will fail to find and load that driver!  I
looked in the /lib/modules/ area and tried to find the best place for
this driver to reside but then again - no matter where I placed it (in
several */net/wirless locations or usb or where-ever, I could not get
this driver to appear listed in the 'Other Wireless' under the Network
tool. So, moving on.

So, I elected to put this file at:
/lib/modules/$KERNEL_VER/kernel/net/wireless/rt2870sta.ko

Per instructions:
# insmod lib/modules/$KERNEL_VER/kernel/net/wireless/rt2870sta.ko

Next, I had to create the ifcfg_ra0 file in:
/etc/sysconfig/networking/devices/ifcfg-ra0

which contains:
# RT2870 WLAN USB Connection
BOOTPROTO=none
DEVICE=ra0
ONBOOT=yes
ESSID=myHomeWifi
IPADDR=10.1.0.15
IPV6INIT=no
NETMASK=255.0.0.0
HWADDR=00:1d:6a:33:fd:42
TYPE=Wireless
CHANNEL=6
MODE=auto
RATE=auto
DHCP_HOSTNAME=
DOMAIN=myDomain.com
SEARCH=myDomain.com
DNS1=10.1.0.1
DNS2=10.1.0.2
DNS3=10.1.0.3
USERCTL=no
PEERDNS=yes
NM_CONTROLLED=no

Per README instructions, I was to place the following
file as specified:
/etc/Wireless/etc/Wireless/RT2870STA/RT2870STA.dat

Which contains:
cat RT2870STA.dat
#The word of "Default" must not be removed
Default
AckPolicy=0;0;0;0
APSDAC=0;0;0;0
APSDCapable=0
AuthMode=WPA2PSK
BeaconPeriod=100
BGProtection=0
Channel=6
ChannelGeography=1
CountryCode=US
CountryRegion=5
CountryRegionABand=7
DefaultKeyID=1
EncrypType=AES
FastRoaming=1
FragThreshold=2346
HT_AMSDU=0
HT_AutoBA=1
HT_BADecline=0
HT_BADecline=0
HT_BAWinSize=64
HT_BW=1
HT_EXTCHA=0
HT_GI=1
HT_MCS=33
HT_MIMOPSMode=3
HT_MpduDensity=4
HT_OpMode=1
HT_RDG=1
IEEE80211H=0
Key1Str=
Key1Type=1
Key2Str=
Key2Type=1
Key3Str=
Key3Type=1
Key4Str=
Key4Type=1
NetworkType=Infra
PktAggregate=0
PSMode=CAM
RoamThreshold=70
RTSThreshold=2347
SSID=myHomeWifi
TGnWifiTest=0
TxBurst=1
TxPower=100
TxPreamble=0
WirelessEvent=0
WirelessMode=5
WmmCapable=0
WPAPSK=mySecretPassword

I have NO CLUE if this driver actually even loads this file in
this strange location (so it seems).  Moving on....

Time to test this all out...
# service network restart

The system logs show:
================================
Error for wireless request "Set Mode" (8B06) :
    SET failed on device ra0 ; Invalid argument.

Determining IP information for ra0...
=================================
NOTE: Set Mode" (8B06) error.  Scanning the
Internet, some say this can be safely ignored, but
I am not sure that is the case.  Moving on...

I note, for as long as my Ethernet cable is hooked up to
the NIC - I tried to disable eth0 via 'Network Configuration'
tool and noticed that even if I tried to deactivate it, the tool
would keep activating it back on.  So - I had to remove the
cable and only then it will stay down.  There must be something
that senses this and force eth0 back up!  I wonder how to stop
this -auto-reactivation of eth0.  Well, continuing with the E-cable
removed... and the eth0 'deactivated', I can now continue on w/o
eth0 involved. Moving on...

The above also shows that ra0 is using DHCP
discovery, but I explicitly entered:
/etc/sysconfig/networking/devices/ifcfg-ra0
BOOTPROTO=none

Ah,  I discovered that I also needed to edit:
/etc/sysconfig/networking/profiles/default/ifcfg-ra0
and change the BOOTPROTO=dhcp to none.

# ifdown ra0; ifup ra0
brought ra0 up w/o attempting DHCP, and system log reported:
========================================
Jul 15 09:24:37 bronze kernel: <-- RTMPAllocTxRxRingMemory, Status=0
Jul 15 09:24:37 bronze kernel: -->RTUSBVenderReset
Jul 15 09:24:37 bronze kernel: <--RTUSBVenderReset
Jul 15 09:24:37 bronze kernel: Key1Str is Invalid key length! KeyLen = 
1!  <== what is this?  Safe if ignore?
Jul 15 09:24:37 bronze kernel: Key2Str is Invalid key length! KeyLen = 
1!  <=/
Jul 15 09:24:37 bronze kernel: Key3Str is Invalid key length! KeyLen = 
1!  <=/
Jul 15 09:24:37 bronze kernel: Key4Str is Invalid key length! KeyLen = 
1!  <=/
Jul 15 09:24:37 bronze kernel: 1. Phy Mode = 5
Jul 15 09:24:37 bronze kernel: 2. Phy Mode = 5
Jul 15 09:24:38 bronze kernel: 3. Phy Mode = 9
Jul 15 09:24:38 bronze kernel: MCS Set = ff ff 00 00 01
Jul 15 09:24:38 bronze netplugd[7780]: No interface name
Jul 15 09:24:38 bronze netplugd[7780]: Callback failed
Jul 15 09:24:38 bronze kernel: <==== RTMPInitialize, Status=0
Jul 15 09:24:38 bronze netplugd[7780]: ra0: ignoring event
Jul 15 09:24:38 bronze kernel: 0x1300 = 00064300
Jul 15 09:24:38 bronze netplugd[7780]: ra0: ignoring event
Jul 15 09:24:38 bronze kernel: 
==>rt_ioctl_siwfreq::SIOCSIWFREQ[cmd=0x8b04] (Channel=1)
Jul 15 09:24:38 bronze netplugd[7780]: No interface name
Jul 15 09:24:38 bronze netplugd[7780]: Callback failed
Jul 15 09:24:38 bronze netplugd[7780]: No interface name
Jul 15 09:24:38 bronze netplugd[7780]: Callback failed
Jul 15 09:24:38 bronze netplugd[7780]: No interface name
Jul 15 09:24:38 bronze netplugd[7780]: Callback failed
Jul 15 09:24:40 bronze kernel: Bulk In Failed. Status=-71, BIIdx=0x1, 
BIRIdx=0x1, actual_length= 0x0
Jul 15 09:24:55 bronze kernel: Bulk In Failed. Status=-71, BIIdx=0x2, 
BIRIdx=0x2, actual_length= 0x0
Jul 15 09:25:03 bronze kernel: Bulk In Failed. Status=-71, BIIdx=0x6, 
BIRIdx=0x6, actual_length= 0x0
Jul 15 09:26:07 bronze kernel: Bulk In Failed. Status=-71, BIIdx=0x2, 
BIRIdx=0x2, actual_length= 0x0
Jul 15 09:26:10 bronze kernel: Bulk In Failed. Status=-71, BIIdx=0x7, 
BIRIdx=0x7, actual_length= 0x0
Jul 15 09:26:26 bronze kernel: Bulk In Failed. Status=-71, BIIdx=0x2, 
BIRIdx=0x2, actual_length= 0x0
<above repeats, over and over....>
========================================

Notice above: "Jul 15 09:24:38 bronze netplugd[7780]: No interface name"
I am not sure what this means as far as netplugd is concerned...can
anyone enlighten me?  Moving on...

Of the many iw commands I have tried, here is what I noticed:

# iwlist ra0 scanning
          Cell 06 - Address: 00:1D:6A:CB:B6:99
                    ESSID:"myHomeWifi"
                    Mode:Managed
                    Channel:6
                    Quality:94/100  Signal level:-46 dBm  Noise 
level:-97 dBm
                    Encryption key:on
                    Bit Rates:54 Mb/s
                    IE: WPA Version 1
                        Group Cipher : CCMP
                        Pairwise Ciphers (1) : CCMP
                        Authentication Suites (1) : PSK
                    IE: IEEE 802.11i/WPA2 Version 1
                        Group Cipher : CCMP
                        Pairwise Ciphers (1) : CCMP
                        Authentication Suites (1) : PSK

... and a ton of other Wifi broadcasters.  This is good news
because this means that my USB Wifi is actually reporting the
Wifi Base Unit and is correct!  Now - the hard part is - getting
and authorized connection!  Moving on...

# iwconfig ra0
ra0       RT2870 Wireless  ESSID:""  Nickname:"Bronze.myDomain.com"
          Mode:Auto  Frequency=2.412 GHz  Bit Rate=1 Mb/s 
          RTS thr:off   Fragment thr:off
          Encryption key:off
          Link Quality:0  Signal level:0  Noise level:159
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

Hmm....  ESSID is ""????  This was specificed above and why is this
and empty field?  Ok... let's try:

# iwconfig ra0 essid "myHomeWifi"
<no value returned>

Uh... ok... that's it?  No acknowledgement that it actually did
anything?  The system log reported:
=======================================
Jul 15 09:44:54 bronze netplugd[7780]: No interface name
Jul 15 09:44:54 bronze netplugd[7780]: Callback failed
=======================================

Dang - it's that NO INTERFACE NAME!  Where is this to be
set?  Anyone?

Doing the following again reports the same as above, no change
# iwconfig ra0
<returns the exact same as above, no change>

Also note that system logs contiunes to report, over and over:
==========================================
Jul 15 09:45:21 bronze kernel: Bulk In Failed. Status=-71, BIIdx=0x5, 
BIRIdx=0x5, actual_length= 0x0
==========================================
What does this mean?

I also played around with:
#iwconfig ra0 mode managed
... and I got:

# iwconfig ra0
ra0       RT2870 Wireless  ESSID:""  Nickname:"bronze.myDomain.com"
          Mode:Auto  Frequency=2.412 GHz  Bit Rate=150 Mb/s  
          RTS thr:off   Fragment thr:off
          Encryption key:off
          Link Quality:0  Signal level:0  Noise level:159
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

So, that means that I can set "something" and it correctly obtained
the right frequency and Bit Rate.  Interesting - but Mode shows 'Auto'

It seems that I CANNOT set ESSID - that seems to be the one snag I
am running into at this point.

It is at this point I am at a standstill and still not able to connect
to the Wifi Access point.

Can someone please advise?

Thanks!
Dan




More information about the fedora-list mailing list