Hi again!
After some more frustration I recompiled the kernel and all modules with dynamic debugging enabled (dynamic_printk) and after re-flashing the board enabled all debug messages for wire.ko kernel module (w1-master kernel module).
After starting owserver/owfs... I thought the wire would give some "debug messages" of netlink messages passwd from the user-space (I checked the source code of the wire module and saw some points where the debug message should be printed if anything get to the module) and...
*nothing!* the kernel module receives absolutely no messages from user-space...
Could, please, someone which knows some "internals" on owfs/netlink/kernel w1 point me to the "right direction"?
Is it possible the owfs/kernel-w1 code is "endian sensitive"? I'm currently using the code on a little endian board... (still had no time to test on another board)
Any hint would be really appreciated.Anyone could tell me if there are any other "special requirements" - any libraries, kernel modules, settings... regarding owfs/kernel-w1 interaction?
Best regards, m.culibrk On 10/14/2010 11:20 AM, Gregg Levine wrote:
On Thu, Oct 14, 2010 at 4:05 AM, Mauricio Culibrk<[email protected]> wrote: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 ------------------------------------------------------------------------------Hello! Actually you're heading the right direction completly. Why not post someplace your build steps. Such as how you created that run of "OpenWrt trunk r23070", and then the methods to compile it. Finally how you installed onto your router. Also was the router properly reinitialized after the whole steps. Also did you test the One-Wire hardware elsewhere first? Then on the router, and finally back again. List what happened when you tried to use the One-Wire hardware to sense room temperature via your Linux system. Also list what distribution you used for that. And no you did not bother us. ----- Gregg C Levine [email protected] "This signature fought the Time Wars, time and again." ------------------------------------------------------------------------------ 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
------------------------------------------------------------------------------ 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
