Page 3 of 9 FirstFirst 12345 ... LastLast
Results 31 to 45 of 124

Thread: Роутер следит за температурой (digitemp&owfs)

  1. #31
    Quote Originally Posted by ryzhov_al View Post
    Выкладываю вторую ревизию, в которой решена проблема libusb-0.1. Теперь эта библиотека статически слинкована с owfs и отдельно в виде файла нигде не присутствует.
    Не слежу за темой, однако в прошивке есть libusb 0.1-compat, который по факту враппер между libusb 0.1x и 1x, на данный момент отключен, т.к все что пользовало 0.1 выпилено и переведено на 1.х. В теории его можно статически слинковать, а оно уже будет динамически линковать libusb 1.0

    Дальше, у libusb в прошивке отключены soname, генерируется только .so файл, без .so.x,.so.x.x,.so.x.x.x. Если что-то будет использовать libusb из прошивки динамически, то и линковать нужно после сборки libusb. Пример - usb_modeswitch, libusb-0.1-compat и т.п.

    hope it will help.

  2. #32
    Провайдер сломал интернет. Вернее не сломал, но погнул сильно.
    Качаю и поставлю сейчас новую версию.

    UPD: Поставил, все работает и lsusb завелся.
    fuse по прежнему ругается, модули распакованы по инструкции.

    PHP Code:
    owfs ---mountpoint=/tmp/var/owfs/ --error_level 12
    CONNECT
    owfs.c:main(123fuse mount point: /tmp/var/owfs/
    CONNECTow_avahi_link.c:OW_Load_avahi_library(72No Avahi supportLibrary libavahi-client couldn't be loaded
    CONNECT: ow_dnssd.c:OW_Load_dnssd_library(136) Zeroconf/Bonjour is disabled since dnssd library isn'
    t found
       CALL
    ow_parsename.c:FS_ParsedName_anywhere(91path=[]
      
    DEBUGowlib.c:SetupTemperatureLimits(79Globals temp limits 0C 100C (for simulated adapters)
    CONNECTow_usb_cycle.c:USB_next(68Bus master found1:2
    DEFAULT: ow_usb_msg.c:DS9490_open(276Opened USB DS9490 bus master at 1:2.
       CALL
    ow_parsename.c:FS_ParsedName_anywhere(91path=[]
       
    CALLow_parsename.c:FS_ParsedName_anywhere(91path=[/uncached/bus.0]
      
    DEBUGow_dir.c:FS_dir(63path=/uncached/bus.0
       CALL
    ow_dir.c:FS_dir_both(98path=/uncached/bus.0
       CALL
    ow_parsename.c:FS_ParsedName_anywhere(91path=[/uncached/bus.0/interface]
      
    DEBUGow_usb_cycle.c:DS9490_dir_callback(125Callback on /uncached/bus.0/interface
      
    DEBUGow_parsename.c:FS_ParsedName_destroy(55) /uncached/bus.0/interface
      
    DEBUGow_search.c:BUS_first(32Start of directory path=/uncached/bus.0 device=00 00 00 00 00 00 00 00
      DEBUG
    ow_ds9490.c:DS9490_next_both(579Index 0
      DEBUG
    ow_select.c:BUS_select(78Selecting a path (and devicepath=/uncached/bus.0 SN=00 00 00 00 00 00 00 00 last path=FF 00 00 00 00 00 00 00
      DEBUG
    ow_select.c:BUS_select(83Clearing root branch
       DATA
    ow_ds9490.c:DS9490_SetSpeed(920set flexible speed
      DEBUG
    ow_transaction.c:BUS_transaction_single(106send 0
      DEBUG
    ow_transaction.c:BUS_transaction_single(201end 0
      DEBUG
    ow_ds9490.c:DS9490_directory(658Got 16 bytes from USB search
      DEBUG
    ow_ds9490.c:DS9490_directory(686gulpAdding element 0:28 B0 97 3C 02 00 00 EA
      DEBUG
    ow_ds9490.c:DS9490_next_both(597SN found28 B0 97 3C 02 00 00 EA
      DEBUG
    ow_search.c:BUS_next(71Device found28 B0 97 3C 02 00 00 EA
      DEBUG
    ow_cache.c:Cache_Add_Device(506Adding device location 28 B0 97 3C 02 00 00 EA bus=0
      DEBUG
    ow_cache.c:Cache_Add_Common(591Add to cache sn 28 B0 97 3C 02 00 00 EA pointer=0x2ab821dc index=0 size=4
      DEBUG
    ow_cache.c:Cache_Add_Device(506Adding device location 28 B0 97 3C 02 00 00 EA bus=0
      DEBUG
    ow_cache.c:Cache_Add_Common(591Add to cache sn 28 B0 97 3C 02 00 00 EA pointer=0x2ab821dc index=0 size=4
       CALL
    ow_parsename.c:FS_ParsedName_anywhere(91path=[/uncached/bus.0/28.B0973C020000]
      
    DEBUGow_usb_cycle.c:DS9490_dir_callback(125Callback on /uncached/bus.0/28.B0973C020000
      DEBUG
    ow_parsename.c:FS_ParsedName_destroy(55) /uncached/bus.0/28.B0973C020000
      DEBUG
    ow_ds9490.c:DS9490_next_both(579Index 1
      DEBUG
    ow_select.c:BUS_select(78Selecting a path (and devicepath=/uncached/bus.0 SN=00 00 00 00 00 00 00 00 last path=00 00 00 00 00 00 00 00
      DEBUG
    ow_select.c:BUS_select(86Continuing root branch
      DEBUG
    ow_ds9490.c:DS9490_directory(658Got 16 bytes from USB search
      DEBUG
    ow_ds9490.c:DS9490_directory(686gulpAdding element 0:28 61 87 3C 02 00 00 65
      DEBUG
    ow_ds9490.c:DS9490_next_both(597SN found28 61 87 3C 02 00 00 65
      DEBUG
    ow_search.c:BUS_next(71Device found28 61 87 3C 02 00 00 65
      DEBUG
    ow_cache.c:Cache_Add_Device(506Adding device location 28 61 87 3C 02 00 00 65 bus=0
      DEBUG
    ow_cache.c:Cache_Add_Common(591Add to cache sn 28 61 87 3C 02 00 00 65 pointer=0x2ab821dc index=0 size=4
      DEBUG
    ow_cache.c:Cache_Add_Device(506Adding device location 28 61 87 3C 02 00 00 65 bus=0
      DEBUG
    ow_cache.c:Cache_Add_Common(591Add to cache sn 28 61 87 3C 02 00 00 65 pointer=0x2ab821dc index=0 size=4
       CALL
    ow_parsename.c:FS_ParsedName_anywhere(91path=[/uncached/bus.0/28.61873C020000]
      
    DEBUGow_usb_cycle.c:DS9490_dir_callback(125Callback on /uncached/bus.0/28.61873C020000
      DEBUG
    ow_parsename.c:FS_ParsedName_destroy(55) /uncached/bus.0/28.61873C020000
      DEBUG
    ow_ds9490.c:DS9490_next_both(579Index 2
      DEBUG
    ow_select.c:BUS_select(78Selecting a path (and devicepath=/uncached/bus.0 SN=00 00 00 00 00 00 00 00 last path=00 00 00 00 00 00 00 00
      DEBUG
    ow_select.c:BUS_select(86Continuing root branch
      DEBUG
    ow_ds9490.c:DS9490_directory(658Got 8 bytes from USB search
      DEBUG
    ow_ds9490.c:DS9490_directory(686gulpAdding element 0:81 F6 69 2E 00 00 00 ED
      DEBUG
    ow_ds9490.c:DS9490_next_both(597SN found81 F6 69 2E 00 00 00 ED
      DEBUG
    ow_search.c:BUS_next(71Device found81 F6 69 2E 00 00 00 ED
      DEBUG
    ow_cache.c:Cache_Add_Device(506Adding device location 81 F6 69 2E 00 00 00 ED bus=0
      DEBUG
    ow_cache.c:Cache_Add_Common(591Add to cache sn 81 F6 69 2E 00 00 00 ED pointer=0x2ab821dc index=0 size=4
      DEBUG
    ow_cache.c:Cache_Add_Device(506Adding device location 81 F6 69 2E 00 00 00 ED bus=0
      DEBUG
    ow_cache.c:Cache_Add_Common(591Add to cache sn 81 F6 69 2E 00 00 00 ED pointer=0x2ab821dc index=0 size=4
       CALL
    ow_parsename.c:FS_ParsedName_anywhere(91path=[/uncached/bus.0/81.F6692E000000]
      
    DEBUGow_usb_cycle.c:DS9490_dir_callback(125Callback on /uncached/bus.0/81.F6692E000000
      DEBUG
    ow_parsename.c:FS_ParsedName_destroy(55) /uncached/bus.0/81.F6692E000000
      DEBUG
    ow_ds9490.c:DS9490_next_both(579Index 3
      DEBUG
    ow_cache.c:Cache_Add_Dir(429Adding duirectory for 00 00 00 00 00 00 00 00 elements=3
      DEBUG
    ow_cache.c:Cache_Add_Common(591Add to cache sn 00 00 00 00 00 00 00 00 pointer=0x2ab821e0 index=0 size=24
       CALL
    ow_parsename.c:FS_ParsedName_anywhere(91path=[/uncached/bus.0/simultaneous]
      
    DEBUGow_usb_cycle.c:DS9490_dir_callback(125Callback on /uncached/bus.0/simultaneous
      DEBUG
    ow_parsename.c:FS_ParsedName_destroy(55) /uncached/bus.0/simultaneous
       CALL
    ow_parsename.c:FS_ParsedName_anywhere(91path=[/uncached/bus.0/alarm]
      
    DEBUGow_usb_cycle.c:DS9490_dir_callback(125Callback on /uncached/bus.0/alarm
      DEBUG
    ow_parsename.c:FS_ParsedName_destroy(55) /uncached/bus.0/alarm
      DEBUG
    ow_dir.c:FS_dir_both(193ret=0
      DEBUG
    ow_usb_cycle.c:DS9490_root_dir(156Finished FS_dir
      DEBUG
    ow_parsename.c:FS_ParsedName_destroy(55) /uncached/bus.0
    DEFAULT: ow_usb_cycle.c:DS9490_ID_this_master(191Set DS9490 1:2 unique id to 81 F6 69 2E 00 00 00 ED
      DEBUG
    fuse_line.c:Fuse_add(82Added FUSE option 0 OWFS
      DEBUG
    fuse_line.c:Fuse_add(82Added FUSE option 1 /tmp/var/owfs/
      
    DEBUGfuse_line.c:Fuse_add(82Added FUSE option 2 -o
      DEBUG
    fuse_line.c:Fuse_add(82Added FUSE option 3 direct_io
      DEBUG
    owfs.c:main(152fuse_mnt_opt=[(null)]
      
    DEBUGowfs.c:main(154fuse_open_opt=[(null)]
    fusedevice not found, try 'modprobe fuse' first 
    В принципе и так все работает, можно забить на fuse, так как есть сервер (owserver), к нему цепляется owhttpd и показывает картинки.

    Для того чтобы читать значения (нпример с датчиков температуры) или писать есть owread owwrite.
    Набросал скрипт который читает значения с тепературных датчиков и пишет в mysql базу...
    Code:
    mysql> select * from temperature limit 20;
    +-----------------+------------+---------------------+-------------+
    | id              | Name       | Datetimes           | Temperature |
    +-----------------+------------+---------------------+-------------+
    | 28.B0973C020000 | Left back  | 2011-02-18 16:33:01 |       44.75 |
    | 28.61873C020000 | Right back | 2011-02-18 16:33:01 |      46.375 |
    | 28.B0973C020000 | Left back  | 2011-02-18 16:35:01 |      44.875 |
    | 28.61873C020000 | Right back | 2011-02-18 16:35:01 |     46.4375 |
    | 28.B0973C020000 | Left back  | 2011-02-18 16:40:01 |     44.8125 |
    | 28.61873C020000 | Right back | 2011-02-18 16:40:01 |      46.375 |
    | 28.B0973C020000 | Left back  | 2011-02-18 16:45:01 |     44.8125 |
    | 28.61873C020000 | Right back | 2011-02-18 16:45:01 |      46.375 |
    | 28.B0973C020000 | Left back  | 2011-02-18 16:50:02 |       44.75 |
    | 28.61873C020000 | Right back | 2011-02-18 16:50:02 |      46.375 |
    | 28.B0973C020000 | Left back  | 2011-02-18 16:55:01 |     44.8125 |
    | 28.61873C020000 | Right back | 2011-02-18 16:55:01 |       46.25 |
    | 28.B0973C020000 | Left back  | 2011-02-18 17:00:01 |     44.6875 |
    | 28.61873C020000 | Right back | 2011-02-18 17:00:01 |     46.4375 |
    | 28.61873C020000 | Right back | 2011-02-18 17:05:01 |     46.1875 |
    | 28.B0973C020000 | Left back  | 2011-02-18 17:05:01 |       44.75 |
    | 28.B0973C020000 | Left back  | 2011-02-18 17:10:01 |          45 |
    | 28.61873C020000 | Right back | 2011-02-18 17:10:01 |      46.375 |
    | 28.B0973C020000 | Left back  | 2011-02-18 17:15:01 |     44.9375 |
    | 28.61873C020000 | Right back | 2011-02-18 17:15:01 |       46.25 |
    +-----------------+------------+---------------------+-------------+
    Так что вашими стараниями owfs побежден и работает.

    PS: Возможно я не так понял и надо загрузить модули от RTN? =)
    Если у вас fuse явно используется, значит у меня не какой то не тот модуль. Попробую разобраться. Как из командной строки посмотреть версию прошивки?
    Last edited by sadmin; 20-02-2011 at 08:33. Reason: install

  3. #33
    Quote Originally Posted by sadmin View Post
    UPD: Поставил, все работает и lsusb завелся.
    fuse по прежнему ругается, модули распакованы по инструкции.
    ...
    Так что вашими стараниями owfs побежден и работает.
    Значит, я для перестраховки ещё раз перепроверю билд и отправлю owfs в энтузиасткий репозиторий.
    Quote Originally Posted by sadmin View Post
    PS: Возможно я не так понял и надо загрузить модули от RTN? =)
    Возможно. Я проверял на RT-N16 и прошивке 1.9.2.7-rtn-r2486. Модули однозначно должны быть от вашей текущей прошивки. Лучше всего, с точностью до ревизии. Кроме того, я не знаю, есть ли модули FUSE в ветке 1.9.2.7-d. У меня модуль FUSE лежит здесь:
    Code:
    $ find /opt/lib/modules/ -name fuse.ko
    /opt/lib/modules/2.6.22.19/kernel/fs/fuse/fuse.ko
    Quote Originally Posted by sadmin View Post
    Если у вас fuse явно используется, значит у меня не какой то не тот модуль. Попробую разобраться. Как из командной строки посмотреть версию прошивки?
    Code:
    $ cat /.version
    Last edited by ryzhov_al; 20-02-2011 at 10:38.

  4. #34
    У меня 2174, слил именно к ней модули, распаковал, но результат прежний.

  5. #35
    Quote Originally Posted by sadmin View Post
    У меня 2174, слил именно к ней модули, распаковал, но результат прежний.
    Что выдаёт команда?
    Code:
    $ find /opt/lib/modules/ -name fuse.ko

  6. #36
    Join Date
    Nov 2006
    Location
    Russia, Moscow
    Posts
    3,640
    Quote Originally Posted by ryzhov_al View Post
    Что выдаёт команда?
    Code:
    $ find /opt/lib/modules/ -name fuse.ko
    Не гадай - глянь сам в исходниках прошивки. Для 2.4 существует(и собирается) только старая версия fuse 2.5.3. Насколько она подходит для owfs и т.п. - фиг его знает.

  7. #37
    Что у меня ядро 2.4 =).

    find /opt/lib/modules/ -name fuse.o
    /opt/lib/modules/2.4.37.10/kernel/fs/fuse/fuse.o

  8. #38

    owfs

    Уважаемые гуру!
    пытаюсь установить owfs, делаю по написанному, но fuse не устанавливаются и чтоб увидеть web-страничку не знаю какой порт прописать. По возможности, подскажите, пожалуйста.

  9. #39
    Quote Originally Posted by dirka View Post
    Уважаемые гуру!
    пытаюсь установить owfs, делаю по написанному, но fuse не устанавливаются...
    Не устанавливается пакет fuse-lib или не подгружается модуль ядра fuse.ko?
    Какая прошивка?

  10. #40

    owfs

    to ryzhov_al

    прошивка 1.9.2.7-d-r1796
    Не устанавливается пакет fuse-lib.
    прошивку точно знаю, про все остальное - я классический дилетант.
    Спасибою

  11. #41

    owfs

    to ryzhov_al
    большое спасибо за столь быстрый ответ
    ipkg install owfs говорит сексесфули терминейтит
    вывод каких команд приложить я не знаю. Еще не научился.

  12. #42
    Quote Originally Posted by dirka View Post
    ipkg install owfs говорит сексесфули терминейтит
    вывод каких команд приложить я не знаю. Еще не научился.
    В зависимостях пакета owfs указана fuse-lib. Если от ipkg получен ответ "Successfully terminated", значит пакет fuse-lib тоже успешно установлен, в чём можно убедиться по выводу команды
    Code:
    $ ipkg list_installed | grep fuse-lib
    Видимо, проблема та же, что и у тов.sadmin с прошивкой на основе ядра 2.4.х (ветка 1.9.2.7-d), цитирую:
    What version of FUSE do I need to use FUSE with Linux 2.4?
    FUSE 2.5.3 (supports 2.4.21 or later); later versions include a kernel module compatible with Linux 2.6 only (Linux 2.6.9 or later, as of FUSE 2.6.1).
    Поэтому:
    • или переходите на прошивку ветки rtn, если это возможно,
    • или используйте owfs без FUSE, как тов.sadmin.
    Last edited by ryzhov_al; 28-02-2011 at 16:23.

  13. #43

    owfs

    to ryzhov_al

    прошу прощения за задержку, еще раз все проверил и вот что получил

    ipkg install owfs
    Installing owfs (2.8p6-2-oleg) to root...
    Downloading http://wl500g.googlecode.com/svn/ipkg/optware-d/owfs_2.8p6-2-oleg_mipsel.ipk[/url]
    file_move: ERROR: failed to rename //opt/lib/ipkg/status.tmp to //opt/lib/ipkg/status: No such file or directory
    file_move: ERROR: failed to rename //opt/lib/ipkg/status.tmp to //opt/lib/ipkg/status: No
    such file or directory Successfully terminated.

    файл status при этом не изменяется, хотя при попытке запустить owfs, он запускается, но просит ввести ключ "help".
    А вот команда
    ipkg list_installed | grep fuse-lib
    вообще ни какого отклика нет. Дальнейшие действия мне не понятны.

    тов.sadmin
    поделитесь пожалуйста опытом как у вас получилось запустить owfs

  14. #44

    digitemp

    Уважаемый NIVLAD!
    Не могли бы Вы помочь мне прикрутить digitemp, так чтобы он рисовал графики в rrd.
    Рассматриваются оба вида подключения через USB и через RS232. У меня DIR-320.
    Спасибо!

  15. #45
    Quote Originally Posted by dirka View Post
    ...еще раз все проверил и вот что получил

    ipkg install owfs
    Installing owfs (2.8p6-2-oleg) to root...
    Downloading http://wl500g.googlecode.com/svn/ipkg/optware-d/owfs_2.8p6-2-oleg_mipsel.ipk[/url]
    file_move: ERROR: failed to rename //opt/lib/ipkg/status.tmp to //opt/lib/ipkg/status: No such file or directory
    file_move: ERROR: failed to rename //opt/lib/ipkg/status.tmp to //opt/lib/ipkg/status: No
    such file or directory Successfully terminated.
    Странно. Могу предположить два варианта:
    • или файловая система /opt доступна только на чтение.
    • или есть ошибка в конфигурации ipkg (см. /opt/etc/ipkg.conf).

Page 3 of 9 FirstFirst 12345 ... LastLast

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •