gnu:fonera2g
Différences
Ci-dessous, les différences entre deux révisions de la page.
— | gnu:fonera2g [2024/02/09 17:10] (Version actuelle) – créée - modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Une base Fonera 2g ====== | ||
+ | |||
+ | Pour une quarantaine d' | ||
+ | |||
+ | C'est une base solide pour bricoler des automates, faire fonctionner un ou plusieurs arduinos, des capteurs gps, tracer les champs radio etc. | ||
+ | |||
+ | **Specifications** | ||
+ | < | ||
+ | # Model Name: FON2202 | ||
+ | # Dimensions: 93.5 mm x 25.5 mm x 110 mm (excluding antenna) | ||
+ | # Antenna Connector: RP-SMA connector (reverse SMA) | ||
+ | # USB Port: USB A-type Receptacle (USB 2.0) | ||
+ | # Antenna: External detachable antenna (1,5dBi) | ||
+ | # Authentication: | ||
+ | # Encryption: TKIP, AES, Mixed | ||
+ | # Network Standard Support: IEEE 802.11b / 802.11g (up to 54 Mbps) | ||
+ | # Frequency Range: 2412 ~ 2462 MHz (802.11b/g, Channel 1~Channel11) | ||
+ | # Maximum output power: 112.460 mW | ||
+ | # Ports: 1 Ethernet WAN port (10/ | ||
+ | # SSIDs: One public (named FON_FREE_INTERNET by default) non-encrypted and one private (named MyPlace by default) encrypted with WPA-PSK | ||
+ | # Platform / frequency: Atheros AR2315 @ 180 MHz | ||
+ | # Flash: 8MB / Ram: 32MB | ||
+ | # Wireless NIC: Atheros SoC, LAN Switch: Marvell 88E6060 | ||
+ | # bootwait: Redboot | ||
+ | # Serial: Yes JTAG: Yes USB: Yes | ||
+ | </ | ||
+ | |||
+ | ===== Préparation ===== | ||
+ | * On déballe l' | ||
+ | * Rendez vous avec votre navigateur ( pas celui de microsoft!) sur http:// | ||
+ | * le mot d' | ||
+ | * Télécharger le firmware linux dernier crie sur votre bureau [[http:// | ||
+ | * mettre à jour dans la partie système en pointant le fichier téléchargé, | ||
+ | ===== Préparatifs ===== | ||
+ | |||
+ | Maintenant on peut se loger en ssh sur root@192.168.10.1 avec un mot de passe ' | ||
+ | |||
+ | * Mise à jour des listes de paquets | ||
+ | < | ||
+ | cp / | ||
+ | echo " | ||
+ | src snapshots http:// | ||
+ | #src snapshots2 http:// | ||
+ | #src snapshots3 http:// | ||
+ | #src snapshots4 http:// | ||
+ | |||
+ | dest root / | ||
+ | dest ram /tmp | ||
+ | dest usb /opt | ||
+ | lists_dir ext / | ||
+ | " > / | ||
+ | opkg update | ||
+ | opkg list | ||
+ | </ | ||
+ | * mettre en place de la place, une cleUSB avec une swap(/ | ||
+ | < | ||
+ | # modification du fichier de montage fstab pour la cleUSB | ||
+ | mv / | ||
+ | echo " | ||
+ | config mount | ||
+ | option target /opt | ||
+ | option device / | ||
+ | option fstype ext3 | ||
+ | option options rw, | ||
+ | option enabled 0 | ||
+ | |||
+ | config swap | ||
+ | option device / | ||
+ | option enabled 0 | ||
+ | " > / | ||
+ | echo "# | ||
+ | START=99 | ||
+ | start() { | ||
+ | # fstab, / | ||
+ | mount /opt | ||
+ | }">/ | ||
+ | chmod 755 / | ||
+ | ln -s / | ||
+ | |||
+ | # ajout des chemins vers /opt | ||
+ | echo " | ||
+ | export LD_LIBRARY_PATH=/ | ||
+ | export PATH=$PATH:/ | ||
+ | " >> / | ||
+ | export LD_LIBRARY_PATH=/ | ||
+ | export PATH=$PATH:/ | ||
+ | |||
+ | </ | ||
+ | ===== Du son sur la fonera 2.0g ===== | ||
+ | Une mini carte son USB ajoutée sur le hub connecté sur la fonera. | ||
+ | < | ||
+ | opkg install kmod-usb-audio kmod-sound-core alsa-lib alsa-utils | ||
+ | </ | ||
+ | |||
+ | ===== Installation de la chaine de cross-compilation ===== | ||
+ | Télécharger et décompresser l' | ||
+ | < | ||
+ | cd /usr/src | ||
+ | wget http:// | ||
+ | tar xvjf 20090921_fonosfera_GPL_tar.bz2 | ||
+ | cd fonosfera_2.3.0.0_GPL | ||
+ | sh install.sh | ||
+ | cd openwrt | ||
+ | make menuconfig | ||
+ | </ | ||
+ | Choisir fon2.0 en plateforme et lancer une première compilation générale, qui va préparer tous les outils nécessaire par la suite aux compilations. | ||
+ | < | ||
+ | make V=99 | ||
+ | </ | ||
+ | Mettez à jour les paquets pour disposer de plus de programmes | ||
+ | < | ||
+ | ./ | ||
+ | </ | ||
+ | ===== TiMidity++ sur la Fonera ===== | ||
+ | Le chalenge est de tester un player midi sur la bêbête , j'ai nommé TiMidity++. Ainsi nous pourrons générer et lire des fichiers midi directement pour les sortir en audio sur la carte son USB :-) . | ||
+ | On imagine toute les nouvelles applications : orchestre midi en réseau, automate de composition. Et une idée nous est venue : utiliser un automate conversationnel ( le robot irc pyborg ) pour gérer non pas des mots mais des chaines de caractère MIDI ... | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | J'ai crée un Makefile vitefait openwrt/ | ||
+ | < | ||
+ | # | ||
+ | # Copyright (C) 2007 OpenWrt.org | ||
+ | # | ||
+ | # This is free software, licensed under the GNU General Public License v2. | ||
+ | # See /LICENSE for more information. | ||
+ | # | ||
+ | # blogic@openwrt.org | ||
+ | |||
+ | include $(TOPDIR)/ | ||
+ | |||
+ | PKG_NAME: | ||
+ | PKG_VERSION: | ||
+ | PKG_RELEASE: | ||
+ | PKG_SOURCE: | ||
+ | PKG_SOURCE_URL: | ||
+ | PKG_BUILD_DIR: | ||
+ | include $(INCLUDE_DIR)/ | ||
+ | |||
+ | define Package/ | ||
+ | $(call Package/ | ||
+ | SECTION: | ||
+ | URL: | ||
+ | TITLE: | ||
+ | # | ||
+ | endef | ||
+ | |||
+ | define Build/ | ||
+ | $(call Build/ | ||
+ | endef | ||
+ | |||
+ | #define Build/ | ||
+ | # | ||
+ | # | ||
+ | # all install | ||
+ | #endef | ||
+ | |||
+ | |||
+ | define Package/ | ||
+ | # $(INSTALL_DIR) $(1)/ | ||
+ | # $(CP) $(PKG_BUILD_DIR)/ | ||
+ | $(INSTALL_DIR) $(1)/ | ||
+ | $(CP) $(PKG_INSTALL_DIR)/ | ||
+ | endef | ||
+ | |||
+ | $(eval $(call BuildPackage, | ||
+ | |||
+ | </ | ||
+ | Bon, ca ne se passe pas tout seul ... evidement. | ||
+ | |||
+ | J'ai un peu galèré, il faut jongler entre les dénominations TiMidity et TiMidity++ ( qui pose problème sur la chaine de compilation ). Ensuite à un moment, il faut exécuter un binaire sur la fonera et en récupérer le résultat pour pouvoir continuer. | ||
+ | |||
+ | Bref , voici le répertoire une fois la première compilation passée. | ||
+ | {{: | ||
+ | {{: | ||
+ | |||
+ | J'ai eu besoin de alsa-lib, alsa-utils, ... | ||
+ | |||
+ | ===== Trucs ===== | ||
+ | aplay -Dplughw: | ||
+ | < | ||
+ | Out of space | ||
+ | |||
+ | When opkg runs out of space, it usually fails to elegantly recover. If the lock was not removed, | ||
+ | |||
+ | Collected errors: | ||
+ | * Could not obtain administrative lock | ||
+ | |||
+ | it can be deleted from / | ||
+ | |||
+ | Additionally, | ||
+ | |||
+ | mkdir / | ||
+ | cd / | ||
+ | opkg download < | ||
+ | gunzip -c *.ipk | tar -x | ||
+ | gunzip -c data.tar.gz | tar -x | ||
+ | |||
+ | find . | ||
+ | </ | ||