Hello à tous.
Ravi de voir que mon petit script est maintenant bien utilisé avec des projet d'amélioration!
davbarr: désolé, je n'ais pas du voir ton mail. MP par ici alors
Sinon j'avais également l'intention d'apporter quelque petites améliorations. Du coup je vous les donnent ici:
davbarr: (EDIT: je corrige! c'est pas à moi mais à b0bba que tu t'adresses! C'est lui qui a les compétences de programmation)
Concernant ton problème de grep, je ne l'ai pas utilisé. En regardant rapidement nos amis de Vtech, 2 petites utilisations:
Après, le bash utilisé n'est pas des plus récent, et est donc très "tatillons".
Le plus emmerdant pour choper l'EID à été de le passer en majuscule!
En fait je récupère le "vrai" EID sur la tablette. Et ensuite on calcul son md5, c'est celui-ci qu'il faut mettre dans la bdd.
Sauf que md5sum me sort des minuscules. Donc normalement un petit ${uniteid^^} doit le sortir en majuscule, du moins en Bash4. Par contre, cette ligne suffit pour tout bloquer sur la storio (Bad substitution).
Donc il faut ruser, d'ou la fonction uc
En premier, assure toi bien d'avoir cerner la commande précise qui bloque.
Sinon, pour ma part, j'essaye de travailler sur une très grosse surprise (la base est la mais il manque tout le reste).
Et une deuxième, pour faciliter encore plus la vie, surtout pour les nouveaux, mais je cherche à avoir au final un truc tout simple/tout auto qui prend beaucoup de temps de recherche.
Et malheuresement, j'ai très peu de temps de libre
Ravi de voir que mon petit script est maintenant bien utilisé avec des projet d'amélioration!

davbarr: désolé, je n'ais pas du voir ton mail. MP par ici alors

Sinon j'avais également l'intention d'apporter quelque petites améliorations. Du coup je vous les donnent ici:
- Détection du model pour avoir le même script sur toute les Innotab/Storio.
De ce que j'ai vu, seul le fichier de la base de donnée change. Correct?
PHP Code:dbpath="/vp_mnt/sd/LLN/Innopad_sd.db"
dbpath_IT3S="/vp_mnt/sd/LLN/Innopad_wf.db"
getModel(){
IOPIN_D26=$(readio ch=D pin=26)
IOPIN_D27=$(readio ch=D pin=27)
if [ "${IOPIN_D27}${IOPIN_D26}" = "01" ]; then
#IT2011 (1268) InnoTab
model = "InnoTab(R)"
elif [ "${IOPIN_D27}${IOPIN_D26}" = "10" ]; then
#IT2013 (1578,1588)
if expr "$vtechBootPara" : '.*@WIFI,.*' > /dev/null ; then
model="InnoTab3S(R)"
dbpath = $dbpath_IT3S
elif expr "$vtechBootPara" : '.*@BBNEW,.*' > /dev/null ; then
model="InnoTab3(R) Baby"
else
model="InnoTab3(R)"
fi
else
#IT2012 (1368,1468,1568)
if expr "$vtechBootPara" : '.*BB,.*' > /dev/null ; then
model="InnoTab2(R) Baby"
elif expr "$vtechBootPara" : '.*@WIFI,.*' > /dev/null ; then
model="InnoTab2S(R)"
else
model="InnoTab2(R)"
fi
fi
}
getModel
# et dans showmenu, pour afficher le résultat
echo "Running on $model">/testfifo - Récupération automatique du UnitEID sur la tablette.
Uniquement tester sur Storio2.
Utilité toute relative face à la solution qui à déjà été mise en place car il faut tout de même déjà l'avoir pour installer/lancer autodb
PHP Code:uppers=ABCDEFGHIJKLMNOPQRSTUVWXYZ
lowers=abcdefghijklmnopqrstuvwxyz
uc(){ #usage: uc "some string" -> "SOME STRING"
i=0
while ([ $i -lt ${#1} ]) do
CUR=${1:$i:1}
case $lowers in
*$CUR*)CUR=${lowers%$CUR*};OUTPUT="${OUTPUT}${uppers:${#CUR}:1}";;
*)OUTPUT="${OUTPUT}$CUR";;
esac
i=$((i+1))
done
echo "${OUTPUT}"
}
getEID(){
if [ ! -f /vp_mnt/sd/uniteid.md5 ]; then
dd bs=1 skip=17494528 count=28 if=/dev/sdcarda3 of=/vp_mnt/sd/uniteid
uniteid="`md5sum /vp_mnt/sd/eid | head -c 32`"
#uniteid=${uniteid^^} # not working :(
uc $uniteid > /vp_mnt/sd/uniteid.md5
fi
uniteid="`cat /vp_mnt/sd/eid.md5 | head -1`"
}
getEID
davbarr: (EDIT: je corrige! c'est pas à moi mais à b0bba que tu t'adresses! C'est lui qui a les compétences de programmation)
Concernant ton problème de grep, je ne l'ai pas utilisé. En regardant rapidement nos amis de Vtech, 2 petites utilisations:
PHP Code:
eval `tr -s ' \t' '\n' < /proc/cmdline | grep '^vtech.*=*'`
swapsize=`grep "^$BOOTDEV_PART_SWAP" /proc/swaps | awk '{print $3;}'`
Après, le bash utilisé n'est pas des plus récent, et est donc très "tatillons".
Le plus emmerdant pour choper l'EID à été de le passer en majuscule!
En fait je récupère le "vrai" EID sur la tablette. Et ensuite on calcul son md5, c'est celui-ci qu'il faut mettre dans la bdd.
Sauf que md5sum me sort des minuscules. Donc normalement un petit ${uniteid^^} doit le sortir en majuscule, du moins en Bash4. Par contre, cette ligne suffit pour tout bloquer sur la storio (Bad substitution).

Donc il faut ruser, d'ou la fonction uc

En premier, assure toi bien d'avoir cerner la commande précise qui bloque.
Sinon, pour ma part, j'essaye de travailler sur une très grosse surprise (la base est la mais il manque tout le reste).
Et une deuxième, pour faciliter encore plus la vie, surtout pour les nouveaux, mais je cherche à avoir au final un truc tout simple/tout auto qui prend beaucoup de temps de recherche.
Et malheuresement, j'ai très peu de temps de libre