Adaptador WiFi USB D-Link DWL-G122 en Linux (Xipset RT2500USB)

Avui he comprat un adaptador WiFi USB D-Link DWL-G122 que segons la documentació no suporta Linux (només Mac i Windows).

En principi es poden emprar els drivers de Windows. En aquest cas cal copiar els drivers de Windows en una carpeta i fer:

ndiswrapper -i driver.inf
ndiswrapper -i driver.sys

En debian s'afegeix el següent a /etc/network/interfaces (suposen que al fer iwconfig veiem que s'ha carregat el driver com a wlan0):

auto wlan0
iface wlan0 inet dhcp
pre-up modprobe ndiswrapper
post-down rmmod ndiswrapper
wireless_essid guifi.net-NOM_DEL_NODE

Fem ifup wlan0 i ja hauria de funcionar (no ho he provat... seguir llegint...)

De totes maneres, prefereixo drivers natius...

Buscant una mica, he trobat alguns drivers adaptats de BSD, però un cop compilats no eren estables.
Cercant una mica més, a la web del fabricant del Xipset RT2500USB he localitzat el codi font d'un driver. Per variar, no hi ha cap paquet per Debian, per tant l'he hagut de compilar.

El driver fa servir crides a la funció verify_area(...) que ha estat deprecada, i en compilar-lo per el kernel 2.6.14 dóna problemes. Per tant, he canviat la crida per la que s'ha de fer servir actualment, que és access_ok(...) (torna el valor invers, per tant s'ha de cridar amb !access_ok(...)).

Un cop fet això l'he pogut compilar. Penjo el codi parxejat a RT25USB-src-v2.0.6.0.tgz.

Només cal compilar, copiar el .ko a /lib/modules/2.6.14/kernel/drivers/net/wireless i fer un depmod. Després amb un modprobe rt2570.ko

La tarja es detecta com a "rausb0".

Afegim el següent a /etc/network/interfaces

auto rausb0
iface rausb0 inet dhcp
pre-up modprobe rt2570
post-down rmmod rt2570
wireless_essid guifi.net-NOM_DEL_NODE

Fem ifup rausb0 i ja hauria de funcionar.

Algunes targes que porten aquest xipset són:

  • MIT WL532U
  • ASUS WL-167g
  • Buffalo WLI-U2-KG54-AI
  • CNet CWD-854
  • Compex WLU54G
  • Conceptronic C54RU
  • D-Link DWL-G122 (b1)
  • E-Tech WGUS02
  • Gigabyte GN-WBKG
  • Linksys WUSB54G v4
  • Linksys WUSB54GP v4
  • MSI MS-6861
  • MSI MS-6865
  • MSI MS-6869
  • Repotec RP-WU0402
  • Surecom EP-9001-g
  • Zinwell ZWX-G261

Foto del Soekris
He provat el dispositiu en una placa Soekris 4801 i funciona correctament... (la intenció és explorar les possibilitats de construïr un supernode en un sol trasto).

Opcions de visualització de comentaris

Escull com vols veure els comentaris i clica 'Desa configuració' per activar els canvis.

molt interessant, pq el meu

molt interessant, pq el meu germà en va comprar un i te un powerpc i encara no havia tingut nassos de poder fer que funcionés

ja comentaré aquí si tinc més problemes Eye-wink

Amb quin S.O. ?

Quin sistema operatiu hi té, Mac OSX o Linux ? Al CD de la tarja hi ha drivers per Mac OSX.
Si hi té un Linux, compte que l'ndiswrapper només funciona amb X86 perquè fa servir els binaris de Windows (a més, que el millor és sempre fer servir drivers natius).

doncs ... ubuntu li vaig

doncs ... ubuntu li vaig posar

Compilació

Al compilar, modifica l'arxiu rm_config.h i comenta amb // el principi de la lína que conté #define RT2570_DBG 1 (és al final de l'arxiu), que sinó mentre treballi t'anirà omplint la consola amb missatges de debugging (va molt bé per fer les proves inicials i veure perquè falla)... Et farà falta com a mínim descarregar el paquet dels headers del kernel i el compilador gcc per poder-lo compilar.

deus voler dir rt_config.h,

deus voler dir rt_config.h, estic baixant de nou els linux-headers perque quan me'ls demana em diu que estan incomplets ....

merci per aquest tutorial pep!!!

problemes

pep, tinc un problema ... em baixo els headers del kernel i tot el src del kernel via apt (b, via synaptic) i un cop li faig un ./configure al directori del codi del driver, em diu que els fonts del kernel no són complets

importa si és un kernel 2.6.10 o .12 perque de versions 14 a les versions estables de l'ubuntu breezy no n'hi ha Sad

Tens els errors exactes ?

Quins errors et dóna exactament ? Has provat amb la 2.6.10 o la 2.6.12 ? Sobre quina arquitectura ?

l'error és aquest, que els

l'error és aquest, que els fonts del kernel no estan complets ...

l'arquitectura és powerpc (un ppc g3, si, vellet pobret)

quan tu fas el ./configure el primer que et demana és on son els fonts del kernel, per defecte et posa /usr/src/linux-kernel-2.6.10-powerpc li poses aquest i et diu aixo i igualment si li poses /usr/src/linux-kernel-2.6.10 dóna el mateix error Sad

el que faig jo és baixar-me i descomprimir els fonts del driver natiu que tu vas penjar, anar al synaptic i baixar els headers i el src del kernel de la versió que tinc funcionant del kernel, entrar al directori dels fonts que m'he baixat de tu i fer ./configure

i ho he fet tant pel 2.6.10 com pel 2.6.12 ... veig que a la drapper ja hi ha versions 2.6.15, però no se si al meu germà que si li peta algu ja se'm posa mosca se m'emprenyarà ...

em descuido alguna cosa?

amd64

No parlo català así que os preguto en castellá: alguien lo ha conseguido hacer funcionar en x86_64?

No lo he probado

Todavia no lo he probado, pero tengo un equipo con Debian para AMD64, a ver si estos dias tengo un momento y lo intento...

Un comentari sobre les Conceptronic...

En el meu cas, tenc una Conceptronic C54RU que, tot i portar el xipset RT2500USB, no figura entre les targetes detectades pel driver. El que he hagut de fer és, abans de compilar, editar el fitxer .h on es guarden els identificadors, i canviar alguns dels suportats pel numeret que surt al lsusb (per la conceptronic és 14b2:3c02). Fent això, ja funciona una vegada compilat i instal·lat.

pàgina generada en: 0.531 segons.