OPTIONS

EXPLANATION OF THE PROBLEM:

We thought that connectivity would be automatic but it didn't work.

Why aren't the DHCP IP addresses compatible with sugar?

BACKGROUND INFORMATION ABOUT SUGAR and the XO (from Joel)

Sugar is written for the XO and the XO, despite having one wireless network card, has two network interfaces - it appears like it has two cards

msh0 is just for doing mesh stuff. if you're doing mesh stuff, it will get a mDNS IP, and talk to others on that mesh

eth0 is for doing access point stuff. if you're on an access point, it will get an IP from the access point's DHCP server, and will connect to a school server (which runs a jabber server. that "school server" can be on the internet, or local, "school" is just the name olpc gave to it)

So, on a non-xo, we only have one network interface. When it gets an IP address from the DCHP server, sugar is currently saying on the WHS network "i'm on an access point, not a mesh, so I will connect to a school server for collaboration". This is a bug. Rather than accessing the local sugar collaboration layer, which is what should be happening.

Sugar has been trialled on other networks and found to work, eg. on a Ubuntu network

Terminology interlude:
  • local sugar collaboration layer = salut
  • server sugar collaboration layer = gabble
More here:
http://wiki.laptop.org/go/Presence_Service


POSSIBLE SOLUTIONS (3 and 4 seem to be the way to go)

1) Unplug network cables on machines with USB keys and plug them into a switch in the middle of the room, manually assign IP addresses and try it. We tried this (26/8/08), we could see each other in neighbourhood view but we could not successfully join activities. Also this solution is very clunky, time consuming each session and limited in how many connections we can set up.

2) Point each machine a Jabber server. Detail of jabber servers and how to point here:
http://wiki.laptop.org/go/ Community_Jabber_Servers

A certain port (usually 5222) must be opened in the firewall, the problem here is that these ports are blocked by the Department and it's hard and time consuming to get them unblocked.

3) Fix the bug that is causing the problem on our school network. Joel is thinking about this option.

Log files have now been obtained following the method below, with some variations / troubleshooting (thanks for help, joel and phoozle)

instructions about which logs to record and how to save them:

from morgan collett:
Link local presence should "just work", but I've never used the LiveCD images.

Presence Service will automatically start salut / linklocal on
startup, while it starts looking for a Jabber server. If it fails to
connect to a Jabber server for whatever reason (server non-existant,
down or unreachable) it will remain on salut.

(The only exception to this is if it has an IP address on the msh0
interface (XO mesh) which is not 169.254.x.x, then it is assumed that
we are on a mesh network with a school server - then it disables salut
for 2 minutes to try and avoid saturating the mesh network with salut
traffic while looking for the school server's jabber server.)

Salut should automatically show presence for anyone detected on the
same network. It uses avahi, so you should be able to see it at work
if you run avahi-browse -a -t - Sugar machines will show up with
"iChat Presence" with a username consisting of hex digits.

To confirm that salut is running, you can also go to Terminal or the
console and type "ps ax |grep telepathy" - you should see
telepathy-salut listed.

To enable a log file in presenceservice.log, see if you have a
.xsession or .xsession-example in /home/olpc. Copy .xsession-example
to .xsession if necessary, and uncomment the lines with
PRESENCESERVICE_DEBUG=1 and SUGAR_LOGGER_LEVEL=debug - then restart X
(or the machine).

If it's still not working, you should at least get a reasonable log
file which we can take a look at.


Joel:

easiest way: stick a second usb key in, and copy them from there11:59 PM usb keys should automaticly show up under /mount me: i thnk cldnt copy matt cldnt copy Joel: so open the Terminal activity, and
$ cd /mount/
$ ls
.
..
MY_KEY
$ cd MY_KEY
$ cp -r ~/.sugar/default/logs .

from morgan collett:
Thanks for the logs. presenceservice.log shows that salut
(LinkLocalPlugin) starts up successfully but doesn't detect anyone on
the local network. gabble (ServerPlugin) repeatedly attempts to
connect to a jabber server but fails - nevertheless salut is running.

Bill, can you surf the web with Browse?

Answer: We can access our intranet. Access out of the school to the internet is via a restrictive firewall, and a http proxy. We now know how to set up Browse with the proxy and will attempt this next time .

Please also try this diagnostic command in Terminal: "avahi-browse -t
_presence._tcp" - that should use the underlying system (avahi) that
salut is built on, to show if there are other instances that it would
be able to detect. You should see one or more "iChat Presence" records
shown. If you only see one, that's yourself and for some reason you
can't reach the other machines. If you see more than one, then let me
know because there's a salut problem if you don't also see them in
mesh view.

Answer: We only see one

I'll try to pull down the livecd image and check myself.

Question: Does xo browse support proxies? (phoozle)

Answer: http://wiki.laptop.org/go/Wifi_Connectivity#Proxy_Settings

To change your browser's proxy settings: enter "about:config" into the browser's url field. This will load the configuration page for the browser. There are three settings you must change to work with a proxy:
network.proxy.http       <set to your proxy server>
network.proxy.http_port  <set to 8080 or the appropriate port>
network.proxy.type       <change to 1>
 
To change a setting, double-click on a line and type the new setting into the new window that pops up.

(about:config thanks that's useful information, could have been easier to find though TF)

from john watlington: (30th August 2008)
This should just work. I've certainly tested XOs running on AP based
networks collaborating without a school server. There are strong
limits on the number of laptops you can run this way, but you should
be able to get over twenty collaborating.

The problem almost certainly lies in the LiveCD image.


4) Create a local Jabber server. How to is here:
http://wiki.laptop.org/go/Installing_ejabberd
It would be good to do this too, anyway, for local connectivity, even though due to ED restrictions we won't be able to connect up to other locations

Comment
An external Jabber server or (a server which can be accessed from outside) opens up the possibility of collaboration with the wider community, eg. other classes and teachers. It also raises the "stranger danger" issue, is it possible to control access to the Jabber server? Is it desirable? See controversies thread. TF

Kerr: The ED restrictions on opening new ports is very frustrating from an educational standpoint. It might be worthwhile setting up a jabber server off site, given the students an xo CD and then they have the option of international communication through Sugar. Given the saga at al upton's blog one suspects this would be discouraged or perhaps even declared "illegal".