[AllJoyn] Linux chat service not discovered by android chat client

asked 2014-09-30 19:21:46 -0700

nickmudit gravatar image

updated 2014-10-01 12:14:32 -0700


Environment : I have implemented Linux chat service & client in 1 Raspberry pi and 2 android devices. Android devices are connected using wifi, and raspberry pi is connected via LAN.

Observation 1 : Linux chat service and chat client are communicating without alljoyn-daemon running. Both are running on same machine.

Observation 2 : Android chat service and client are communicating with each other. The devices are separate.

Problem : The Linux chat service is not discovered by android client, and android service is not discovered by linux client. I am running ./alljoyn-daemon in raspberry pi.

Debugging : I used wireshark to analyze the packets, and observed Android devices are sending UDP packets to alljoyn( . While Linux service and clients are sending MDNS to port.

Is there a problem with alljoyn-daemon? or the chat script in linux machine? Android devices are communicating even if devices are separate.

edit retag flag offensive close merge delete


@nickmudit When you say "implemented" do you mean you wrote your own implementation or compiled the sample code? Can you confirm the code you are running on the RPi? What version of AllJoyn SDK are you using on the Android devices?

bspencer ( 2014-10-01 11:10:08 -0700 )edit

I am simply running available sample chat codes. (Both on android and Linux) The version is latest. I downloaded 2 days ago. https://wiki.allseenalliance.org/release/14.06

nickmudit ( 2014-10-01 12:13:35 -0700 )edit

In linux, I am running alljoyn-daemon without any parameters. I built the source code and executed sample chat codes and the daemon.

nickmudit ( 2014-10-01 12:18:05 -0700 )edit

@nickmudit This is very interesting... Can you post the wireshark capture so that it can be analyzed? Also can you try the same chat sample on a desktop linux platform, mac, or pc? Just to rule out a network issue?

bspencer ( 2014-10-01 16:40:11 -0700 )edit

This time, I used wlan0 interface for capturing using a wifi dongle. The issue remains the same. So, i don't think it is a network issue as ping & internet is working in this wifi network.

nickmudit ( 2014-10-01 18:55:38 -0700 )edit

1 answer

Sort by ยป oldest newest most voted

answered 2014-10-02 14:26:04 -0700

The wireshark capture shows that you are running a 14.02 or older daemon on the Pi, and the master branch post this commit on the Android.

You have several options:

  • Use 14.06 or later on the Pi.
  • Use 14.06 (not the master branch) on the Android.
  • Set the ns_enable_v1 flag in the Android's router config to true (<flag name="ns_enable_v1">true</flag>).

The commit changed the default behavior to not send the older WHO-HAS and IS-AT packets and only send the newer mDNS packets. Note this change currently exists only in the master branch and may or may not be included in any upcoming releases.

edit flag offensive delete publish link more


Thanks tmalsbar! I updated the version and the problem was fixed. Apparently, the archived SDK`s do not have information about compatible versions. This means, when we design the systems, we must check for the versions too. I am not sure if such interface is provided to developers. Device discovery is a major constraint in this system, and such changes must be mentioned in a new version release. Here, 14.06 service cannot discovered by 14.02 client is something which is unprecedented.

nickmudit ( 2014-10-05 19:06:40 -0700 )edit

@nickmudit 14.06 should be discovered by 14.02, so you shouldn't have any problems there. The breaking change is currently only in the master branch today.

tmalsbar ( 2014-10-06 10:44:08 -0700 )edit
Login/Signup to Answer

Question Tools



Asked: 2014-09-30 19:21:46 -0700

Seen: 722 times

Last updated: Oct 02 '14