I have a WRK54G v1.0 Wireless-G Broadband Router, I've setup WPA with a shared key. I turned off SSI broadcast, enabled MAC Address Filtering, and changed the admin password. DHCP is still enabled... however for some reason, my laptop loses connectivity to the internet after only 20 minutes or so.

It's usually easily fixed by just simply right clicking and repairing, but does it again and again and I would like to stay connected. Can anyone help me?

my laptop loses connectivity to the internet...

Can you clarify that a bit please? Are you saying that you lose the wireless link between the laptop and the router, that the WAN-facing side of the router drops its connection to your ISP, or both?

* Disable WEP/WPA, disable MAC filtering, and reenable SSID broadcast on the router. After that, cold-boot (power on/off) both the router and the laptop; see if the problem changes.

* Open the Event Viewer utility in your Administrative Tools control panel and look through your System and Application logs for entries flagged with "Error" or "Warning"; see if any of those entries seem like they may relate to your problem. Double-clicking on such an entry will open a properties window with more detailed information on the error; post the details from a representative sample of some of the different error messages (please don't post duplicates of a given entry, or flood us with the entire contents of the logs).

To post the details:
In the Properties window of a given entry, click on the button with the graphic of two pieces of paper on it; the button is at the right of the window just below the up arrow/down arrow buttons. You won't see anything happen when you click the button, but it will copy all of the details to the Windows clipboard. You can then paste the details into your next post here.

I'm talking about from the laptop to the router.

I'll post results, if any, about turning off WPA, I want to be secure... could you explain to me how I can secure my wireless network, and still not have problems with the link being stable?

We're just disabling the security measures as a test to eliminate obvious variables. If we end up finding that one of those is the culprit, we'll deal with it; if not, we'll re-enable all of the security.

Also check your log files as I suggested; there very well may be clues in the logs.