Pour Noël, nous avons offert un appareil photo Kidizoom Pro de chez Vtech à chacune de nos deux petites filles (hé oui, je suis grand-père). Malheureusement, au branchement du câble usb... rien ne se passe!
Comment? Un appareil photo non reconnu par Linux? Étrange! Un "lsusb" me montre que le KP est bien vu par le système mais ne se monte pas automatiquement. Un peu de Google m'apprend qu'un satané bug ne permettrait plus à notre cher OS le montage automatique des partitions en fat16.... Soit...
Après quelques recherches sur les règles udev , voici une solution qui vous permettra de ne pas à avoir à monter à la main le KP. Petite précision, c'est de l'usb1, ce qui explique la lenteur du débit de chargement. Et là votre OS n'y est pour rien.
Tout d'abord, créons et éditons un fichier de règles udev:
$ sudo touch /etc/udev/rules.d/90-kidizoom.rules
$ sudo gedit /etc/udev/rules.d/90-kidizoom.rules
Puis glissons y une ligne pour le montage...
KERNEL=="sd?1", SUBSYSTEMS=="scsi", ACTION=="add", ATTRS{vendor}=="VTech ", ATTRS{model}=="Kidizoom ", SYMLINK+="kidizoom", RUN+="/chemin/vers/mount-script %k"
...et une pour le démontage
KERNEL=="sd?1", SUBSYSTEMS=="scsi", ACTION=="remove", ENV{ID_VENDOR}=="VTech*", RUN+="/chemin/vers/umount-script %k"
Le fichier est ici, attention ne pas oublier de changer le chemin des RUN et de recharger udev avec:
$ sudo service udev restart
Installer "pmount":
$ sudo apt-get install pmount
Voici pour le script de montage:
#!/bin/bash
mk() {
pumount /dev/$1
sleep 1
pmount -t vfat /dev/kidizoom KIDIZOOM
xhost local:$2
nautilus /media/KIDIZOOM
}
user=`who | grep :0\) | cut -f 1 -d ' '`
export DISPLAY=:0.0
export -f mk
su $user -c "mk $1 $user"
Et le script de démontage:
#!/bin/bash
umk() {
pumount /dev/$1
sleep 1
xhost local:$2
zenity --info --text "Kidizoom is unmount"
}
user=`who | grep :0\) | cut -f 1 -d ' '`
export -f umk
export DISPLAY=:0.0
su $user -c "umk $1 $user"
Pour les télécharger c'est ici et là.
Ne pas oublier de les rendre exécutables:
$ chmod +x /chemin/vers/mount-scripts; chmod +x /chemin/vers/umount-script
Merci à sevkeifert pour son coup de main
Et voilà ...
Bonjour,
RépondreSupprimerMerci pour vos conseils.
Par contre je pense qu'il y a une petite erreur dans le script de montage :
dans la commande pmount, ne faut-il pas mettre /dev/$1 au lieu de /dev/kidizoom ?
Par contre (même avec cette correction) ça ne marche pas sur mon PC (ubuntu 10.10, portable Siemens). Dans dmesg je vois les erreurs suivantes lorsque je branche l'appareil : "... Buffer I/O error on device sdb, ..."
Du coup je pense que la règle /etc/udev/rules.d/90-kidizoom.rules n'est pas appelée.
Je ne sais pas trop comment faire, à part lancer les scripts de montage/démontage à la main...
Thanks very much for this solution! At least now I can access the cameras the kids got for Christmas.
RépondreSupprimerCheers
Andy
@stedusud: les règles udev créent un /dev/kidizoom grâce à ...SYMLINK+="kidizoom"... dans 90-kidizoom.rules et le /dev/$1 correspond au "device" lu pas le kernel c'est à dire dans votre cas /dev/sdb1 à en croire votre "dmesg". L'erreur qui se trouve dans "dmesg" est la même pour tous, c'est pourquoi j'ai fait ce billet, à ceci près: le nom du "device" peut changer en fonction du nombre de disques montés. Chez vous c'est sdb1, chez moi sdi1 ...
RépondreSupprimerPour le reste regardez si /dev/kidizoom est crée quand vous branchez votre KP, si c'est le cas la règle fonctionne en partie et dans ce il faudra creuser un peu plus pour lui donner plus de précision...
@Andy McMaster: Thank you very much, i hope your kids are very happyare very happy
@stedusud: Juste une petite précision /dev/kidizoom est un lien symbolique vers /dev/sd?1
RépondreSupprimer@rcspam:
RépondreSupprimerMerci pour vos précisions. Effectivement le lien symbolique /dev/kidizoom est bien créé par la règle rajoutée lorsque l'appareil est branché (désolé pour ma remarque fausse...). Et il est bien supprimé lorsque je débranche l'appareil.
Mais le montage ne s'effectue pas, il faut quand même que je lance le script manuellement (j'ai remis /dev/kidizoom ald /dev/$1).
Il faut donc renseigner un peu plus la règle ?
@stedusud: Avez vous téléchargé le fichier ou l'avez vous créé en copiant les lignes du billet?
RépondreSupprimerDans ce dernier cas, il y des espaces dans la valeur de certains ATTR.
Est-ce que les chemins pour atteindre les scripts sont bons?
Éventuellement, faire un 'udevadm monitor' et brancher le KP pour avoir d'autres attributs, la je n'ai plus de KP sous la main, mes petites filles ne vivent pas avec moi malheureusement;)
En espérant que tout ceci vous aidera ... Bonne chance et tenez moi au courant.
Bonjour,
RépondreSupprimercet article est la seule piste que j'ai trouvé concernant l'utilisation du Kidizoom pro avec ubuntu. J'utilise Linux Mint Katya (base Ubuntu 11.04) et je dois passer à coté de quelquechose parcequ'impossible de démonter l'appareil "umount: /media/KIDIZOOM n'est pas dans fstab (et vous n'êtes pas l'usager ROOT)" ... je suis novice. Pouvez vous m'aider s'il vous plait ?
Merci par avance.
Cdlt
@ftha
RépondreSupprimerAvez vous suivi le tuto dans son ensemble ?
Il y un oubli dans ma note, il faut rendre exécutables les deux scripts "mount-script" et "umount-script" avec:
$ chmod a+x ./mount-script
$ chmod a+x ./umount-script
et les placer dans dans le chemin des exécutables.
Par exemple placer les scripts dans un répertoire "/home/votre login/bin" avec:
$ mv ./mount-script ./umount-script /home/votre login/bin
et ajouter "/home/votre login/bin" à la variable $PATH de votre .bashrc avec:
$ gedit "/home/votre login/.bashrc"
et ajoutez PATH=$PATH:/home/votre login/bin/ à la fin du fichier.
En espérant que cet précision vous aidera ...
Bonjour
RépondreSupprimerJ'ai trouvé l'erreur (dans le billet et dans le script à télécharger). Il manque des guillemets dans le "run" de la "rule" pour monter :
RUN+="/path/to/mount-script %k
Ce devrait être :
RUN+="/path/to/mount-script %k"
Une fois que c'est fait, ça marche impeccable.
Merci pour ce travail de documentation.
Voilà qui est corrigé.
RépondreSupprimerMerci
Ce commentaire a été supprimé par l'auteur.
RépondreSupprimerCe commentaire a été supprimé par l'auteur.
RépondreSupprimerBonjour,
RépondreSupprimerBon pour etre franc, je nage total avec les explications.
De pire en pire puisqu'àpres quelques manipulations j'etais meme dans l'impossibilité de voir le contenu du kidizoom.
Ce matin, en chinant, je suis parvenu à cette page : https://help.ubuntu.com/community/MountingWindowsPartitions
et j'ai utilisé les commandes suivantes dans un terminal:
sudo mkdir /media/fat_partition
sudo mount -t vfat -o defaults,user,exec,uid=1000,gid=100,umask=000 /dev/sdc1 /media/fat_partition
Le kidizoom est apparu dans l'arborescence et j'ai pu récupérer les photos...Ouf !
Pour démonter,
sudo umount -t vfat /dev/sdc1 /media/fat_partition
Voilà pour mon retour personnel avec Mint 11 toujours et ça fonctionne parfaitement et je suis heureux en plus ;o)
Peut etre cela sera t il utile à quelqu'un d'autre.
Dites moi s'il vous plait si vous avez des remarques concernant cette méthode.
Bon dimanche et encore sincèrement merci pour cet espace.
@ftha: Ce billet a été écrit pour un montage automatique... Mais merci car il est bien sur possible de faire un montage manuel de la kidizoom. Si votre kidizoom apparait toujours en /dev/sdc1, alors vous pouvez ajouter une ligne du style:
RépondreSupprimer/dev/sdc1 /media/KIDIZOOM defaults,user,exec,uid=1000,gid=100,umask=000 0 1
dans votre fichier /etc/fstab
et un "sudo mount /dev/sdc1" devrait suffir.
En rajoutant un alias du style:
alias mk="sudo mount /dev/sdc1"
dans votre .bashrc
un "mk" sera encore plus court sur la ligne de commande
@ftha: ....
RépondreSupprimeralias umk="sudo umount /dev/sdc1"
pour démonter