A linksys wrt54g contains a 4 port switch as well as a wireless access point. FYI technically speaking a hub is not exactly the same thing as switch.
For file sharing between a windows and a linux PC all crash_happy needs is the software i.e. samba.
www.samba.org. You can then see the linux PC via network neighborhood.
You can also setup a FTP server on the linux PC to transfer files.