Connettere il Nintendo DS a Linux con il wi-fi (non con l’adattatore Nintendo)

Questa materia mi ha incuriosito, così oggi ho fatto un po’ di ricerche tanto per vedere se l’adattatore Wireless di Nintendo per caso funzionasse con Linux (casomai avessi pensato di comprarlo). La risposta è no. A parte questo, ricordatevi che quell’adattatore funziona solo con periferiche autorizzate, usa un protocollo proprietario, e costa come qualsiasi altra chiavetta wi-fi.

Perciò se volete connettere a Internet il Nintendo DS con la vostra connessione avete due strade: o usate un router Wireless o una chiavetta wi-fi normale (ripeto, non quella di Nintendo). Prima di comprare una periferica consiglio di verificarne la compatibilità con Linux, anche se Ubuntu 7.04 se la cava egregiamente.

Router Wi-fi

Per prima cosa controllate che il vostro router sia supportato da Nintendo e che sia configurato correttamente per la connessione ad internet, inoltre se è protetto deve usare la protezione WEP. A questo punto si può procedere all’utilizzo della funzione di ricerca automatica come indicato nel sito. Qui potete trovare una copia in Pdf delle istruzioni, senza perdere tempo a cercare.

Chiavetta wi-fi

Per usare il metodo che illustrerò avete bisogno di questi requisiti:

  • Linux con kernel 2.4.x o superiore (la guida è orientata ad Ubuntu, ma qualsiasi altra distro dovrebbe andare bene)
  • Una chiavetta wi-fi usb correttamente installata sul sistema
  • Una connessione ad internet funzionante che non si appoggi alla chiavetta wi-fi che volete far comunicare con il DS
  • Una basilarissima conoscenza del terminale
  • I pacchetti wireless-tools e iptables installati
  • La voglia di perdere un po’ di tempo (penso che in mezz’ora si possa fare)

Dopo aver elencato i requisiti passerò alla spiegazione. Per prima cosa inserite la chiave wi-fi usb.

Adesso la chiave così com’è è impostata in modo da essere uno Slave, cioè si aspetta di ricevere un servizio. In realtà la chiave lo deve fornire il servizio, e lo deve dare al Nintendo DS. Deve quindi diventare Master.

Ora dovete scoprire il nome dell’interfaccia di rete che Linux ha assegnato rispettivamente alla vostra connessione ad internet ed alla chiavetta.

Per fare ciò, date nel terminale questo comando:

ifconfig

Ed avrete l’elenco delle interfacce di rete del computer. Se per internet usate una connessione ethernet quasi sicuramente la vostra interfaccia sarà eth0. La vostra chiavetta avrà con tutta probabilità l’interfaccia wlan0. La guida presumerà queste condizioni, modificate i comandi in caso di una diversa configurazione.

Adesso pensiamo a impostare la chiavetta per fare da Master e aggiungiamo tutte le altre impostazioni necessarie:

sudo iwconfig wlan0 mode Master
sudo iwconfig wlan0 essid "LINUX_AP"
sudo iwconfig wlan0 channel 6
sudo iwconfig wlan0 rate 2M

Adesso la vostra chiavetta è diventata ufficialmente un Access Point!

Nota importante: il canale numero 6 nella guida originale era indicato come l’ideale per gli USA, invitando ad informarsi per gli altri stati. Il sito Pianeta Radio indica che in Europa è lecito utilizzare i canali dal numero 1 al numero 13. Per questo motivo ho ritenuto che il canale 6 vada più che bene.

Adesso siamo ad un buon punto. Utilizzate la funzione di ricerca degli Access Point del Nintendo DS come indicato nella guida sul sito linkato prima (o nel Pdf linkato prima) e connettetevi all’Access Point LINUX_AP.

Vi apparirà un errore.

Sì, perché non abbiamo ancora configurato l’Access Point. Tranquilli comunque, il fatto che il DS abbia trovato l’Access Point significa che fin qui è andato tutto bene.

Adesso assegniamo l’intervallo di ip da usare con la chiavetta, deve essere diverso da quello usato dal vostro router.

Quasi sicuramente andrà bene questo comando:

sudo ifconfig wlan0 up 192.168.2.1

Ecco, adesso dobbiamo convogliare il traffico di rete tra le due interfacce, in modo che la connessione passi dal Nintendo DS alla chiavetta alla vostra connessione ad Internet.

sudo iptables --table nat --append POSTROUTING -o eth0 -j MASQUERADE
sudo iptables --append FORWARD --in-interface wlan0 -j ACCEPT
sudo echo 1 > /proc/sys/net/ipv4/ip_forward

Adesso dobbiamo assegnare un ip al Nintendo DS.

Seguite la guida in Pdf di prima, ma invece di toccare la voce di ricerca degli Access Point selezionate Manual Setup traducibile in Configurazione manuale.

Inserite i seguenti dati:

SSID: LINUX_AP

Ip Address (indirizzo ip): 192.168.2.2

Gateway: 192.168.2.1

Primary/Secondary DNS (DNS primario/secondario): per questi inserite i DNS del vostro provider, oppure gli OpenDNS.

Adesso salvate la configurazione e fategli fare il test della connessione.

A questo punto se tutto è andato per il verso giusto sarà connesso!

Tradotto, semplificato e spiegato dalla guida originale di PD Ghost Buster.

44 pensieri riguardo “Connettere il Nintendo DS a Linux con il wi-fi (non con l’adattatore Nintendo)

  1. @ Sleeping, e a me non interessa. 😀
    @ Luca, grazie di aver chiesto il permesso, ma tu sei libero di linkare quello che vuoi su Internet. 😉
    Per copiare invece, attieniti alla licenza del blog, cioé la Creative Commons Attribution Share-Alike.

  2. Per ora linko…per quanto riguarda la creative commons sono ignorante. Si possono copiare i contenuti?

    Grazie, ciao

  3. @ Luca, assolutamente sì. Solo che il primo link è sbagliato, dovresti mettere il link a questo post non due volte il link alla licenza. 😉
    Inoltre ti faccio notare che mancano alcuni link, non che sia necessario è chiaro! La licenza ti permette opere derivate, quindi lo puoi fare, però io ti consiglierei di lasciarli. 😀

  4. Ciao,
    segnalo un errore su una parte che hai indicato :
    sudo iptables –append FORWARD –in-interface wlan0 -j ACCEPT

    In realtà è :
    sudo iptables –append FORWARD –in-interface wlan0 -j ACCEPT

    Cmq, io ho provato con la Wii e una chiavetta USB DWL-G122 e non va una mazza…non vedo proprio accedere la Wii al “access point” fatto così.

    Cmq, riproverò, sicuramente sbaglio qualcosa io…

    Ciao 🙂

  5. @ Emanuele, i doppi trattini vengono “grippati” da WordPress…
    Per la chiavetta, dovresti controllare che supporti il funzionamento in modalità Master… e che tu stia operando con le interfacce di rete giuste. 😉

  6. @ Ciccio, nella guida originale (è linkata) è scritto tutto. Comunque credo che questo non sia il posto più adatto per la tua richiesta. 😉
    Ah, e tra parentesi, auguri! Riuscire a fare una cosa del genere in Windows è molto difficile.

  7. Ciao Andrea, vorrei chiederti se è possibile fare una cosa del genere anche tramite il terminale di mac osx, perchè ho comprato una chiavetta pensando che bastasse, ma da quanto leggo qui dovrei invertire la sua funzione… in effetti è abbastanza logico.
    premetto che non so’ nulla di programmazione ma se seguo la tua guida potrebbe funzionare anche con un macintosh?

    grazie mille. 🙂

  8. ciao.allora io se mi compro la ds con il mio computer e con la mia linea lo posso collegare la ds ??
    perfavore rispondi…

  9. a me la chiavetta wi-fi mi viene vista come eth2 e se provo ad impostarla come master mi dice “invalid argument” e se metto wlan0 mi dice che non cè il dispositivo, come faccio a far vedere la chiavetta wi-fi come wlan0 e non come eth2?

  10. @ Greyzard, il fatto che ti dia un argomento non valido può significare che la tua chiavetta non supporta la modalità master. Per quanto riguarda l’assegnazione del nome del device… Questo va un po’ oltre le mie competenze.

  11. innanzitutto complimenti per il sito e le guide che ci si trovano.
    Passiamo al problema, quando inserisco:
    ” sudo iwconfig wlan0 mode Master ”
    mi restituisce:
    ” Error for wireless request “Set Mode” (8B06) :
    SET failed on device wlan0 ; Invalid argument. ”
    Mi puoi aiutare? Te ne sarei molto grato. ciao

  12. e invece la supporta eccome la modalità Master, su XP riesco a metterla!
    possono centrare qualcosa i driver? ho provato ad installare quelli di Windows con il software che in teoria dovrebbe renderli compatibili con Linux, ma mi dice che sono sbagliati!

  13. ciao, la tua guida mi ha dato gli spunti giusti per far funzionare la chiavetta zd1211 in master mode e per creare l’AP.

    Ora riesco effettivamente da client windows a collegarmi all’ap, riesco a pingare l’ip associato alla chiavetta usb ma non riesco ne a pingare il router ne la porta ethernet della mia linuxbox, sembra quasi che le istruzioni iptables per il forwarding dei pacchetti non abbiano effetto.

    Sai darmi qualche idea per risolvere quest’ultimio ostacolo?

    Ciao e grazie

  14. Sono contento che sia riuscito a metterla in master. Per il postrouting non ti so aiutare direttamente, a parte il fatto di dirti di stare attento ai doppi trattini perché WordPress a volte li cambia, stesso discorso per le virgolette.
    Comunque quello che ho notato che a volte da problemi è questo “sudo echo 1 > /proc/sys/net/ipv4/ip_forward”. Forse questo ti può aiutare: http://openskills.info/topic.php?ID=125

  15. Ciao Lazza, sono finalmente riuscito a dipanare la matassa. Sul client windows era tutta colpa dell’MTU che non era compatibile con la mia connessione adsl. Una volta impostato l’MTU della connessione wireless a 1492 tramite il programma gratuito DrTCP (e un bel restart del portatile) tutto ha preso a funzionare come da aspettattive.

    Suggerisco a tutti, una volta testata la funzionalita’ del collegamento di impostare almeno una criptazione di tipo WEP, non sicura ma facilissima da attivare tramite la comoda stringa:
    sudo iwconfig wlan0 key restricted s:

    Per i piu’ servizievoli suggerisco di configurare anche il servizio DHCP sull interfaccia wlan modificando il file /etc/dhcpd.conf e poi lanciando:
    sudo dhcpd wlan0

    Ciao a tutti e buon divertimento wireless

  16. Ciao sto cercando di installare una penna wifi.
    nell’ultimo comando, sudo echo 1 > /proc/sys/net/ipv4/ip_forward mi da uesto errore:
    bash: /proc/sys/net/ipv4/ip_forward: Permission denied
    Cosa posso fare?

  17. @ luca, caspita… Anche a me è successo e non so come, ma a forza di dai e dai me l’ha preso. Potresti provare invece di darlo con sudo direttamente ad entrare in una shell di root con sudo bash, e magari mettere l’1 tra virgolette così:
    sudo bash
    echo "1" > /proc/sys/net/ipv4/ip_forward
    Prova e sappimi dire. 😉

  18. Grazie Lazza. Ora il comando è passato, ma non c’è nulla da fare…..
    il ds vede un acces point, ma il suo ssid nin è LINUX_AP, ma BRCM_TEST_SSID
    dovo aver impostato manualmente il ds non si riesce a farlo connettere????
    continuerò a provare ciao o e grazie!!

  19. Ciao e grazie delle informazioni.
    Ho una domanda da porti che che più o meno è inerente al post: è possibile installare una qualsiasi linux sulla Nintendo DS?

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *