I'd test the laptop against a known good router and the router against a know good laptop / card if you can.
Try changing the orientation of the router, i think they have "diversity" (?) antenna inside.
You say wooden floors, but what about the walls? Some plaster board has foil in to reflect heat, or metal mesh - not good for radio transparency.
You could try and add some gain with a quick bit of "origami" see:
http://www.freeantennas.com/products.htm