I have installed owfs (under debian) just to realise the initial setup (1wire) works only through the USB port. owfs is short for One Wire File System. It's a standard for low end sensors, but I'm specifically trying to connect a DS18B20 through the GPIOs.

Can I make the 1-wire function work through the GPIOs? And if so, how do I do that?

At first I didn't understand that owfs often wants a "bus master IC" which it can use to communicate with the 1-wire sensors. I thought I easy could change the settings to use the GPIO's without a bus master.

  • without a bus master..
    – Christian
    Sep 10, 2012 at 9:07
  • 3
    Hi Christian, to get an answer to this, I think you're going to need to expand the question a bit to explain what owfs actually is. Any references of it working on a RPi? Sep 10, 2012 at 9:51
  • 1
    owfs is short for One Wire File System. And it's a standard for low end sensors - more info at owfs.org Sep 10, 2012 at 12:25
  • 1
    I altered your title based on these comments. Let me know if that's not okay.
    – Jivings
    Sep 10, 2012 at 16:44
  • 1
    Thanks for your question Christian and thanks for updating it with a little more information. I have tidied it up a bit and added in some other info from comments.
    – Mark Booth
    Sep 11, 2012 at 13:07

2 Answers 2


I did some investigation into this matter and came up with the following results:

  • The w1 kernel module and OWFS are not compatible at this moment,
  • Like you probably know, OWFS works with many hardware devices (1wire bridges from USB/I2C/Serial/TCP, etc) which outperform any bit banging solution,
  • In the source code of OWFS (specially the owlib part) there is a whole rewrite of this w1 kernel module (based on the code from Evgeniy Polyakov, the w1 kernel module author), there is also an information page about this. But it looks like under construction/in development: OWFS w1 info. They also state that this module is accessed through a netlink connection (Busmaster table), and reports itself to OWFS using avahi. (check the source files in the owlib/src/c directory starting with ow_w1_*)
  • The --w1 commandline parameter is used for many of the tools to tell the process to use the w1 kernel module, how you actually map GPIO pins to be used for the 1wire communication, I have no idea at this moment.
  • Last but not least, on the OWFS Todo list there are entries for adding GPIO and the 'normal' w1 kernel module as you can see here: OWFS Todo

I do not have any 1wire stuff laying around to actually test if this 'rewrite' as mentioned in point 3 works. And specially how it should work, but on the info page they talk about disabling the w1 kernel module or run OWFS as root so it can unload the w1 kernel module, but if this is already implemented and working I have no idea.

I hope this information gets you a little further, and please let us know some results.

  • I wrote about half of that in another answer after seeing tanzilli.com/1wire and looking around, then noticed I basically found the same things as this here :)
    – XTL
    Sep 28, 2012 at 11:45

You might want to look at this question. The occidentalis distro has 1-wire support on GPIO pins.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.