I would start with downloading drivers, starting with the Chipset and Video drivers, audio and then wireless and/or Ethernet drivers.
The South Bridge of the Chipset or Video drivers where no separate Chipset drivers will look after the USB problem, unless it is an internal fault.
It may also be worth doing a memory test - not sure if XP has this built in as Win 7 does but if not then you can use Memtest 86+
http://www.geekstogo.com/forum/topic/246994-guide-to-using-memtest86/If you are only using a mouse plugged into an USB port and that works okay, what error are you getting so that you know a port is going off every now and again ?
You can get higher latency on battery to AC, so when possible, always use AC.
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Windows\system32>ping google.co.uk
Pinging google.co.uk [62.24.158.34] with 32 bytes of data:
Reply from 62.24.158.34: bytes=32 time=30ms TTL=61
Reply from 62.24.158.34: bytes=32 time=29ms TTL=61
Reply from 62.24.158.34: bytes=32 time=29ms TTL=61
Reply from 62.24.158.34: bytes=32 time=29ms TTL=61
Ping statistics for 62.24.158.34:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 29ms, Maximum = 30ms, Average = 29ms
C:\Windows\system32>ping google.co.uk
Pinging google.co.uk [62.24.158.34] with 32 bytes of data:
Reply from 62.24.158.34: bytes=32 time=692ms TTL=61
Reply from 62.24.158.34: bytes=32 time=31ms TTL=61
Reply from 62.24.158.34: bytes=32 time=722ms TTL=61
Reply from 62.24.158.34: bytes=32 time=748ms TTL=61
Ping statistics for 62.24.158.34:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 31ms, Maximum = 748ms, Average = 548ms
C:\Windows\system32>
The first ping is on AC and the second is just on battery - don't ask me why as I've asked this before on a tech forum and no one had an answer.
This is doing a tracert cmd on AC and then on battery and as you can see, they are near identical, so it must be a power issue.
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Windows\system32>tracert google.co.uk
Tracing route to google.co.uk [62.24.158.20]
over a maximum of 30 hops:
1 1 ms 1 ms 1 ms ROUTER [192.168.1.1]
2 23 ms 22 ms 22 ms host-78-148-0-1.as13285.net [78.148.0.1]
3 30 ms 29 ms 30 ms p1.nas18.man.opaltelecom.net [62.24.158.1]
4 29 ms 29 ms 29 ms p20.nas18.man.opaltelecom.net [62.24.158.20]
Trace complete.
C:\Windows\system32>tracert google.co.uk
Tracing route to google.co.uk [62.24.158.20]
over a maximum of 30 hops:
1 4 ms 1 ms 1 ms ROUTER [192.168.1.1]
2 23 ms 1018 ms 24 ms host-78-148-0-1.as13285.net [78.148.0.1]
3 30 ms 30 ms 30 ms p1.nas18.man.opaltelecom.net [62.24.158.1]
4 29 ms 29 ms 30 ms p20.nas18.man.opaltelecom.net [62.24.158.20]
Trace complete.
C:\Windows\system32>
When you checked your MTU previously using TCP Optimizer, did you set both the computer and router to 1500 before running TCP Optimizer ?