Skyduino:~#
Articles
C/C++, programmation, projet, tutoriel

[Hack] Linux sur un cadre photo DF3120 (Parrot)

Bonjour tout le monde !

Aujourd’hui je vais (encore) sortir des sentiers battus et vous faire un article sur un sujet plutôt « technique ».

J’ai découvert il y a peu le cadre photo Parrot DF3120, après avoir lu quelques articles dessus je me suis rendu compte du potentielle de ce petit cadre photo à même pas 15€ (17€ sans fdp pour être précis) !
Une console linux avec écran contrôlable à distance via bluetooth, ça ne vous fait pas envie ?

Bref, je ne vais pas vous spoiler la suite, vous allez vite comprendre 😉

J’ai commandé mon DF3120 sur ebay pour environ 15€, autant dire pour une bouché de pain !

La carton est arrivé un peu amoché, le vendeur avait juste mis un morceau de sac plastique par dessus le carton d’emballage sans vraiment prendre plus de précautions.
Heureusement le carton entourait une grosse coque plastique qui protégeait le DF3120. Ouf !

Une fois déballé, le DF3120 rend plutôt pas mal, pas très grand (on pas tout avoir) mais bien sympa.

Une fois tout le contenu du carton sur mon bureau je me suis retrouvé confronté à un problème imprévu …
En Angleterre les prises ne sont pas les même qu’en France … Zut …

Mais grâce à la magie du tout fabriqué en chine, j’ai pu trouver dans mes cartons un adaptateur secteur européen compatible avec le DF3120 !
Youpi !

Coté esthétique c’est très classique … la face avant est blanche avec juste des petites barres de couleurs (interchangeable).
Ça fait très plastique « made in china » mais bon, moi l’esthétique du produit … je m’en balance tant que mon firmware maison tourne dessus 🙂

La face arrière est déjà plus intéressante (d’un point de vue hackers ;)).
On remarque donc les 3 boutons + power, le pied de stabilisation, et le capteur de lumière.

Zoom sur le port d’alimentation, le port usb, et le port pour carte SD.

Zoom sur le bouton power et sur le capteur lumière.
(J’ai peut être un peu forcé sur le zoom ^^)

Zoom sur les boutons droite, gauche, et centre.

De base le DF3120 démarre sur le firmware parrot d’origine, pour un cadre photo le firmware d’origine est relativement complet.
Par contre pour un hacker dans l’âme ça manque de linux tout ça 🙂

On remarquera au passage qu’avec le capteur d’inclinaison intégré l’écran se réoriente automatiquement avec le firmware officiel.

Niveau qualité d’image c’est très moyen …
La qualité est pas mauvaise mais bon c’est un écran de 320×240 pixels quoi …
(La photo n’est pas significative, photographier un écran TFT avec un reflex donne toujours des photo très pixelisé …)

Bien rentrons à présent dans le cœur de la cuisine du sujet, le firmware linux !

Tout d’abord je tiens à préciser que toute la gloire revient à ces 3 hackers :
- Michel Pollet
- Jeroen
- Claude Schwarz

Dont tous les détails sur leur travail sont disponible ici :
https://sites.google.com/site/repurposelinux/df3120

Le hardware :
Le hardware du DF3120 n’est pas super impressionnant, c’est presque la même configuration qu’un routeur WRT54G …

Jugez par vous même …
CPU: Samsung s3c2412 (arm9) @266 mhz (ARM9 -> support 100% stable du kernel linux)
ECRAN: Powertip PH320240, résolution 320x240px, 64k couleurs.
RAM: 8Mo SDRAM (Mod DIY possible jusqu'à 32Mo)
FLASH: 32Mo de type NAND.
AUTRE :
- Bluetooth (port série sur UART0),
- Capteur d'inclinaison deux états,
- Capteur de lumière TAOSINC (http://www.taosinc.com/ProductDetails.aspx?id=47) pour le contrôle par PWM du rétro-éclairage de l'écran,
- 3 boutons (gauche, centre, droite).

Le cpu est en boitier BGA (boitiers avec les billes de soudures sur le dessous), impossible donc d’utiliser les broches libres directement.
Mais comme les concepteurs du DF3120 ont placé un micro-via sous chaque broche du boitier BGA il est possible (en grattant le vernis) de souder des fils sur le cpu par l’autre coté du pcb.

Aussi, bien que le DF3120 possède relativement peu de mémoire ram (seulement 8Mo de base) un kernel linux nu (sans ajout de module noyau exotique) tourne sans problème !
Comble du bonheur il reste environ 2 à 2.5Mo de ram libre pour faire tourner une application maison !

Le cadre photo une fois passé sous firmware linux peut être contrôlé à distance via le port usb en tant que périphérique réseau USB CDC EEM (compatible linux uniquement), ou par bluetooth (mais il faudra d’abord utiliser l’usb pour activer la liaison bluetooth).
Le firmware linux utilise le protocole telnet pour permettre d’avoir une console à distance, niveau sécurité c’est zéro (tout passe en clair, mot de passe, commandes, …), mais il n’y a pas vraiment d’autre choix, faire du ssh aurait était trop gourmand en ressources.
Le firmware linux permet aussi d’utiliser le protocole « remote frame buffer », sous entendu une version « miniature » du protocole VNC.

D’après les auteurs originaux de ce hack, seul un très faible pourcentage de DF3120 ne peuvent pas être flashés avec le firmware linux.
Donc aucune crainte à avoir sur ce point 😉

Le software :

Etape 1 : l’installation des dépendances
Avant de pouvoir compiler le kernel linux pour plateforme ARM9 il faut installer un certain nombre de dépendances.
Suivant votre distribution linux les noms des paquets peuvent être différents, pour ma part je suis sous debian et j’utilise le gestionnaire de paquets APT-GET.

sudo apt-get install git-core tig lzop libz-dev uboot-mkimage libelf-dev libncurses-dev gtk-doc-tools checkinstall genext2fs e2fsprogs libglib2.0-dev libxml2-dev gawk bison flex texinfo gcc automake build-essential

Etape 2 : la compilation du kernel
Une fois les dépendances installées il faut télécharger et exécuter le script « minifs » qui va nous permettre de compiler de manière automatisée tous les paquets du kernel linux.

Tout d’abord on va créer un nouveau dossier dans /home afin d’avoir un espace de travail propre :
cd
mkdir df3120
cd df3120

Ensuite il suffit d’utiliser git pour récupérer les fichiers de minifs :
git clone http://oomz.net/git/minifs.git minifs
cd minifs

Et enfin de lancer la compilation en elle même :
export MINIFS_BOARD=df3120
./minifs_build.sh

ATTENTION :
La compilation du kernel a pris 30 minutes sur mon i7-2630QM, et ce en utilisant les 8 cœurs à pleine puissance sans aucune application en tache de fond.
Sur un PC de puissance « modérée » cela peut prendre plus d’une heure ! Soyez patient !
(Et si il y a une erreur au milieu de la compilation il faudra recommencer)

En cas d’erreur de compilation vous aurez des lignes avec cette tête :
Configuring xxxxxxxxxx
#### ** ERROR ** Configuring xxxxxxxxxxx
Check /media/ubData/df3120/minifs/build-df3120/xxxxxxxxxx/._conf_libglib.log

Il suffit alors d’ouvrir le fichier .log en question et de regarder la cause de l’erreur pour pouvoir la réparer.

Je vais être franc, pour trouver la cause du problème il faudra beaucoup de patience, l’aide de google, et un minimum de réflexion.
Par exemple j’avais une erreur avec libtool, minifs téléchargeait la version 2.4.2 alors qu’il fallait la version 2.4.0, j’ai donc du télécharger le bon .tar.gz à la main, et remplacer celui de minifs.

Les différents type de fichiers .log :
conf : historique des retours console durant la partie de configuration avec makeconf, autotool, et ./configure,
compile : historique des retours console durant la partie de compilation des sources (c’est le .log le plus utile),
install : historique des retours console durant la partie de préparation des fichiers finaux,
deploy : historique des retours console durant la partie de déploiement des fichiers finaux dans le .img.

Si tout ce passe bien vous devriez voir apparaitre un fichier .plf et un .img dans le dossier build-df3120 :
cd build-df3120/
ls -l *.img *.plf
-rw-r--r-- 1 skywodd skywodd 19212288 2012-03-07 21:27 minifs-full-ext.img
-rw-r--r-- 1 skywodd skywodd 176576 2012-03-07 21:27 parrotDF3120.plf

Le fichier parrotDF3120.plf correspond au bootloader u-boot, encapsulé dans un fichier de mise à jour parrot, et le fichier minifs-full-ext.img correspond au système de fichier linux ext2 pour plateforme ARM9.

Edit: Comme je suis très gentil je vous propose les fichiers pré-compilé par mes soins 😉
parrotDF3120.plf : http://dl.dropbox.com/u/53604363/parrotDF3120.plf
minifs-full-ext.img : http://dl.dropbox.com/u/53604363/minifs-full-ext.img
(Date de compilation : 23 / 03 / 2012)

Au passage :
Pour compiler un programme maison avec la toolchain arm-v4t il faudra penser à exporter le dossier bin contenant le compilateur 😉
export PATH=$PATH:~/df3120/minifs/toolchain/arm-v4t-linux-uclibcgnueabi/bin

Annexe minifs :
minifs est vraiment un script hyper pratique !
Il suffit de lui donner une liste de fichiers de package et il se débrouille pour tout configurer et compiler !

Pour recompiler l’intégralité du kernel (en cas de problème ou de grosse modification) :
rm build-df3120/*/._*

Puis ./minifs_build.sh pour recompiler le tout.

Pour recompiler un packqage uniquement :
rm build-df3120/packagename/._*

Puis ./minifs_build.sh pour recompiler le package.

Et si vous voulez ajouter/supprimer des paquets à votre kernel il faudra allez fouiller dans le dossier « conf » de minifs 😉

Installation :
Une fois le kernel compilé il faut l’installer sur une carte SD pour pouvoir l’utiliser sur le DF3120 par la suite.
Pour ce faire il faut tout d’abord formater (depuis linux) une carte SD quelconque de taille >=2Go en système de fichier ext2.
(attention il faut formater TOUTE la carte SD afin de ne laisser qu’une seul et unique partition ext2 sur la carte SD).

Puis exécuter la commande suivante pour copier le système de fichier du kernel :
dd if=~/df3120/minifs/build-df3120/minifs-full-ext.img of=/dev/partitionDeLaCarteSD
(Pensez à modifier le chemin vers le .img, et le nom du périphérique de la carte SD suivant votre configuration ;))

Let’s GO GO GO ! Ou pas …
Avant de pouvoir utiliser le système de fichier sur la carte SD il faut modifier quelques petits détails.
Pour ma part j’ai eu des difficultés avec le driver CDC EEM, problèmes que j’ai résolu en modifiant les paramètres réseaux.

Pour ce faire :
nano /media/leNomDeLaCarteSD/rootfs/etc/init.d/rcS

Et modifier :
ifconfig usb0 172.16.61.1 netmask 255.255.255.0 up
en :
ifconfig usb0 192.168.2.1 netmask 255.255.255.0 up
(ctrl+X puis o pour sauvegarde avec nano)

Au passage vous pouvez vous amuser à modifier le script de démarrage suivant vos besoins 😉

Let’s GO GO GO ? … Oui !
Comme je le disais plus haut le fichier parrotDF3120.plf va nous servir de bootloader permettant de lancer le kernel linux fraichement compilé.
Celui ci est doublement malin, il permet de démarrer, soit sur le firmware officiel (le firmware parrot), soit sur le firmware linux présent sur la carte SD.

Une fois le fichier parrotDF3120.plf à notre disposition il suffit de suivre la procédure de mise à jour classique pour l’installer :
– Mettre le bouton power sur OFF,
– Brancher le câble d’alimentation secteur,
– Allumer le cadre photo sans carte SD, avec le câble usb connecté à l’ordinateur,
– Une fois le périphérique de stockage usb prés, l’ouvrir comme une simple clef usb,
– Créer un dossier « update » à la racine du périphérique,
– Copier le fichier parrotDF3120.plf dans le dossier « update »,
– Tout en gardant le câble secteur branché, débrancher le câble usb.

Normalement si tout se passe bien 3 carrés verts et un bleu (celui en haut à gauche) devraient apparaitre à l’écran.
Si c’est le cas, c’est que le firmware a été correctement mis à jour !

Il suffit maintenant de remettre le bouton power à OFF puis de suivre la procédure de démarrage du firmware linux :
– Appuyer sur le bouton flèche gauche et centre,
– Mettre le bouton power à ON,
– Attendre ~5 secondes,
– Relâcher les deux boutons,
– Admirer le joli manchot symbole du système d’exploitation linux s’afficher grâce à framebuffer.
(Vous devriez voir une (ou plusieurs) erreur au démarrage, mais elle n’empêche pas le boot, et si tous va bien le script rcS devrait s’exécuter à l’écran)

G0t r00t :
Bon maintenant que le cadre photo est sous notre pouvoir il ne nous reste plus qu’à nous connecter dessus et à obtenir un console root !
Le port usb du DF3120 (sous firmware linux) s’énumérant en tant que périphérique CDC EEM il suffit de brancher le câble usb sur un ordinateur linux et d’attendre.
De base le driver CDC devrait s’activer et vous devriez avoir une notification de connexion réseau filaire usb0.

Avant de pouvoir faire quoi que ce soit, il faut paramétrer l’autre extrémité de la connexion réseau.
Dans un console (coté PC) en root :
ifconfig usb0 192.168.2.3 netmask 255.255.255.0 up

Une fois la connexion réseau paramétrée il suffit de ping le DF3120 pour tester la connexion, et de lancer une console telnet :
ping 192.168.2.1
telnet 192.168.2.1

Vous devriez avoir la joie de voir une console root s’ouvrir, prête à recevoir vos ordres ^^

L’exemple de base le plus intéréssant selon moi étant l’exemple plasma :
(dans la console telnet)
plasma

Voila ce qu’il donne :

(Pas mal pour un programme tournant avec la librairie SDL)

Allez juste pour le fun, la version gif !

Il y a aussi une version adapté de doom mais pour l’utiliser il faut soit faire le MOD « ram upgrade » pour avoir au moins 16Mo de ram, soit utiliser une partition swap sur la carte SD (ce qui est une TRÈS MAUVAISE idée ! Sauf si vous voulez détruire votre carte sd en la « swappant »).

Annexe hardware :
Je n’ai pas trop touché au hardware mais cela peut en intérésser certains :
Il y a un port série (en réalité il y en a 3 mais seul UART2 est vraiment utilisable) sur le connecteur J4 dont le pinmapping est le suivant :
1 GND
2 Rx (Input)
3 Tx (Output)

Niveau software : 115200 bauds, pas de bit de parité, 8 bits de données, 1 bit de stop.

L’auteur original du hack a aussi pu renverser certaines des GPIO du processeur :
GPB7: usb Vbus detect
GPB8: usb D+ pullup enable
GPG4: SD write protect
GPG9: orientation detect 1
GPG10: orientation detect 2
GPF0: BT BT_WAKE (?)
GPF1: BT nRESET (?)
GPF2: SW15 (inverted)
GPF3: SW16 (inverted)
GPF4: SW17 (inverted)
GPF7: SD card detect

Si vous voulez vous lancer dans le hack hardware du port série, jtag ou des GPIO :
https://sites.google.com/site/repurposelinux/df3120/adding-a-serial-console
https://sites.google.com/site/repurposelinux/df3120/jtag-access
http://www.dibblah.pwp.blueyonder.co.uk/df3120/df3120-map.html (celui qui arrivera à utiliser ce pinmapping a de bon yeux ^^)

Pour faire du debug, pouvoir récupérer le contenu des registres peut aussi être intéressant :
https://sites.google.com/site/repurposelinux/df3120/register-dumps

Et pour ceux qui comme moi veulent faire leur propre application maison voici quelques liens bien utile :
https://sites.google.com/site/repurposelinux/df3120/compiling-custom-applications (exemple d’application)
https://sites.google.com/site/repurposelinux/df3120/tricks-tips (astuces divers et en tout genre)
https://sites.google.com/site/repurposelinux/df3120/bluetooth-pan (configuration du bluetooth)

Conclusion :
Pour 17€ (frais de port NON compris … apparemment les fdp gratuit c’était que pour noël avec mon vendeurs ebay, mais il est assi dispo sur amazon uk ;)) il est possible d’avoir un joli petit afficheur, avec bluetooth, usb, … tournant sous linux !
Je vois déja plein de projets réalisable avec ce DF3120, que ce soit un moniteur temps réel pour serveur, un interface de domotique, …
Un pure bonheur !

Ma conclusion personnel :
Il m’en faut un deuxième 🙂

Enjoy !

Discussion

35 réflexions sur “[Hack] Linux sur un cadre photo DF3120 (Parrot)

  1. Excellent 🙂

    Publié par coliss | 24 mars 2012, 20 h 56 min
  2. Parfait je m’en prend un de suite :p

    une question : l’ecran est-il tactile? si oui je vois bien une utilisation avec Qt embeded

    Publié par zilators | 26 mars 2012, 8 h 18 min
    • L’écran n’est PAS tactile, si il avait était tactile je l’aurait bien évidement précisé 😉

      Pour ce qui est de Qt, à mon avis c’est même pas la peine d’espérer faire tourner Qt.
      A pars si le framework graphique Qt tourne avec uniquement framebuffer de dispo (pas de serveur X donc) et 2Mo de ram, sinon c’est juste pas imaginable.

      Publié par skywodd | 26 mars 2012, 21 h 27 min
  3. Pas mal, pas mal, ca me donne quelques idées pour mon systeme de monitoring energétique; reste plus qu’a en trouver un a ce prix là, car mes premieres recherches ne m’on pas donner grand chose sur la bay…. t’as un lien vers ton vendeur ?

    Publié par Jerome | 26 mars 2012, 9 h 51 min
  4. C’est de la bombe ce petit parrot, encore faut-il le trouver et à un bon prix…
    Tes explications m’ont donné envie de ressortir mon parot(sfr) de sa boite et j’ai pu compiler le kernel et uboot sans problèmes!
    J’arrive à très bien le faire fonctionner mais je trouve qu’il manque à ma config une touche d’automatisme, je m’explique : je voudrais que quand je connecte mon parrot en usb à mon dockstar(bientôt mon raspberry pi) que tout s’enchaîne ==> boot sur linux puis connexion réseau et lancement d’appli (coté parrot et coté raspberry =>vnc).
    Bref, j’y suis presque coté réseau et applicatif (udev ok, bridge eth0/usb0 en auto, lcd4linux avec driver ‘x11’ ou autre appli)…
    Mais … je ne sais pas comment faire booter le parrot directement sur linux sans appuyer sur les 2 touches.
    Et j’arrive pas à faire en sorte de ne pas avoir à mettre de mot de passe sur le client vnc du parrot.

    J’ai pas encore regardé coté bluetooth mais avec le cable usb sur le dockstar je n’ai plus besoin de brancher le câble d’alimentation du parrot (du coup un seul fil)…

    Publié par tempest69 | 7 septembre 2012, 11 h 15 min
  5. >> je ne sais pas comment faire booter le parrot directement sur linux sans appuyer sur les 2 touches.

    Il faut que tu câble le port série qui sert de console à Uboot et que tu modifie les options de boot.
    Ou sinon tu doit pouvoir le faire (en dure) directement dans le code source du uboot (?).

    Publié par skywodd | 7 septembre 2012, 14 h 07 min
  6. POur le démarrage direct, j’ai trouvé!!! mais je pense que c’est dangereux …. bon je l’ai fait quand même et ça a marché.
    en ligne de commande : (uniquement ce qui suit les / #)
    / # cd /
    / # flash_eraseall /dev/mtd0
    Erasing 16 Kibyte @ 40000 – 100% complete.
    / # nandwrite -p /dev/mtd0 u-boot.bin
    Writing at 0x00000000
    Writing at 0x00004000
    Writing at 0x00008000
    Writing at 0x0000c000
    Writing at 0x00010000
    Writing at 0x00014000
    Writing at 0x00018000
    Writing at 0x0001c000
    Writing at 0x00020000
    Writing at 0x00024000
    Writing at 0x00028000
    / # reboot

    et voilà!
    bon en fait j’ai lu ça https://sites.google.com/site/repurposelinux/df3120/editing-uboot-and-unbricking-after-a-ram-upgrade
    et je l’ai fait (mais sans changer la mémoire ou le u-boot.bin présent à la racine)
    A noter : cela ne fonctionnait pas avec le kernel que j’avait compilé… j »ai du remettre celui sur le site du lien car sinon lors du flash_eraseall ça me mettait le message « sc24xx-nand sc2412-nand : invalid id chip 0 »

    Donc maintenant quand j’allume le parrot relié à mon dockstar avec un unique cable usb celui-ci est directement accessible depuis n’importe poste sur mon réseau sans manip!!!

    Par contre bye bye l’ancienne interface du cadre photo… et comme je n’ai pas modifié le uboot.bin je n’ai pas les 5 secondes pour accéder à uboot. Mais bon j’ai ce que je voulais!

    Publié par tempest69 | 8 septembre 2012, 0 h 55 min
  7. pour info :
    J’ai trouvé aussi pour SDLvncviewer amis c’est pas très beau (comme d’hab) :
    j’ai modifié le code de la library utilisée (vncclient.c) pour y mettre en dur le mot de passe ‘parrot’ et roule ma poule…
    Je n’ai pas réussi des manip du style : « /etc/fichierpasswd|SDLvncviewer ipserveur:5901 » ou « /etc/fichierpasswd<SDLvncviewer ipserveur:5901" ou autre joyeusetés pour rediriger le mot de passe à la place de la saisie par stdin…
    Donc maintenant quand j'allume le parrot au bout de 5 seconde et sans rien faire il m'affiche l'écran de mon serveur VNC (qui n'est rien d'autre qu'un lcd4linux avec driver='X11')
    Reste plus qu'à me procurer un cable USB à angle droit pour pouvoir poser correctement mon parrot…
    Et attendre la réception de mon raspberry pi pour le brancher dessus!

    Publié par tempest69 | 10 septembre 2012, 10 h 55 min
  8. Bonjour et merci pour votre article.

    J’ai suivi votre tutoriel et j’ai réussi à démarrer sur linux avec mon Parrot df3120.
    Maintenant j’aimerai compiler des programmes C pour cette plateforme.
    Afin d’avoir les libs nécessaire je me suis lancé dans la compilation du minifs.

    Je suis sur mac avec ubuntu 12.04(precise)
    la distribution à les dernières mise à jour et j’ai installé l’ensemble des composants de votre article.
    Mais voilà il me lâche dans la compilation en me balançant l’erreur suivante :

    MINIFS_BOARD df3120
    Compiling host-installwatch
    #### ** ERROR ** Compiling host-installwatch
    Check /home/eddy/armcode/minifs/build-df3120/host-installwatch/installwatch/._compile_host-installwatch.log

    J’ai donc regardé le fichier ci-dessus et :

    more build-df3120/host-installwatch/installwatch/._compile_host-installwatch.log

    make -j2
    gcc -Wall -c -D_GNU_SOURCE -DPIC -fPIC -D_REENTRANT -DVERSION=\ »0.7.0beta7\ » installwatch.c
    installwatch.c:2960:5: erreur: conflicting types for ‘readlink’
    /usr/include/unistd.h:832:16: note: previous declaration of ‘readlink’ was here
    installwatch.c:3098:5: erreur: conflicting types for ‘scandir’
    /usr/include/dirent.h:256:12: note: previous declaration of ‘scandir’ was here
    installwatch.c:3714:5: erreur: conflicting types for ‘scandir64’
    /usr/include/dirent.h:279:12: note: previous declaration of ‘scandir64’ was here
    make: *** [installwatch.o] Erreur 1

    Voilà mais j’avoue être un peu dépassé à ce niveau.

    SI vous avez une idée je suis preneur.

    Cordialement

    Eddy et bonne année 2013 !

    Publié par Eddy Briere | 5 janvier 2013, 21 h 07 min
    • C’est un problème de conflit entre version de gcc d’après ce que je peut lire ici :
      http://ubuntuforums.org/showthread.php?t=1498639

      Publié par skywodd | 5 janvier 2013, 21 h 14 min
      • Merci pour votre réponse.

        J’ai déjà lu cet article et je comprends bien qu’il y a un histoire de confit. Cependant, là où je suis largué c’est qu’est ce qui est en conflit ?

        Je note qu’il y a une déclaration de readlink, scandir et scandir64 qui n’est pas en accord avec les définitions de unistd.h et dirent.h.

        Serait-ce mon installation de gcc qui n’est pas clean ?
        (ma version de gcc : gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)

        Dans le fichier installwatch.c je note qu’il tient compte des versions de GLIBC (voir un extrait ci-dessous) :

        #if(GLIBC_MINOR >= 10)

        static int (*true_scandir)( const char *,struct dirent ***,
        int (*)(const struct dirent *),
        int (*)(const struct dirent **,const struct dirent **));

        #else

        static int (*true_scandir)( const char *,struct dirent ***,
        int (*)(const struct dirent *),
        int (*)(const void *,const void *));
        #endif

        En gros je ne sais pas vraiment où chercher 😦

        Publié par Eddy Briere | 5 janvier 2013, 21 h 42 min
      • Le mieux pour compiler un noyaux linux c’est une debian stable.
        Si tu as un peu d’espace disque libre fait toi une partition debian squezze ou wheezy.

        Publié par skywodd | 5 janvier 2013, 22 h 09 min
      • Tu as raison je pense, ça fait un moment que je suis tenté par un passage en Debian.
        Au premier abord Ubuntu semble bien sexy mais à l’utilisation je ne rencontre des comportements étranges. Surtout niveau réseau c’est la cata bref, je change de sujet.

        Merci encore pour tes réponses rapides

        Publié par Eddy Briere | 5 janvier 2013, 22 h 15 min
      • la compilation est repartie en modifiant installwatch.c comme l’indiquait SevenMachines sur le lien que tu as donné.
        Je trouve ça quand même assez dingue cette histoire… c’est vraiment de la bidouille 😉

        Publié par Eddy Briere | 5 janvier 2013, 22 h 44 min
  9. Y a t’il moyen de vous contacter pour un projet de hack, car je débute et j’aurais besoin d’aide ? ^^

    Publié par Spooth72 | 18 juillet 2013, 14 h 08 min
    • C’est quoi le « hack » en question ?

      Publié par skywodd | 18 juillet 2013, 18 h 45 min
      • Le projet serait de mettre linux sur un BluePod : -lien supprimé-
        Se serait inédit car personne ne l'a fait, je l'ai démonté et il y a 4 connecteur avec marqué à coté J4, on m'a proposé de le relier a ceci : -lien supprimé- pour dialoguer avec l'appareil via telnet, il dispose (d'après se que j'ai vue sur la carte-mère) Un port usb, Un port RJ-45, Un écran cristaux liquide, deux led, un bouton poussoir en facade, 256Mo de ram, un port carte sim + antenne , je ne connais pas la référence du processeur (car il y a un radiateur collé dessus, je n'ose pas le décoller) Si vous voulez plus d'images (prise par moi même) : http://imgur.com/a/c1FJW
        Une idée ? 🙂

        Publié par Spooth72 | 18 juillet 2013, 20 h 12 min
      • C’est simple : tant que t’as pas la référence du cpu tu peut rien faire.

        Par contre le lcd, la partie GSM, etc, faut même pas espérer de pouvoir l’utiliser sous Linux « out the box ».
        Pour ça faudrait un bon paquet de drivers spécialisés.

        Publié par skywodd | 19 juillet 2013, 11 h 20 min
      • D’accord je vais essayer de décoller sa et de vous le dire, après pour la partie GSM je m’en fou, si j’arrive a le détourner je m’en servirais comme disque dur réseau ^^ donc pour le lcd je chercherais a l’avenir un pilote. Ah oui apparemment il ferais SSH d’origine mais par GPRS donc inutile ? On m’a dit que pour utiliser les connecteurs J4 (se sont maintenant des pins que j’ai souder dans les trous) il y a que trois pins qui sont utilisable moi j’en ais 4 comment sa voir lequel il faut utiliser ?

        Publié par Spooth72 | 19 juillet 2013, 13 h 26 min
  10. Ah et au passage je viens de regarder la référence du processeur : Cavium Networks CNS2133-250BG269-AEFF-G avec comme description : MPU CNS21XX RISC 32-Bit 250Mhz 269-Pin LFBGA

    Source : http://www.datasheets.com/search/partdetail/CNS2133250BG269AEFFG/Cavium+Networks

    Publié par Spooth72 | 19 juillet 2013, 14 h 24 min
    • Faut signer une NDA pour avoir accès au datasheet constructeur …
      Et aucun support du cpu ne semble être prévis dans le noyau linux actuel.
      Si tu veut te faire un nas simpliste avec ssh prend toi un routeur TL-MR3020 ou TL-WR703N et installe openWRT dessus 😉

      Publié par skywodd | 19 juillet 2013, 16 h 22 min
      • D’accord 😉 Mais je me disais si c’était possible de le detourner mais bon si ont peut pas c’est pas grave 🙂
        J’ai regardé quelques vidéos sur ta chaîne YT c’est pas mal ^^ t’explique bien :p

        Publié par Spooth72 | 19 juillet 2013, 16 h 27 min
  11. Salut Skywodd ! Je voulais faire une ptite mise à jour de se que je voulais faire le fameux bluepod, il serait peut être utile finalement pour openwrt ! J’ai découvert sur le site de openwrt que le Kintec NS-K330 est composé d’un Cavium CNS2132 qui est la gamme en dessous de celui utilisé dans le bluepod (CNS2133) mais qui ont tous deux la même fréquence, alors je me suis demander si je pouvais me prendre sur cette base du Kentec, mais open wrt précise qu’il n’ont pas encore travaillé dessus mais qu’il est possible de l’installer. En faisant quelques recherches sur le kentec j’ai trouvé un sujet qui correspond à openwrt : http://grenville.wordpress.com/2012/12/23/openwrt-on-the-ns-k330/ est t’il possible d’utiliser plus ou moins la même méthode d’après toi ?

    Publié par Spooth72 | 24 août 2013, 3 h 39 min
    • Si c’est pas exactement le même processeur à mon avis tu va te retrouver avec une brique 😉

      Publié par skywodd | 24 août 2013, 18 h 39 min
      • Tu pense que sa fonctionnera pas ?

        Publié par Spooth72 | 26 août 2013, 23 h 14 min
      • Très franchement j’ai des doutes …
        Le seul moyen de le savoir c’est de tester, mais si les dév d’openWRT ne se sont pas penché sur ce modèle ça risque fort de pas marcher.

        Publié par skywodd | 27 août 2013, 14 h 13 min
      • Oui le mieux c’est de tester mais si je fais une bourde comment je peut revenir en arrière sachant que le firmware d’origine n’est pas dispo sur le net (car l’appareil est pas sensé être hacké) ?

        Publié par Spooth72 | 27 août 2013, 15 h 29 min
      • Tu peut pas revenir en arrière, c’est bien pour ça que c’est risqué 😉

        Publié par skywodd | 27 août 2013, 15 h 31 min
      • D’accord 😉 Ba je verrais, faut déjà que j’achète le module TTL vers usb ^^

        Publié par Spooth72 | 27 août 2013, 21 h 23 min

Rétroliens/Pings

  1. Pingback: Installer Linux sur un cadre photo Parrot DF3120 | Geekofyou - 29 août 2014

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

Skyduino devient Carnet du Maker

Le site Carnet du Maker remplace désormais le blog Skyduino pour tout ce qui touche à l'Arduino, l'informatique et au DIY.