Well you seem to have covered all the possible causes. I hate to suggest you spend more dough, but a wireless repeater/range extender may solve the problem:http://www.amazon.co.uk/tag/wireless%20repeater/products
I hear you saying "but my laptop signal is fine without a range extender
". Fair comment, but it may have a much better wireless device.