Raspberry Pi 2 Serial Gateway [Solved]


  • Mod

    Hi.

    I have the Raspberry Pi Serial Gateway up and running on my Raspberry Pi Model B Revision 1.0. I can see incoming messaged when I do cat /dev/ttyMySensorsGateway.

    I am trying to switch to my Raspberry Pi 2, but I am unable to compile Raspberry/librf24-bcm. When running make, the following error is shown:

    pi@raspi2 ~/Raspberry/librf24-bcm $ make
    gcc  -Wall -fPIC -Ofast -mfpu=vfp -mfloat-abi=hard -mtune=arm1176jzf-s -march=armv7-a -D BCM2835_PERI_BASE=0x -c bcm2835.c
    bcm2835.c: In function ‘bcm2835_init’:
    bcm2835.c:1207:28: error: invalid suffix "x" on integer constant
    bcm2835.c:1208:28: error: invalid suffix "x" on integer constant
    bcm2835.c:1209:28: error: invalid suffix "x" on integer constant
    bcm2835.c:1210:28: error: invalid suffix "x" on integer constant
    bcm2835.c:1211:28: error: invalid suffix "x" on integer constant
    bcm2835.c:1212:28: error: invalid suffix "x" on integer constant
    bcm2835.c:1213:28: error: invalid suffix "x" on integer constant
    bcm2835.c:1214:28: error: invalid suffix "x" on integer constant
    bcm2835.c:1228:83: error: invalid suffix "x" on integer constant
    bcm2835.c:1232:81: error: invalid suffix "x" on integer constant
    bcm2835.c:1236:81: error: invalid suffix "x" on integer constant
    bcm2835.c:1239:83: error: invalid suffix "x" on integer constant
    bcm2835.c:1242:83: error: invalid suffix "x" on integer constant
    bcm2835.c:1246:83: error: invalid suffix "x" on integer constant
    bcm2835.c:1249:83: error: invalid suffix "x" on integer constant
    bcm2835.c:1253:79: error: invalid suffix "x" on integer constant
    Makefile:52: recipe for target 'bcm2835.o' failed
    make: *** [bcm2835.o] Error 1
    

    The reason is that bcm2708_vcio is not present in /proc/iomem:

    00000000-3dffffff : System RAM
      00008000-00774c6b : Kernel code
      007de000-0092378b : Kernel data
    3f006000-3f006fff : dwc_otg
    3f007000-3f007eff : /soc/dma@7e007000
    3f00b840-3f00b84e : /soc/vchiq
    3f00b880-3f00b8bf : /soc/mailbox@7e00b800
    3f200000-3f2000b3 : /soc/gpio@7e200000
    3f201000-3f201fff : /soc/uart@7e201000
      3f201000-3f201fff : uart-pl011
    3f204000-3f204fff : /soc/spi@7e204000
    3f300000-3f3000ff : /soc/mmc@7e300000
    3f980000-3f98ffff : dwc_otg
    

    This is the output from lsmod:

    Module                  Size  Used by
    cfg80211              420690  0
    rfkill                 16659  1 cfg80211
    snd_bcm2835            19769  0
    snd_pcm                74825  1 snd_bcm2835
    snd_seq                53561  0
    snd_seq_device          3650  1 snd_seq
    snd_timer              18157  2 snd_pcm,snd_seq
    snd                    52116  5 snd_bcm2835,snd_timer,snd_pcm,snd_seq,snd_seq_device
    spi_bcm2835             7100  0
    i2c_bcm2708             5014  0
    uio_pdrv_genirq         2966  0
    uio                     8235  1 uio_pdrv_genirq
    

    I tried setting IOBASE to 3f204000 by editing the Makefile. That enabled the compilation to go through, but the gateway does not work. (Maybe because the IOBASE is wrong, or because I don't have the right modules loaded?)

    /etc/init.d/PiGatewaySerial start
    

    starts the gateway. No error messages are shown on the terminal.

    /var/log/PiGatewaySerial.log contents:

    Sep  6 18:42:21 raspi2 PiGatewaySerial: Starting PiGatewaySerial...
    Sep  6 18:42:21 raspi2 PiGatewaySerial: Protocol version - 1.4
    Sep  6 18:42:21 raspi2 PiGatewaySerial: Created PTY '/dev/pts/2'
    Sep  6 18:42:21 raspi2 PiGatewaySerial: Gateway tty: /dev/ttyMySensorsGateway
    

    ls -la /dev/ttyMySensorsGateway

    lrwxrwxrwx 1 root root         10 Sep  6 18:17 /dev/ttyMySensorsGateway -> /dev/pts/2
    
    root@raspi2:~# ls -al /dev/pts*
    total 0
    drwxr-xr-x  2 root root      0 Jan  1  1970 .
    drwxr-xr-x 12 root root   3240 Sep  6 18:41 ..
    crw--w----  1 pi   tty  136, 0 Sep  6 18:18 0
    crw-------  1 pi   tty  136, 1 Sep  6  2015 1
    c---------  1 root root   5, 2 Jan  1  1970 ptmx
    

    Does anyone have any ideas on what could be wrong or how I could troubleshoot this?


  • Mod

    Solved the problem. I installed http://tmrh20.github.io/RF24Installer/RPi/install.sh instead of the librf24-bcm library included in Raspberry. Re-compiled the serial gateway and installed it and it works perfectly now.


  • Admin

    There is an issue on this.

    mysensors/Raspberry#16

    Maybe someone could create a PR with a working radio driver.


  • Mod

    I had to switch back to librf24-bcm, see this thread. Not sure why, but I got no errors when compiling.


Log in to reply
 

Looks like your connection to MySensors Forum was lost, please wait while we try to reconnect.