Page 1 of 1

DS2482-800 not working

Posted: Thu Jul 24, 2014 9:09 pm
by NemoN
Hello all,

i assembled an DS2482-800 (8 channel 1-wire i2c busmaster) on the Adafruit Prototyping Pi Plate Kit (http://www.adafruit.com/products/801) - i only connect 3.3V, GND, SDA, SCL directly with the DS2482.
AD0,AD1,AD2 with GND (http://datasheets.maximintegrated.com/e ... 82-800.pdf).

Software config:

Commentet out the blacklisting (because bcm2708 uses the GPIO pins):

Code: Select all

root@PiDoor:~# cat /etc/modprobe.d/raspi-blacklist.conf
# blacklist spi and i2c by default (many users don't need them)

#blacklist spi-bcm2708
#blacklist i2c-bcm2708
Many modules loaded, maybe i must blacklist some to make the DS2482-800 work?

Code: Select all

root@PiDoor:~# lsmod
Module                  Size  Used by
i2c_dev                 5277  0
snd_bcm2835            18169  0
snd_soc_pcm512x         8909  0
snd_soc_wm8804          7833  0
snd_soc_bcm2708_i2s     5486  0
regmap_mmio             2818  1 snd_soc_bcm2708_i2s
snd_soc_core          128166  3 snd_soc_pcm512x,snd_soc_wm8804,snd_soc_bcm2708_i2s
regmap_spi              1913  3 snd_soc_pcm512x,snd_soc_wm8804,snd_soc_core
snd_pcm_dmaengine       5481  1 snd_soc_core
snd_pcm                81518  3 snd_bcm2835,snd_soc_core,snd_pcm_dmaengine
snd_page_alloc          5168  1 snd_pcm
regmap_i2c              1657  3 snd_soc_pcm512x,snd_soc_wm8804,snd_soc_core
snd_compress            8136  1 snd_soc_core
snd_seq                54581  0
snd_timer              20353  2 snd_pcm,snd_seq
snd_seq_device          6485  1 snd_seq
leds_gpio               2055  0
led_class               4119  1 leds_gpio
snd                    61518  7 snd_bcm2835,snd_soc_core,snd_timer,snd_pcm,snd_seq,snd_seq_device,snd_compress
spi_bcm2708             4808  0
i2c_bcm2708             4719  0
Should the DS2482-800 not visible in the DMESG log?

Code: Select all

root@PiDoor:~# dmesg | grep i2c
[    5.317391] bcm2708_i2c_init_pinmode(0,0)
[    5.508709] bcm2708_i2c_init_pinmode(0,1)
[    5.515670] bcm2708_i2c bcm2708_i2c.0: BSC0 Controller at 0x20205000 (irq 79) (baudrate 100000)
[    5.971077] bcm2708_i2c_init_pinmode(1,2)
[    5.977836] bcm2708_i2c_init_pinmode(1,3)
[    6.079191] bcm2708_i2c bcm2708_i2c.1: BSC1 Controller at 0x20804000 (irq 79) (baudrate 100000)
[   12.763614] i2c /dev entries driver
Seems to be correct, internal and "external" i2c bus:

Code: Select all

root@PiDoor:~# i2cdetect -l
i2c-0	i2c       	bcm2708_i2c.0                   	I2C adapter
i2c-1	i2c       	bcm2708_i2c.1                   	I2C adapter
Pi Hardware Version 2 - i2c-1 is the external bus:

Code: Select all

root@PiDoor:~# i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- 18 -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Latest kernel (updated with apt-get dist-upgrade):

Code: Select all

root@PiDoor:~# uname -a
Linux PiDoor 3.12.22+ #691 PREEMPT Wed Jun 18 18:29:58 BST 2014 armv6l GNU/Linux
Buildin owfs:

Code: Select all

root@PiDoor:~# owserver --version
owserver version:
	2.8p15
libow version:
	2.8p15

root@PiDoor:~# owserver --i2c=/dev/i2c-1 -p 4304 --error_level=9 --foreground
Segmentation fault
latest one - self compiled:

Code: Select all

root@PiDoor:~# /opt/owfs/bin/owserver --i2c=/dev/i2c-1 -p 4304 --error_level=9 --foreground
  DEBUG: ow_daemon.c:(166) main thread id = 3069968912
  DEBUG: ow_avahi_link.c:(71) Avahi support: libavahi-client loaded successfully
  DEBUG: ow_avahi_link.c:(73) Avahi library function found: avahi_client_errno
  DEBUG: ow_avahi_link.c:(74) Avahi library function found: avahi_client_free
  DEBUG: ow_avahi_link.c:(75) Avahi library function found: avahi_client_new
  DEBUG: ow_avahi_link.c:(76) Avahi library function found: avahi_client_get_domain_name
  DEBUG: ow_avahi_link.c:(77) Avahi library function found: avahi_entry_group_add_service
  DEBUG: ow_avahi_link.c:(78) Avahi library function found: avahi_entry_group_commit
  DEBUG: ow_avahi_link.c:(79) Avahi library function found: avahi_entry_group_is_empty
  DEBUG: ow_avahi_link.c:(80) Avahi library function found: avahi_entry_group_new
  DEBUG: ow_avahi_link.c:(81) Avahi library function found: avahi_entry_group_reset
  DEBUG: ow_avahi_link.c:(83) Avahi library function found: avahi_service_resolver_free
  DEBUG: ow_avahi_link.c:(84) Avahi library function found: avahi_service_resolver_new
  DEBUG: ow_avahi_link.c:(85) Avahi library function found: avahi_service_browser_free
  DEBUG: ow_avahi_link.c:(86) Avahi library function found: avahi_service_browser_new
  DEBUG: ow_avahi_link.c:(98) Avahi support: libavahi-common loaded successfully.
  DEBUG: ow_avahi_link.c:(100) Avahi library function found: avahi_simple_poll_free
  DEBUG: ow_avahi_link.c:(101) Avahi library function found: avahi_simple_poll_get
  DEBUG: ow_avahi_link.c:(102) Avahi library function found: avahi_simple_poll_loop
  DEBUG: ow_avahi_link.c:(103) Avahi library function found: avahi_simple_poll_new
  DEBUG: ow_avahi_link.c:(104) Avahi library function found: avahi_simple_poll_quit
  DEBUG: ow_avahi_link.c:(105) Avahi library function found: avahi_strerror
   CALL: ow_parsename.c:(102) path=[]
  DEBUG: owlib.c:(81) Globals temp limits 0C 100C (for simulated adapters)
CONNECT: ow_ds2482.c:(396) Found an i2c device at /dev/i2c-1 address 18
  DEBUG: ow_ds2482.c:(514) ok
CONNECT: ow_ds2482.c:(425) i2c device at /dev/i2c-1 address 18 appears to be DS2482-x00
CONNECT: ow_ds2482.c:(701) DS2482-800 (Eight channels)
Segmentation fault
i'm unable to get the DS2482-800 running :cry:
how i can check the hardware for correct function?
maybe something is wrong with owfs...

Bests
NemoN

Re: DS2482-800 not working

Posted: Mon Jul 28, 2014 10:02 am
by NemoN
In the meanwhile i got the DS2482-800 running:
If the Avahi Daemon is not running or not installed the

Code: Select all

/opt/owfs/bin/owserver --i2c=/dev/i2c-1 -p 4304 --error_level=9 --foreground
gives a Segmentation fault. In this case i was able to start the owserver with:

Code: Select all

/opt/owfs/bin/owserver --i2c=/dev/i2c-1 -p 4304 --error_level=9 --foreground --nozero
without Crash. Now it is working fine!

Re: DS2482-800 not working

Posted: Thu Jul 31, 2014 12:49 pm
by Raspberry Paul
I used the instructions here (and bought one from them)
http://www.sheepwalkelectronics.co.uk/RPI2_software.php

Worked a treat.

Was getting loads of errors reading multiple DS18B20 sensors so was able to dedicate one channel to each sensor.