Getting "Drop uplink message" with "Join server not found" in V3

I have a rak 7258 gateway connected to stack v3. Gateway is connected but reports “Drop uplink message” with data showing “Join server not found” when client attempts to join.

I’m running in docker.

Any ideas ?

Hi dbrosy. By client do you mean device?

Can you post your device information?

Are you using an external join server?

If you can share the settings you’re using to connect the client, it will be easier to help.

Hi, I’m having the same issue. I’m trying to deploy a private TTN enviroment with the stack v3.8.4 and I managed to configure the gateway. Now I’m trying to join a device.
I have a Multitech Conduit AEP as gateway, configured with packet forwarding as says the guide.
In the other side I have an Adeunis pulse sensor with OTAA verification, I registered to an App following the console guide.

Right now I’m stuck because I don’t know what to check to resolve this join fail of the device.

This is the activity of the device (image attatched):
device-activity

Thanks,

The stack is running in a local environment. This is the Ip of the pc so gateway can see my machine.

This is the gateway view after receiving the device uplink:
gateway-act

This is the rellevant information about device configuration:
device-config

Hey @MarcRomero, Are you running in docker? I had the issue and unticked “External Join Server” but if you are using an external join server than i’m not sure but would make sure the correct ports are open. think its 8001 from memory.

Hi @dbrosy, Yes I’m runing it in docker, I dont think I’m using an “External Join Server”. The machine with stack and gateway are runing on a local network.
This are the servers (all are at 192.168.124.9:1885):
servers

Sorry If I’m not specifig but I’ve just started to test the stack v3 and I dont know all its funcionalitys.

image

This is mine.

not sure why all your Components are showing the same port as acording toconfig they should have different ports

post your config file as i suspect there is some issues with it. you will need to redact it

This is the config out of runing “sudo docker-compose run --rm stack config”:
config.txt (21.1 KB)

I supose data comes from docker-compose.yml:

version: '3.7'
services:

  # If using CockroachDB:
  cockroach:
    image: cockroachdb/cockroach
    command: start --http-port 26256 --insecure
    restart: unless-stopped
    volumes:
      - ./data/cockroach:/cockroach/cockroach-data
    ports:
      - "127.0.0.1:26257:26257" # Cockroach
      - "127.0.0.1:26256:26256" # WebUI

  redis:
    image: redis
    command: redis-server --appendonly yes
    restart: unless-stopped
    volumes:
      - ./data/redis:/data
    ports:
      - "127.0.0.1:6379:6379"

  stack:
    image: thethingsnetwork/lorawan-stack:latest
    entrypoint: ttn-lw-stack -c /config/ttn-lw-stack.yml
    command: start
    restart: unless-stopped
    depends_on:
      - redis
      # If using CockroachDB:
      - cockroach
      # If using PostgreSQL:
      # - postgres
    volumes:
      - ./blob:/srv/ttn-lorawan/public/blob
      - ./config/stack:/config:ro
      # If using Let's Encrypt:
      - ./acme:/var/lib/acme
    environment:
      TTN_LW_BLOB_LOCAL_DIRECTORY: /srv/ttn-lorawan/public/blob
      TTN_LW_REDIS_ADDRESS: redis:6379
      TTN_LW_IS_DATABASE_URI: postgres://root@cockroach:26257/ttn_lorawan?sslmode=disable

    ports:
      # If deploying on a public server:
      # - "80:1885"
      # - "443:8885"
      - "1881:1881"
      - "8881:8881"
      - "1882:1882"
      - "8882:8882"
      - "1883:1883"
      - "8883:8883"
      - "1884:1884"
      - "8884:8884"
      - "1885:1885"
      - "8885:8885"
      - "1887:1887"
      - "8887:8887"
      - "1700:1700/udp"

    # If using (self) signed certificates:
    #secrets:
    #  - cert.pem
    #  - key.pem

# If using (self) signed certificates:
#secrets:
#  cert.pem:
#    file: ./cert.pem
#  key.pem:
#    file: ./key.pem

And from ttn-lw-stack.yml:

 log:
      level: "debug"

# Redis configuration
redis:
  address: 'redis:6379'

# Identity Server configuration
is:

  # If using CockroachDB
  database-uri: 'postgres://root@cockroach:26257/ttn_lorawan?sslmode=disable'

  # Email configuration for "thethings.example.com"
  email:
    sender-name: 'The Things Stack'
    sender-address: 'noreply@192.168.124.9:1885'
    network:
      name: 'The Things Stack'
      console-url: 'http://192.168.124.9:1885/console'
      identity-server-url: 'http://192.168.124.9:1885/oauth'

  # Web UI configuration for "thethings.example.com":
  oauth:
    ui:
      canonical-url: 'http://192.168.124.9:1885/oauth'
      is:
        base-url: 'http://192.168.124.9:1885/api/v3'

# HTTP server configuration
http:
  cookie:
    # generate 32 bytes (openssl rand -hex 32)
    block-key: '423aa334b3c6ef6ffbc802fdcd9cdd6a1eff1258ee03576630f04738b37f4373'
    # generate 64 bytes (openssl rand -hex 64)
    hash-key: '949f699b8c18b40a06a001d4e0c5710cbe726f587bc5e192bc850fd25d23e27405d92095366b7026db8da524ccad259ebd253e7638eb8f28fcee002b84db4fc9'
  metrics:
    password: 'metrics'               # choose a password
  pprof:
    password: 'pprof'                 # choose a password

# If using (self) signed certificates:
#  tls:
#    source: file
#    root-ca: ./cert.pem
#    certificate: ./cert.pem
#    key: ./key.pem

# Let's encrypt for "thethings.example.com"
tls:
  source: 'acme'
  acme:
    dir: '/var/lib/acme'
    email: 'you@thethings.example.com'
    hosts: ['thttp://192.168.124.9:1885']
    default-host: 'http://192.168.124.9:1885'

# If Gateway Server enabled, defaults for "thethings.example.com":
gs:
  mqtt:
    public-address: '192.168.124.9:1882'
    public-tls-address: '192.168.124.9:8882'
  mqtt-v2:
    public-address: '192.168.124.9:1881'
    public-tls-address: '192.168.124.9:8881'

# If Gateway Configuration Server enabled, defaults for "thethings.example.com":
gcs:
  basic-station:
    default:
      lns-uri: 'wss://192.168.124.9:8887'
  the-things-gateway:
    default:
      mqtt-server: 'mqtts://192.168.124.9:8881'

# Web UI configuration for "thethings.example.com":
console:
  ui:
    canonical-url: 'http://192.168.124.9:1885/console'
    is:
      base-url: 'http://192.168.124.9:1885/api/v3'
    gs:
      base-url: 'http://192.168.124.9:1885/api/v3'
    ns:
      base-url: 'http://192.168.124.9:1885/api/v3'
    as:
      base-url: 'http://192.168.124.9:1885/api/v3'
    js:
      base-url: 'http://192.168.124.9:1885/api/v3'
    qrg:
      base-url: 'http://192.168.124.9:1885/api/v3'
    edtc:
      base-url: 'http://192.168.124.9:1885/api/v3'

  oauth:
    authorize-url: 'http://192.168.124.9:1885/oauth/authorize'
    #logout-url: 'http://192.168.124.9:1885/oauth/logout'
    token-url: 'http://192.168.124.9:1885/oauth/token'
    client-id: 'console'
    client-secret: 'console'          # choose or generate a secret

I hope this helps, I defined the urls as 192.168.124.9:1885 because gateway couldn’t see the localhost url.

I thinks now its working, I’ll do some testing. I didn’t realize that by default External join server is ON, I’ve unchecked that option and configured the appKey.

@dbrosy Thanks for the reply.

1 Like

This topic was automatically closed after 30 days. New replies are no longer allowed.

Glad you sorted that out @MarcRomero, sorry about the confusion. We’re encouraging device manufacturers to provision devices on Global Join Servers as it makes connecting and transferring devices much easier, and so we initially enabled the External Join Server option by default, but we’ve changed that in future versions until we see more widespread adoption.

@dbrosy did you have any luck figuring out why uplink messages are being dropped?