Thanks for the help.
I use openDNS, so it shouldn't be slow.
I've tried transmission as well as Azureus. I've also used limewire which says the connection is 'turbo-charged' even when I disable upnp, so that's no help really.
Done the last two steps.
Here's the upnp log for anyone who can understand it. I have no idea what 169.254.155.79 is (near the bottom)
[15:54:07] group = /239.255.255.250:0/fw0:fw0-/169.254.155.79: started
[15:54:07] group = /239.255.255.250:0/en0:en0-/192.168.1.6: started
[15:54:07] ignoring loopback address /127.0.0.1, interface lo0
[15:54:07] ignoring IPv6 address /fe80:0:0:0:0:0:0:1%1, interface lo0
[15:54:07] ignoring loopback address /0:0:0:0:0:0:0:1%0, interface lo0
[15:54:07] Mapping request: Incoming Peer Data Port (UDP/56456), enabled = true
[15:54:07] Mapping request: UDP Tracker Client Port (UDP/56456), enabled = true
[15:54:07] Mapping request: Incoming Peer Data Port (TCP/56456), enabled = true
[15:54:07] Mapping request: Incoming Peer Data Port (TCP/8080), enabled = false
[15:54:07] Mapping request: TCP Tracker Port (TCP/6969), enabled = false
[15:54:07] Mapping request: TCP SSL Tracker Port (TCP/7000), enabled = false
[15:54:07] Mapping request: UDP Tracker Port (UDP/6969), enabled = false
[15:54:07] Mapping request: Distributed DB (UDP/56456), enabled = true
[15:54:07] Device 'http://192.168.1.1:80/DeviceDescription.xml' is ok: discover=0,found=0,read
ok=0,read_bad=0,map_ok=0,mapbad=0
[15:54:07] UPnP: root discovered: usn=uuid:11111111-%04x-c0a8-101001349b0e9::upnp:rootdevice, location=http://192.168.1.1:80/DeviceDescription.xml, ni=en0,local=/192.168.1.6
[15:54:07] Downloading:
http://192.168.1.1:80/DeviceDescription.xml
[15:54:08] Relative URL base is
http://192.168.1.1:80
[15:54:08] ZyXEL Prestige 660HW-T1 Internet Sharing Gateway
[15:54:08] urn:schemas-upnp-org:service:Layer3Forwarding:1:desc=http://192.168.1.1:80/L3Fw d.xml, control=http://192.168.1.1:80/UD/?0
[15:54:08] ZyXEL Prestige 660HW-T1 Internet Sharing Gateway
[15:54:08] urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1:desc=http://192.168.1.1 :80/WanCommonIfc1.xml, control=http://192.168.1.1:80/UD/?1
[15:54:08] ZyXEL Prestige 660HW-T1 Internet Sharing Gateway *
[15:54:08] urn:schemas-upnp-org:service:WANDSLLinkConfig:1:desc=http://192.168.1.1:80/WanD slLink.xml, control=http://192.168.1.1:80/UD/?2
[15:54:08] urn:schemas-upnp-org:service:WANIPConnection:1:desc=http://192.168.1.1:80/WanIp Conn.xml, control=http://192.168.1.1:80/UD/?3
[15:54:08] ZyXEL Prestige 660HW-T1 Internet Sharing Gateway
[15:54:08] urn:schemas-upnp-org:service:LANHostConfigManagement:1:desc=http://192.168.1.1: 80/LanHostCfgMgmt.xml, control=http://192.168.1.1:80/UD/?4
[15:54:08] Found WANIPConnection
[15:54:08] Downloading:
http://192.168.1.1:80/WanIpConn.xml
[15:54:08] UPnP: Mapping 'Incoming Peer Data Port (UDP/56456)' established
[15:54:08] UPnP: Mapping 'Incoming Peer Data Port (UDP/56456)' established
[15:54:08] Mapping UDP Tracker Client Port (UDP/56456) already established
[15:54:08] UPnP: Mapping 'Incoming Peer Data Port (TCP/56456)' established
[15:54:08] UPnP: Mapping 'Incoming Peer Data Port (TCP/56456)' established
[15:54:08] Mapping Distributed DB (UDP/56456) already established
[15:54:22] Device 'http://169.254.155.79:8008/RootDevice.xml' is ok: discover=0,found=0,read
ok=0,read_bad=0,map_ok=0,mapbad=0
[15:54:22] UPnP: root discovered: usn=uuid:89bccb25-4b13-af9e-e5ab-94be0185a62b::upnp:rootdevice, location=http://169.254.155.79:8008/RootDevice.xml, ni=fw0,local=/169.254.155.79
[15:54:22] Downloading:
http://169.254.155.79:8008/RootDevice.xml