Hi!

I'm sorry for bothering but I'm starting pulling my hair on this problem I have... I tried to search the mailing lists and elsewhere but I'm unable to find any relevant information...

The goal is to make owfs work with the kernel w1-gpio-master driver.

I'm trying to setup the owfs on an embedded board - really a "router" - netgear wgt634u - a mips (LE) based machine using the kernel w1-gpio master driver and a spare gpio pin. The software (os) used is OpenWrt trunk r23070 (build from scratch) with kernel 2.6.34.5.

Linux WGT634U 2.6.34.5 #1 Wed Oct 13 16:10:34 CEST 2010 mips GNU/Linux

The W1 subsystem is actually working good.
After loading all the required modules:
fuse                   49168  0
w1_gpio                  752  0
w1_gpio_custom           864  0
wire                   17584  1 w1_gpio
cn                      4336  1 wire
nfnetlink               1712  0

Netfilter messages via NETLINK v0.30.
Driver for 1-wire Dallas network protocol.
Custom GPIO-based W1 driver version 0.1.1
w1_master_driver w1 bus master: Family 10 for 10.00080198f8e6.d8 is not registered.

I can see the w1 bus and the attached DS18S20 slave:

r...@wgt634u:~# ls /sys/bus/w1/
devices drivers drivers_autoprobe drivers_probe uevent

r...@wgt634u:~# ls /sys/bus/w1/devices/
10-00080198f8e6  w1 bus master

If I also load the kernel w1-thermal driver I can see the w1 system is actually working as expected. I can read the temperature from the sensor:

r...@wgt634u:~# ls /sys/bus/w1/devices/10-00080198f8e6/
driver     id         name       subsystem  uevent     w1_slave

r...@wgt634u:~# cat /sys/bus/w1/devices/10-00080198f8e6/w1_slave
30 00 4b 46 ff ff 09 10 12 : crc=12 YES
30 00 4b 46 ff ff 09 10 12 t=24187

Other than for testing the kernel w1-slave-thermal driver *is not loaded*, just the w1-gpio master driver is.

I'm using the latest owfs sources:
r...@wgt634u:~# owfs -V
owfs version:
        2.8p2
libow version:
        2.8p2

So, to the problem!
I'm unable to make owfs/owserver/owhttps to "work/talk" with the w1 kernel driver. After starting the owfs/owserver it "hungs" for some reason. Here is the debug output:

r...@wgt634u:~# owserver --w1 --debug -p 4000
   CALL: ow_parsename.c:FS_ParsedName_anywhere(90) path=[]
DEBUG: owlib.c:SetupTemperatureLimits(79) Globals temp limits 0C 100C (for simulated adapters)
  DEBUG: owserver.c:main(152) main_threadid = 715849728
DEBUG: ow_w1_list.c:w1_list_masters(54) Sending w1 bus master list message
  DEBUG: ow_w1_send.c:W1_send_msg(119) Netlink send -----------------
NLMSGHDR: len=48 type=3 (NLMSG_DONE) flags=0 seq=0|1 pid=880
CN_MSG: idx/val=3/1 (CN_W1_IDX) seq=0|1 ack=1 len=12 flags=0
W1_NETLINK_MSG: type=6 (W1_LIST_MASTERS) len=0 id=0
Byte buffer Data, length=0
<>
  DEBUG: ow_w1_dispatch.c:W1_Dispatch(125) Dispatch loop
  DEBUG: ow_w1_parse.c:Netlink_Parse_Get(114) Wait to peek at message
DEBUG: ow_w1_parse.c:Netlink_Parse_Get(122) Pre-parse header: 16 bytes len=52 type=3 seq=0|1 pid=0 DEBUG: ow_w1_parse.c:Netlink_Parse_Get(144) Netlink read -----------------
NLMSGHDR: len=52 type=3 (NLMSG_DONE) flags=0 seq=0|1 pid=0
CN_MSG: idx/val=3/1 (CN_W1_IDX) seq=0|1 ack=0 len=16 flags=0
W1_NETLINK_MSG: type=6 (W1_LIST_MASTERS) len=4 id=65544
Byte buffer Data, length=4
--000: 01 00 00CONNECT: ow_zero.c:ZeroConf_Announce(144) Zeroconf and/or Multithreading are not enabled
 00
<....>
DEBUG: ow_w1_dispatch.c:Dispatch_Packet(92) Sending this packet to root bus
  DEBUG: ow_w1_dispatch.c:W1_Dispatch(125) Dispatch loop
  DEBUG: ow_w1_parse.c:Netlink_Parse_Get(114) Wait to peek at message
  DEBUG: ow_w1_list.c:w1_parse_master_list(64) W1 List 1 masters
DEBUG: ow_w1_parse.c:Netlink_Parse_Get(122) Pre-parse header: 16 bytes len=48 type=3 seq=0|1 pid=0

It seems to me the owfs is somehow having problems communicating with the kernel w1 driver.
I have no more ideas on what to try/what to check.
Well, I'm really new to the owfs stuff but otherwise I have quite some experience with OpenWrt, kernel modules/programming, 1-wire etc. I took me some tries to figure out the OpenWrt W1 modules makefiles are "broken" for proper support of the w1 kernel driver... it's missing the "connector" suport by default. I tried to compile the kernel & w1 modules "by hand" and to set all the required options but the results were the same - no fun.

I did not have time to test this identical setup on another platforms (mipe BE (atheros) boards, ixp425 boards, sheevaplugs). Also, I have not tried some i2c/usb/serial w1-masters as I not have them handy right now (basicaly just to test owfs is working) - but I really need it to work with the kernel w1-gpio driver...

As far as I checked, owfs should work with the w1-gpio as I found quite a lot of information about that, well, reference to other problems but the "core" owfs <--> kernel-w1-gpio seems to be working/supported.

Any suggestion/information would be more than welcome.

Best regards,
M.Culibrk

------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
Owfs-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/owfs-developers

Reply via email to