Ubuntu, 3G et Nokia N95 avec Orange

Voici comment connecter très facilement un PC Linux ( Ubuntu 8.04 sur eeepc ) à internet avec un téléphone 3G.

nokia n95

J’ai un nokia N95 qui est parfaitement supporté sur Ubuntu. Pour se connecter, j’utilise le cable USB, mon EEEPC n’ayant pas de bluetooth. Lors du branchement du téléphone, il faut sélectionner le mode

PC SUITE sur NOKIA. Sous Linux, un petit dmesg nous en dit plus:

[code]

[   65.528724] usb 2-1: new full speed USB device using uhci_hcd and address 2
[   65.545353] usb 2-1: configuration #1 chosen from 1 choice
[   67.050935] cdc_acm 2-1:1.10: ttyACM0: USB ACM device
[   67.060398] usbcore: registered new interface driver cdc_acm
[   67.060858] /home/adamm/git/ubuntu-hardy/debian/build/custom-source-eeepc/drivers/usb/class/cdc-acm.c: v0.25:USB Abstract Control Model driver for USB modems and ISDN adapters
[   67.094186] usbcore: registered new interface driver cdc_ether
[   67.104548] usb 2-1: bad CDC descriptors
[   67.104988] usbcore: registered new interface driver rndis_host

[/code]

Pour établir la connexion, nous avons besoin de wvdial.

[code]

sudo apt-get install wvdial

[/code]

Ensuite, pour le paramétrer, créez le fichier /etc/wvdial.conf contenant ceci:

[code]

[Dialer Defaults]
Modem = /dev/ttyACM0
Baud = 460800
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init5 = AT+CGDCONT=1, »IP », »orange »;
ISDN = 0
Modem Type = Analog Modem
Phone = *99***1#
username = orange
password = orange
Stupid Mode = 1

[/code]

Pour établir le lien, branchez le téléphone puis tapez

[code]

sudo wvdial

[/code]

et hop à vous internet mobile.

Je précise que j’ai un abonnement Orange et que ça marche sans surfacturation (Internet Max). Le même principe marche chez SFR (en modifiant le useragent du navigateur) et Bouygues. S’il n’y a pas d’abus avec ces connexions, il n’y a pas vraiment de raison que les opérateurs verrouillent le système.

Bricolage autour d’un routeur Asus WL500Gp – Partie 3

Me revoilà avec mon routeur légèrement bricolé 😉

Pour ceux qui n’ont pas suivi, voilà la partie 1 et la partie 2.

La dernière fois, je m’étais arrêté sur un problème d’espace disque.

ipkg: write error: No space left on device

Heureusement, il me reste en interne un port USB pour pouvoir ajouter un peu de mémoire. J’ai retrouvé une clef usb obsolète de 128Mo.

exploded usbkey

Je l’ai démonté pour en retirer la petite carte électronique.

Connector removed

Pour les premier tests, je démarre le routeur sans fixer la clef définitivement. Ca ne fait pas pfffttt 🙂 c’est déjà bon signe. J’attends que le routeur boote avant de me connecter en ssh. Un petit dmesg me rassure.

SCSI subsystem driver Revision: 1.00
hub.c: new USB device 01:03.1-1, assigned address 2
usb.c: USB device 2 (vend/prod 0xd8c/0xc) is not claimed by any active driver.
Initializing USB Mass Storage driver…
usb.c: registered new driver usb-storage
USB Mass Storage support registered.
hub.c: new USB device 01:03.1-2, assigned address 3
scsi0 : SCSI emulation for USB Mass Storage devices
Vendor: PIXIKA    Model: USB Flash Drive   Rev: 4.00
Type:   Direct-Access                      ANSI SCSI revision: 02
Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0
SCSI device sda: 255231 512-byte hdwr sectors (131 MB)
sda: Write Protect is off
Partition check:
/dev/scsi/host0/bus0/target0/lun0: p1
WARNING: USB Mass Storage data integrity not assured
USB Mass Storage device found at 3

Testing on router

Voilà, on peut maintenant la coller définitivement.

Memory hot glued on motherboard

Le test avec mon eeepc fraichement installé sous ubuntu.

checking with my eeepc

On peut maintenant se lancer sereinement dans l’installation des utilitaires qui nous manquent.

Un petit coup de fdisk, une pincée de mkfs.ext2 et nous voilà avec un beau filesystem de 128Mo tout prêt à acceuillir le Python récalcitrant.

root@OpenWrt:~# mkfs.ext3 /dev/scsi/host0/bus0/target0/lun0/part1
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
16000 inodes, 127472 blocks
6373 blocks (5.00%) reserved for the super user
First data block=1
16 block groups
8192 blocks per group, 8192 fragments per group
1000 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729

Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 36 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

j’ai ajouté un script de montage de la partition dans le /etc/init.d

root@OpenWrt:/opt# df -h
Filesystem                Size      Used Available Use% Mounted on
none                     14.9M     36.0k     14.9M   0% /tmp
/dev/mtdblock/4           6.0M      5.8M    236.0k  96% /jffs
mini_fo:/jffs             1.2M      1.2M         0 100% /
/dev/scsi/host0/bus0/target0/lun0/part1    122.5M      4.0M    112.2M   3% /opt

il n’y a plus qu’à ajouter « dest opt /opt » dans le fichier /etc/ipkg.conf et à utiliser ipkg avec l’option « -d opt »

root@OpenWrt:/etc/rc.d# ipkg install -d opt mpd
Installing mpd (0.13.0-1) to opt…
Downloading http://downloads.openwrt.org/kamikaze/packages/mipsel/./mpd_0.13.0-1_mipsel.ipk
Configuring mpd
Done.

root@OpenWrt:/etc/rc.d# ipkg install -d opt /tmp/python_2.5.1-2_mipsel.ipk
Installing python (2.5.1-2) to opt…
Configuring python
Done.

Cool 🙂

Maintenant la suite, installons wymypy. Le site de l’auteur indique qu’il faut utiliser easy_install pour installer son programme.

root@OpenWrt:/opt# python ez_setup.py –install-dir=/opt
Traceback (most recent call last):
File « ez_setup.py », line 267, in <module>
main(sys.argv[1:])
File « ez_setup.py », line 198, in main
egg = download_setuptools(version, delay=0)
File « ez_setup.py », line 120, in download_setuptools
import urllib2, shutil
File « /opt/usr/lib/python2.5/urllib2.py », line 87, in <module>
import base64
File « /opt/usr/lib/python2.5/base64.py », line 9, in <module>
import struct
File « /opt/usr/lib/python2.5/struct.py », line 30, in <module>
from _struct import Struct, error
ImportError: No module named _struct

Au secours !!!

Bon un peu de google me dit qu’il manque _struct.so a cause de mauvais chemins.

Je mets donc un PYTHONPATH=/opt/usr/lib/python2.5 et un PYTHONHOME=/opt/usr/

Allez, on progresse, il me dit qu’il lui manque le module md5… C’est sans fin…

La suite au prochain numéro 🙂

eeepc et Ubuntu 8.04

Il y quelques temps, j’avais testé eeeXubuntu, pour ensuite revenir à la distribution Xandros d’origine notamment à cause du temps de boot qui est vraiment sympa avec Xandros. Finalement, trouvant trop limité cette distribution: par exemple, il n’est pas possible d’installer Firefox 3 facilement (il faut ajouter libgtk 2.10), j’ai jeté un oeil du coté d’Ubuntu optimisé eeepc.

Me voilà donc en train d’installer Ubuntu 8.04 sur mon portable Asus eeepc 701 (4G). J’allais vous faire un petit article quand en ouvrant mon lecteur RSS, je me suis aperçu que Grégory Gutierez vient lui aussi de relater son expérience ici . Du coup je me dis, essayons d’optimiser tout ça pour gagner en temps de démarrage.

J’installe bootchart pour vérifier les temps de démarrage, je commence un article et là Grégory nous reposte un article sur l’optimisation

eee ubuntu  sur eeepc

Excellent 🙂

On dit merci Grégory… moi, je retourne me coucher 😉

En vrac

  • Asus sort un SDK pour aider au développement sur eeepc. Blogeee.net en parle. Voilà une bonne nouvelle pour aider au développement sur cette plateforme.
  • J’ai récemment découvert navit. C’est un logiciel de navigation GPS incluant le routage (comme TomTom Garmin et autres…). Il supporte pas mal de cartes dont les fameuses openstreetmap. Je n’ai pas encore essayé de l’installer, mais je vais tester rapidement. Bien entendu, il est opensource.

Navit

  • REPRAP: voilà un projet sympa: une sorte d’imprimante 3D. Vous pouvez créer des pièces en 3D à partir de plastique fondu, le tout piloté par un ordinateur. Cette machine à l’étonnante capacité de se reproduire elle même (enfin partiellement). Et oui, les pièces qui la composent peuvent être en partie fabriquées avec la machine.

RepRap