Pages

mardi 28 décembre 2010

Kidizoom et Ubuntu Maverick

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 .

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à ...

Et c'est parti !

Bienvenue sur mon blog, où je parlerai principalement de petite trucs concernant gnu/linux, ubuntu !