There are literally thousands of posts on the various Raspberry Pi forums about people having WiFi problems – even those that have compatible dongles are blighted by slow media transfer speeds or just spotty connections. I know – I spent a week trying to figure out what was wrong with mine. I’ve come up with the following seven step troubleshooting guide that solved my problems.

1. Check that your board is getting enough power

The single most common cause of problems with the Raspberry Pi is an unsuitable power supply. The official requirements are simple: a 5v micro-usb power supply. The problem is that many Micro USB chargers are designed for phones, and even those rated 5v might not actually be producing that. The best way to be absolutely sure is to test the voltage supply across your board – see detailed instructions here on the eLinux website for doing this. I recommend either the Apple 5V USB supply or the Amazon Kindle USB supply – I’ve tested both and they work great.

2. Check your stream speed

The best way I’ve found to do this is to FTP / SFTP into your device (the former requires an FTP server like the one built into Raspmbc, the latter just needs your SSH credentials) and upload, then download a file. You’ll be able to see the speed at which the file is transferring from pretty much any FTP/SFTP client (I recommend Transmit for Mac, and Filezilla for PC / Linux). The advantage of doing this is that you can locate the problem – particularly on Raspbmc it isn’t clear when the video freezes up whether the board is playing up, or whether its just waiting for the file.

If your speed is <500kbps, it is (almost) without a doubt the WiFi. If its above, then its the board and this article won’t help you much.

3. If its the WiFi, move your Pi to right next to the router and repeat

That way we can rule out signal. Often the speed will increase, and perhaps solve the problem. If this is the case, and your other wireless devices get signal just fine wherever you are, then try hooking the WiFi dongle up to a (powered) USB hub. This will provide more power to it than the Pi board itself will, and in doing so should improve your connection quality. Its similar reasoning to why an computer will get signal where an iPhone won’t.

4. If that doesn’t solve your problem, there are a few more things you can try:

– Hardwire the source into the network. If the media source is a computer that is wirelessly attached to the network, try hardwiring it in. LAN is much faster than WiFi and this may alleviate the problem.
– Try Powerline – Powerline is a LAN-by-power-socket solution, enabling you to (effectively) plug a LAN cable into the wall, and then pick it up anywhere else in your house at another plug – it works by using your house power cables. It is very fast, and it was the solution I found for my wireless problems with my Pi. It isn’t perfect, but its fast, secure and it works. My favourite is the TP-Link 500mbps kit.

I tried all of the above with my Pi, and despite being in a good signal area in my house, my streaming speed was still crap. Ultimately, Powerline was the solution for my problem – its fast, not particularly expensive and it worked great, first time. It also gets you out of the wireless configuration on whichever distribution of Linux you choose – LAN is pretty much plug and play.