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
 

415
Online

6.9k
Users

7.8k
Topics

82.8k
Posts

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