AldiMobileInternetSurf2Go

Introduction

Aldi propose une option intéressante pour les petits consommateurs d'Internet mobile (3G). Attention à toutefois bien surveiller la console d'administration, car apparemment après les 400 MB compris dans le forfait, le trafic supplémentaire est facturé à 10 ct/MB.

Aldi utilise le réseau Sunrise, qui n'a pas une bonne couverture partout en Suisse!

Aldi propose cela via un stick/dongle USB (surf2go), qui n'est pas par défaut supporté sous systèmes standards (GNU/Linux par exemple).

Le but de ce document est de donner des pistes pour l'utilisation avec un environnement standard (GNU/Linux Debian ou Ubuntu, routeur embarqué Linux, etc)

Support sous système standard (GNU/Linux)

Introduction

Comme souvent pour ces USB sticks 3G, le stick est en deux modes possibles:

  • périphérique caractère UNIX (émulation USB d'un port série rapide, /dev/ttyUSB*)

  • périphérique bloc UNIX (émulation USB d'un disque-dur, /dev/sdb par exemple si /dev/sda est le disque-dur interne SCSI/PATA/SATA/USB et qu'il n'y en a pas d'autres) -- par défaut

Evidemment, sous système standard (UNIX), aucun pilote n'est nécessaire. C'est normal, ça a été conçu ainsi.

Ces deux modes sont différenciables par les logs systèmes (commande dmesg notamment), mais surtout car le numéro de produit du périphérique n'est pas le même (consulter lsusb)

L'idée du disque émulé est de contenir les pilotes Microsoft Windows. Evidemment c'est stupide car
  • ça renchérit l'équipement (peut-être moins que de livrer un CD?) -- à quand les rabais pour les environnements standards? aucune envie d'acheter des logiciels non standards!
  • les pilotes Microsoft Windows ne sont pas à jour, il vaut mieux installer, sous cet environnement non standard, des pilotes originaux récents (voir site du fabricant du stick USB) -- sinon risque de virus, trojan, ...
  • cela nécessite l'envoi d'une commande non standard pour "basculer" le périphérique dans le mode utilisable!

Installation et configuration de l'outil de basculement

Il y a plusieurs versions de cet outil, certaines mêmes compilées pour des plateformes non x86. Dans mon cas:

  • apt-get install usb-modeswitch

  • cat > /etc/usb-modeswitch-x225s.conf <<"EOF"
    # Alcatel X225S
    
    DefaultVendor=  0x1bbb
    DefaultProduct= 0xf000
    
    TargetVendor=   0x1bbb
    TargetProduct=  0x0017
    
    MessageContent="55534243123456788000000080000606f50402527000000000000000000000"
    EOF
    

  • cat > /etc/udev/rules.d/50-x225s.rules <<"EOF"
    SUBSYSTEM=="usb", SYSFS{idVendor}=="1bbb", SYSFS{idProduct}=="f000", RUN+="/usr/sbin/usb_modeswitch -c /etc/usb-modeswitch-x225s.conf"
    SUBSYSTEM=="usb", SYSFS{idVendor}=="1bbb", SYSFS{idProduct}=="0017", RUN+="/sbin/modprobe usbserial vendor=0x1bbb product=0x0017"
    EOF
    

Après le basculement (maintenant automatique à l'insertion du dongle), lsusb montre l'identifiant du périphérique 1bbb:0017, et clignote jaune.

Configuration du script de connexion

N'étant pas un adepte des interfaces graphiques (elles changent souvent, et essayez d'en trouver une sur un système embarqué), voici la solution avec les outils classiques UNIX (pppd et chat), appelés via la façon Debian (outil pon).

  • désarchiver l'archive proposée
    tar --directory=/ xvzf aldi-surf2go-config.tar.gz
    

  • vous pouvez consulter les divers fichiers de configuration et scripts; ils sont cependant générique et devraient fonctionner sans modification (à l'exception de /root/scripts/ppp/chat/aldi-prep s'il y a un PIN pour la carte SIM!)

Le script s'appelle (sous root) via pon aldi (environ 30 secondes), puis poff aldi (pour arrêter). On peut bien sûr configurer un lien cliquable sur le desktop (p.ex. en configurant sudo pour autoriser ces commandes pour un groupe particulier).

LED

  • rouge clignotant: dongle dans le mauvais mode (disque)
  • jaune clignotant: dongle a été mis dans le bon mode
  • rouge fixe: connexion établie!

Test

Voici ce que tail -f /var/log/syslog devrait montrer si cela fonctionne.

[...]
Aug 16 15:56:13 mathieu-laptop chat[1887]: send (ATM1L3DT*99#^M)
Aug 16 15:56:13 mathieu-laptop chat[1887]: expect (CONNECT)
Aug 16 15:56:13 mathieu-laptop chat[1887]: ^M
Aug 16 15:56:13 mathieu-laptop chat[1887]: ATM1L3DT*99#^M^M
Aug 16 15:56:13 mathieu-laptop chat[1887]: CONNECT
Aug 16 15:56:13 mathieu-laptop chat[1887]:  -- got it
Aug 16 15:56:13 mathieu-laptop chat[1887]: send ()
Aug 16 15:56:13 mathieu-laptop pppd[1879]: Serial connection established.
[...]
Aug 16 15:56:13 mathieu-laptop pppd[1879]: Using interface ppp0
Aug 16 15:56:13 mathieu-laptop pppd[1879]: Connect: ppp0 <--> /dev/ttyUSB4
Aug 16 15:56:14 mathieu-laptop pppd[1879]: PAP authentication succeeded
Aug 16 15:56:15 mathieu-laptop pppd[1879]: Could not determine remote IP address: defaulting to 10.64.64.64
Aug 16 15:56:15 mathieu-laptop pppd[1879]: Cannot determine ethernet address for proxy ARP
Aug 16 15:56:15 mathieu-laptop pppd[1879]: local  IP address 10.203.189.232
Aug 16 15:56:15 mathieu-laptop pppd[1879]: remote IP address 10.64.64.64
Aug 16 15:56:15 mathieu-laptop pppd[1879]: primary   DNS address 194.230.1.103
Aug 16 15:56:15 mathieu-laptop pppd[1879]: secondary DNS address 194.230.1.71

Autres informations

  • étonnamment, le périphérique qui m'a été livré fonctionne sans introduction du PIN de la carte SIM! Sinon, il faut bien sûr décommenter et corriger la ligne ad-hoc (voir les commentaires dans les fichiers).

  • dans mon cas, le dongle avait été précédemment utilisé sous un système non standard. Des rumeurs sur Internet prétendent que c'est nécessaire.

  • il est recommandé de désactiver les fonctions 3G de Network Manager (sous Ubuntu).

Références

-- MarcSCHAEFER - 16 Aug 2012
I Attachment Action Size Date Who Comment
aldi-surf2go-config.tar.gzgz aldi-surf2go-config.tar.gz manage 894 bytes 16 Aug 2012 - 14:16 MarcSCHAEFER Configuration et scripts Aldi surf2go
Topic revision: r4 - 15 Nov 2023, MarcSCHAEFER
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback