Wednesday, August 06, 2008

Playstation 3 Network Foobar

This week I had a little fun trying to get the Playstation3 online. It all started out rather harmlessly, Playstation3's auto-detect for the network connection worked well enough on the first day and produced a working setup or so it seemed. However this setup turned out to just not work very often, half the time it would just go "DNS Error 80710103" for no apparent reason and endless retries wouldn't help to login to the Playstation Network, even so normal web browsing worked most of the time. Even more weird, running the auto-detection again for the network setup would often not work. A few hours try&error later I managed to get a connection up and running reliably by manually setting the DNS server to the ISP one, instead of to the router. That seemed to work. However that wasn't very satisfing so I tweaked around a bit more.

Just for the fun of it I replaced my iptables/masquerading configuration with another one. The new one worked for most part, but had a little problem with not allowing package forwarding from eth0 to eth0, which I needed to reach a few wireless devices which where in a different subnet. However I hadn't yet figured that one out. So I was just blinding ping'ing around a bit and found something suspecious:

ping 192.168.0.1

worked, while:

ping router

also worked, but only with a multiple second delay between ping request. Doing a strace on the second ping request showed:

...
write(4, "RESOLVE-ADDRESS 192.168.0.1\n", 28) = 28
read(4, "-15 Timeout reached\n", 1024) = 20
...

That didn't look good. Turned out that the problem here was lack of reverse mapping in my DNS configuration, maradns to be preciece, adding the necesarry:

1.0.168.192.in-addr.arpa. PTR router.localdoman.

lines to my /etc/maradns/db.localdomain solved that issue and made ping work fast with both IPs and hosts.

The problem with the lack of forwarding from the 192.168.0.0 subnet to the 192.168.1.0 subnet was solved with a quick:

iptables -A FORWARD -i eth0 -o eth0 -j ACCEPT

Now does this help the Playstation3? Doesn't seem so, still get a 80710103 error most of the time I try auto-detect. With all stuff manually entered it currently works, but no idea why or for how long, since only entering the DNS manually didn't work either this time.

Update: Setting the DNS manually on the Playstation3 to the one provided by the ISP instead of the router fixed the problem (same problem with both cable and WLAN connection). No idea why this is the case, since all other devices, even the PSP, work just fine with the router DNS.

No comments: