Surecom EP-9001-g\3B USB WiFi eszköz Linux alatt

Az alábbi eszközről van szó:
Surecom EP-9001-g
Amit én vettem az pontosan: Surecom EP-9001-g\3B. A hangsúly a 3B-n van. Ez már nem az rt2570-es chip-re épül. Sikerült kideríteni (szétszedni), hogy az eszközben RT2571W jelzésű chipet használnak!
Jól működő stabil meghajtó található a Ralink honlapján: Ralink Technology, Corp. Support. Csomagoljuk ki, másoljuk a megfelelő Makefile.x-et a Makefile-nak, majd make és a make install parancsokkal telepítsük a meghajtót. Ha mindent jól csináltunk, akkor a modprobe kiadása után megjelenik a rausb0 eszköz, ha kiadjuk az iwconfig parancsot.

cp Makefile.6 Makefile
make
make install
modprobe rt73
iwconfig
ifconfig rausb0 up
iwlist rausb0 scan

root@mypc:/usr/src/ralink/RT73_Linux_STA_Drv1.0.3.6/Module # cp Makefile.6 M
akefile
cp: overwrite `Makefile'? y
root@mypc:/usr/src/ralink/RT73_Linux_STA_Drv1.0.3.6/Module # make
make -C /lib/modules/2.6.17.8/build SUBDIRS=/usr/src/ralink/RT73_Linux_STA_Drv1.
0.3.6/Module modules
make[1]: Entering directory `/usr/src/linux-2.6.17.8'
  CC [M]  /usr/src/ralink/RT73_Linux_STA_Drv1.0.3.6/Module/rtmp_main.o
/usr/src/ralink/RT73_Linux_STA_Drv1.0.3.6/Module/rtmp_main.c: In function 'usb_r
tusb_probe':
/usr/src/ralink/RT73_Linux_STA_Drv1.0.3.6/Module/rtmp_main.c:2085: warning: unus
ed variable 'device'
  CC [M]  /usr/src/ralink/RT73_Linux_STA_Drv1.0.3.6/Module/mlme.o
/usr/src/ralink/RT73_Linux_STA_Drv1.0.3.6/Module/mlme.c: In function 'STAMlmePer
iodicExec':
/usr/src/ralink/RT73_Linux_STA_Drv1.0.3.6/Module/mlme.c:852: warning: unused var
iable 'RxSignal'
  CC [M]  /usr/src/ralink/RT73_Linux_STA_Drv1.0.3.6/Module/connect.o
  CC [M]  /usr/src/ralink/RT73_Linux_STA_Drv1.0.3.6/Module/rtusb_bulk.o
  CC [M]  /usr/src/ralink/RT73_Linux_STA_Drv1.0.3.6/Module/rtusb_io.o
  CC [M]  /usr/src/ralink/RT73_Linux_STA_Drv1.0.3.6/Module/sync.o
  CC [M]  /usr/src/ralink/RT73_Linux_STA_Drv1.0.3.6/Module/assoc.o
  CC [M]  /usr/src/ralink/RT73_Linux_STA_Drv1.0.3.6/Module/auth.o
  CC [M]  /usr/src/ralink/RT73_Linux_STA_Drv1.0.3.6/Module/auth_rsp.o
  CC [M]  /usr/src/ralink/RT73_Linux_STA_Drv1.0.3.6/Module/rtusb_data.o
  CC [M]  /usr/src/ralink/RT73_Linux_STA_Drv1.0.3.6/Module/rtmp_init.o
  CC [M]  /usr/src/ralink/RT73_Linux_STA_Drv1.0.3.6/Module/sanity.o
/usr/src/ralink/RT73_Linux_STA_Drv1.0.3.6/Module/sanity.c: In function 'RTMPWPAW
epKeySanity':
/usr/src/ralink/RT73_Linux_STA_Drv1.0.3.6/Module/sanity.c:1177: warning: unused
variable 'i'
/usr/src/ralink/RT73_Linux_STA_Drv1.0.3.6/Module/sanity.c:1176: warning: unused
variable 'CipherAlg'
  CC [M]  /usr/src/ralink/RT73_Linux_STA_Drv1.0.3.6/Module/rtmp_wep.o
  CC [M]  /usr/src/ralink/RT73_Linux_STA_Drv1.0.3.6/Module/rtmp_info.o
  CC [M]  /usr/src/ralink/RT73_Linux_STA_Drv1.0.3.6/Module/rtmp_tkip.o
  CC [M]  /usr/src/ralink/RT73_Linux_STA_Drv1.0.3.6/Module/wpa.o
  CC [M]  /usr/src/ralink/RT73_Linux_STA_Drv1.0.3.6/Module/md5.o
  LD [M]  /usr/src/ralink/RT73_Linux_STA_Drv1.0.3.6/Module/rt73.o
  Building modules, stage 2.
  MODPOST
  CC      /usr/src/ralink/RT73_Linux_STA_Drv1.0.3.6/Module/rt73.mod.o
  LD [M]  /usr/src/ralink/RT73_Linux_STA_Drv1.0.3.6/Module/rt73.ko
make[1]: Leaving directory `/usr/src/linux-2.6.17.8'
root@mypc:/usr/src/ralink/RT73_Linux_STA_Drv1.0.3.6/Module # make install
make -C /lib/modules/2.6.17.8/build \
        INSTALL_MOD_DIR=extra SUBDIRS=/usr/src/ralink/RT73_Linux_STA_Drv1.0.3.6/                                                                            Module \
        modules_install
make[1]: Entering directory `/usr/src/linux-2.6.17.8'
  INSTALL /usr/src/ralink/RT73_Linux_STA_Drv1.0.3.6/Module/rt73.ko
  DEPMOD  2.6.17.8
make[1]: Leaving directory `/usr/src/linux-2.6.17.8'
Network device directory /etc/sysconfig/network-scripts
Module configuration file /etc/modprobe.conf
/sbin/depmod -a
root@mypc:/usr/src/ralink/RT73_Linux_STA_Drv1.0.3.6/Module # modprobe rt73
root@mypc:/usr/src/ralink/RT73_Linux_STA_Drv1.0.3.6/Module # iwconfig
lo        no wireless extensions.

eth1      no wireless extensions.

eth2      no wireless extensions.

sit0      no wireless extensions.

rausb0    RT73 WLAN
          Link Quality:0  Signal level:0  Noise level:113
          Rx invalid nwid:0  invalid crypt:0  invalid misc:0

root@mypc:/usr/src/ralink/RT73_Linux_STA_Drv1.0.3.6/Module # ifconfig rausb0 up

root@pc1501sd:/home/ivanovp # iwconfig rausb0

rausb0    RT73 WLAN  ESSID:"SIEMENS-0AED47"
          Mode:Managed  Frequency=11 MHz  Access Point: 00:16:E3:0A:ED:47
          Bit Rate=36 Mb/s
          RTS thr:off   Fragment thr:off
          Encryption key:off
          Link Quality=69/100  Signal level:-68 dBm  Noise level:-99 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

A fentebb említett meghajtóprogramot ajánlom, aki szeretne kísérletezni a sourceforge-on található egységes rt2x00 meghajtóval az olvasson tovább.
Az rt2x00 meghajtó használatához legalább 2.6.17-es magra és a forrására van szükségünk. CVS-ből tölthetjük a forrást, mert jelenleg nincs stabil változat:
cvs -d:pserver:anonymous@rt2400.cvs.sourceforge.net:/cvsroot/rt2400 login
cvs -z3 -d:pserver:anonymous@rt2400.cvs.sourceforge.net:/cvsroot/rt2400 co -P source/rt2x00

A következő foltra lesz szükségünk: surecom_ep-9001-g_3B.patch
--- rt73usb.c   2006-08-16 14:10:25.000000000 +0200
+++ /usr/src/ralink/source/rt2x00/rt73usb.c     2006-08-16 11:31:08.000000000 +0200
@@ -3261,6 +3261,8 @@
        { USB_DEVICE(0x18e8, 0x6196) },
        /* Sitecom */
        { USB_DEVICE(0x0df6, 0x9712) },
+       /* Surecom EP-9001-g\3B */
+       { USB_DEVICE(0x0769, 0x31f3) },
        { 0, }
};

Lépjünk be a source/rt2x00 könyvtárba és adjuk ki a make majd a make install parancsokat. Majd a modprobe rt72usb paranccsal tölthetjük be a modult.
cd source/rt2x00
patch -p0 < surecom_ep-9001-g_3B.patch
make
make install
modprobe rt73usb

Ezután az iwconfig és ifconfig parancsokkal állíthatjuk be az eszközünket.