Автомонтирование цифровиков Canon

FreeBSD и прочие в роли десктопа.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Автомонтирование цифровиков Canon

Непрочитанное сообщение Alex Keda » 2011-01-06 19:21:24

Понадобилось вот, жене, как всегда.
КДЕ4 - штатно не зработало.
слепил такой костыль:

Код: Выделить всё

HP# cat /usr/local/etc/devd/canon.conf 
# mount canon photo using gphotofs
attach 100 {
        match   "vendor"        "0x04a9";
        match   "product"       "0x31bf";
        match   "release"       "0x0001";
        action  "/root/scripts/canon.A480.sh attach;";
};
# umount when dettach
detach 100 {
        match   "vendor"        "0x04a9";
        match   "product"       "0x31bf";
        match   "release"       "0x0001";
        action  "/root/scripts/canon.A480.sh dettach;";
};

Код: Выделить всё

HP# cat /root/scripts/canon.A480.sh 
#!/bin/sh

if [ x$1 = "xattach" ]
then
        /usr/local/bin/gphotofs -o allow_other /mnt;
        /bin/chmod 775 /mnt;
        cd /home/ && ls |
        {
        while read user
        do
                # file path
                file="/home/$user/Desktop/Canon.A480.desktop"
                # create file link
                echo '[Desktop Entry]'                          >> $file
                echo 'Comment[ru]='                             >> $file
                echo 'Comment='                                 >> $file
                echo 'Exec=/usr/local/kde4/bin/dolphin /mnt'    >> $file
                echo 'Icon=camera-photo'                        >> $file
                echo 'Name[ru]=Canon.A480'                      >> $file
                echo 'Name=Canon.A480'                          >> $file
                echo 'StartupNotify=true'                       >> $file
                echo 'Terminal=false'                           >> $file
                echo 'TerminalOptions='                         >> $file
                echo 'Type=Application'                         >> $file
                echo 'X-KDE-SubstituteUID=false'                >> $file
                # set permissions
                chown $user $file
                chmod 755 $file
        done
        }
        exit 0;
fi

if [ x$1 = "xdettach" ]
then
        /sbin/umount -f /mnt;
        cd /home/ && ls |
        {
        while read user
        do
                cd /home/$user/Desktop && rm -f /home/$user/Desktop/Canon.A480.desktop
        done
        }
        exit 0;
fi


echo "Usage: `basename $0` {attach|dettach}"


HP# 
вроде работает.
юзает /usr/ports/graphics/fusefs-gphotofs
статью с изысканиями, дебагом и прочим - наверно не надо.
тут просто всё. у меня минут 15 ушло на всё про всё - больше всего ушло на создание ярлыка - забыл [Desktop Entry] и немог вкурить почему не пашет =))
Убей их всех! Бог потом рассортирует...

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Gamerman
капитан
Сообщения: 1723
Зарегистрирован: 2009-05-17 21:01:23
Откуда: Украина, Ужгород - Днепр
Контактная информация:

Re: Автомонтирование цифровиков Canon

Непрочитанное сообщение Gamerman » 2011-01-06 20:26:37

А на венде подключил и работает :crazy:
Глюк глюком вышибают!

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Автомонтирование цифровиков Canon

Непрочитанное сообщение Alex Keda » 2011-01-06 20:40:50

как сканер, насколько я помню.
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Gamerman
капитан
Сообщения: 1723
Зарегистрирован: 2009-05-17 21:01:23
Откуда: Украина, Ужгород - Днепр
Контактная информация:

Re: Автомонтирование цифровиков Canon

Непрочитанное сообщение Gamerman » 2011-01-06 20:49:21

Alex Keda писал(а):как сканер, насколько я помню.
Что-то подобное, по крайней мере НЕ как устройство памяти.
Глюк глюком вышибают!

FiL
ст. лейтенант
Сообщения: 1374
Зарегистрирован: 2010-02-05 0:21:40

Re: Автомонтирование цифровиков Canon

Непрочитанное сообщение FiL » 2011-01-07 19:44:03

на /mnt моунтить нехорошо. Особенно так неглядя. Мало-ли что там уже замаунчено. Или два фотоаппарата подключили...
Хоть-бы проверку какую сделать...

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Автомонтирование цифровиков Canon

Непрочитанное сообщение Alex Keda » 2011-01-07 23:05:34

в ноутбуке жены две дырки под usb
одна занята мышью, во вторую втыкают либо mp3 плеер, либо цифровик.
без вариантов =))
Убей их всех! Бог потом рассортирует...

Аватара пользователя
QweЯty
лейтенант
Сообщения: 796
Зарегистрирован: 2010-10-12 0:15:15
Откуда: Таганрог, Калининград
Контактная информация:

Re: Автомонтирование цифровиков Canon

Непрочитанное сообщение QweЯty » 2011-01-10 8:10:36

делаю тоже самое но немного другого плана....
у меня вот это:

Код: Выделить всё

#dmesg
ugen4.2: <Sony> at usbus4
umass0: <Sony Sony DSC, class 0/0, rev 2.00/6.10, addr 2> on usbus4
umass0:  RBC over CBI; quirks = 0x0000
umass0:3:0:-1: Attached to scbus3
(probe0:umass-sim0:0:0:0): AutoSense failed
# lsusb
Bus /dev/usb Device /dev/ugen4.2: ID 054c:0010 Sony Corp. DSC-S30/S70/S75/F505V/F505/FD92/W1 Cybershot/Mavica Digital Camera
вопрос тока в сторону devd, так как скрипт вроде запускаемый вручную, наполовину но работает...

как будет выглядеть /usr/local/etc/devd/sony.conf ?

всегда ли будет

Код: Выделить всё

attach 100 { };
detach 100 { };
?

или цыфры меняются?

и надо ли ставить пакет /usr/ports/graphics/fusefs-gphotofs

хочется так сделать:

0. подрубаем фотоаппарат руками и дальше все автоматом:
1. моунтится в /mnt/sony
2. в /STORAGE/storage/foto создается директория с датой в виде 07.01.2010
вот тут проблема возникла... если я отфоткал в этот же день еще пару флешек... что будет? можно ли сделать так:
все что было в каталоге, переместить в созданный подкаталог 1 а новые фото уже копировать в каталог 2 следующую в 3 (предел мечтаний, пок еще думаю этот пункт сделать)
3. все что есть в /mnt/sony копируется в /STORAGE/storage/foto и потом уже в каталоге /STORAGE/storage/foto задаются права 775 для каталогов и 664 для файлов(как это сделать одновременно, не знаю)
4. с /mnt/sony все удаляется, оставляя флешку чистой... (точнее удаляются фотографии, а не папки DCIM/и какая то еще)
5. отмаунтивается от /mnt/sony
6. спикером ругается что все ок(морзянку знаю довольно хорошо) и наверное пишет в консоль(задумано, но еще думаю надо ли оно)

реализовал из всего этого тока пункты 1, 2, 3(перемещение каталогов с файлами), 4, 5
работает с флешкой обычной (скрипт под нее писал)
вручную запускается все нормально, полет отличный.. работает так как надо...

как теперь это сделать для фотоаппарата через devd
devd в режиме дебага выдает:

Код: Выделить всё

setting device-name=umass0
setting vendor=0x054c
setting product=0x0010
setting devclass=0x00
setting devsubclass=0x00
setting sernum=
setting release=0x0610
setting intclass=0x08
setting intsubclass=0xff
Processing attach event
Testing device-name=umass0 against ^ed50
Testing device-name=umass0 against ^ubt[0-9]+
Testing device-name=umass0 against ^ukbd0
Testing device-name=umass0 against ^ums[0-9]+
Testing vendor=0x054c against ^0x0854
Testing vendor=0x054c against ^0x1645
Testing media type of umass0 against 0x80
Testing device-name=umass0 against ^(aac|adv|adw|aha|ahb|ahc|ahd|aic|amd|amr|asr|bt|ciss|ct|dpt|esp|ida|iir|ips|isp|mlx|mly|mpt|ncr|ncv|nsp|stg|sym|trm|wds)[0-9]+
Popping table
setting system=USB
setting subsystem=DEVICE
setting type=ATTACH
setting cdev=ugen4.2
setting vendor=0x054c
setting product=0x0010
setting devclass=0x00
setting devsubclass=0x00
setting sernum=
setting release=0x0610
setting mode=host
setting port=1
setting parent=ugen4.1
Processing notify event
Testing system=USB against ^USB
Testing subsystem=DEVICE against ^DEVICE
Testing type=ATTACH against ^ATTACH
Testing vendor=0x054c against ^0x2001
Testing system=USB against ^USB
Testing subsystem=DEVICE against ^DEVICE
Testing type=ATTACH against ^ATTACH
Testing vendor=0x054c against ^0x0d8e
Testing system=USB against ^USB
Testing subsystem=DEVICE against ^DEVICE
Testing type=ATTACH against ^ATTACH
Testing vendor=0x054c against ^0x0cf3
Testing system=USB against ^USB
Testing subsystem=DEVICE against ^DEVICE
Testing type=ATTACH against ^ATTACH
Testing vendor=0x054c against ^0x168c
Testing system=USB against ^USB
Testing subsystem=DEVICE against ^DEVICE
Testing type=ATTACH against ^ATTACH
Testing vendor=0x054c against ^0x083a
Testing system=USB against ^USB
Testing subsystem=DEVICE against ^DEVICE
Testing type=ATTACH against ^ATTACH
Testing vendor=0x054c against ^0x07d1
Testing system=USB against ^USB
Testing subsystem=DEVICE against ^DEVICE
Testing type=ATTACH against ^ATTACH
Testing vendor=0x054c against ^0x1690
Testing system=USB against ^USB
Testing subsystem=DEVICE against ^DEVICE
Testing type=ATTACH against ^ATTACH
Testing vendor=0x054c against ^0x16ab
Testing system=USB against ^USB
Testing subsystem=DEVICE against ^DEVICE
Testing type=ATTACH against ^ATTACH
Testing vendor=0x054c against ^0x0846
Testing system=USB against ^USB
Testing subsystem=DEVICE against ^DEVICE
Testing type=ATTACH against ^ATTACH
Testing vendor=0x054c against ^0x1385
Testing system=USB against ^USB
Testing subsystem=DEVICE against ^DEVICE
Testing type=ATTACH against ^ATTACH
Testing vendor=0x054c against ^0x157e
Testing system=USB against ^USB
Testing subsystem=DEVICE against ^DEVICE
Testing type=ATTACH against ^ATTACH
Testing vendor=0x054c against ^0x082d
Testing system=USB against ^USB
Testing subsystem=DEVICE against ^DEVICE
Testing type=ATTACH against ^ATTACH
Testing vendor=0x054c against ^0x1435
Testing system=USB against ^USB
Testing subsystem=DEVICE against ^DEVICE
Testing type=ATTACH against ^ATTACH
Testing vendor=0x054c against ^0x0cde
Testing system=USB against ^USB
Testing subsystem=DEVICE against ^INTERFACE
Testing system=USB against ^ACPI
Testing system=USB against ^ACPI
Testing system=USB against ^ZFS
Testing system=USB against ^ZFS
Testing system=USB against ^ZFS
Testing system=USB against ^ZFS
Testing system=USB against ^ZFS
Testing system=USB against ^ACPI
Testing system=USB against ^ACPI
Testing system=USB against ^ACPI
Testing system=USB against ^ACPI
Testing system=USB against ^ACPI
Testing system=USB against ^ACPI
Testing system=USB against ^ACPI
Testing system=USB against ^ACPI
Testing system=USB against ^IFNET
Testing system=USB against ^IFNET
Testing system=USB against ^IFNET
Инженер не смотрит порно. Он ведет расчет бабы на усталость © Федор Сумкин
Изображение

Аватара пользователя
QweЯty
лейтенант
Сообщения: 796
Зарегистрирован: 2010-10-12 0:15:15
Откуда: Таганрог, Калининград
Контактная информация:

Re: Автомонтирование цифровиков Canon

Непрочитанное сообщение QweЯty » 2011-01-11 13:14:40

не поддерживается, или что то не так сделал:(

установил порт /usr/ports/graphics/fusefs-gphotofs

Код: Выделить всё

radist04ka# gphotofs -o allow_other /mnt/sony
radist04ka# cd /mnt/sony/
radist04ka# ls
ls: .: Protocol error
radist04ka#
radist04ka# umount -f /mnt/sony
radist04ka#
radist04ka# gphotofs -o allow_other /mnt/sony
radist04ka# cd sony/
radist04ka# ls
ls: .: Protocol not supported
radist04ka# gphotofs -o allow_other /mnt/sony
radist04ka# rehash
radist04ka# rehash
radist04ka# rehash
radist04ka# ls /mnt/
./      ../     cdrom/  dwdrw/  floppy/ media/  sony/
radist04ka# ls /mnt/sony
ls: /mnt/sony: Protocol not supported
radist04ka#

Код: Выделить всё

# dmesg
fuse4bsd: version 0.3.9-pre1, FUSE ABI 7.8
ugen4.2: <Sony> at usbus4
umass0: <Sony Sony DSC, class 0/0, rev 2.00/6.10, addr 2> on usbus4
umass0:  RBC over CBI; quirks = 0x0000
umass0:3:0:-1: Attached to scbus3
(probe0:umass-sim0:0:0:0): AutoSense failed
ugen4.2: <Sony> at usbus4 (disconnected)
umass0: at uhub4, port 1, addr 2 (disconnected)
ugen4.2: <Sony> at usbus4
umass0: <Sony Sony DSC, class 0/0, rev 2.00/6.10, addr 2> on usbus4
umass0:  RBC over CBI; quirks = 0x0000
umass0:3:0:-1: Attached to scbus3
(probe0:umass-sim0:0:0:0): AutoSense failed
ugen4.2: <Sony> at usbus4 (disconnected)
umass0: at uhub4, port 1, addr 2 (disconnected)
ugen4.2: <Sony> at usbus4
umass0: <Sony Sony DSC, class 0/0, rev 2.00/6.00, addr 2> on usbus4
umass0:  RBC over CBI; quirks = 0x1000
umass0:3:0:-1: Attached to scbus3
(probe0:umass-sim0:0:0:0): AutoSense failed
ugen4.2: <Sony> at usbus4 (disconnected)
umass0: at uhub4, port 1, addr 2 (disconnected)
ugen4.2: <Sony> at usbus4
umass0: <Sony Sony DSC, class 0/0, rev 2.00/6.00, addr 2> on usbus4
umass0:  RBC over CBI; quirks = 0x1000
umass0:3:0:-1: Attached to scbus3
(probe0:umass-sim0:0:0:0): AutoSense failed
ugen4.2: <Sony> at usbus4 (disconnected)
umass0: at uhub4, port 1, addr 2 (disconnected)
radist04ka#
как мне смонтировать фотоаппарат?

Код: Выделить всё

radist04ka# uname -rpsi
FreeBSD 8.1-STABLE-201011 i386 KERN
radist04ka#
Инженер не смотрит порно. Он ведет расчет бабы на усталость © Федор Сумкин
Изображение

Аватара пользователя
QweЯty
лейтенант
Сообщения: 796
Зарегистрирован: 2010-10-12 0:15:15
Откуда: Таганрог, Калининград
Контактная информация:

Re: Автомонтирование цифровиков Canon

Непрочитанное сообщение QweЯty » 2011-01-11 17:47:02

вопрос снят, все решилось переводом фотика с авто в режим PTP

вопрос остался с devd...
что и как писать в нем?
Инженер не смотрит порно. Он ведет расчет бабы на усталость © Федор Сумкин
Изображение

Аватара пользователя
QweЯty
лейтенант
Сообщения: 796
Зарегистрирован: 2010-10-12 0:15:15
Откуда: Таганрог, Калининград
Контактная информация:

Re: Автомонтирование цифровиков Canon

Непрочитанное сообщение QweЯty » 2011-01-11 19:30:07

имеем:

Код: Выделить всё

radist04ka# cat sony.sh
#!/bin/sh

# монтируем фотоаппарат
gphotofs -o allow_other /mnt/sony

# создаем папку с текущей датой
mkdir /STORAGE/disk02/foto/`date +%d.%m.%Y`

# даем права
chmod 775 /mnt/sony/*

# пеермещаем фотографии с фотоаппарата в папку с сегодняшней датой
mv /mnt/sony/store_*/* /STORAGE/disk02/foto/`date +%d.%m.%Y`/

# отмонтируем фотоаппарат
umount /mnt/sonyradist04ka#
почему то ругается при удалении файлов..

Код: Выделить всё

radist04ka# ./sony.sh
mv: /mnt/sony/store_00010001/DSC05612.JPG: remove: Protocol not supported
mv: /mnt/sony/store_00010001/DSC05613.JPG: remove: Protocol not supported
mv: /mnt/sony/store_00010001/DSC05614.JPG: remove: Protocol not supported
mv: /mnt/sony/store_00010001/DSC05615.JPG: remove: Protocol not supported
radist04ka#
остальное проходит без проблем...
монтирование, создание, копирование, удаление не работает, отмонтирование работает....

так же вопрос отпал с тем что подключаешь два или три раза в день, копируются только файлы все видео/фото, папка не копируется...

но при повторном подключении ругается:

Код: Выделить всё

radist04ka# ./sony.sh
mkdir: /STORAGE/disk02/foto/11.01.2011: File exists
как сделать проверку на наличие папки?
Инженер не смотрит порно. Он ведет расчет бабы на усталость © Федор Сумкин
Изображение

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Автомонтирование цифровиков Canon

Непрочитанное сообщение Alex Keda » 2011-01-11 23:35:27

ничё не понял...
Убей их всех! Бог потом рассортирует...

Аватара пользователя
QweЯty
лейтенант
Сообщения: 796
Зарегистрирован: 2010-10-12 0:15:15
Откуда: Таганрог, Калининград
Контактная информация:

Re: Автомонтирование цифровиков Canon

Непрочитанное сообщение QweЯty » 2011-01-12 8:43:51

ничё не понял...
ладно, опишем пока имеющиеся вопросы....

- почему нельзя удалять файлы с флешки фотика?

- как ее можно отформатировать?

- как настроить devd на мой аппарат...

скрипт вот такой стал после нескольких экзекуций

Код: Выделить всё

#!/bin/sh

fld="/STORAGE/disk02/foto/`date +%d.%m.%Y`/"
remfld="/STORAGE/disk02/foto/`date +%d.%m.%Y.1`"
mountphoto="/mnt/sony"

# монтируем фотоаппарат
gphotofs -o allow_other $mountphoto

# даем права
find $mountphoto -type d -exec chmod 775 {} \; 
find $mountphoto -type f -exec chmod 664 {} \; 

# проверяем есть ли папка с текущей датой, нет то создаем папку с текущей датой

if [ ! -e "$fld" ]; then
  if [ ! -d "$fld" ]; then
    echo "не папка"
    mv $fld $remfld
  else
    echo "существует"
  fi
else
  mkdir -p $fld
fi 


# пеермещаем фотографии с фотоаппарата в папку с сегодняшней датой
cp $mountphoto/store_*/* $fld

# отмонтируем фотоаппарат
umount $mountphoto
Инженер не смотрит порно. Он ведет расчет бабы на усталость © Федор Сумкин
Изображение

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Автомонтирование цифровиков Canon

Непрочитанное сообщение Alex Keda » 2011-01-12 17:46:10

QweЯty писал(а):
ничё не понял...
ладно, опишем пока имеющиеся вопросы....

- почему нельзя удалять файлы с флешки фотика?
у меня можно. проблемы конкретного цифровика, думаю.
QweЯty писал(а): - как ее можно отформатировать?
из меню фотоаппарата
QweЯty писал(а): - как настроить devd на мой аппарат...
указать вендора и продукт в настрйоках эвентов
Убей их всех! Бог потом рассортирует...

Аватара пользователя
QweЯty
лейтенант
Сообщения: 796
Зарегистрирован: 2010-10-12 0:15:15
Откуда: Таганрог, Калининград
Контактная информация:

Re: Автомонтирование цифровиков Canon

Непрочитанное сообщение QweЯty » 2011-01-15 23:07:00

Код: Выделить всё

radist04ka# cat sony.conf
attach 100 {
        match   "vendor"        "0x054c";
        match   "product"       "0x0010";
        match   "release"       "0x0610";
        action  "/usr/local/scripts/sony.sh;";
};

Код: Выделить всё

radist04ka# /etc/rc.d/devd restart
Stopping devd.
Starting devd.
radist04ka#

Код: Выделить всё

radist04ka# cat /usr/local/scripts/sony.sh
#!/bin/sh

fld="/STORAGE/disk02/foto/`date +%d.%m.%Y`";
remfld="/STORAGE/disk02/foto/`date +%d.%m.%Y.1`";
mountphoto="/mnt/sony";
gphoto="/usr/local/bin/gphotofs";

# монтируем фотоаппарат
$gphoto -o allow_other $mountphoto;
sleep 5;

# проверяем есть ли папка с текущей датой, нет то создаем папку с текущей датой
if [ -f "$fld" ]
    then
        #echo "присутствует файл с $fld";
        mv $fld $remfld;
        mkdir -p $fld;
        cp $mountphoto/store_*/* $fld/;
    elif [ -d "$fld" ]
    then
        #echo "папка есть уже";
        cp $mountphoto/store_*/* $fld/;
    else
        #echo "создаем папку";
        mkdir -p $fld;
        cp $mountphoto/store_*/* $fld/;
fi

# даем права
/bin/chmod 775 $fld;
/usr/bin/find $fld -type f -exec chmod 664 {} \;;
/usr/sbin/chown -Rf radist:operator $fld;

# отмонтируем фотоаппарат
/sbin/umount $mountphoto;
/usr/games/morse -p -d /dev/speaker "Sony OK";
radist04ka#
если запускать от руки скрипт то все ок, работает на ура...

причем абсолютно все что хотел....

а автоматом не хатит работать:(

раз 5 втыкал/вытыкал фотик:

Код: Выделить всё

radist04ka# dmesg | grep Sony
ugen4.2: <Sony> at usbus4
ugen4.2: <Sony> at usbus4 (disconnected)
ugen4.2: <Sony> at usbus4
ugen4.2: <Sony> at usbus4 (disconnected)
ugen4.2: <Sony> at usbus4
ugen4.2: <Sony> at usbus4 (disconnected)
ugen4.2: <Sony> at usbus4
ugen4.2: <Sony> at usbus4 (disconnected)
ugen4.2: <Sony> at usbus4
ugen4.2: <Sony> at usbus4 (disconnected)
ugen4.2: <Sony> at usbus4
ugen4.2: <Sony> at usbus4 (disconnected)
ugen4.2: <Sony> at usbus4
ugen4.2: <Sony> at usbus4 (disconnected)
ugen4.2: <Sony> at usbus4
ugen4.2: <Sony> at usbus4 (disconnected)
ugen4.2: <Sony> at usbus4
ugen4.2: <Sony> at usbus4 (disconnected)
ugen4.2: <Sony> at usbus4
ugen4.2: <Sony> at usbus4 (disconnected)
ugen4.3: <Sony> at usbus4
ugen4.3: <Sony> at usbus4 (disconnected)
ugen4.2: <Sony> at usbus4
ugen4.2: <Sony> at usbus4 (disconnected)
ugen4.2: <Sony> at usbus4
ugen4.2: <Sony> at usbus4 (disconnected)
ugen4.2: <Sony> at usbus4
ugen4.2: <Sony> at usbus4 (disconnected)
ugen4.2: <Sony> at usbus4
ugen4.2: <Sony> at usbus4 (disconnected)
почему таки не работает devd :(

класс вендора и продукт назвал вроде те:

Код: Выделить всё

setting vendor=0x054c
setting product=0x0010
setting devclass=0x00
setting devsubclass=0x00
setting sernum=
setting release=0x0610
Инженер не смотрит порно. Он ведет расчет бабы на усталость © Федор Сумкин
Изображение

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Автомонтирование цифровиков Canon

Непрочитанное сообщение Alex Keda » 2011-01-17 21:13:26

пути пропишите
Убей их всех! Бог потом рассортирует...

Аватара пользователя
QweЯty
лейтенант
Сообщения: 796
Зарегистрирован: 2010-10-12 0:15:15
Откуда: Таганрог, Калининград
Контактная информация:

Re: Автомонтирование цифровиков Canon

Непрочитанное сообщение QweЯty » 2011-01-17 22:20:47

всмысле?

Код: Выделить всё

radist04ka# ls -l /usr/local/etc/devd/
total 8
-rw-r--r--   1 root  wheel   135 15 янв 23:14 sony.conf
-r--r--r--   1 root  wheel   227 30 ноя 07:35 webcamd.conf
Инженер не смотрит порно. Он ведет расчет бабы на усталость © Федор Сумкин
Изображение

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Автомонтирование цифровиков Canon

Непрочитанное сообщение Alex Keda » 2011-01-17 22:44:48

Код: Выделить всё

p3-800# env | grep PATH
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin:/root/bin
p3-800#
Убей их всех! Бог потом рассортирует...

Аватара пользователя
QweЯty
лейтенант
Сообщения: 796
Зарегистрирован: 2010-10-12 0:15:15
Откуда: Таганрог, Калининград
Контактная информация:

Re: Автомонтирование цифровиков Canon

Непрочитанное сообщение QweЯty » 2011-01-17 22:58:25

Код: Выделить всё

radist04ka# env | grep PATH
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin
и потом, у меня пути прописаны статические

Код: Выделить всё

radist04ka# cat /usr/local/scripts/sony.sh
#!/bin/sh

fld="/STORAGE/disk02/foto/`date +%d.%m.%Y`";
remfld="/STORAGE/disk02/foto/`date +%d.%m.%Y.1`";
mountphoto="/mnt/sony";
gphoto="/usr/local/bin/gphotofs";

# монтируем фотоаппарат;
$gphoto -o allow_other $mountphoto;
/bin/sleep 5;

# проверяем есть ли папка с текущей датой, нет то создаем папку с текущей датой;
# Заодно и копируем
if [ -f "$fld" ]
    then
        #echo "присутствует файл с $fld";
        /bin/mv $fld $remfld;
        /bin/mkdir -p $fld;
        /bin/cp $mountphoto/store_*/* $fld/;
    elif [ -d "$fld" ]
    then
        #echo "папка есть уже";
        /bin/cp $mountphoto/store_*/* $fld/;
    else
        #echo "создаем папку";
        /bin/mkdir -p $fld;
        /bin/cp $mountphoto/store_*/* $fld/;
fi

# даем права;
/bin/chmod 775 $fld;
/usr/bin/find $fld -type f -exec chmod 664 {} \;;
/usr/sbin/chown -Rf radist:operator $fld;

# отмонтируем фотоаппарат;
/sbin/umount $mountphoto;
/usr/games/morse -p -d /dev/speaker "Sony OK";
radist04ka#
Инженер не смотрит порно. Он ведет расчет бабы на усталость © Федор Сумкин
Изображение

Аватара пользователя
QweЯty
лейтенант
Сообщения: 796
Зарегистрирован: 2010-10-12 0:15:15
Откуда: Таганрог, Калининград
Контактная информация:

Re: Автомонтирование цифровиков Canon

Непрочитанное сообщение QweЯty » 2011-01-18 3:45:27

щаз воткнул и проверил логи all.log

Код: Выделить всё

radist04ka# cat /var/log/all.log | grep USB
Jan 18 03:41:45 radist04ka radist: Unknown USB device: vendor 0x054c product 0x004e bus uhub4
Jan 18 03:43:29 radist04ka radist: Unknown USB device: vendor 0x054c product 0x004e bus uhub4
что это значит?
Инженер не смотрит порно. Он ведет расчет бабы на усталость © Федор Сумкин
Изображение

Аватара пользователя
QweЯty
лейтенант
Сообщения: 796
Зарегистрирован: 2010-10-12 0:15:15
Откуда: Таганрог, Калининград
Контактная информация:

Re: Автомонтирование цифровиков Canon

Непрочитанное сообщение QweЯty » 2011-01-27 23:16:46

подскажите, почему все равно через devd не запускаеся скрипт?

вот все давнные:

при devd -d -D

Код: Выделить всё

Processing event '? at bus=1 hubaddr=3 port=4 devaddr=2 interface=0 vendor=0x054c product=0x004e devclass=0x00 devsubclass=0x00 sernum="" release=0x0310 intclass=0x06 intsubclass=0x01 on uhub4'
Pushing table
setting bus=1
setting hubaddr=3
setting port=4
setting devaddr=2
setting interface=0
setting vendor=0x054c
setting product=0x004e
setting devclass=0x00
setting devsubclass=0x00
setting sernum=
setting release=0x0310
setting intclass=0x06
setting intsubclass=0x01
setting bus=uhub4
Processing nomatch event
Testing bus=uhub4 against ^pccard[0-9]+
Testing bus=uhub4 against ^uhub[0-9]+
Executing 'logger Unknown USB device: vendor 0x054c product 0x004e bus uhub4'
Popping table
dmesg

Код: Выделить всё

ugen4.2: <Sony> at usbus4
ugen4.2: <Sony> at usbus4 (disconnected)
ugen4.2: <Sony> at usbus4
ugen4.2: <Sony> at usbus4 (disconnected)
ugen4.2: <Sony> at usbus4
ugen4.2: <Sony> at usbus4 (disconnected)
ugen4.2: <Sony> at usbus4
ugen4.2: <Sony> at usbus4 (disconnected)
ugen4.2: <Sony> at usbus4
ugen4.2: <Sony> at usbus4 (disconnected)
скрипт:

Код: Выделить всё

radist04ka# cat /usr/local/etc/devd/sony.conf
attach 100 {
        match   "system"        "USB";
        match   "vendor"        "0x054c";
        match   "product"       "0x004e";
        action  "/usr/local/scripts/sony.sh";
};
как я понял надо брать эти данные из логов devd

Код: Выделить всё

setting vendor=0x054c
setting product=0x004e
сам скрипт:

Код: Выделить всё

radist04ka# cat /usr/local/scripts/sony.sh
#!/bin/sh

fld="/STORAGE/disk02/foto/`date +%d.%m.%Y`";
remfld="/STORAGE/disk02/foto/`date +%d.%m.%Y.1`";
mountphoto="/mnt/sony";
gphoto="/usr/local/bin/gphotofs";
usephoto="radist:operator"

# монтируем фотоаппарат;
$gphoto -o allow_other $mountphoto;
/bin/sleep 5;

# проверяем есть ли папка с текущей датой, нет то создаем папку с текущей датой;
# Заодно и копируем
if [ -f "$fld" ]
    then
        #/bin/echo "присутствует файл с $fld";
        /bin/mv $fld $remfld;
        /bin/mkdir -p $fld;
        /bin/cp $mountphoto/store_*/* $fld/;
    elif [ -d "$fld" ]
    then
        #/bin/echo "папка есть уже";
        /bin/cp $mountphoto/store_*/* $fld/;
    else
        #/bin/echo "создаем папку";
        /bin/mkdir -p $fld;
        /bin/cp $mountphoto/store_*/* $fld/;
fi

# даем права;
/bin/chmod 775 $fld;
/usr/bin/find $fld -type f -exec chmod 664 {} \;;
/usr/sbin/chown -Rf $usephoto $fld;

# отмонтируем фотоаппарат;
/sbin/umount $mountphoto;
/usr/games/morse -p -d /dev/speaker "Sony OK";
radist04ka#
сам скрипт работает должным образом, если его запустить в консоли или тем же кроном(тестил, может это глюк такой, что с консоли можно а через другую прграмму нет, но все работало...)

при включении фотоаппарата со всеми конфигами и скриптами в дирах при devd -d -D:

Код: Выделить всё

Processing event '+ugen4.2 vendor=0x054c product=0x004e devclass=0x00 devsubclass=0x00 sernum="" release=0x0310 at port=3 on ugen4.1'
Pushing table
setting device-name=ugen4.2
setting vendor=0x054c
setting product=0x004e
setting devclass=0x00
setting devsubclass=0x00
setting sernum=
setting release=0x0310
Processing attach event
Testing device-name=ugen4.2 against ^ed50
Testing device-name=ugen4.2 against ^ubt[0-9]+
Testing device-name=ugen4.2 against ^ukbd0
Testing device-name=ugen4.2 against ^ums[0-9]+
Testing vendor=0x054c against ^0x0854
Testing vendor=0x054c against ^0x1645
Testing system= against ^USB
Testing media type of ugen4.2 against 0x80
Testing device-name=ugen4.2 against ^(aac|adv|adw|aha|ahb|ahc|ahd|aic|amd|amr|asr|bt|ciss|ct|dpt|esp|ida|iir|ips|isp|mlx|mly|mpt|ncr|ncv|nsp|stg|sym|trm|wds)[0-9]+
Popping table
Processing event '!system=USB subsystem=DEVICE type=ATTACH cdev=ugen4.2 vendor=0x054c product=0x004e devclass=0x00 devsubclass=0x00 sernum="" release=0x0310 mode=host port=3 parent=ugen4.1'
Pushing table
setting system=USB
setting subsystem=DEVICE
setting type=ATTACH
setting cdev=ugen4.2
setting vendor=0x054c
setting product=0x004e
setting devclass=0x00
setting devsubclass=0x00
setting sernum=
setting release=0x0310
setting mode=host
setting port=3
setting parent=ugen4.1
Processing notify event
Testing system=USB against ^USB
Testing subsystem=DEVICE against ^DEVICE
Testing type=ATTACH against ^ATTACH
Testing vendor=0x054c against ^0x2001
Testing system=USB against ^USB
Testing subsystem=DEVICE against ^DEVICE
Testing type=ATTACH against ^ATTACH
Testing vendor=0x054c against ^0x0d8e
Testing system=USB against ^USB
Testing subsystem=DEVICE against ^DEVICE
Testing type=ATTACH against ^ATTACH
Testing vendor=0x054c against ^0x0cf3
Testing system=USB against ^USB
Testing subsystem=DEVICE against ^DEVICE
Testing type=ATTACH against ^ATTACH
Testing vendor=0x054c against ^0x168c
Testing system=USB against ^USB
Testing subsystem=DEVICE against ^DEVICE
Testing type=ATTACH against ^ATTACH
Testing vendor=0x054c against ^0x083a
Testing system=USB against ^USB
Testing subsystem=DEVICE against ^DEVICE
Testing type=ATTACH against ^ATTACH
Testing vendor=0x054c against ^0x07d1
Testing system=USB against ^USB
Testing subsystem=DEVICE against ^DEVICE
Testing type=ATTACH against ^ATTACH
Testing vendor=0x054c against ^0x1690
Testing system=USB against ^USB
Testing subsystem=DEVICE against ^DEVICE
Testing type=ATTACH against ^ATTACH
Testing vendor=0x054c against ^0x16ab
Testing system=USB against ^USB
Testing subsystem=DEVICE against ^DEVICE
Testing type=ATTACH against ^ATTACH
Testing vendor=0x054c against ^0x0846
Testing system=USB against ^USB
Testing subsystem=DEVICE against ^DEVICE
Testing type=ATTACH against ^ATTACH
Testing vendor=0x054c against ^0x1385
Testing system=USB against ^USB
Testing subsystem=DEVICE against ^DEVICE
Testing type=ATTACH against ^ATTACH
Testing vendor=0x054c against ^0x157e
Testing system=USB against ^USB
Testing subsystem=DEVICE against ^DEVICE
Testing type=ATTACH against ^ATTACH
Testing vendor=0x054c against ^0x082d
Testing system=USB against ^USB
Testing subsystem=DEVICE against ^DEVICE
Testing type=ATTACH against ^ATTACH
Testing vendor=0x054c against ^0x1435
Testing system=USB against ^USB
Testing subsystem=DEVICE against ^DEVICE
Testing type=ATTACH against ^ATTACH
Testing vendor=0x054c against ^0x0cde
Testing system=USB against ^USB
Testing subsystem=DEVICE against ^INTERFACE
Testing system=USB against ^ACPI
Testing system=USB against ^ACPI
Testing system=USB against ^ZFS
Testing system=USB against ^ZFS
Testing system=USB against ^ZFS
Testing system=USB against ^ZFS
Testing system=USB against ^ZFS
Testing system=USB against ^ACPI
Testing system=USB against ^ACPI
Testing system=USB against ^ACPI
Testing system=USB against ^ACPI
Testing system=USB against ^ACPI
Testing system=USB against ^ACPI
Testing system=USB against ^ACPI
Testing system=USB against ^ACPI
Testing system=USB against ^IFNET
Testing system=USB against ^IFNET
Testing system=USB against ^IFNET
Popping table
Processing event '!system=USB subsystem=INTERFACE type=ATTACH cdev=ugen4.2 vendor=0x054c product=0x004e devclass=0x00 devsubclass=0x00 sernum="" release=0x0310 mode=host interface=0 endpoints=3 intclass=0x06 intsubclass=0x01 intprotocol=0x01'
Pushing table
setting system=USB
setting subsystem=INTERFACE
setting type=ATTACH
setting cdev=ugen4.2
setting vendor=0x054c
setting product=0x004e
setting devclass=0x00
setting devsubclass=0x00
setting sernum=
setting release=0x0310
setting mode=host
setting interface=0
setting endpoints=3
setting intclass=0x06
setting intsubclass=0x01
setting intprotocol=0x01
Processing notify event
Testing system=USB against ^USB
Testing subsystem=INTERFACE against ^DEVICE
Testing system=USB against ^USB
Testing subsystem=INTERFACE against ^DEVICE
Testing system=USB against ^USB
Testing subsystem=INTERFACE against ^DEVICE
Testing system=USB against ^USB
Testing subsystem=INTERFACE against ^DEVICE
Testing system=USB against ^USB
Testing subsystem=INTERFACE against ^DEVICE
Testing system=USB against ^USB
Testing subsystem=INTERFACE against ^DEVICE
Testing system=USB against ^USB
Testing subsystem=INTERFACE against ^DEVICE
Testing system=USB against ^USB
Testing subsystem=INTERFACE against ^DEVICE
Testing system=USB against ^USB
Testing subsystem=INTERFACE against ^DEVICE
Testing system=USB against ^USB
Testing subsystem=INTERFACE against ^DEVICE
Testing system=USB against ^USB
Testing subsystem=INTERFACE against ^DEVICE
Testing system=USB against ^USB
Testing subsystem=INTERFACE against ^DEVICE
Testing system=USB against ^USB
Testing subsystem=INTERFACE against ^DEVICE
Testing system=USB against ^USB
Testing subsystem=INTERFACE against ^DEVICE
Testing system=USB against ^USB
Testing subsystem=INTERFACE against ^INTERFACE
Testing type=ATTACH against ^ATTACH
Testing intclass=0x06 against ^(0x0e|0xff)
Testing system=USB against ^ACPI
Testing system=USB against ^ACPI
Testing system=USB against ^ZFS
Testing system=USB against ^ZFS
Testing system=USB against ^ZFS
Testing system=USB against ^ZFS
Testing system=USB against ^ZFS
Testing system=USB against ^ACPI
Testing system=USB against ^ACPI
Testing system=USB against ^ACPI
Testing system=USB against ^ACPI
Testing system=USB against ^ACPI
Testing system=USB against ^ACPI
Testing system=USB against ^ACPI
Testing system=USB against ^ACPI
Testing system=USB against ^IFNET
Testing system=USB against ^IFNET
Testing system=USB against ^IFNET
Popping table
Processing event '? at bus=1 hubaddr=3 port=4 devaddr=2 interface=0 vendor=0x054c product=0x004e devclass=0x00 devsubclass=0x00 sernum="" release=0x0310 intclass=0x06 intsubclass=0x01 on uhub4'
Pushing table
setting bus=1
setting hubaddr=3
setting port=4
setting devaddr=2
setting interface=0
setting vendor=0x054c
setting product=0x004e
setting devclass=0x00
setting devsubclass=0x00
setting sernum=
setting release=0x0310
setting intclass=0x06
setting intsubclass=0x01
setting bus=uhub4
Processing nomatch event
Testing bus=uhub4 against ^pccard[0-9]+
Testing bus=uhub4 against ^uhub[0-9]+
Executing 'logger Unknown USB device: vendor 0x054c product 0x004e bus uhub4'
Popping table
но ничего не происходит... активность фотоаппарата = 0
как и компа, впрочем, тоже....

при отключении

Код: Выделить всё

Processing event '!system=DEVFS subsystem=CDEV type=DESTROY cdev=usb/4.2.2'
Pushing table
setting system=DEVFS
setting subsystem=CDEV
setting type=DESTROY
setting cdev=usb/4.2.2
Processing notify event
Testing system=DEVFS against ^USB
Testing system=DEVFS against ^USB
Testing system=DEVFS against ^USB
Testing system=DEVFS against ^USB
Testing system=DEVFS against ^USB
Testing system=DEVFS against ^USB
Testing system=DEVFS against ^USB
Testing system=DEVFS against ^USB
Testing system=DEVFS against ^USB
Testing system=DEVFS against ^USB
Testing system=DEVFS against ^USB
Testing system=DEVFS against ^USB
Testing system=DEVFS against ^USB
Testing system=DEVFS against ^USB
Testing system=DEVFS against ^USB
Testing system=DEVFS against ^ACPI
Testing system=DEVFS against ^ACPI
Testing system=DEVFS against ^ZFS
Testing system=DEVFS against ^ZFS
Testing system=DEVFS against ^ZFS
Testing system=DEVFS against ^ZFS
Testing system=DEVFS against ^ZFS
Testing system=DEVFS against ^ACPI
Testing system=DEVFS against ^ACPI
Testing system=DEVFS against ^ACPI
Testing system=DEVFS against ^ACPI
Testing system=DEVFS against ^ACPI
Testing system=DEVFS against ^ACPI
Testing system=DEVFS against ^ACPI
Testing system=DEVFS against ^ACPI
Testing system=DEVFS against ^IFNET
Testing system=DEVFS against ^IFNET
Testing system=DEVFS against ^IFNET
Popping table
Processing event '!system=DEVFS subsystem=CDEV type=DESTROY cdev=usb/4.2.1'
Pushing table
setting system=DEVFS
setting subsystem=CDEV
setting type=DESTROY
setting cdev=usb/4.2.1
Processing notify event
Testing system=DEVFS against ^USB
Testing system=DEVFS against ^USB
Testing system=DEVFS against ^USB
Testing system=DEVFS against ^USB
Testing system=DEVFS against ^USB
Testing system=DEVFS against ^USB
Testing system=DEVFS against ^USB
Testing system=DEVFS against ^USB
Testing system=DEVFS against ^USB
Testing system=DEVFS against ^USB
Testing system=DEVFS against ^USB
Testing system=DEVFS against ^USB
Testing system=DEVFS against ^USB
Testing system=DEVFS against ^USB
Testing system=DEVFS against ^USB
Testing system=DEVFS against ^ACPI
Testing system=DEVFS against ^ACPI
Testing system=DEVFS against ^ZFS
Testing system=DEVFS against ^ZFS
Testing system=DEVFS against ^ZFS
Testing system=DEVFS against ^ZFS
Testing system=DEVFS against ^ZFS
Testing system=DEVFS against ^ACPI
Testing system=DEVFS against ^ACPI
Testing system=DEVFS against ^ACPI
Testing system=DEVFS against ^ACPI
Testing system=DEVFS against ^ACPI
Testing system=DEVFS against ^ACPI
Testing system=DEVFS against ^ACPI
Testing system=DEVFS against ^ACPI
Testing system=DEVFS against ^IFNET
Testing system=DEVFS against ^IFNET
Testing system=DEVFS against ^IFNET
Popping table

в чем глюк?!

почему ничего не работает:(

при этом работает скрипт для webcamd

Код: Выделить всё

radist04ka# cat /usr/local/etc/devd/webcamd.conf
notify 100 {
        match "system"          "USB";
        match "subsystem"       "INTERFACE";
        match "type"            "ATTACH";
        match "intclass"        "(0x0e|0xff)";
        action "env LD_PRELOAD=/usr/local/lib/libcuse4bsd.so /usr/local/sbin/webcamd -d $cdev -B -i 0";
};
при подключении запускается webcamd с нужными параметрами

а тут:(
не работает, хотя все правильно записано.... :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry:
Инженер не смотрит порно. Он ведет расчет бабы на усталость © Федор Сумкин
Изображение

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Автомонтирование цифровиков Canon

Непрочитанное сообщение Alex Keda » 2011-01-28 22:49:46

попробуйте только вендора оставить...

странно, вообще.
Убей их всех! Бог потом рассортирует...

Аватара пользователя
QweЯty
лейтенант
Сообщения: 796
Зарегистрирован: 2010-10-12 0:15:15
Откуда: Таганрог, Калининград
Контактная информация:

Re: Автомонтирование цифровиков Canon

Непрочитанное сообщение QweЯty » 2011-01-29 19:38:33

заработало если сделать так:

Код: Выделить всё

notify 100 {
        match   "system"        "USB";
        match   "vendor"        "0x054c";
        match   "product"       "0x004e";
        match   "release"       "0x0310";
        action  "/usr/local/scripts/sony.sh";
};
но один глюк возникает...
скрипт при одном подключении срабатывает дважды....

UPD.
оставлял при
attach
только

Код: Выделить всё

attach 100 {
        match   "vendor"        "0x054c";
        action  "/usr/local/scripts/sony.sh";
};
не заработало...

UPD v2.
ради интереса заменил 100 на 200 и все заработало...

UPD v3.

работает
просто 100 на 200 заменить надо было....

p.p.s. может в статью добавить как "альтернативное и автоматизированое" подключение фотоаппарата ?
Инженер не смотрит порно. Он ведет расчет бабы на усталость © Федор Сумкин
Изображение

Аватара пользователя
QweЯty
лейтенант
Сообщения: 796
Зарегистрирован: 2010-10-12 0:15:15
Откуда: Таганрог, Калининград
Контактная информация:

Re: Автомонтирование цифровиков Canon

Непрочитанное сообщение QweЯty » 2011-01-29 21:39:48

p.p.p.s.
а таким же способом можно автомонтировать сьемный усб-винт?
Инженер не смотрит порно. Он ведет расчет бабы на усталость © Федор Сумкин
Изображение

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Автомонтирование цифровиков Canon

Непрочитанное сообщение Alex Keda » 2011-01-30 14:19:52

можно.
статью на сайте про тонкие клиенты поищщите, последнюю, там пример есть.
но там для 7.x - старовато, но работает
Убей их всех! Бог потом рассортирует...