When you connect two machines directly, you are going to need a crossover cable. Another idea I just thought of would be to buy a DSL switch/router (I have a linksys, but doesn't have USB) that has both USB and Cat5 connections. Connect the cable modem to switch and then get cat5 cable and connect them from the hub to each individual pc.
EDIT: Looks like Red Hot Machine beat me to the post. Guess I should learn to type faster
I know Draytek do a USB router but it is really hard to setup. I couldn't find one made my Netgear or Linksys. If people know off one then let us know.
Here are some basic instructions on how to set it up. Any questions please ask.
Install NIC in machine
Go into Network properties by Right clicking on Network Neighbourhood
If the following are not already installed, then install them
Networking for Microsoft Networking
File and Print Sharing * Only if you want to share files as well.
Set the workgroup to the same on each machine e.g. Home
Then on the machine with the modem attached install Internet Sharing. (See below for 2k)
To enable Internet connection sharing on a network connection
1. Open Network and Dial-up Connections.
2. Right-click the dial-up, VPN, or incoming connection you want to share, and then click Properties.
3. On the Sharing tab, select the Enable Internet connection sharing for this connection check box.
4. If you want this connection to dial automatically when another computer on your home network attempts to access external resources, select the Enable on-demand dialing check box.
Then setup the client machine to connect to the internet using the Lan, with autodetect proxy settings check box ticked.