|

|
|
|
|
|
|
|
i.MX515 Project
 |
Assisting Gentoo Linux ARM team
in category Linux Distributions proposed by Stephen Klimaszewski on 22nd March 2009 (accepted on 2nd July 2010)
|
|
|
|
|
|
Blog Entry
|
|
|
|
|
|
|
Wireless working!
posted by Stephen Klimaszewski on 5th February 2010
So, there has been a new kernel release from Genesi - 2.6.31.12-ER1-efikamx.
On Gentoo, you download the 51mb 2.6.31-ER1-efikamx lzmaball, and then the patch.
extract both - since on a Gentoo machine, it is fairly standard to have the kernel in /usr/src/linux - thats where I extracted the files. Then I moved the patches into the linux-2.6.31.12-ER1-efikamx directory (renamed from 2.6.31-ER1-efikamx) and then created a symlink.
Make the kernel as per norm (by default when you apply the patches, it copies the Genesi config file to .config) editing the config whichever way you prefer to add/remove options, and build it.
Don't forget to mount /dev/sda1 before you make modules_install!
Now we download the driver from Ralink for the RT3070 - 2009_1110_RT3070_Linux_STA_v2.1.2.0.tar.bz2 (sorry, no direct link as they do request you accept the license) - extract it wherever.
Go into the 2009_1110_RT3070_Linux_STA_v2.1.2.0 directory, and then edit os/linux/config.mk
Change HAS_WPA_SUPPLICANT=n to HAS_WPA_SUPPLICANT=y change HAS_NATIVE_WPA_SUPPLICANT=n to HAS_NATIVE_WPA_SUPPLICANT=y
make
Wait a bit - then delete /tftpboot (Ralink's makefile copies the driver to there) Then copy the module somewhere in /lib/modules/2.6.31.12-ER1-efikamx (I like to use /extras or /networking) then blacklist all the in-kernel wifi stuff in
/etc/modprobe.d/blacklist.conf
blacklist rt3070sta blacklist rt2870sta blacklist rt2800usb blacklist rt2x00usb blacklist rt2x00lib blacklist mac80211 blacklist cfg80211
and then in /etc/modules.autoload.d
add "rt3070sta" (as I'm writing this, yes I see that I'm blacklisting it and then explicitly autoloading it - will fix later)
Don't forget to run depmod -a
Reboot!
Now you need to edit your RT3070STA.dat file - this will reside in /etc/Wireless/RT3070STA/
Mine looks like this:
#The word of "Default" must not be removed Default CountryRegion=5 CountryRegionABand=7 CountryCode= ChannelGeography=1 SSID=<YOURSSIDHERE> NetworkType=Infra WirelessMode=9 Channel=6 BeaconPeriod=100 TxPower=100 BGProtection=0 TxPreamble=0 RTSThreshold=2347 FragThreshold=2346 TxBurst=1 PktAggregate=0 WmmCapable=1 AckPolicy=0;0;0;0 AuthMode=WPAPSK EncrypType=TKIP WPAPSK=<YOURPASSWORDHERE> DefaultKeyID=1 Key1Type=0 Key1Str= Key2Type=0 Key2Str= Key3Type=0 Key3Str= Key4Type=0 Key4Str= PSMode=CAM AutoRoaming=0 RoamThreshold=70 APSDCapable=0 APSDAC=0;0;0;0 HT_RDG=1 HT_EXTCHA=0 HT_OpMode=1 HT_MpduDensity=4 HT_BW=1 HT_BADecline=0 HT_AutoBA=1 HT_BADecline=0 HT_AMSDU=0 HT_BAWinSize=64 HT_GI=1 HT_MCS=33 HT_MIMOPSMode=3 HT_DisallowTKIP=1 EthConvertMode= EthCloneMac= IEEE80211H=0 TGnWifiTest=0 WirelessEvent=0 MeshId=MESH MeshAutoLink=1 MeshAuthMode=OPEN MeshEncrypType=NONE MeshWPAKEY= MeshDefaultkey=1 MeshWEPKEY= CarrierDetect=0 AntDiversity=0 BeaconLostTime=4 FtSupport=1 Wapiifname=ra0 WapiPsk= WapiPskType= WapiUserCertPath= WapiAsCertPath=
When playing with wpa_supplicant, you want to have it run non-daemonized while trying to debug it - by default, on the Efika MX you will run it with the following command:
wpa_supplicant -Dwext -Ira0 -c/etc/wpa_supplicant/wpa_supplicant.conf (Note: the location of wpa_supplicant.conf may be different if you aren't on Gentoo)
If you are on Gentoo and using the stable "arm" keyword, then you may want to go into /etc/conf.d/net and set
modules_ra0=( "!iwconfig" )
So that it will use wpa_supplicant rather than trying to set everything up manually with iwconfig.
|
|
|
|
|
|