Il faut tout d'abord recompiler le noyau (www.kernel.org) avec le support de l'usb (en module pour plus de souplesse et un noyau moins lourd au démarrage).
Le driver pour les appareils photos Kodak DC2xx ne supporte pas le Sony DSC-P30. Il faut utiliser le driver de mass storage (ce qui implique de configurer aussi le noyau pour le SCSI) et l'usbdevfs (cf la doc usb)). Ainsi, le MemoryStick sera vu tel un disque dur.
Les lignes suivantes doivent être dans le fichier .config situé à la racine des sources du noyau.
CONFIG_USB=m
CONFIG_USB_DEVICEFS=y
CONFIG_USB_UHCI=m
CONFIG_USB_STORAGE=m
Avant de compiler le noyau, il faut encore éditer le fichier unusual_devs.h situer dans le répertoire "sources du noyau"/drivers/usb/storage/.
L'entrée suivante doit être ajoutée:
UNUSUAL_DEV( 0x054c, 0x0010, 0x0322, 0x0322,
"Sony",
"Sony DSC P30/P50",
US_SC_SCSI, US_PR_CB, NULL,
US_FL_SINGLE_LUN | US_FL_START_STOP | US_FL_MODE_XLATE ),
Il ne reste plus qu'à lancer la série d'instruction magique afin de compiler le noyau.
Un reboot plus tard, vous êtes prêt à transférer les images de votre appareil photo à votre PC ;-)
Vous devez charger les modules usb-uhci, scsi_mod, sd_mod et usb-storage . Lorsque vous connectez l'appareil et que vous l'allumez, il est alors reconnu par les modules usb. Vous pouvez verifier avec l'instruction dmesg.
Il faut alors "monter" le MemoryStick en type vfat:
mount -t vfat /dev/sda1 mountpoint
où mountpoint est un point de montage que vous avez créé (par exemple /mnt/camera). Les photos sont alors copiables sur votre disque dur (par exemple cp /mnt/camera/... $HOME/pics/).
j'ai fait tout ca ca bug ala compilation
hs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i686 -malign-functions=4 -I../../scsi/ -nostdinc -I /usr/lib/gcc-lib/i386-linux/2.95.4/include -DKBUILD_BASENAME=transport -c -o transport.o transport.c
gcc -D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i686 -malign-functions=4 -I../../scsi/ -nostdinc -I /usr/lib/gcc-lib/i386-linux/2.95.4/include -DKBUILD_BASENAME=usb -c -o usb.o usb.c
In file included from usb.c:130:
unusual_devs.h:44: macro `UNUSUAL_DEV' used with too many (12) args
In file included from usb.c:187:
unusual_devs.h:44: macro `UNUSUAL_DEV' used with too many (12) args
make[4]: *** [usb.o] Error 1
make[4]: Leaving directory `/usr/src/linux/drivers/usb/storage'
make[3]: *** [first_rule] Error 2
make[3]: Leaving directory `/usr/src/linux/drivers/usb/storage'
make[2]: *** [_subdir_storage] Error 2
make[2]: Leaving directory `/usr/src/linux/drivers/usb'
make[1]: *** [_subdir_usb] Error 2
make[1]: Leaving directory `/usr/src/linux/drivers'
make: *** [_dir_drivers] Error 2
zsh: 12086 exit 2 make bzImage
---------------
-= In Kik00 101 I trust :o =-