Sonarview Docker Image Raspberry Pi

I’ve been trying to configure my new Omniscan 450SS with limited success. My desired setup is to have SonarView running as a docker image on a raspberry Pi4 as part of 192.168.0.1 subnet.

Per the diagram I have only been able to get it to work with the laptop and 450 connected on subnet 192.169.2.1. When I switch to subnet 192.168.0.1 the device discovery works but it will not connect. I tried setting the device IP using the dropdown but nothing happens. Help!

I’ve also encountered problems running the container on the raspberry Pi 4 (Buster). See command output and logs.

Appreciate some direction.

DOCKER STUFF

pi@pi1:~ $ sudo docker run -d -v /usr/blueos/userdata/SonarView:/userdata --net=host --name=sonarview --restart=unless-stopped nicknothom/sonarview:latest
c02546e51ab4df218185de8ff3e2af4dfb5c24a7e10e8c4cd470aa2f91d2f6aa

pi@pi1:~ $ docker ps
CONTAINER ID   IMAGE                         COMMAND       CREATED              STATUS                            PORTS     NAMES
c02546e51ab4   nicknothom/sonarview:latest   "sonarlink"   About a minute ago   Restarting (133) 34 seconds ago             sonarview

pi@pi1:~ $ docker ps
CONTAINER ID   IMAGE                         COMMAND       CREATED          STATUS                           PORTS     NAMES
c02546e51ab4   nicknothom/sonarview:latest   "sonarlink"   19 minutes ago   Restarting (133) 5 seconds ago             sonarview



pi@pi1:~ $ docker container logs sonarview

#
# Fatal error in , line 0
# unreachable code
#
#
#
#FailureMessage Object: 0xbecbf4ac

#
# Fatal error in , line 0
# unreachable code
#
#
#
#FailureMessage Object: 0xbef944ac

#
# Fatal error in , line 0
# unreachable code
#
#
#
#FailureMessage Object: 0xbec8c4ac



pi@pi1:~ $ docker image inspect nicknothom/sonarview
[
    {
        "Id": "sha256:6cbe197b927478b4d0d763f1f3732a010fba8b616ea95a53c66b7a7c94d4fc52",
        "RepoTags": [
            "nicknothom/sonarview:latest"
        ],
        "RepoDigests": [
            "nicknothom/sonarview@sha256:adc7d31f307732380c3e133904c2a0348977eccabe42b4285a4be58131fdbabf"
        ],
        "Parent": "",
        "Comment": "buildkit.dockerfile.v0",
        "Created": "2023-06-14T19:34:55.551964471Z",
        "Container": "",
        "ContainerConfig": {
            "Hostname": "",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": null,
            "Cmd": null,
            "Image": "",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": null
        },
        "DockerVersion": "",
        "Author": "",
        "Config": {
            "Hostname": "",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "7077/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "NODE_ENV=production"
            ],
            "Cmd": [
                "sonarlink"
            ],
            "ArgsEscaped": true,
            "Image": "",
            "Volumes": null,
            "WorkingDir": "/srv/sonarlink",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {
                "authors": "[{\"name\":\"Nick Nothom\",\"email\":\"nick.nothom@ceruleansonar.com\"}]",
                "company": "{\"about\":\"Cerulean Sonar: Advanced Technology. Sensibly Priced.\",\"name\":\"Cerulean Sonar\",\"email\":\"dennys.bisogno@ceruleansonar.com\"}",
                "permissions": "{\"HostConfig\":{\"NetworkMode\":\"host\",\"Binds\":[\"/usr/blueos/userdata/SonarView:/userdata\"]}}",
                "readme": "https://raw.githubusercontent.com/CeruleanSonar/SonarView/master/README.md",
                "support": "https://forum.ceruleansonar.com/categories",
                "type": "device-integration",
                "version": "1.8.9",
                "website": "https://ceruleansonar.com"
            }
        },
        "Architecture": "arm",
        "Variant": "v7",
        "Os": "linux",
        "Size": 89131359,
        "VirtualSize": 89131359,
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/7d090f4361ae375c84faacaaf2d443d4b39c7d07c80293f0506427670153775e/diff:/var/lib/docker/overlay2/812be809f7cde109fb3aa793ff2fd342adf076213452aeddb414adcca8133564/diff:/var/lib/docker/overlay2/8aa1b78bc813a189ac8e51d5ff767bc3edfac4fca0099203cbc7141070511349/diff:/var/lib/docker/overlay2/239c956d8bc974907632b6e5ebdf334c85ed884692caedb417e2525163d14098/diff",
                "MergedDir": "/var/lib/docker/overlay2/16ffd5575e8f63f99ec0f1f15bcbbbfcfd24a2e2f36f5777e6081a5ad10f20bb/merged",
                "UpperDir": "/var/lib/docker/overlay2/16ffd5575e8f63f99ec0f1f15bcbbbfcfd24a2e2f36f5777e6081a5ad10f20bb/diff",
                "WorkDir": "/var/lib/docker/overlay2/16ffd5575e8f63f99ec0f1f15bcbbbfcfd24a2e2f36f5777e6081a5ad10f20bb/work"
            },
            "Name": "overlay2"
        },
        "RootFS": {
            "Type": "layers",
            "Layers": [
                "sha256:f27c3a1f7c021429c2b216744e469df0a14865671a3b3ab34f98da537fc357b8",
                "sha256:c4b8892bb30cc9a71604fd89d9838cb7abcee73cd57dc5d5a6ed9233728c2e30",
                "sha256:e2330e2ce09fe30b678fa5918d2fde5637acc8d66d6201bb2860a213a67c1a36",
                "sha256:e7c6500769dd6d69362ffd3cebacc4f63d5f8748f89f6063fdb15ddfb0f80ee4",
                "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef"
            ]
        },
        "Metadata": {
            "LastTagTime": "0001-01-01T00:00:00Z"
        }
    }
]

Argg. I know the problem with the 192.168.0.x subnet - it’s a bug in the Omniscan f/w we found and fixed last week. We can get you a version of SonarView with the new f/w.

I can’t help with the Docker stuff but expect a response tomorrow.

1 Like

Thanks Larry! I was definitely struggling with the subnet issue. I will await further direction.

I made a new build of SonarView for you. Here are some links:

For the docker issue, could you provide me the output of the following commands?

  • docker -v
  • uname -a
  • dpkg --list | grep libseccomp

The solution described here looks similar to your issue. You can go ahead and try those steps if you want, but I want to verify some info about your system before I tell you to run any commands.

Nick
Thanks. I tried the new SonarView Windows build but get the same result i.e. on subnet 192.168.2.1 it discovers and connects but on 192.168.0.1 I get discovery but no connection. I tried setting a static IP (192.168.0.92) in the router for the 450 MAC address but that had no impact.

Re the docker issue I have not yet tried the solution you referenced but here is the info you requested:

pi@pi1:~ $ dpkg --list | grep libseccomp
ii  libseccomp2:armhf                      2.3.3-4                                 armhf        high level interface to Linux seccomp filter
pi@pi1:~ $ uname -a
Linux pi1 5.10.103-v7l+ #1529 SMP Tue Mar 8 12:24:00 GMT 2022 armv7l GNU/Linux
pi@pi1:~ $ docker -v
Docker version 23.0.1, build a5ee5b1
pi@pi1:~ $ docker container ls
CONTAINER ID   IMAGE                         COMMAND       CREATED        STATUS                            PORTS     NAMES
c02546e51ab4   nicknothom/sonarview:latest   "sonarlink"   42 hours ago   Restarting (133) 25 seconds ago             sonarview
pi@pi1:~ $ 


To be clear, with the new SonarView, you must connect to the Omniscan, then update the f/w. After that you should be able to set the 192.168.0.x ip address and then it should connect.

Thank for that.
Well I have made some solid progress. With the upgraded firmware the app can now communicate on subnet 192.168.0.1.
As for the docker issue I followed this direction solution described here to update libseccomp with a slight adjustment to correct the signing keys. I can now run the docker container:

pi@pi1:~ $ docker container ls
CONTAINER ID   IMAGE                         COMMAND       CREATED      STATUS        PORTS     NAMES
c02546e51ab4   nicknothom/sonarview:latest   "sonarlink"   2 days ago   Up 12 hours             sonarview



I can also view sonarview in the browser on port 7077 but it will not discover/connect. Might I need an update docker image given that we had to update the app?

Go into SonarView’s app settings and set the “SonarLink IP” to 192.168.0.102.

I’ve tried that I’m afraid… The 450 appears to have an IP of 192.168.0.92 so that’s what I entered for the Vehicle ip.

pi@pi1:~ $ docker exec -it sonarview ping google.com
PING google.com (142.251.41.46): 56 data bytes
64 bytes from 142.251.41.46: seq=0 ttl=116 time=7.848 ms
64 bytes from 142.251.41.46: seq=1 ttl=116 time=7.331 ms
64 bytes from 142.251.41.46: seq=2 ttl=116 time=8.735 ms
64 bytes from 142.251.41.46: seq=3 ttl=116 time=8.403 ms
64 bytes from 142.251.41.46: seq=4 ttl=116 time=10.208 ms
64 bytes from 142.251.41.46: seq=5 ttl=116 time=8.257 ms
64 bytes from 142.251.41.46: seq=6 ttl=116 time=8.810 ms
64 bytes from 142.251.41.46: seq=7 ttl=116 time=7.471 ms
64 bytes from 142.251.41.46: seq=8 ttl=116 time=7.968 ms
64 bytes from 142.251.41.46: seq=9 ttl=116 time=8.021 ms
^C
--- google.com ping statistics ---
10 packets transmitted, 10 packets received, 0% packet loss
round-trip min/avg/max = 7.331/8.305/10.208 ms
pi@pi1:~ $ docker exec -it sonarview ping 192.168.0.92
PING 192.168.0.92 (192.168.0.92): 56 data bytes
64 bytes from 192.168.0.92: seq=0 ttl=32 time=0.355 ms
64 bytes from 192.168.0.92: seq=1 ttl=32 time=0.307 ms
64 bytes from 192.168.0.92: seq=2 ttl=32 time=0.334 ms
64 bytes from 192.168.0.92: seq=3 ttl=32 time=0.305 ms
64 bytes from 192.168.0.92: seq=4 ttl=32 time=0.353 ms
64 bytes from 192.168.0.92: seq=5 ttl=32 time=0.292 ms
64 bytes from 192.168.0.92: seq=6 ttl=32 time=0.341 ms
64 bytes from 192.168.0.92: seq=7 ttl=32 time=0.396 ms
64 bytes from 192.168.0.92: seq=8 ttl=32 time=0.333 ms
^C
--- 192.168.0.92 ping statistics ---
9 packets transmitted, 9 packets received, 0% packet loss
round-trip min/avg/max = 0.292/0.335/0.396 ms

Okay I pushed a new docker build (nicknothom/sonarview:1.9.4-beta).
Do you know how to update to the new image?

not yet :slight_smile:
I can probably figure it out

docker ps

Get the container ID. In your case it looks like it’s c02546e51ab4

then docker kill c02546e51ab4 to stop the container and docker rm c02546e51ab4 to remove the container.

To get the new image and make a new container

sudo docker run -d -v /usr/blueos/userdata/SonarView:/userdata --net=host --name=sonarview --restart=unless-stopped nicknothom/sonarview:1.9.4-beta
1 Like

guess I need the beta you indicated - will try that instead -

pi@pi1:~ $ docker stop sonarview
sonarview
pi@pi1:~ $ docker rm sonarview
sonarview
pi@pi1:~ $ sudo docker run -d -v /usr/blueos/userdata/SonarView:/userdata --net=host --name=sonarview --restart=unless-stopped nicknothom/sonarview:1.9.4-beta
Unable to find image 'nicknothom/sonarview:1.9.4-beta' locally
1.9.4-beta: Pulling from nicknothom/sonarview
622a0779436e: Pull complete 
f180a9b756b3: Pull complete 
d1aac5199a78: Pull complete 
119a37a00901: Pull complete 
4f4fb700ef54: Pull complete 
Digest: sha256:14ce5c414bfc96bf90a7b40ce39780db00e568609f322a1c72509c1432a89142
Status: Downloaded newer image for nicknothom/sonarview:1.9.4-beta
0a2eb31f0321f84b54c11617e935e1125905fe4cd54da2aac5d7e0b18a39dbd8
pi@pi1:~ $ docker container ls
CONTAINER ID   IMAGE                             COMMAND       CREATED              STATUS          PORTS     NAMES
0a2eb31f0321   nicknothom/sonarview:1.9.4-beta   "sonarlink"   About a minute ago   Up 59 seconds             sonarview
pi@pi1:~ $ 

No go I’m afraid

Just to confirm, you have set the “SonarLink IP” to 192.168.0.102 in the new version?
And your Omniscan is 192.168.0.92? And you are able to ping 192.168.0.92 from 192.168.0.102?

Is the SonarView app (installed on your laptop) able to discover the Omniscan?

Sonarview App on Laptop discovers and connects.

I can ping .92 and .102 from laptop and from inside the container.

C:\Users\james>ping 192.168.0.92

Pinging 192.168.0.92 with 32 bytes of data:
Reply from 192.168.0.92: bytes=32 time=47ms TTL=32
Reply from 192.168.0.92: bytes=32 time=65ms TTL=32
Reply from 192.168.0.92: bytes=32 time=37ms TTL=32

Ping statistics for 192.168.0.92:
    Packets: Sent = 3, Received = 3, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 37ms, Maximum = 65ms, Average = 49ms

C:\Users\james>ping 192.168.0.102

Pinging 192.168.0.102 with 32 bytes of data:
Reply from 192.168.0.102: bytes=32 time=36ms TTL=64
Reply from 192.168.0.102: bytes=32 time=39ms TTL=64
Reply from 192.168.0.102: bytes=32 time=47ms TTL=64

Ping statistics for 192.168.0.102:
    Packets: Sent = 3, Received = 3, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 36ms, Maximum = 47ms, Average = 40ms


pi@pi1:~ $ docker exec -it sonarview ping 192.168.0.92
PING 192.168.0.92 (192.168.0.92): 56 data bytes
64 bytes from 192.168.0.92: seq=0 ttl=32 time=0.357 ms
64 bytes from 192.168.0.92: seq=1 ttl=32 time=0.296 ms
64 bytes from 192.168.0.92: seq=2 ttl=32 time=0.285 ms
64 bytes from 192.168.0.92: seq=3 ttl=32 time=0.249 ms
64 bytes from 192.168.0.92: seq=4 ttl=32 time=49.899 ms
64 bytes from 192.168.0.92: seq=5 ttl=32 time=0.259 ms
^C
--- 192.168.0.92 ping statistics ---
6 packets transmitted, 6 packets received, 0% packet loss
round-trip min/avg/max = 0.249/8.557/49.899 ms

pi@pi1:~ $ docker exec -it sonarview ping 192.168.0.102
PING 192.168.0.102 (192.168.0.102): 56 data bytes
64 bytes from 192.168.0.102: seq=0 ttl=64 time=0.192 ms
64 bytes from 192.168.0.102: seq=1 ttl=64 time=0.386 ms
64 bytes from 192.168.0.102: seq=2 ttl=64 time=0.174 ms
64 bytes from 192.168.0.102: seq=3 ttl=64 time=0.159 ms
^C
--- 192.168.0.102 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 0.159/0.227/0.386 ms

pi@pi1:~ $ ping 192.168.0.102
PING 192.168.0.102 (192.168.0.102) 56(84) bytes of data.
64 bytes from 192.168.0.102: icmp_seq=1 ttl=64 time=0.115 ms
64 bytes from 192.168.0.102: icmp_seq=2 ttl=64 time=0.072 ms
64 bytes from 192.168.0.102: icmp_seq=3 ttl=64 time=0.085 ms
64 bytes from 192.168.0.102: icmp_seq=4 ttl=64 time=0.087 ms
^C
--- 192.168.0.102 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 106ms
rtt min/avg/max/mdev = 0.072/0.089/0.115/0.019 ms

pi@pi1:~ $ ping 192.168.0.92
PING 192.168.0.92 (192.168.0.92) 56(84) bytes of data.
64 bytes from 192.168.0.92: icmp_seq=1 ttl=32 time=0.253 ms
64 bytes from 192.168.0.92: icmp_seq=2 ttl=32 time=0.189 ms
64 bytes from 192.168.0.92: icmp_seq=3 ttl=32 time=0.206 ms


And SonarLink IP is set to .102

Start Discovery payload

get discovery

I’m trying to replicate your issue, will let you know when I find a solution.

Thanks - will wait for your direction