Страница 1 из 1

Вручную создать устройство во FreeBSD

Добавлено: 2011-07-16 16:03:20
kpp
Как вручную создать устройство во FreeBSD 8.2?
Устройство - юсб мастер 1-wire сети.
Все что нужно учпешно скомпилил под FreeBSD.
Есть скрипт создания нужного устройства для Федоры:

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

#!/bin/sh
#
# $Id: fedora_setup.sh,v 1.2 2007/08/30 10:55:20 d1mag Exp $
# OWFS setup routines for SUSE systems
# Written by Paul Alfille and others.
# udev routines by Peter Kropf
# GPL v2 license (like all of OWFS)
# copyrite 12/2006 Paul H Alfille
#
### ------------------
### -- Constants -----
### ------------------
OWFS_GROUP=ow
#
#
###  -----------------
###  -- Group --------
###  -----------------
groupadd $OWFS_GROUP
#
###  -----------------
###  -- Links --------
###  -----------------
# Put all the ninaries in /usr/bin
#  make them part of the "ow" group
#  and let only their owner and group read or execute them
OWFS_bin="owfs owhttpd owftpd owserver owread owwrite owpresent owdir"
for x in $OWFS_bin
  do
  ln -sfv /opt/owfs/bin/$x /usr/bin/$x
done
#
###  -----------------
###  -- Rules --------
###  -----------------
cat >/etc/udev/rules.d/46_ds2490.rules << RULES
BUS=="usb", ACTION=="add", SYSFS{idVendor}=="04fa", SYSFS{idProduct}=="2490", \
        PROGRAM="/bin/sh -c 'K=%k; K=\$\${K#usbdev}; printf bus/usb/%%03i/%%03i \$\${K%%%%.*} \$\${K#*.}'", \
        NAME="%c", MODE="0664", RUN+="/etc/udev/ds2490 '%c'"
RULES
#
###  -----------------
###  -- Shell --------
###  -----------------
cat >/etc/udev/ds2490 << SHELL
#! /bin/sh -x
    /sbin/rmmod ds9490r
    MATCH="no"
    if [ "\$1" != "" ]; then
        if [ -f /proc/\$1 ]; then
            chgrp $OWFS_GROUP /proc/\$1 && \
            chmod g+rw /proc/\$1 && \
            logger ow udev: group set to $OWFS_GROUP and permission g+rw on /proc/\$1
            MATCH="yes"
        fi

        if [ -e /dev/\$1 ]; then
            chgrp $OWFS_GROUP /dev/\$1 && \
            chmod g+rw /dev/\$1 && \
            logger ow udev: group set to $OWFS_GROUP and permission g+rw on /dev/\$1
            MATCH="yes"
        fi
    fi

    if [ "\$MATCH" = "no" ]; then
        echo ow udev: no device file found for "\$1"
        logger ow udev: no device file found for "\$1"
    fi
SHELL
chmod 755 /etc/udev/ds2490
и Сусе:

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

#!/bin/sh
#
# $Id: suse_setup.sh,v 1.2 2007/08/30 11:25:27 d1mag Exp $
# OWFS setup routines for SUSE systems
# Written by Paul Alfille and others.
# udev routines by Peter Kropf
# GPL v2 license (like all of OWFS)
# copyrite 12/2006 Paul H Alfille
#
### ------------------
### -- Constants -----
### ------------------
OWFS_GROUP=ow
#
#
###  -----------------
###  -- Group --------
###  -----------------
groupadd $OWFS_GROUP
#
###  -----------------
###  -- Links --------
###  -----------------
# Put all the ninaries in /usr/bin
#  make them part of the "ow" group
#  and let only their owner and group read or execute them
OWFS_bin="owfs owhttpd owftpd owserver owread owwrite owpresent owdir"
for x in $OWFS_bin
  do
  ln -sfv /opt/owfs/bin/$x /usr/bin/$x
done
#
###  -----------------
###  -- Rules --------
###  -----------------
cat >/etc/udev/rules.d/46_ds2490.rules << RULES
BUS=="usb", SYSFS=="04fa", SYSFS=="2490", GROUP="users", MODE="0774", PROGRAM="/bin/sh -c 'K=%k; K=\$\$; printf bus/usb/%%03i
RULES
#
###  -----------------
###  -- Shell --------
###  -----------------
cat >/etc/udev/ds2490 << SHELL
#! /bin/sh -x
    /sbin/rmmod ds9490r
    MATCH="no"
    if [ "\$1" != "" ]; then
        if [ -f /proc/\$1 ]; then
            chgrp $OWFS_GROUP /proc/\$1 && \
            chmod g+rw /proc/\$1 && \
            logger ow udev: group set to $OWFS_GROUP and permission g+rw on /proc/\$1
            MATCH="yes"
        fi
        if [ -e /dev/\$1 ]; then
            chgrp $OWFS_GROUP /dev/\$1 && \
            chmod g+rw /dev/\$1 && \
            logger ow udev: group set to $OWFS_GROUP and permission g+rw on /dev/\$1
            MATCH="yes"
        fi
    fi

    if [ "\$MATCH" = "no" ]; then
        echo ow udev: no device file found for "\$1"
        logger ow udev: no device file found for "\$1"
    fi
SHELL
chmod 755 /etc/udev/ds2490
Создавать вручную устройства мне еще не приходилось, что можно почитать на эту тему?

Re: Вручную создать устройство во FreeBSD

Добавлено: 2011-07-16 22:41:59
Alex Keda
вообще, само должно создаваться - если устройство есть.

Re: Вручную создать устройство во FreeBSD

Добавлено: 2011-07-17 10:10:53
kpp
Устройство воткнуто в ЮСБ:

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

# usbconfig
ugen0.3: <product 0x2490 vendor 0x04fa> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
Драйвера как такового нет, неспроста для Федоры и Сусе скрипты для создания файла-устройства вручную...

Re: Вручную создать устройство во FreeBSD

Добавлено: 2011-07-17 10:31:51
Bayerische
Ради пррикола воткнул Bluetooth. Вот что кажет:

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

Jul 17 11:29:29 workstation1 root: Unknown USB device: vendor 0x0a12 product 0x0001 bus uhub4
Jul 17 11:29:29 workstation1 kernel: ugen4.2: <vendor 0x0a12> at usbus4
Т.е. не знает, как бы...

Re: Вручную создать устройство во FreeBSD

Добавлено: 2011-07-17 11:14:17
kpp
У меня тоже говорит что не знает

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

Jul 17 11:09:52 pogranichnic root: Unknown USB device: vendor 0x04fa product 0x2490 bus uhub0
Jul 17 11:09:52 pogranichnic kernel: ugen0.3: <vendor 0x04fa> at usbus0
Вот что предлагает производитель:
http://www.maxim-ic.com/products/ibutton/software/tmex/

Re: Вручную создать устройство во FreeBSD

Добавлено: 2011-07-17 13:10:40
kpp
Вопрос снимается.
В данном случае создавать устройство не нужно.
Набор утилит owfs работает напрямую с железкой.

Re: Вручную создать устройство во FreeBSD

Добавлено: 2011-09-13 8:45:52
boban_
Добрый день.

Подскажите, как установить пакет owfs на freebsd 8.2? Пробовал несколько раз, не получилось.

Re: Вручную создать устройство во FreeBSD

Добавлено: 2011-09-13 9:35:20
kpp
Что именно не получилось, подробнее опишите в чем проблема?

Re: Вручную создать устройство во FreeBSD

Добавлено: 2011-09-13 10:17:46
boban_
Ошибки при компиляции, подробнее только вечером, на работе сейчас.

Re: Вручную создать устройство во FreeBSD

Добавлено: 2011-09-13 11:07:44
kpp
Могу выслать подправленные мной исходники под FreeBSD 8.2.

Re: Вручную создать устройство во FreeBSD

Добавлено: 2011-09-13 11:57:22
boban_
Большое спасибо, если можно на адрес 7545825@list.ru.

Re: Вручную создать устройство во FreeBSD

Добавлено: 2011-09-13 13:46:21
kpp
ftp://hi.dp.ua/unix/owfs-2.8p11.tar.gzip
В корне скрипт установки insta.sh

Re: Вручную создать устройство во FreeBSD

Добавлено: 2013-10-16 10:10:17
zelevova
Наконец то завел owfs на FreeBSD. Вот только хотелось на актуальном релизе, но видимо не судьба. Пришлось ставить FreeBSD 8.4 и owfs по ссылке выше. На 9.2 не собирается. :(