05.03.2013 Views

RPi Easy SD Card Setup - eLinux.org

RPi Easy SD Card Setup - eLinux.org

RPi Easy SD Card Setup - eLinux.org

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>RPi</strong> <strong>Easy</strong> <strong>SD</strong> <strong>Card</strong> <strong>Setup</strong><br />

From <strong>eLinux</strong>.<strong>org</strong><br />

Contents<br />

▪ 1 <strong>SD</strong> <strong>Card</strong> setup<br />

▪ 2 Safest/Laziest way<br />

▪ 3 Easiest way<br />

▪ 4 <strong>Easy</strong> way<br />

▪ 4.1 Copying the image to an <strong>SD</strong> <strong>Card</strong> on Windows<br />

▪ 4.2 Copying the image to an <strong>SD</strong> <strong>Card</strong> on Windows if first option isn't<br />

successful<br />

▪ 4.3 Copying an image to the <strong>SD</strong> <strong>Card</strong> in Mac OS X (mostly graphical<br />

interface)<br />

▪ 4.4 Copying an image to the <strong>SD</strong> <strong>Card</strong> in Mac OS X (command line)<br />

▪ 4.5 Copying an image to the <strong>SD</strong> <strong>Card</strong> in Linux (command line)<br />

▪ 4.6 Copying an image to the <strong>SD</strong> <strong>Card</strong> in Linux (graphical interface)<br />

▪ 5 Manually resizing the <strong>SD</strong> card partitions (Optional)<br />

▪ 6 Adding a data partition (Optional)<br />

▪ 7 References<br />

Back to the Hub.<br />

Getting Started:<br />

Buying Guide - for advice on buying the Raspberry Pi.<br />

Preload your <strong>Card</strong> - for info on how to make the <strong>SD</strong> <strong>Card</strong> used to boot your Pi.<br />

Basic <strong>Setup</strong> - for help with buying other hardware and setting it up.<br />

Advanced <strong>Setup</strong> - for more extensive information on setting up.<br />

Beginners Guide - you are up and running, now what can you do?


<strong>SD</strong> <strong>Card</strong> setup<br />

To boot the Raspberry Pi, you need an <strong>SD</strong> card installed with a bootloader and a suitable<br />

Operating System. Some Raspberry Pi kits will come with a ready-to-go card, but if you<br />

didn't receive one you will need to prepare your own:<br />

Official images are available from http://www.raspberrypi.<strong>org</strong>/downloads and there is an<br />

overview of available distributions here.<br />

Warning! When you write the Raspberry Pi image to your <strong>SD</strong> card you will lose all data<br />

that was on the card.<br />

Safest/Laziest way<br />

Buy a preloaded card from RS Components, element14 or The Pi Hut's Raspberry Pi<br />

Store (http://thepihut.com/)<br />

Easiest way<br />

▪ Use an installer program. The Fedora ARM Installer (http://zenit.senecac.on.ca/wiki/<br />

index.php/<br />

Raspberry_Pi_Fedora_Remix_Installation#<strong>SD</strong>_<strong>Card</strong>_Installation_Using_the_Installer)<br />

will download and install Raspberry Pi Fedora Remix images, but it will also install<br />

other images if they are already downloaded and in uncompressed or .gz format.<br />

▪ (Mac) The RasPiWrite (https://github.com/exaviorn/RasPiWrite) utility is a python<br />

script which will walk you through the process of installing to <strong>SD</strong> card, it works with<br />

any Raspberry Pi compatible disk image, and can download one of the currently<br />

available distros if you don't have one.<br />

▪ If your Pi is connected to the Internet, you can use the BerryBoot installer<br />

(http://www.berryterminal.com/doku.php/berryboot) to let it download and install the<br />

operating system. This requires that you first use a normal Windows/Mac/Linux<br />

computer to download a small .zip file with the Berryboot system files and extract it<br />

to an empty <strong>SD</strong> card. Then you put the <strong>SD</strong> card in your Pi, and follow the on-screen<br />

prompts to complete the installation. An additional advantage is that Berryboot<br />

allows you to install more than one operating system on a single <strong>SD</strong> card. Also, it is<br />

not necessary to install any additional software on your normal Windows/Mac/Linux<br />

computer.


<strong>Easy</strong> way<br />

To write your <strong>SD</strong> card you start by downloading the <strong>SD</strong> image (the data you will write to<br />

the card). The best way to do this is using BitTorrent (http://en.wikipedia.<strong>org</strong>/wiki/<br />

BitTorrent_(protocol)) . This generally results in a faster download as it is a highly<br />

distributed system (you will be downloading the data from users who have previously<br />

downloaded it).<br />

This guide assumes you have downloaded the Debian "wheezy" image, with name<br />

2012-10-28-wheezy-raspbian. Obviously, if you are downloading a different or newer<br />

version, use the name of the version you have downloaded.<br />

Copying the image to an <strong>SD</strong> <strong>Card</strong> on Windows<br />

1. Download the image from a mirror or torrent. The remainder of this assumes you<br />

are using the Raspbian “wheezy” download 2012-10-28-wheezy-raspbian.zip<br />

▪ http://www.raspberrypi.<strong>org</strong>/downloads<br />

2. Extract the image file 2012-10-28-wheezy-raspbian.img from the downloaded<br />

.zip file.<br />

3. Insert the <strong>SD</strong> card into your <strong>SD</strong> card reader and check what drive letter it was<br />

assigned. You can easily see the drive letter (for example G:) by looking in the<br />

left column of Windows Explorer. If the card is not new, you should format it;<br />

otherwise Win32DiskImager may hang.<br />

4. Download the Win32DiskImager (https://launchpad.net/win32-image-writer)<br />

utility. The download links are on the right hand side of the page, you want the<br />

binary zip.<br />

5. Extract the executable from the zip file and run the Win32DiskImager utility. You<br />

should run the utility as Administrator!<br />

6. Select the 2012-10-28-wheezy-raspbian.img image file you extracted earlier<br />

7. Select the drive letter of the <strong>SD</strong> card in the device box. Be careful to select the<br />

correct drive; if you get the wrong one you can destroy your computer's<br />

hard disk!<br />

8. Click Write and wait for the write to complete.<br />

9. Exit the imager and eject the <strong>SD</strong> card.<br />

10. Insert the card in the Raspberry Pi, power it on, and it should boot up. There is an<br />

option in the configure script that comes up to expand the partitions to use all of<br />

the <strong>SD</strong> card if you have used one larger than 4 GB<br />

In Windows the <strong>SD</strong> card will appear only to have a fairly small size - about 75 Mbytes.<br />

This is because most of the card has a partition that is formatted for the Linux operating<br />

system that the <strong>RPi</strong> uses and is not visible in Windows.


Copying the image to an <strong>SD</strong> <strong>Card</strong> on Windows if first<br />

option isn't successful<br />

I wasn't able to choose device in Win32DiskImager on my notebook so I found a<br />

different way to achieve the same thing on windows machine..<br />

1. Download the image from a mirror or torrent<br />

▪ http://www.raspberrypi.<strong>org</strong>/downloads<br />

2. Extract the image file 2012-10-28-wheezy-raspbian.img from<br />

2012-10-28-wheezy-raspbian.zip<br />

3. Insert the <strong>SD</strong> card into your <strong>SD</strong> card reader and check what drive letter it was<br />

assigned. You can easily see the drive letter (for example H:) by looking in the<br />

left column of Windows Explorer.<br />

4. Download flashnul software from http://shounen.ru/soft/flashnul/ here is<br />

Translated version (http://translate.google.com/<br />

translate?u=http%3A%2F%2Fshounen.ru%2Fsoft%2Fflashnul%2F&hl=en&ie=UTF8&sl=ru&tl=en)<br />

▪ Download the latest version at the time of writing it was flashnul-1rc1.<br />

▪ Download and Extract the application from archive.<br />

▪ Click Start button > All Programs > Accessories > Command Prompt, right<br />

click on it and Run as Administrator.<br />

▪ Run the flashnul with argument:<br />

C:/flashnul/flashnul.exe -p<br />

1. ▪ Flashnul will tell you something like:<br />

Avaible physical drives:<br />

0 size = 250059350016 (232 Gb)<br />

1 size = 1990197248 (1898 Mb)<br />

Avaible logical disks:<br />

C:\<br />

D:\<br />

F:\<br />

G:\<br />

H:\<br />

Press ENTER to exit.<br />

<strong>SD</strong>CARD number is on left! In my case it is number 1<br />

1. ▪ Now we will use Load argument:<br />

C:/flashnul/flashnul.exe 1 -L C:/2012-10-28-wheezy-raspbian.img


where flashnul.exe -L <br />

1. ▪ Flashnul will give you a device summary and proceed caution, have a quick<br />

scan through the information to make sure you have selected the correct<br />

device, then type yes and press enter.<br />

▪ If you get a access denied error, try re-plugging the <strong>SD</strong> card. Also make sure<br />

to close all explorer windows or folders open for the device.<br />

▪ If you still get a access denied error, try substitute the device number with the<br />

drive letter followed by a colon. Eg:<br />

C:/flashnul/flashnul.exe H: -L C:/debian6/debian6-19-04-2012.img<br />

▪ If the device summary does not match Your card (the size is smaller, e.g. 75MB), but<br />

you are sure, that the letter is correct - please continue and then try again with the<br />

device number.<br />

Copying an image to the <strong>SD</strong> <strong>Card</strong> in Mac OS X (mostly<br />

graphical interface)<br />

1. Download the image from a mirror or torrent<br />

▪ http://www.raspberrypi.<strong>org</strong>/downloads<br />

2. Extract the image by double clicking on the download file<br />

3. Connect the <strong>SD</strong> <strong>Card</strong> reader with the <strong>SD</strong> <strong>Card</strong> inside; note: must be formatted in<br />

FAT32!<br />

4. From the Apple (?) menu, choose About This Mac, then click on More info...; if<br />

you are using Max OS X 10.8.x Mountain Lion then click on System report.<br />

5. Click on USB (or <strong>Card</strong> Reader if using an in-built <strong>SD</strong> <strong>Card</strong> reader) then search<br />

for your <strong>SD</strong> <strong>Card</strong> in the upper right section of the window; click it, then search<br />

for B<strong>SD</strong> name in the lower right section: must be something like diskn where n is<br />

a number (e.g.: disk4). Note this number<br />

6. Unmount the partition so that you will be allowed to overwrite the disk by<br />

opening Disk Utility and unmounting it (do not eject it, or you have to reconnect<br />

it)<br />

7. From the Terminal run:<br />

▪ sudo dd if=path_of_your_image.img of=/dev/diskn bs=1m<br />

▪ Remember to replace n with the number that you noted before!<br />

8. Wait a LONG time!<br />

9. You're done! Insert it in the raspberry pi, and have fun


Copying an image to the <strong>SD</strong> <strong>Card</strong> in Mac OS X<br />

(command line)<br />

Note: Some users have reported issues (http://www.raspberrypi.<strong>org</strong>/phpBB3/<br />

search.php?keywords=extra+files&t=8226&sf=msgonly) with using OSX to create <strong>SD</strong><br />

<strong>Card</strong>s.<br />

1. These commands and actions need to be performed from an account that has<br />

administrator privileges.<br />

2. Download the image from a mirror or torrent<br />

▪ http://www.raspberrypi.<strong>org</strong>/downloads<br />

3. Verify if the the hash key is the same (optional), in the terminal run:<br />

▪ shasum ~/Downloads/2012-10-28-wheezy-raspbian.zip<br />

4. Extract the image:<br />

▪ unzip ~/Downloads/2012-10-28-wheezy-raspbian.zip<br />

▪ (or: just double click the zip, it will extract automatically)<br />

5. From the terminal run df -h<br />

6. Connect the sdcard reader with the sdcard inside<br />

7. Run df -h again and look for the new device that wasn't listed last time. Record<br />

the device name of the filesystem's partition, e.g. /dev/disk3s1<br />

8. Unmount the partition so that you will be allowed to overwrite the disk:<br />

▪ sudo diskutil unmount /dev/disk3s1<br />

▪ (or: open Disk Utility and unmount the partition of the sdcard (do not eject it,<br />

or you have to reconnect it)<br />

9. Using the device name of the partition work out the raw device name for the<br />

entire disk, by omitting the final "s1" and replacing "disk" with "rdisk" (this is<br />

very important: you will lose all data on the hard drive on your computer if you<br />

get the wrong device name). Make sure the device name is the name of the whole<br />

<strong>SD</strong> card as described above, not just a partition of it (for example, rdisk3, not<br />

rdisk3s1. Similarly you might have another <strong>SD</strong> drive name/number like rdisk2 or<br />

rdisk4, etc. -- recheck by using the df -h command both before & after you insert<br />

your <strong>SD</strong> card reader into your Mac if you have any doubts!):<br />

▪ e.g. /dev/disk3s1 => /dev/rdisk3<br />

10. In the terminal write the image to the card with this command, using the raw disk<br />

device name from above (read carefully the above step, to be sure you use the<br />

correct rdisk# here!):<br />

▪ sudo dd bs=1m if=~/Downloads/2012-10-28-wheezy-raspbian/<br />

2012-10-28-wheezy-raspbian.img of=/dev/rdisk3<br />

▪ if the above command report an error(dd: bs: illegal numeric value), please<br />

change bs=1M to bs=1m<br />

▪ (note that dd will not feedback any information until there is an error or it is<br />

finished, information will show and disk will re-mount when complete.


However if you are curious as to the progresss - ctrl-T (SIGINFO, the status<br />

argument of your tty) will display some en-route statistics).<br />

11. After the dd command finishes, eject the card:<br />

▪ sudo diskutil eject /dev/rdisk3<br />

▪ (or: open Disk Utility and eject the sdcard)<br />

12. Insert it in the raspberry pi, and have fun<br />

Copying an image to the <strong>SD</strong> <strong>Card</strong> in Linux (command<br />

line)<br />

Please note that the use of the "dd" tool can overwrite any partition of your machine. If<br />

you specify the wrong device in the instructions below you could delete your primary<br />

Linux partition. Please be careful.<br />

1. Download the zip file containing the image from a mirror or torrent<br />

▪ http://www.raspberrypi.<strong>org</strong>/downloads<br />

2. Verify if the the hash key of the zip file is the same as shown on the downloads<br />

page (optional). Assuming that you put the zip file in your home directory (~/), in<br />

the terminal run:<br />

▪ sha1sum ~/2012-10-28-wheezy-raspbian.zip<br />

▪ This will print out a long hex number which should match the "SHA-1" line<br />

for the <strong>SD</strong> image you have downloaded<br />

3. Extract the image, with<br />

▪ unzip ~/2012-10-28-wheezy-raspbian.zip<br />

4. Run df -h to see what devices are currently mounted<br />

5. If your computer has a slot for <strong>SD</strong> cards, insert the card. If not, insert the card<br />

into an <strong>SD</strong> card reader, then connect the reader to your computer.<br />

6. Run df -h again. The device that wasn't there last time is your <strong>SD</strong> card. The left<br />

column gives the device name of your <strong>SD</strong> card. It will be listed as something like<br />

"/dev/mmcblk0p1" or "/dev/sdd1". The last part ("p1" or "1" respectively) is the<br />

partition number, but you want to write to the whole <strong>SD</strong> card, not just one<br />

partition, so you need to remove that part from the name (getting for example<br />

"/dev/mmcblk0" or "/dev/sdd") as the device for the whole <strong>SD</strong> card. Note that the<br />

<strong>SD</strong> card can show up more than once in the output of df: in fact it will if you have<br />

previously written a Raspberry Pi image to this <strong>SD</strong> card, because the <strong>RPi</strong> <strong>SD</strong><br />

images have more than one partition.<br />

7. Now that you've noted what the device name is, you need to unmount it so that<br />

files can't be read or written to the <strong>SD</strong> card while you are copying over the <strong>SD</strong><br />

image. So run the command below, replacing "/dev/sdd1" with whatever your <strong>SD</strong><br />

card's device name is (including the partition number)<br />

▪ umount /dev/sdd1


▪ If your <strong>SD</strong> card shows up more than once in the output of df due to having<br />

multiple partitions on the <strong>SD</strong> card, you should unmount all of these<br />

partitions.<br />

8. In the terminal write the image to the card with this command, making sure you<br />

replace the input file if= argument with the path to your .img file, and the "/dev/<br />

sdd" in the output file of= argument with the right device name (this is very<br />

important: you will lose all data on the hard drive on your computer if you get<br />

the wrong device name). Make sure the device name is the name of the whole <strong>SD</strong><br />

card as described above, not just a partition of it (for example, sdd, not sdds1 or<br />

sddp1, or mmcblk0 not mmcblk0p1)<br />

▪ dd bs=4M if=~/2012-10-28-wheezy-raspbian.img of=/dev/sdd<br />

▪ Please note that block size set to 4M will work most of the time, if not,<br />

please try 1M, although 1M will take considerably longer.<br />

▪ Note that if you are not logged in as root you will need to prefix this with<br />

sudo<br />

▪ The dd command does not give any information of its progress and so may<br />

appear to have frozen. It could take more than five minutes to finish writing<br />

to the card. If your card reader has an LED it may blink during the write<br />

process. To forcibly stop the copy operation you can run pkill -USR1 -n -x<br />

dd in another terminal (prefixed with sudo if you are not logged in as root).<br />

9. Instead of dd you can use dcfldd; it will give a progress report about how much<br />

has been written.<br />

10. You can check what's written to the <strong>SD</strong> card by dd-ing from the card back to your<br />

harddisk to another image, and then running diff (or md5sum) on those two<br />

images. There should be no difference.<br />

11. As root run the command sync or if a normal user run sudo sync (this will ensure<br />

the write cache is flushed and that it is safe to unmount your <strong>SD</strong> card)<br />

12. Remove <strong>SD</strong> card from card reader, insert it in the Raspberry Pi, and have fun<br />

Copying an image to the <strong>SD</strong> <strong>Card</strong> in Linux (graphical<br />

interface)<br />

If you are using Ubuntu and hesitate to use the terminal, you can use the ImageWriter<br />

tool (nice graphical user interface) to write the .img file to the <strong>SD</strong> card.<br />

1. Download the zip file containing the image from a mirror or torrent<br />

▪ http://www.raspberrypi.<strong>org</strong>/downloads<br />

2. Right click the zip file and select "Extract here"<br />

▪ ATTENTION: As of this writing (15 June 2012), there is a bug in the<br />

ImageWriter program that causes it to fail if the filename of the image file or<br />

its path (i.e. all the names of any parent folders that you extract the image file<br />

into) contain any space characters. Before going any further, ensure that<br />

neither the file name of the image you're using or the path contain any spaces


(or other odd characters, for that matter). A bug has been opened for this<br />

issue: https://bugs.launchpad.net/usb-imagewriter/+bug/1013834 Once the<br />

issue is fixed, edit this page to advise people to use an updated/patched<br />

version of ImageWriter.<br />

3. Insert the <strong>SD</strong> card into your computer or connect the <strong>SD</strong> card reader with the <strong>SD</strong><br />

card inside<br />

4. Install the ImageWriter tool from the Ubuntu Software Center<br />

5. Launch the ImageWriter tool (it needs your administrative password)<br />

6. Select the image file (example 2012-10-28-wheezy-raspbian.img) to be written to<br />

the <strong>SD</strong> card (note: because you started ImageWriter as administrator the starting<br />

point when selecting the image file is the administrator's home folder so you need<br />

to change to your own home folder to select the image file)<br />

7. Select the target device to write the image to (your device will be something like<br />

"/dev/mmcblk0" or "/dev/sdc")<br />

8. Click the "Write to device" button<br />

9. Wait for the process to finish and then insert the <strong>SD</strong> card in the Raspberry Pi<br />

Manually resizing the <strong>SD</strong> card partitions<br />

(Optional)<br />

The <strong>SD</strong> card image is sized for a 2GB card. So, if you are using an <strong>SD</strong> card with a greater<br />

capacity, you may find that only 2GB is available. If this is the case, then to gain more<br />

free space, the partitions must be resized. The Fedora Remix and the BerryBoot will<br />

automatically resize the partitions on the mounted card during the first boot. The Debian<br />

and Rasbian images won't, so you'll have to do it manually. The easiest way is to use the<br />

tool <strong>RPi</strong> raspi-config selecting menu item EXPAND-ROOTFS - Expand Root Partition to<br />

Fill <strong>SD</strong> <strong>Card</strong>. If you want to resize the <strong>SD</strong> card whilst the <strong>SD</strong> card is not mounted in the<br />

Pi, look here for instructions.<br />

Adding a data partition (Optional)<br />

If you would rather not resize the partition on another machine as described above, either<br />

because you do not have another working Linux machine or you wish to keep your data<br />

on another partition to your operating system, you can instead create a new data partition<br />

and have that mount automatically at boot.<br />

▪ First you need to become root and install parted (I did all of this from the boot<br />

command prompt, although if you feel safer in a GUI, you can do all of this in a<br />

terminal window):


sudo su -<br />

apt-get install parted<br />

▪ Then you need to run parted on your <strong>SD</strong> card, mine is /dev/mmcblk0, ymmv:<br />

parted /dev/mmcblk0<br />

▪ Once running, set the display units to something usable and then print your partition<br />

table<br />

unit chs<br />

print<br />

▪ You should see something like this:<br />

Model: <strong>SD</strong> <strong>SD</strong>08G (sd/mmc)<br />

Disk /dev/mmcblk0: 121279,3,31<br />

Sector size (logical/physical): 512B/512B<br />

BIOS cylinder,head,sector geometry: 121280,4,32. Each cylinder is 65.5kB.<br />

Partition Table: msdos<br />

Number Start End Type File system Flags<br />

1 16,0,0 1215,3,31 primary fat32 lba<br />

2 1232,0,0 26671,3,31 primary ext4<br />

3 26688,0,0 29743,3,31 primary linux-swap(v1)<br />

▪ Now you need to create your data partition - you need to choose one more than the<br />

end of partition 3 with ,0,0 as your start and use the number from the line that starts<br />

with Disk as your end:<br />

mkpart primary 29744,0,0 121279,3,31<br />

print<br />

▪ That should show your new partition:<br />

Number Start End Type File system Flags<br />

1 16,0,0 1215,3,31 primary fat32 lba<br />

2 1232,0,0 26671,3,31 primary ext4<br />

3 26688,0,0 29743,3,31 primary linux-swap(v1)<br />

4 29744,0,0 121279,3,31 primary<br />

▪ Now quit and format the partition (again, ymmv with the specific device name, try ls<br />

/dev for some clues), and then label it:<br />

quit<br />

mkfs.ext4 /dev/mmcblk0p4<br />

e2label /dev/mmcblk0p4 data<br />

▪ Now we need to make sure that the partition is mounted automatically when the<br />

system boots (maybe don't use vi if you never have before, try nano):


vi /etc/fstab<br />

▪ Enter a line exactly like this at the end of the file and save and quit your text editor:<br />

/dev/mmcblk0p4 /data ext4 defaults 1 2<br />

▪ Create the mount point:<br />

mkdir /data<br />

▪ Now mount the partition:<br />

mount /data<br />

cd /data<br />

ls<br />

Your new partition has been created!<br />

References<br />

Raspberry Pi<br />

Model Wizard - Buying Guide - <strong>SD</strong> <strong>Card</strong> <strong>Setup</strong><br />

Startup - Basic <strong>Setup</strong> - Advanced <strong>Setup</strong> - Beginners<br />

Guide - Troubleshooting<br />

Hardware - Hardware History - Low-level<br />

Hardware<br />

peripherals - Expansion Boards<br />

Peripherals Screens - Cases - Other Peripherals<br />

Software - Distributions - Kernel - Performance<br />

Software<br />

- Programming - VideoCore APIs<br />

Tutorials - Guides - Projects - Tasks -<br />

Projects<br />

DataSheets - Education - Communities<br />

Retrieved from "http://elinux.<strong>org</strong>/<br />

index.php?title=<strong>RPi</strong>_<strong>Easy</strong>_<strong>SD</strong>_<strong>Card</strong>_<strong>Setup</strong>&oldid=195308"<br />

Category: RaspberryPi<br />

▪ This page was last modified on 24 November 2012, at 14:53.<br />

▪ Content is available under a Creative Commons Attribution-ShareAlike 3.0<br />

Unported License.


<strong>RPi</strong> Beginners<br />

From <strong>eLinux</strong>.<strong>org</strong><br />

Back to the Hub.<br />

Getting Started:<br />

Buying Guide - for advice on<br />

buying the Raspberry Pi.<br />

Preload your <strong>Card</strong> - for info on<br />

how to make the <strong>SD</strong> <strong>Card</strong> used<br />

to boot your Pi.<br />

Basic <strong>Setup</strong> - for help with<br />

buying other hardware and<br />

setting it up.<br />

Advanced <strong>Setup</strong> - for more<br />

extensive information on setting<br />

up.<br />

Beginners Guide - you are up<br />

and running, now what can you<br />

do?<br />

Contents<br />

▪ 1 Where to start?<br />

▪ 2 What is Linux and why not use Windows?<br />

▪ 3 Basic Debian <strong>RPi</strong> <strong>Setup</strong><br />

▪ 3.1 Default login and password<br />

▪ 3.2 Locale settings<br />

▪ 3.3 Keyboard layout<br />

▪ 3.4 Timezone<br />

▪ 3.5 Create a new user with sudo-privileges<br />

▪ 3.6 Debian Wheezy, using raspi-config<br />

▪ 4 Intro to the CLI (Command Line Interface)<br />

▪ 5 Remote Access<br />

▪ 6 Adding more software to your Raspberry Pi<br />

▪ 7 Adding USB Storage to Your Raspberry Pi<br />

▪ 8 Beginner Projects<br />

▪ 8.1 Backup your <strong>SD</strong> card<br />

▪ 8.2 Media Player<br />

▪ 8.3 Play Games<br />

▪ 8.4 Introducing Young Children To Computers<br />

▪ 8.5 Teaching<br />

▪ 8.6 Learn To Program<br />

▪ 8.7 Interface With Hardware<br />

▪ 8.8 Word Processing/Internet Browsing etc<br />

▪ 8.9 Your Own Pet Project!<br />

▪ 9 Living Without <strong>RPi</strong><br />

▪ 9.1 Using Linux<br />

▪ 9.2 Trying Programming<br />

▪ 9.3 Controlling Hardware<br />

▪ 10 About This Page - For Contributors<br />

▪ 11 References<br />

There is some restructuring going on , we are sorry for the inconvenience.


Where to start?<br />

Any easy question to ask, but a very difficult one to answer!<br />

1. If you are looking for any information related to <strong>SD</strong> <strong>Card</strong>s and setup look<br />

here<br />

2. If you need to get a <strong>RPi</strong>, the see the Buying Guide.<br />

3. If you need to know what equipment you will need and how to set it up, see the<br />

Basic Hardware <strong>Setup</strong> page.<br />

4. If you need to install/setup an <strong>SD</strong> card see the Preload your <strong>Card</strong> section.<br />

5. If something is not working, check the Troubleshooting section.<br />

6. If you need help with Debian, try the Debian Wiki (http://wiki.debian.<strong>org</strong>/<br />

FrontPage) .<br />

7. If you have imaged a <strong>SD</strong> with the Debian Wheezy image and started your <strong>RPi</strong><br />

here's some help with what you see first - the raspi-config menu <strong>RPi</strong>_raspi-config<br />

8. Help for Noob's with a quizical disposition and Wheezy or Raspbian instalations<br />

here<br />

9. If you don't have a composite monitor or HDMI then it may be worth you<br />

looking at Blind Login Method<br />

10. Build yourself a Wheezy LAMP webserver.<br />

11. VNC connection for the monitorily challenged Noob VNC for a wheezy install<br />

(noobs that are using the Blind Login)<br />

12. If you've done all that, and you are wondering what next...welcome and read on!<br />

References needed (idea for new section Living Without <strong>RPi</strong>, which can guide users or link to info to users wh<br />

Link to emulation builds or live linux cds setup for beginners (RacyPy2 for example)<br />

If you don't have a Raspberry Pi yet, you can still try things out, see Windows <strong>RPi</strong><br />

Emulator (http://sourcef<strong>org</strong>e.net/projects/rpiqemuwindows/) for details.<br />

What is Linux and why not use<br />

Windows?<br />

Linux is an operating system just like Windows, however, unlike Windows (which needs<br />

a set hardware requirement to run i.e. One Size fits or get different hardware), Linux<br />

comes in many varieties and configurations which means you can usually find a flavour<br />

(or Distribution) which fits your hardware big or small / fast or slow.


The Raspberry Pi is not suited to running Windows due to its hardware, but there are<br />

plenty of Linux Distributions which fit nicely. In addition to this, most Distributions of<br />

Linux are free, however Windows can cost many times the price of the Raspberry Pi<br />

itself.<br />

Chances are you already have Linux running in your home without you even knowing it,<br />

since it is commonly used in modern TVs, Freeview and cable boxes to run things and<br />

ensure your recording of Inbetweeners or Prison Break gets done!<br />

For more information about Linux see Wikipedia (http://en.wikipedia.<strong>org</strong>/wiki/Linux)<br />

Also see FAQ And Running XXX on the <strong>RPi</strong><br />

Basic Debian <strong>RPi</strong> <strong>Setup</strong><br />

When you first turn on your Raspberry Pi with it's fresh Debian image on the <strong>SD</strong> card,<br />

you will likely want to tweak the system settings.<br />

Default login and password<br />

See the Username:Password column of distributions table to access your Pi.<br />

Locale settings<br />

By configuring the locale settings, you can change the language and country settings (e.g.<br />

to get correct sorting behaviour) for much of the software available for the <strong>RPi</strong>. The<br />

default <strong>RPi</strong> locale is English/Great Britain ("en_GB").<br />

You can alter this with<br />

sudo dpkg-reconfigure locales<br />

You will get a very long list of possible locales. You can enable/disable a locale by<br />

pressing the spacebar (not Enter), and scroll through the list using the arrow keys or<br />

PgUp/PgDn.<br />

Selecting "All locales" will generate all possible locales, taking a very long time and<br />

using a great deal of space. Select only those you wish to use.<br />

It is highly recommended to stick to the UTF-8 locales, and to leave the en_GB.UTF-8<br />

locale enabled, in addition to any other locales you enable.


If you're unsure of which locale to pick, look up a two-letter language code and a twoletter<br />

country code on Wikipedia, and see if you can find a matching locale.<br />

When you're done picking locale(s), press Enter. You will be prompted to select a default<br />

locale as well.<br />

Keyboard layout<br />

If different letters appear on-screen from that which you typed, you need to reconfigure<br />

you keyboard settings. In Debian, from a command line type:<br />

sudo dpkg-reconfigure keyboard-configuration<br />

Follow the prompts.<br />

Or: From the command line type:<br />

sudo nano /etc/default/keyboard<br />

Then find where it says<br />

XKBLAYOUT="gb"<br />

and change the gb to the two-letter code for your country. [1]<br />

(http://www.raspberrypi.<strong>org</strong>/phpBB3/viewtopic.php?p=78325#p78325)<br />

Also, see the Troubleshooting Guide for more information about remapping the<br />

keyboard.<br />

You may need to restart for the changes to take effect.<br />

If you get a very long delay during the keyboard mapping at startup, type the following<br />

once on the command line after you have logged in:<br />

sudo setupcon<br />

If the selected keyboard layout is not applied in the console (that is, when not running<br />

under X), try:<br />

sudo apt-get install console-data


Timezone<br />

Unless you live in Great Britain, you'll have to change the default timezone:<br />

sudo dpkg-reconfigure tzdata<br />

Select geographic area - Europe, America or whatever. Etc gives UNIX compatible time<br />

zones including CUT, GMT, UTC<br />

Select city<br />

Follow the prompts to finish the config. The change should be immediate.<br />

Create a new user with sudo-privileges<br />

You may want to create a new user account for yourself.<br />

Type in following command in the terminal to create a new user (for example the user<br />

john):<br />

sudo adduser john<br />

Follow the steps.<br />

To allow the newly created user to use the "sudo" command, type:<br />

sudo visudo<br />

Add following line under the "root ALL=(ALL) ALL" Line:<br />

john ALL=(ALL) ALL<br />

Now press CTRL+O, X to save and exit the editor.<br />

Alternatively instead of adding the user to the sudoers list, you can add your user to the<br />

sudo group with the following command:<br />

adduser john sudo


Debian Wheezy, using raspi-config<br />

Debian Wheezy has a menu that will do some of the above and more. See raspi-config<br />

Intro to the CLI (Command Line<br />

Interface)<br />

You will need to use the Command Line Interface at some point in your management of<br />

the <strong>RPi</strong>. The command line interface is a powerful way to interact with the Raspberry Pi<br />

and is well worth learning some basic commands to get started with.<br />

For an introductory guide to some basic commands please see: Command Line Interface<br />

"Must Have" Commands (http://elinux.<strong>org</strong>/CLI_Spells) . Featured on the Raspberry Pi<br />

home page (http://www.raspberrypi.<strong>org</strong>/archives/1414) was also a link to this site for<br />

"learning the shell" (http://linuxcommand.<strong>org</strong>/learning_the_shell.php)<br />

Your <strong>SD</strong> card may boot into a GUI, if not and you are done with the text interface and<br />

want to use a graphical one instead, run:<br />

startx<br />

Remote Access<br />

Your default install probably has a ssh (secure shell) "daemon" running. This means that<br />

you can run everything on your Rpi with only the network attached. Provided you know<br />

which ip address it has. With appropriate software installed on your Winodws, Mac or<br />

Linux PC, you can also run a gui remotely.<br />

Prior to your initial remote access it is recommended that you regenerate unique host<br />

public/private ID keys with the following command<br />

rm /etc/ssh/ssh_host_* && dpkg-reconfigure openssh-server<br />

More details about remote access (including remote GUI are at <strong>RPi</strong> Remote Access


Adding more software to your Raspberry<br />

Pi<br />

You will probably want to add software to your Raspberry Pi. Here you can find out how<br />

to do it. Adding Software (http://elinux.<strong>org</strong>/Add_software)<br />

Adding USB Storage to Your Raspberry<br />

Pi<br />

Sooner or later, you're going to run out of room on the <strong>SD</strong> card used to boot up your<br />

Raspberry Pi. For a tutorial on how to connect USB flash drives and hard drives to your<br />

Pi to expand storage, see: Adding USB Drives to a Raspberry Pi (http://elinux.<strong>org</strong>/<br />

<strong>RPi</strong>_Adding_USB_Drives)<br />

Beginner Projects<br />

Here are a few things you can try out with your Raspberry Pi, in most cases all you'll<br />

need is your <strong>SD</strong> <strong>Card</strong> loaded with a particular preconfigured OS Distribution.<br />

It will be worth getting a few spare <strong>SD</strong> <strong>Card</strong>s if you think you will switch between setups<br />

regularly or become familiar with how to back up and restore your card.<br />

Reference needed - a good guide on how to backup and restore cards or software to do this easily<br />

Backup your <strong>SD</strong> card<br />

For Windows users the 'Raw HDD Copy Tool' from HDD Guru works well to backup and<br />

restore your <strong>SD</strong> card between proejcts. This can backup and restore the entire card sector<br />

by sector to/from an img file, and doesn't care which file system is on the card.<br />

http://hddguru.com/software/HDD-Raw-Copy-Tool/<br />

Linux users can use the dd tool that comes with most versions of Linux (including<br />

Raspbian) to save the contents of an <strong>SD</strong> card as an image file. Warning: be sure to use<br />

this tool carefully as accidentally choosing your hard drive as the output may destroy all<br />

data on it.


Media Player<br />

With this configuration you will typically have the Raspberry Pi connected to a TV or<br />

large monitor and a source of videos/music/photos etc you wish to play (i.e. Internet/<br />

hard-drive/local network etc).<br />

DesignSpark have written an article on this, which is worth a look, DesignSpark -<br />

Raspberry Pi goes to the movies (http://www.designspark.com/content/raspberry-pi-goesmovies)<br />

You can download an installer from www.raspbmc.com which will install to your desktop<br />

(IOS, Windows, Linux) and write the latest install to your <strong>SD</strong> card. You then boot your Pi<br />

with the card and go through the config steps.<br />

There is a breif video basic tutorial here: http://www.instructables.com/id/RaspberryPi-<br />

Media-center-XMBC/<br />

Reference needed - More information is needed on specific configuration choices for<br />

raspbmc, although raspbmc.com does have a wiki.<br />

Play Games<br />

While there are not any commercial games for the Raspberry Pi (yet) there are plenty<br />

ways to play games on it.<br />

Many distributions will have games built into them, and some may well support<br />

emulation of other platforms so you can run those games.<br />

Also, a lot of Raspberry Pi users will be writing simple games which will be available for<br />

others to enjoy (and if desired added to or modified).<br />

Reference needed - game section is empty at the moment!<br />

See the Games Section for more details<br />

Introducing Young Children To Computers<br />

Reference needed - some kid friendly and fun stuff!


Teaching<br />

There is a huge number of groups, links and resources available within the Education<br />

section.<br />

Reference needed - links to the learning pages, education links and school/university groups<br />

Learn To Program<br />

There is a huge selection of programming languages which you can use to write<br />

interesting programs, games, applications and utilities. There are also more great links<br />

within the Education section.<br />

There is a huge selection to choose from (not just Python...) which should suit any ability<br />

and a range of purposes.<br />

If you are new to programming, there are plenty of tutorials for getting started in the<br />

Tutorials Section.<br />

Books about programming can be found in the Books Section.<br />

In the latest Debian, Python (+Pygame) and MIT Scratch are pre-installed.<br />

Reference needed - links to the learning pages, recommended books?<br />

Interface With Hardware<br />

1. Interfacing with Arduino<br />

Reference needed - links to basic circuits tutorials and expansion boards<br />

Word Processing/Internet Browsing etc<br />

Yes, the Raspberry Pi can do the majority of the dull stuff too which other computers do.<br />

Debian currently comes with Midori installed for web browsing and word processing<br />

programs be installed rather easily.


▪ Entering "sudo apt-get install chromium-browser" into a terminal will install<br />

Chromium which is generally a faster and more featured browser than Midori<br />

▪ Entering "sudo apt-get install openoffice.<strong>org</strong>" into a terminal will install<br />

OpenOffice.<strong>org</strong>, a free Microsoft Office-like application suite<br />

▪ Entering "sudo apt-get install abiword-common" into a terminal will install AbiWord,<br />

a lighter weight but still fully functional word processor<br />

▪ Entering "sudo apt-get install gnumeric" into a terminal will install Gnumeric, a<br />

lighter weight but still fully functional spreadsheet<br />

More information needed<br />

Your Own Pet Project!<br />

The sky is the limit really, with some time and effort any number of projects can be<br />

achieved.<br />

Even if you don't have the skill to do it yourself, you can join like minded people by<br />

getting involved with one of the numerous groups in the Community Section, also within<br />

the Education pages or learn what you need in from the Guides & Tutorials sections.<br />

Of course, if you do anything interesting then please let us know in the Projects section.<br />

Living Without <strong>RPi</strong><br />

Even if you do not have any Raspberry Pi hardware there are a number things you can do<br />

to learn about linux, programming or even controlling hardware.<br />

Using Linux<br />

You can install a version of Linux on most computers, and many you will be able to "try<br />

out" Linux by using a "Live CD" - this will start your computer up running from a CD or<br />

DVD and run Linux (without installing anything to the computer itself).<br />

RacyPy - This is a simple LiveCD of Puppy Linux which includes some basic<br />

programming languages and a light-weight graphical user interface (GUI).<br />

You can get it from here:<br />

teampython RacyPy (http://teampython.wordpress.com/2012/03/03/while-you-wait-foryour-raspberry-pi-why-not-use-racypy2/)


Trying Programming<br />

Many of the programming languages you can use on the Raspberry Pi can be installed on<br />

a Windows or Mac machine. Just visit the websites of the languages you are interested in<br />

and see if they have an installer for your operating system.<br />

Controlling Hardware<br />

As discussed in the <strong>Easy</strong> GPIO Hardware & Software tutorials, there are lots of<br />

alternative hardware you can use to experiment with (some as little as $5).<br />

About This Page - For Contributors<br />

The intention of this page is to provide a starting point for beginners and to direct them<br />

to the kind of information a person would need in order to start doing something useful or<br />

interesting with a Raspberry Pi.<br />

It is not intended to contain or replicate much of the information already available on-line<br />

or elsewhere in the wiki, however please create new wiki pages and link them here if<br />

there is information beginners will find useful (similarly any section which grows too<br />

much here, should be separated into new pages as and when needed)!<br />

At the moment building up ideas of content of typical things beginners will want to know and the kind of thin<br />

References<br />

Raspberry Pi<br />

Model Wizard - Buying Guide - <strong>SD</strong> <strong>Card</strong> <strong>Setup</strong><br />

Startup - Basic <strong>Setup</strong> - Advanced <strong>Setup</strong> - Beginners<br />

Guide - Troubleshooting<br />

Hardware - Hardware History - Low-level<br />

Hardware<br />

peripherals - Expansion Boards<br />

Peripherals Screens - Cases - Other Peripherals<br />

Software - Distributions - Kernel - Performance<br />

Software<br />

- Programming - VideoCore APIs


Tutorials - Guides - Projects - Tasks -<br />

Projects<br />

DataSheets - Education - Communities<br />

Retrieved from "http://elinux.<strong>org</strong>/index.php?title=<strong>RPi</strong>_Beginners&oldid=189392"<br />

Category: RaspberryPi<br />

▪ This page was last modified on 6 November 2012, at 20:54.<br />

▪ Content is available under a Creative Commons Attribution-ShareAlike 3.0<br />

Unported License.


<strong>RPi</strong> Hardware Basic <strong>Setup</strong><br />

From <strong>eLinux</strong>.<strong>org</strong><br />

Back to the Hub.<br />

Getting Started:<br />

Buying Guide - for advice on<br />

buying the Raspberry Pi.<br />

Preload your <strong>Card</strong> - for info on<br />

how to make the <strong>SD</strong> <strong>Card</strong> used<br />

to boot your Pi.<br />

Basic <strong>Setup</strong> - for help with<br />

buying other hardware and<br />

setting it up.<br />

Advanced <strong>Setup</strong> - for more<br />

extensive information on<br />

setting up.<br />

Beginners Guide - you are up<br />

and running, now what can you<br />

do?<br />

Contents<br />

▪ 1 Typical Hardware You Will Need<br />

▪ 1.1 Prepared Operating System <strong>SD</strong> <strong>Card</strong><br />

▪ 1.2 Keyboard & Mouse<br />

▪ 1.3 Display<br />

▪ 1.4 Power Supply<br />

▪ 1.5 Cables<br />

▪ 1.6 Additional Peripherals<br />

▪ 1.6.1 Internet Connectivity<br />

▪ 1.6.2 USB-Hub<br />

▪ 1.6.3 Heatsink<br />

▪ 1.6.4 Case<br />

▪ 1.6.5 Real Time Clock<br />

▪ 1.6.6 <strong>SD</strong> card reader<br />

▪ 1.6.7 Expansion & Low Level Peripherals<br />

▪ 2 Connecting Together<br />

▪ 3 External Links<br />

▪ 4 References<br />

Typical Hardware You Will Need<br />

While the <strong>RPi</strong> can be used without any additional hardware (except perhaps a power<br />

supply of some kind), it won't be much use as a general computer. As with any normal<br />

PC, it is likely you will need some additional hardware.<br />

IMPORTANT For USB devices other than a mouse and a simple wired keyboard (for<br />

USB devices drawing more than 100mA) a powered USB hub is strongly recommended.<br />

A technical discussion as to why can be found here (http://www.raspberrypi.<strong>org</strong>/phpBB3/<br />

viewtopic.php?f=24&t=5830) . Specifically the RPI's built in USB hub is designed only<br />

for "Single current unit" USB devices. Note that when using Revision 2 (or later) boards


the problem has been mitigated somewhat with the removal of the USB polyfuses, still<br />

due to the limited current the PI can provide to USB devices, due to its main polyfuse, its<br />

still recommended to use a hub for all USB peripherals requiring more than 100mA.<br />

The following are more or less essential, and are all available from The Pi Hut's<br />

Raspberry Pi Store (http://thepihut.com/) :<br />

▪ Raspberry Pi board<br />

▪ Prepared Operating System <strong>SD</strong> <strong>Card</strong><br />

▪ USB keyboard<br />

▪ Display (with HDMI, DVI, Composite or SCART input)<br />

▪ Power Supply<br />

▪ Cables<br />

Highly suggested extras include:<br />

▪ USB mouse<br />

▪ Internet connectivity - a USB WiFi adaptor (Model A/B) or a LAN cable (Model B)<br />

▪ Powered USB Hub<br />

▪ Case<br />

▪ Real Time Clock - If you can't count on Network Time<br />

▪ <strong>SD</strong> card reader - if you need to prepare your own <strong>SD</strong> card<br />

Prepared Operating System <strong>SD</strong> <strong>Card</strong><br />

As the <strong>RPi</strong> has no internal storage or built-in operating system it requires an <strong>SD</strong>-<strong>Card</strong> that<br />

is set up to boot the <strong>RPi</strong>.<br />

▪ Have a look at <strong>RPi</strong> <strong>Easy</strong> <strong>SD</strong> <strong>Card</strong> <strong>Setup</strong> to create your own preloaded <strong>SD</strong> <strong>Card</strong>.<br />

▪ If you want an extensive technical explanation, look here : Create your own<br />

preloaded card using any <strong>RPi</strong> VerifiedPeripherals#<strong>SD</strong>_cards card you have and this<br />

HowTo .<br />

▪ Preloaded <strong>SD</strong> cards will be available from the <strong>RPi</strong> Shop<br />

(http://www.raspberrypi.com) , The Pi Hut's Raspberry Pi Store<br />

(http://thepihut.com/) or eBay (http://www.ebay.co.uk/itm/330743733755) .<br />

▪ For configuration of boot options and extensive graphic modes, look at the<br />

Configuration page.<br />

NOTE: An <strong>RPi</strong> <strong>SD</strong> card can only be used to boot an <strong>RPi</strong>. A normal PC will refuse to boot<br />

from an <strong>RPi</strong> <strong>SD</strong> card.<br />

This guide will assume you have a preloaded <strong>SD</strong> card.<br />

To check your <strong>SD</strong> card is compatible with Linux, see <strong>RPi</strong> VerifiedPeripherals#<strong>SD</strong>_cards.


Keyboard & Mouse<br />

Most standard USB keyboards and mice will work with the <strong>RPi</strong>. Wireless keyboard/mice<br />

should also function, and only require a single USB port for an RF dongle. In order to use<br />

a Bluetooth keyboard or mouse you would need to use a Bluetooth dongle, which again<br />

uses a single port.<br />

Remember that the Model A has a single USB port and the Model B only has two<br />

(typically a keyboard and mouse will use a USB port each) - see USB Hub below.<br />

To check your mouse and keyboard are compatible with Linux, see <strong>RPi</strong> Verified<br />

Peripherals.<br />

Display<br />

There are two main connection options for the <strong>RPi</strong> display, HDMI (high definition) and<br />

Composite (low definition).<br />

▪ HD TVs and most LCD Monitors can be connected using a full-size 'male' HDMI<br />

cable, and with an inexpensive adaptor if DVI is used. HDMI versions 1.3 and 1.4 are<br />

supported, and a version 1.4 cable is recommended. The <strong>RPi</strong> outputs audio and video<br />

via HMDI, but does not support HDMI input.<br />

▪ Most older TVs can be connected using Composite (a yellow-to-yellow cable). PAL<br />

and NTSC TVs are supported. Note that the RCA output is composite video, not RF,<br />

so it cannot be connected directly to the antenna input of a TV, you need to connected<br />

it the the yellow video input connector, or to the SCART input using a RCA to<br />

SCART plug, (adapter).<br />

When using composite video, audio is available from a 3.5mm (1/8 inch) socket, and can<br />

be sent to your TV, or to an amplifier. To send audio to your TV, you will need a cable<br />

which adapts from 3.5mm to double (red and white) RCA connectors. These red and<br />

white can go into the red and white RCA plug inputs of a TV, or a stereo set, or to the<br />

above mentioned RCA to SCART plug. Another option for audio (when not using<br />

HDMI) is to connect the 3.5mm jackplug to an amplified speakerset. Do not connect the<br />

3.5 mm jack directly to a headset, as the 3.5 mm audio output isn't suitable to drive<br />

headsets, only amplifier inputs. Attaching a low impedance load, (such as a headset) to<br />

the stereo audio output may lead to distorted sound.<br />

Note: There is no VGA output available, so older VGA monitors will require an<br />

expensive adaptor.<br />

Using an HDMI to DVI-D (digital) adaptor plus a DVI to VGA adaptor will not work.<br />

HDMI does not supply the DVI-A (analogue) needed to convert to VGA - converting an<br />

HDMI or DVI-D source to VGA (or component) needs an active converter. (It can work


out cheaper to buy a new monitor.) The lack of VGA has been acknowledged as a priority<br />

issue. In a Q/A with Slashdot (http://interviews.slashdot.<strong>org</strong>/story/11/09/14/1554243/<br />

Eben-Upton-Answers-Your-Questions) Eben said that they plan to look into providing<br />

some form of add-on.<br />

For detailed information see Rpi Screens.<br />

Power Supply<br />

The unit uses a Micro USB connection to power itself (only the power pins are connected<br />

- so it will not transfer data over this connection). A standard modern phone charger with<br />

a micro-USB connector will do, but needs to produce at least 700mA at 5 volts. Check<br />

your power supply's ratings carefully, and beware cheap knock-offs!<br />

(http://www.raspberrypi.<strong>org</strong>/forum/general-discussion/power-supply-warning) . Suitable<br />

mains adaptors will be available from the <strong>RPi</strong> Shop (http://www.raspberrypi.com) as well<br />

as The Pi Hut's Raspberry Pi Store (http://thepihut.com/collections/power-supplies) or<br />

eBay (http://www.ebay.co.uk/itm/330757401271) and are recommended if you are unsure<br />

what to use.<br />

You can use a range of other power sources (assuming they are able to provide enough<br />

current ~700mA):<br />

▪ Computer USB Port or powered USB hub (will depend on power output)<br />

▪ Special wall warts with USB ports<br />

▪ Mobile Phone Backup Battery (will depend on power output) (in theory - needs<br />

confirmation)<br />

▪ Modern TV with built-in USB (for example, it has been shown to work with the Sony<br />

KDL-40HX723 and KDL-55NX813)<br />

▪ Internet Routers with USB Ports (the BT Home Hub 3 seems to run the Pi nicely)<br />

To use the above, you'll need a USB A 'male' to USB micro 'male' cable - these are often<br />

shipped as data cables with mobile phones.<br />

For detailed information about power requirements see <strong>RPi</strong> Hardware - Power.<br />

Cables<br />

You will probably need a number of cables in order to connect your <strong>RPi</strong> up.<br />

1. Micro-B USB Power Cable (see above) picture (http://en.wikipedia.<strong>org</strong>/wiki/<br />

File:MicroB_USB_Plug.jpg) . This has to be a high quality one. Tested cables<br />

available at The Pi Hut's Raspberry Pi Store (http://thepihut.com/collections/<br />

cables)


2. HDMI-A picture (http://en.wikipedia.<strong>org</strong>/wiki/File:HDMI.jpg) or Composite<br />

cable picture (http://en.wikipedia.<strong>org</strong>/wiki/File:Composite-video-cable.jpg) , plus<br />

DVI adaptor picture (http://en.wikipedia.<strong>org</strong>/wiki/<br />

File:Adapter_dvi_hdmi_S7302224_wp.jpg) or SCART adaptor picture<br />

(http://en.wikipedia.<strong>org</strong>/wiki/File:Multiconnector-scart-chti.jpg) if required, to<br />

connect your <strong>RPi</strong> to the Display/Monitor/TV of your choice. Tested cables<br />

available at The Pi Hut's Raspberry Pi Store (http://thepihut.com/collections/<br />

cables)<br />

3. Audio cable picture (http://en.wikipedia.<strong>org</strong>/wiki/File:Audio-TRS-Mini-<br />

Plug.jpg) , this is not needed if you use a HDMI TV/monitor.<br />

4. Ethernet/LAN Cable (see below) picture (http://en.wikipedia.<strong>org</strong>/wiki/<br />

File:Ethernet_RJ45_connector_p1160054.jpg) .<br />

The price you pay for an HDMI cable can very wildly and under most circumstances a<br />

low-cost cable from a reputable online or local supplier will be absolutely fine, but the<br />

definition of what constitutes 'low cost' can vary wildly - for example, in the UK, a 1m<br />

cable can be purchased for anything between £1 and £24.99. If, however, you want to<br />

drive a display some distance from the <strong>RPi</strong> (say greater than the ubiquitous 1.8m/6ft), or<br />

you are using a video switch to share a display between several devices, then higher<br />

quality cables might be wise - for example, a pair of 1m HDMI cables purchased in a UK<br />

'pound shop' worked fine when directly connected between the <strong>RPi</strong> and a display, but<br />

would not give a stable picture when used via an HDMI switch. Replacing the £1 1m<br />

cable with a 1.5m cable bought online for £1.30 fixed the problem. For more insight:<br />

Why you don't need to spend more than £2 on an HDMI cable<br />

(http://www.techradar.com/news/video/why-you-dont-need-to-spend-more-than-2-on-anhdmi-cable-1071343)<br />

Additional Peripherals<br />

You may decide you want to use various other devices with your <strong>RPi</strong>, such as Flash<br />

Drives/Portable Hard Drives, Speakers etc.<br />

For detailed information see <strong>RPi</strong> Verified Peripherals.<br />

Internet Connectivity<br />

This may be an Ethernet/LAN cable (standard RJ45 connector) or a USB WiFi adaptor.<br />

The <strong>RPi</strong> ethernet port is auto-sensing which means that it may be connected to a router or<br />

directly to another computer (without the need for a crossover cable [1] ).<br />

Support for USB WiFi adaptors will vary - see <strong>RPi</strong> Verified Peripherals.


Note: If a Netgear router has a blank in the fourth box of the subnet mask, raspbian will<br />

interpret that as a 255, not as a '0' like Ubuntu will do. This will give you a subnet mask<br />

of 255.255.255.255 and a useless network connection. Changing the router's setting to<br />

put a '0' in the last field and reinitializing the network will fix this.<br />

USB-Hub<br />

In order to connect additional devices to the <strong>RPi</strong>, you may want to obtain a USB Hub,<br />

which will allow multiple devices to be used.<br />

It is nearly a requirement that a powered hub is used - this will provide any additional<br />

power to the devices without affecting the <strong>RPi</strong> itself. The USB ports are fused at about<br />

140ma each without an additional external power source. This not enough to power a<br />

hard drive, and you may even have trouble powering wireless adapters and other<br />

peripherals. There is enough current out there, however, for mice and most keyboards.<br />

(see <strong>RPi</strong> Hardware - Power section).<br />

USB version 2.0 is recommended. USB version 1.1 is fine for keyboards and mice, but<br />

may not be fast enough for other accessories.<br />

Heatsink<br />

Not a vital accessory for your <strong>RPi</strong>, but will help to reduce the CPU's temperature whilst<br />

under load. Available from Etsy (http://www.etsy.com/shop/nhslzt) The Pi Hut's<br />

Raspberry Pi Store (http://thepihut.com/collections/heatsinks) or eBay<br />

(http://www.ebay.co.uk/itm/330758220781)<br />

Case<br />

Since the <strong>RPi</strong> is supplied without a case, it will be important to ensure that you do not use<br />

it in places where it will come into contact with conductive metal or liquids, unless<br />

suitably protected. Some form of case should be considered, and there is a Rpi case<br />

thread (http://www.raspberrypi.<strong>org</strong>/forum/general-discussion/cases-for-the-raspberry-pi)<br />

on the forum. Cases are also available from The Pi Hut's Raspberry Pi Store<br />

(http://thepihut.com/collections/cases)<br />

For detailed information see Rpi Cases.<br />

Real Time Clock<br />

There are a number of possible solutions for real time clocks, but so far, most are either<br />

expensive or not particularly friendly.


One promising device is the Cymbet Evaluation board (CBC-EVAL-06) available from<br />

digikey for approximately $30. Cymbet is in the business of making small batteries and<br />

this eval board is intended just as a demonstration of their product using COTS parts on a<br />

small board that plugs directly into the USB. Their product is actually the batter that<br />

backs up the RTC memory and oscillator when not receiving power from the USB.<br />

However, this demo board is very well suited to this application. Ideally, a makeroriented<br />

company will pick up this reference design and start producing boards based on<br />

it at a lower cost in larger volume.<br />

To use this board, you will need some software. libmpsse from Google Code<br />

(http://code.google.com/p/libmpsse/) is a GPL library that can talk to the board in userspace.<br />

User friendly software is a work in progress visible on GITHub http://github.com/<br />

owendelong/Cymbet-RTC<br />

<strong>SD</strong> card reader<br />

If you will not use a preloaded <strong>SD</strong> card to boot from, you will need an <strong>SD</strong> card reader to<br />

prepare an <strong>SD</strong> card.<br />

Note that the <strong>SD</strong> card reader will be connected to a traditional PC, not to the <strong>RPi</strong>. You<br />

may use an <strong>SD</strong> card reader integrated into your PC, or you may use a dedicated USBconnected<br />

<strong>SD</strong> card reader. Note that several peripherals may also be used as an <strong>SD</strong> card<br />

reader, for example cameras, smartphones, camcorders and GPS units.<br />

Expansion & Low Level Peripherals<br />

If you plan on making use of the low level interfaces available on the <strong>RPi</strong>, then ensure<br />

you have suitable header pins for the GPIO (and if required JTAG) suitable for your<br />

needs.<br />

Also if you have a particular low-level project in mind, then ensure you design in suitable<br />

protection circuits to keep your <strong>RPi</strong> safe (details will be made available within the <strong>RPi</strong><br />

Projects, Guides & Tutorials section).<br />

For detailed information see Rpi Low-level Peripherals.


Connecting Together<br />

You can use the diagram to connect everything<br />

together, or use the following instructions:<br />

1. Plug the preloaded <strong>SD</strong> <strong>Card</strong> into the Pi.<br />

2. Plug the USB keyboard and mouse into the<br />

Pi, perhaps via a USB Hub. Connect the Hub<br />

to power, if necessary.<br />

3. Plug the video cable into the screen (TV) and<br />

into the Pi.<br />

4. Plug your extras into the Pi (USB WiFi,<br />

Ethernet cable, hard drive etc.). This is where<br />

you may really need a USB Hub.<br />

5. Ensure that your USB Hub (if any) and<br />

screen are working.<br />

6. Plug the power source into the main socket.<br />

7. With your screen on, plug the other end of<br />

the power source into the Pi.<br />

8. The Pi should boot up and display messages<br />

on the screen.<br />

A diagram denoting the places of<br />

the different components on the<br />

Rpi, made by Paul Beech. Click to<br />

enlarge.<br />

It is always recommended to connect the MicroUSB<br />

Power to the unit last (while most connections can be<br />

made live, it is best practice to connect items such as displays and other connections with<br />

the power turned off).<br />

If you use both a R-PI power supply and a powered hub, its recommended you connect<br />

them to the same switched power bar, and use the switch on the power bar to switch off<br />

both the R-PI and hub at the exact same time.<br />

Also, always shutdown using the software shutdown function, not by pulling the plug.<br />

When not using a GUI, (with a GUI use the GUI command) you can use the command<br />

"shutdown -h now", and power off when all the LED's on the board (except the power<br />

LED) go off. This is especially important the first time you boot, as in the process the R-<br />

PI modifies the content of the <strong>SD</strong>-card, without a clean shutdown the contents of the card<br />

may be damaged.<br />

The <strong>RPi</strong> may take a long time to boot when powered-on for the first time, so be patient,<br />

and cleanly shutdown afterwards, as described above!


External Links<br />

For a verbose guide aimed at absolute beginners, see Peripherals You'll Need<br />

(http://h2g2.com/A13413584) and Getting Started (http://h2g2.com/A9143796) in h2g2's<br />

'Introducing the Raspberry Pi'.<br />

References<br />

1. ↑ Wikipedia:Auto-MDIX (http://en.wikipedia.<strong>org</strong>/wiki/<br />

Medium_dependent_interface#Auto-MDIX)<br />

Raspberry Pi<br />

Model Wizard - Buying Guide - <strong>SD</strong> <strong>Card</strong> <strong>Setup</strong><br />

Startup - Basic <strong>Setup</strong> - Advanced <strong>Setup</strong> - Beginners<br />

Guide - Troubleshooting<br />

Hardware - Hardware History - Low-level<br />

Hardware<br />

peripherals - Expansion Boards<br />

Peripherals Screens - Cases - Other Peripherals<br />

Software - Distributions - Kernel - Performance<br />

Software<br />

- Programming - VideoCore APIs<br />

Tutorials - Guides - Projects - Tasks -<br />

Projects<br />

DataSheets - Education - Communities<br />

Retrieved from "http://elinux.<strong>org</strong>/<br />

index.php?title=<strong>RPi</strong>_Hardware_Basic_<strong>Setup</strong>&oldid=178880"<br />

Category: RaspberryPi<br />

▪ This page was last modified on 8 October 2012, at 14:50.<br />

▪ Content is available under a Creative Commons Attribution-ShareAlike 3.0<br />

Unported License.


<strong>RPi</strong> Peripherals<br />

From <strong>eLinux</strong>.<strong>org</strong><br />

<strong>Setup</strong> examples for various peripherals<br />

Wireless: TP-Link TL-WN722N USB wireless adapter (Debian 6)<br />

See also:<br />

http://www.element14.com/community/docs/DOC-44703/l/raspberry-pi-wifi-adaptertesting<br />

http://omer.me/2012/04/setting-up-wireless-networks-under-debian-on-raspberry-pi/<br />

This will serve as a general guide for USB wireless devices but may need modifying for<br />

your specific one.<br />

▪ Edit /etc/apt/sources.list to add the non-free archive and backports (eg: sudo vi /etc/<br />

apt/sources.list):<br />

deb http://ftp.us.debian.<strong>org</strong>/debian/ squeeze main non-free<br />

deb http://security.debian.<strong>org</strong>/ squeeze/updates main non-free<br />

deb http://ftp.us.debian.<strong>org</strong>/debian/ squeeze-updates main non-free<br />

deb http://backports.debian.<strong>org</strong>/debian-backports squeeze-backports main non-free<br />

▪ Update the package cache:<br />

sudo apt-get update<br />

▪ Download the wifi utils:<br />

sudo apt-get install wireless-tools usbutils<br />

▪ Download the required firmware and put it in the correct location - you may not need<br />

to do this for your adapter or you may need different firmware - see below.<br />

sudo apt-get install firmware-atheros<br />

sudo wget http://linuxwireless.<strong>org</strong>/download/htc_fw/1.3/htc_9271.fw<br />

sudo cp htc_9271.fw /lib/firmware<br />

▪ Add adapter definition to network config - eg: sudo vi /etc/network/interfaces - add<br />

the wlan0 section:


# Used by ifup(8) and ifdown(8). See the interfaces(5) manpage or<br />

# /usr/share/doc/ifupdown/examples for more information.<br />

auto lo<br />

iface lo inet loopback<br />

iface eth0 inet dhcp<br />

# The wireless interface<br />

auto wlan0<br />

iface wlan0 inet dhcp<br />

wpa-conf /etc/wpa.conf<br />

or<br />

▪ Plug in adapter<br />

▪ Confirm adapter is present:<br />

root@raspberrypi:~# sudo iwconfig<br />

lo no wireless extensions.<br />

eth0 no wireless extensions.<br />

wlan0 IEEE 802.11bgn ESSID:off/any<br />

Mode:Managed Access Point: Not-Associated Tx-Power=20 dBm<br />

Retry long limit:7 RTS thr:off Fragment thr:off<br />

Encryption key:off<br />

Power Management:off<br />

▪ Scan your network to see what wireless access points can be seen. You may need to<br />

do this to identify your network's SSID (name), but it also confirms that the wifi<br />

dongle is doing something. The first command just lists the SSIDs found, the second<br />

tells you probably more than you ever want to know:<br />

sudo iwlist wlan0 scan | grep ESSID<br />

sudo iwlist wlan0 scan<br />

▪ Create the wpa.conf file - eg: sudo vi /etc/wpa.conf:<br />

Note: The ssid is case sensitive - if your WLAN's SSID is MYLAN, using "mylan"<br />

will not work - you won't connect!<br />

network={<br />

ssid="NETWORK-SSID"<br />

proto=RSN<br />

key_mgmt=WPA-PSK<br />

pairwise=CCMP TKIP<br />

group=CCMP TKIP<br />

psk="YOUR-WLAN-PASSWORD"<br />

}


▪ Start the adapter<br />

sudo ifup wlan0<br />

▪ Double-check whether you are connected - below the WLAN interface has been<br />

given an IP address - looks good!<br />

root@raspberrypi:~# ifconfig<br />

eth0 Link encap:Ethernet HWaddr b8:27:eb:76:7e:2e<br />

inet addr:192.168.202.75 Bcast:192.168.202.255 Mask:255.255.255.0<br />

UP BROADCAST RUNNING MULTICAST MTU:1488 Metric:1<br />

RX packets:1060 errors:0 dropped:0 overruns:0 frame:0<br />

TX packets:146 errors:0 dropped:0 overruns:0 carrier:0<br />

collisions:0 txqueuelen:1000<br />

RX bytes:95749 (93.5 KiB) TX bytes:48493 (47.3 KiB)<br />

lo Link encap:Local Loopback<br />

inet addr:127.0.0.1 Mask:255.0.0.0<br />

UP LOOPBACK RUNNING MTU:16436 Metric:1<br />

RX packets:8 errors:0 dropped:0 overruns:0 frame:0<br />

TX packets:8 errors:0 dropped:0 overruns:0 carrier:0<br />

collisions:0 txqueuelen:0<br />

RX bytes:560 (560.0 B) TX bytes:560 (560.0 B)<br />

wlan0 Link encap:Ethernet HWaddr b0:48:7a:91:5c:f4<br />

inet addr:192.168.222.161 Bcast:192.168.222.255 Mask:255.255.255.0<br />

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1<br />

RX packets:31 errors:0 dropped:0 overruns:0 frame:0<br />

TX packets:10 errors:0 dropped:0 overruns:0 carrier:0<br />

collisions:0 txqueuelen:1000<br />

RX bytes:2260 (2.2 KiB) TX bytes:1542 (1.5 KiB)<br />

If you are now connected, well done! If not, check your editing and also have a look at<br />

the output of dmesg to see if you have any error messages. You can also view the system<br />

log for messages - for example: sudo cat /var/log/messages | more<br />

You are connected, you can ping and be pinged, hovewer to add network connectivity<br />

you may want to specify define default gateway:<br />

sudo route add default gw 192.168.1.254 wlan0<br />

Notes<br />

USB interrupt/dma system debug messages<br />

Firing up the TP-Link USB WLAN interface generates a lot of debug messages in the<br />

system log like this:<br />

DEBUG:handle_hc_chhltd_intr_dma:: XactErr without NYET/NAK/ACK


Things may calm down a bit if the following file is created in /etc/modprobe.d (eg: sudo<br />

vi /etc/modprobe.d/smscnonturbo.conf) and then the <strong>RPi</strong> rebooted:<br />

smscnonturbo.conf:<br />

options smsc95xx turbo_mode=N<br />

This fix may slow down wired LAN performance but help with wireless and reduce the<br />

frequency of the debug messages - YMMV. If you want to undo this fix, just delete the<br />

file (sudo rm /etc/modprobe.d/smscnonturbo.conf) and reboot.<br />

Firmware requirements<br />

If no wlanx device is shown, you might need to download firmware for your USB wifi<br />

device (or track down other compatible drivers if they are available). To confirm this,<br />

check the dmesg output when you plug in your adapter - typing dmesg at the command<br />

prompt may be sufficient - and look for information related to your adapter - the example<br />

dmesg output below shows what is seen in the event of the TP-Link firmware not being<br />

present - notice that the name of the required firmware file is given (htc_9271.fw), the<br />

driver name (ath9k_htc) and an error -22 message:<br />

usb 1-1.2.4.2: ath9k_htc: Firmware - htc_9271.fw not found<br />

ath9k_htc: probe of 1-1.2.4.2:1.0 failed with error -22<br />

usbcore: registered new interface driver ath9k_htc<br />

Armed with this information, try a web search for 'debian 6' and the name of the driver or<br />

driver file and/or head over to http://linuxwireless.<strong>org</strong>. Also check the links at the top of<br />

this page.<br />

Power requirements<br />

If you experience erratic network, keyboard, mouse or Raspberry Pi operation when<br />

using a USB wifi dongle, check that whatever is powering your <strong>RPi</strong> and/or USB hub can<br />

deliver sufficient current for everything that's connected together. The first setup tried<br />

with the TP-Link adapter had it, a keyboard, mouse and the <strong>RPi</strong> all connected to a Trust<br />

7-port powered USB hub with a 5V 2A power supply, but in this configuration the mouse<br />

stopped working. In this case, the fix was to power the <strong>RPi</strong> from a separate 5V 1A phone<br />

power adapter.<br />

wpasupplicant deamon failed to start<br />

a) If you get this error when you attempt to


sudo ifup wlan0<br />

Then there may be a syntax error in your<br />

/etc/wpa.conf<br />

For example, ensure that your SSID and Password have double quotes round them, and<br />

that the curly brackets are closed.<br />

b) Another possible solution could be changing:<br />

iface wlan0 inet dhcp<br />

to<br />

iface wlan0 inet manual<br />

in /etc/network/interfaces. Then sudo ifup wlan0 then sudo ifdown wlan0 then changing<br />

manual to dhcp. Works me, as described http://unix.stackexchange.com/a/7717.<br />

Retrieved from "http://elinux.<strong>org</strong>/index.php?title=<strong>RPi</strong>_Peripherals&oldid=168254"<br />

Category: RaspberryPi<br />

▪ This page was last modified on 9 September 2012, at 21:59.<br />

▪ Content is available under a Creative Commons Attribution-ShareAlike 3.0<br />

Unported License.


<strong>RPi</strong> Screens<br />

From <strong>eLinux</strong>.<strong>org</strong><br />

Back to the Hub.<br />

Hardware & Peripherals:<br />

Hardware and Hardware History.<br />

Low-level Peripherals and Expansion<br />

Boards.<br />

Screens, Cases and Other Peripherals.<br />

Supported Standards<br />

Contents<br />

The following display outputs are supported on the board:<br />

▪ 1 Supported Standards<br />

▪ 2 HDMI<br />

▪ 2.1 Motorola Atrix Lapdock<br />

▪ 3 DVI<br />

▪ 4 Composite video<br />

▪ 5 RGB analog/VGA<br />

▪ 6 RGB digital<br />

▪ 7 Interfacing to non-monitor LCD panels<br />

▪ 7.1 DSI port<br />

▪ 7.2 Character cell LCD modules<br />

▪ 8 References<br />

▪ Composite video (NTSC and PAL) via an RCA plug (the yellow socket on your TV)<br />

or SCART socket.<br />

▪ HDMI 1.3a standard output.<br />

▪ Display Serial Interface (DSI) - via unpopulated 15-way flat flex connector.<br />

These interfaces allow the use of a broad range of displays, including:<br />

▪ Televisions (HDMI or composite).<br />

▪ Computer monitors (HDMI/DVI-D cable) (VGA monitors would require either a<br />

composite or HDMI to VGA or component scan converter box).<br />

▪ DLP/Laser Pico Projectors (HDMI/DVI-D cable).<br />

▪ RAW LCD panels (DSI + interfacing hardware)<br />

▪ Composite and HDMI outputs can not be used at the same time (one or the other.)


For more info about DVI, VGA, and SCART screens see The <strong>RPi</strong> Verified Peripherals<br />

Page (http://elinux.<strong>org</strong>/<strong>RPi</strong>_Verified_Peripherals#Display_adapters)<br />

HDMI<br />

You can connect the RasPi HDMI connector directly to an HDMI monitor using a<br />

standard HDMI cable.<br />

Motorola Atrix Lapdock<br />

A number of people have used a Motorola Atrix (http://en.wikipedia.<strong>org</strong>/wiki/<br />

Motorola_Atrix_4G) Lapdock to add a screen and keyboard with trackpad to RasPi, in<br />

essence building a RasPi-based laptop computer. Lapdock is a very clever idea: you plug<br />

your Atrix smart phone into Lapdock and it gives you an 11.6" 1366 x 768 HDMI<br />

monitor with speakers, a keyboard with trackpad, two USB ports, and a large enough<br />

battery for roughly 5 hours of use. The smart phone acts as a motherboard with "good<br />

enough" performance. The advantage over a separate laptop or desktop computer is that<br />

you have one computing device so you don't need to transfer files between your phone<br />

and your desk/laptop.<br />

Unfortunately for Motorola, Lapdock was not successful (probably because of its<br />

US$500 list price) and Motorola discontinued it and sold remaining stock at deep<br />

discounts, with many units selling for US$50-100. This makes it a very attractive way to<br />

add a modest size HDMI screen to RasPi, with a keyboard/trackpad and rechargeable<br />

battery power thrown in for free.<br />

Lapdock has two connectors that plug into an Atrix phone: a Micro HDMI D plug for<br />

carrying video and sound, and a Micro USB plug for charging the phone and connecting<br />

to the Lapdock's internal USB hub, which talks to the Lapdock keyboard, trackpad, and<br />

two USB ports. With suitable cables and adapters, these two plugs can be connected to<br />

RasPi's full-size HDMI connector and one of RasPi's full-size USB A ports.<br />

The RasPi forum has a long thread on Lapdock with many useful suggestions, photos,<br />

and links: I made a Raspberry PI Laptop (http://www.raspberrypi.<strong>org</strong>/phpBB3/<br />

viewtopic.php?t=6747) . There's also a good 'blog entry at element14 with photos and<br />

suggestions of where to get cables and adapters: Raspberry Pi Laptop<br />

(http://www.element14.com/community/groups/raspberry-pi/blog/2012/09/08/raspberrypi-laptop)<br />

.<br />

The hardest part about connecting Lapdock is getting the cables and adapters. Most<br />

HDMI and USB cables are designed to plug into jacks, whereas the Lapdock has plugs so<br />

the cables/adapters must have Micro HDMI and Micro USB female connections. These<br />

are unusual cables and adapters, so check the links.


Lapdock uses the HDMI plug to tell if a phone is plugged in by seeing if the HDMI<br />

DDC/CEC ground pin is pulled low. If it's not, Lapdock is powered off. As soon as you<br />

plug in a phone or RasPi, all the grounds short together and Lapdock powers itself on.<br />

However, it only does this if the HDMI cable actually connects the DDC/CEC ground<br />

line. Many cheap HDMI cables do not include the individual ground lines, and rely on a<br />

foil shield connected to the outer shells on both ends. Such a cable will not work with an<br />

unmodified Lapdock. There is a detailed 'blog entry on the subject at element14:<br />

Raspberry Pi Lapdock HDMI cable work-around (http://www.element14.com/<br />

community/groups/raspberry-pi/blog/2012/09/27/raspberry-pi-lapdock-hdmi-cable-workaround)<br />

. The 'blog describes a side-benefit of this feature: you can add a small power<br />

switch to Lapdock so you can leave RasPi attached all the time without draining the<br />

battery.<br />

The Lapdock Micro USB plug is the upstream port of Lapdock's internal USB hub, and<br />

connects to one of RasPi's full-size USB ports. Lapdock is not USB compliant since it<br />

provides upstream power on its Vbus pin. Lapdock uses this to charge the Atrix phone.<br />

You can use this feature to power RasPi if you have a newer RasPi. The original RasPi<br />

rev 1 has 140 mA polyfuses F1 and F2 to protect the USB ports, which are too small for<br />

powering RasPi using upstream power. Newer RasPis replace F1 and F2 with zero Ohm<br />

jumpers or eliminate them entirely, which allows Lapdock to provide power. If you don't<br />

mind modifying your original RasPi, you can add shorting jumpers over F1 and F2 or<br />

replace them with higher-current fuses.<br />

What gets powered on depends on whether Lapdock is open or closed. If it's open, the<br />

screen and all Lapdock USB ports are powered. If you close Lapdock, the screen and<br />

full-size USB ports are powered down, but the Micro USB still provides upstream power.<br />

This is for charging an Atrix phone. When you open or close Lapdock, the Micro USB<br />

power switches off for about a second so if your RasPi is connected it will reboot and you<br />

may have a corrupted file system. There's discussion about this at the RasPi forum link,<br />

and someone has used a supercapacitor to work around the problem: Raspberry Pi<br />

lapdock tricks (http://www.element14.com/community/groups/raspberry-pi/blog/2012/09/<br />

11/raspberry-pi-lapdock-tricks) .<br />

DVI<br />

With an inexpensive passive HDMI to DVI-D cable or converter.<br />

Composite video<br />

Composite video (NTSC and PAL) via an RCA plug, directly from the board. You can<br />

change between PAL and NTSC output by editing config.txt in the boot <strong>SD</strong> card.<br />

Uncommenting: sdtv_mode=2 sets output to PAL (see <strong>RPi</strong>_config.txt).


RGB analog/VGA<br />

The Broadcom BCM2835 only provides HDMI output and composite output. RGB and<br />

other signals needed by RGB, S-VIDEO or VGA connectors are however not provided,<br />

and the R-PI also isn't designed to power an unpowered converter box.<br />

A couple of options for VGA or component RGB outputs, bridging from either<br />

HDMI or, (much less obvious) the MIPI DSI interface:<br />

Note that any conversion hardware that converts HDMI/DVI-D signals to VGA (or DVI-<br />

A) signals may come with either an external PSU, or expects power can be drawn from<br />

the HDMI port. In the latter case the device may initially appear to work, but there will<br />

be a problem, as the HDMI specs only provide in a maximum of 50mA (@ 5 Volt) from<br />

the HDMI port, but all of these adapters try to draw much more, up-to 500mA, in case of<br />

the R-PI there is a limit of 200mA that can be drawn safely, as 200mA is the limit for the<br />

BAT54 diode (D1) on the board. Any HDMI to VGA adapter without external PSU might<br />

work for a time, but then burn out D1, therefore Do not use HDMI converters powered<br />

by the HDMI port! The solution is to either only use externally powered converters, or<br />

to replace D1 with a sturdier version, such as the PMEG2010AET, and to replace the<br />

power input fuse F3 with a higher rated one, as the current one is only 700mA, and the<br />

adapter may use 400mA itself. Also notice that the R-PI's power supply also must be able<br />

to deliver the extra current.<br />

Firstly, the following *might* work. Beagleboard people have reported various levels of<br />

success (mainly "issues"):<br />

http://www.hdfury.com/<br />

Something similar:<br />

http://www.fit-pc.com/web/fit-pc2/accessories/fit-vga/<br />

...it may need to be modified as described here:<br />

http://blog.galemin.com/2011/03/dvi-d-to-vga-converter-for-beagleboard-xm/<br />

Alternatively, it may be possible to design an expansion board that plugs into the LCD<br />

headers on the R.Pi. Here is something similar for Beagleboard:<br />

http://boardzoo.com/product_info12.php<br />

Some more converters that should work:<br />

▪ £22.99 HDMI to VGA + stereo audio converter (http://www.ebay.co.uk/itm/1080P-<br />

PC-HDMI-to-VGA-3-5mm-Audio-HD-Video-Converter-HDTV-SKY-DVD-<br />

PS3-Apple-TV-/320929883993)


▪ $24.00 "Video Converter adapter" from china (http://www.ebay.de/itm/New-HDMI-<br />

Male-to-VGA-RGB-Female-HDMI-to-VGA-Video-Converter-adapter-1080P-for-<br />

PC-/140625458879?pt=LH_DefaultDomain_0&hash=item20bdee36bf)<br />

▪ $24.00 ASUS - Video adapter (http://www.google.com/products/<br />

catalog?q=hdmi+to+vga+converter&hl=en&show=dd&cid=4579096882877853234&ei=V8cGT5XtHoim<br />

gbO5YSYAQ&ved=0CCUQ8wIwBDgK#scoring=p) requires additional miniHDMI<br />

to standard HDMI adapter<br />

▪ $32.50 HDMI to VGA Video Converter (http://www.dealextreme.com/p/hdmi-tovga-video-converter-71816)<br />

- Confirmed, works 100% inc HDMI audio.<br />

▪ $39.99 HDCP HDMI to VGA + SPDIF RGB Component Ypbpr Converter<br />

(http://www.amazon.com/SPDIF-Component-Ypbpr-Converter-v1-3b/dp/<br />

B002SFT3ZI/ref=cm_cr_pr_product_top)<br />

▪ $48.00 HP HDMI to VGA Display Adapter (http://www.google.com/products/<br />

catalog?q=HP+HDMI+to+VGA&oe=utf-8&rls=<strong>org</strong>.mozilla:en-<br />

GB:official&client=firefoxa&um=1&ie=UTF-8&tbm=shop&cid=4243749406268537354&sa=X&ei=mH0JT5jWHIuO4gS0h6ndCw<br />

More HDMI -> VGA converters are listed at the RasPi Verified Peripherals page<br />

(http://elinux.<strong>org</strong>/<strong>RPi</strong>_Verified_Peripherals#HDMI-.3EVGA_converter_boxes) , along<br />

with some caveats.<br />

Potential interfacing chips:<br />

▪ TFP9431 DVI RECEIVER WITH TRIPLE DAC (hard to find, obsolete?)<br />

(http://www.datasheets.<strong>org</strong>.uk/dl/Datasheets-36/DSA-705489.pdf)<br />

The SOC (system on a chip) does not support any kind of analog component video,<br />

including VGA, since the SOC is designed for mobile phone use where this would not be<br />

a requirement. Additional components would be needed to generate RGB signals.<br />

Additional components would push the price beyond the $25 target and therefore won't<br />

happen.<br />

RGB digital<br />

A HDMI/DIV to parallel 3.3v interface PCB, also meant for the Beagleboard:<br />

http://www.harbaum.<strong>org</strong>/till/dvi2par/index.shtml<br />

Potential interfacing chips:<br />

They emit Hsync, Vsync and RGB w/ about 8 bits each (sometimes, it's called "MIPI<br />

DPI")<br />

▪ Toshiba TC358762XBG deserializer bridge chip (http://www.toshibacomponents.com/mobile/data/Toshiba_TC358762.pdf)


▪ Analog Devices HDMI Receivers (http://www.analog.com/en/audiovideo-products/<br />

analoghdmidvi-interfaces/products/index.html#HDMI_Receivers)<br />

▪ Renesas µPD60800 Intelligent Buffer IC (http://www.renesas.com/products/soc/assp/<br />

mobile/ibic/pd60800/index.jsp)<br />

▪ Renesas µPD60801 Intelligent Buffer IC (http://www.renesas.com/products/soc/assp/<br />

mobile/ibic/pd60801/index.jsp)<br />

Interfacing to non-monitor LCD panels<br />

Embedded systems often have displays that aren't connected like televisions and<br />

computer monitors. RPI may be able to interface to some of these.<br />

DSI port<br />

DSI connector is on board on the RPI. Some graphical LCD/OLED displays might be<br />

attached to it.<br />

An additional binary blob might be required for the DSI port (http://www.raspberrypi.<strong>org</strong>/<br />

forum/features-and-requests/s2-and-s5-fit-or-no-fit#p39441) to function correctly (or<br />

function at all). When or if such a blob will be made available is unknown.<br />

Nokia N900 has 800x480 DCS LCD (afaik its like DSI, but has build in framebuffer)<br />

(http://e-ditionsbyfry.com/Olive/ODE/ECN/<br />

default.aspx?href=ECN%2F2009%2F08%2F02&pageno=5&entity=Pc00502&view=entity)<br />

. Replacement screen is about ~$40 (~$50 with 4pin resistive touchscreen).<br />

Nokia N8 has AMOLED 360x640 pixels DSI LCD. Replacement screen is about ~$35,<br />

another ~$25 for Multitouch Synaptics T1021A touchscreen (I2C + interrupt IO, no docs/<br />

drivers).<br />

The schematics for apples iPhone 3gs (http://www.mikrocontroller.net/attachment/<br />

127135/iPhone_3Gs_schematics.pdf) and 4g (http://jumbofiles.com/57ycs8zez45j/<br />

iPhone_4G_schematic.pdf.html) suggest they speak DSI, thus they can probably be<br />

connected directly. The older iPhones use a "Mobile Pixel Link" connection from<br />

National Semiconductor. The 3GS panel (480×320) goes as low as US $14.88<br />

(http://www.aliexpress.com/product-fm/377987722-Replacement-LCD-Glass-Screen-<br />

Display-for-iPhone-3GS-wholesalers.html) , while the 4G one (960×640, possibly the LG<br />

LH350WS1-<strong>SD</strong>01 (http://www.displayalliance.com/research/lh350ws1-sd01.html) , with<br />

specifications (http://www.panelook.com/modeldetail_parameter.php?id=12086) ) can be<br />

had for US $17.99 (http://www.aliexpress.com/product-fm/453840894-Replacement-<br />

LCD-Glass-Screen-Display-for-iPhone-4G-wholesalers.html) or as low as US $14.28<br />

(http://www.ebay.com/itm/Repair-LCD-Glass-Screen-Display-Iphone-4G-4th-4-GEN-<br />

/110821471601) . The connectors used might be an issue, but this connector


(http://www.airaccent.com/lcd-screen-fpc-connector-replacement-for-iphone-4gp-39877.html)<br />

might fit. Additional circuitry might be necessary to provide the display<br />

with required 1.8V and 5.7V for operation, and an even higher voltage for the backlight.<br />

Other panels with MIPI DSI: www.panelook.com (http://www.panelook.com/<br />

modelsearch.php?pagesize=50&order=panel_id&panel_type=&product_composition=&brand_family=&pan<br />

The Raspberry Pi provides one clock lane and two data lanes on the S2 connector, as can<br />

be read from the schematics (http://www.raspberrypi.<strong>org</strong>/wp-content/uploads/2012/04/<br />

Raspberry-Pi-Schematics-R1.0.pdf) . It is currently unknown whether this is enough to<br />

drive the iPhone 4G screen, as that screen seems be driven with three data lanes in its<br />

original application.<br />

Potential LVDS interfacing chips:<br />

TC358764/5 Display Bridge (MIPI® DSI to LVDS) (http://www.toshibacomponents.com/mobile/data/Toshiba_TC358764_65XBGA.pdf)<br />

DVI receiver TFP401A, TFP403, or TFP501 + LVDS transmitter SN75LVDS83B or<br />

SN65LVDS93A (http://e2e.ti.com/cfs-filesystemfile.ashx/__key/CommunityServer-<br />

Discussions-Components-Files/130/3252.DVI_3B00_HDMI_2D00_to_2D00_LVDS-<br />

Bridge-Application-Note.doc) (Mentioned earlier fit-VGA is build around TFP401A,<br />

probably many more "active" DVI2VGA cables are build the same way)<br />

I2C/SPI ADC can be used to interface 4 pin resistive Touch Screens, For example<br />

STMPE812A (http://www.st.com/internet/com/TECHNICAL_RESOURCES/<br />

TECHNICAL_LITERATURE/DATASHEET/CD00291197.pdf) . Texas Instruments has<br />

a solution for 4 or 8 wire touchscreens (http://www.ti.com/sc/docs/psheets/abstract/apps/<br />

slaa384a.htm) using their rather cheap MSP4309.<br />

Character cell LCD modules<br />

These have controllers and interfaces for feeding in text (and symbols). Common screen<br />

sizes include 16x2 to 40x4. Often seen in keypads, industrial machines, cash registers,<br />

laser printers etc.<br />

The old-style 2-line, 16-character LCD displays can be commonly controlled over UART,<br />

thus providing a cheap way to display values for sensors etc.<br />

References<br />

Raspberry Pi


Model Wizard - Buying Guide - <strong>SD</strong> <strong>Card</strong> <strong>Setup</strong><br />

Startup - Basic <strong>Setup</strong> - Advanced <strong>Setup</strong> - Beginners<br />

Guide - Troubleshooting<br />

Hardware - Hardware History - Low-level<br />

Hardware<br />

peripherals - Expansion Boards<br />

Peripherals Screens - Cases - Other Peripherals<br />

Software - Distributions - Kernel - Performance<br />

Software<br />

- Programming - VideoCore APIs<br />

Tutorials - Guides - Projects - Tasks -<br />

Projects<br />

DataSheets - Education - Communities<br />

Retrieved from "http://elinux.<strong>org</strong>/index.php?title=<strong>RPi</strong>_Screens&oldid=186068"<br />

Category: RaspberryPi<br />

▪ This page was last modified on 1 November 2012, at 01:41.<br />

▪ Content is available under a Creative Commons Attribution-ShareAlike 3.0<br />

Unported License.


<strong>RPi</strong> Distributions<br />

From <strong>eLinux</strong>.<strong>org</strong>


Back to the Hub.<br />

Software &<br />

Distributions:<br />

Software - an overview.<br />

Distributions -<br />

operating systems and<br />

development<br />

environments for the Pi.<br />

Kernel Compilation -<br />

advice on compiling a<br />

kernel.<br />

Performance - measures<br />

of the Pi's performance.<br />

Programming -<br />

programming languages<br />

that might be used on<br />

the Pi.<br />

Contents<br />

▪ 1 Available Distributions<br />

▪ 1.1 What is armhf<br />

▪ 1.2 Comparison<br />

▪ 1.3 Android<br />

▪ 1.4 Fedora Remix<br />

▪ 1.5 Debian (Squeeze/6.x)<br />

▪ 1.6 Arch<br />

▪ 1.7 Raspbian<br />

▪ 1.8 Moebius<br />

▪ 1.9 Raspbian Server Edition<br />

▪ 1.10 Red Sleeve Linux<br />

▪ 1.11 IPFire<br />

▪ 1.12 Raspberry Pi Thin Client<br />

▪ 1.13 DarkElec<br />

▪ 1.14 OpenELEC<br />

▪ 1.15 Raspbmc<br />

▪ 1.16 XBian<br />

▪ 1.17 PwnPi<br />

▪ 1.18 ha-pi<br />

▪ 1.19 Bodhi<br />

▪ 1.20 Gentoo<br />

▪ 1.21 Adafruit - Occidentalis v0.1<br />

▪ 1.22 RISC OS<br />

▪ 1.23 PiBang Linux<br />

▪ 2 Announced distributions<br />

▪ 2.1 NetB<strong>SD</strong><br />

▪ 2.2 FreeB<strong>SD</strong><br />

▪ 2.3 Chromium OS<br />

▪ 2.4 KidsRuby<br />

▪ 2.5 Meego MER & XBMC<br />

▪ 2.6 Puppy<br />

▪ 2.7 OpenWrt<br />

▪ 2.8 Mes (Marshmallow Entertainment System Engine<br />

▪ 2.9 Aros Hosted on Linux<br />

▪ 3 Other Distributions<br />

▪ 3.1 GeeXboX ARM<br />

▪ 3.2 Ubuntu<br />

▪ 4 References


Available Distributions<br />

What is armhf<br />

The official Debian Squeeze image issued by the Raspberry Pi foundation uses "soft<br />

float" settings. The foundation found it necessary to use the existing Debian port for less<br />

capable ARM devices due to time and resource constraints during development of the<br />

Raspberry Pi. Therefore, it does not make use of the Pi's processor's floating point<br />

hardware - reducing the Pi's performance during floating point intensive applications - or<br />

the advanced instructions of the ARMv6 CPU.<br />

The official Raspberry Pi distributions (http://www.raspberrypi.<strong>org</strong>/downloads) are now<br />

optimized for ARMV6 and for "hard float" which should have better performance on<br />

certain CPU intensive tasks.<br />

There are some info on the news groups that "hard float" optimization can speed up<br />

floating point operating up to 10x, please read detailed discussion on Raspberry Pi<br />

forums - http://www.raspberrypi.<strong>org</strong>/phpBB3/viewtopic.php?p=61497#p61497


Comparison


Distribution Latest First Type License<br />

Arch Linux ARM<br />

(http://archlinuxarm.<strong>org</strong>/)<br />

BerryTerminal<br />

(http://www.berryterminal.com/<br />

doku.php)<br />

Bodhi Linux (http://bodhilinux.com/)<br />

Debian ARM (http://www.debian.<strong>org</strong>/<br />

ports/arm/)<br />

Fedora Remix<br />

(http://fedoraproject.<strong>org</strong>/wiki/<br />

Architectures/ARM)<br />

Gentoo Linux<br />

(http://www.gentoo.<strong>org</strong>/)<br />

IPFire (http://planet.ipfire.<strong>org</strong>/post/<br />

ipfire-on-raspberry-pi-ready-to-firsttest)<br />

Meego MER + XBMC<br />

(http://wiki.meego.com/<br />

User:Vgrade#Raspberry_Pi)<br />

Moebius<br />

(http://moebiuslinux.sourcef<strong>org</strong>e.net/)<br />

2012-09-18 2012-03-01 Linux<br />

2012-06-02 2012-06-02 Linux<br />

2012-09-13<br />

(raspbian/<br />

wheezy)<br />

2012-04-19<br />

(Squeeze)<br />

2012-07-07<br />

(F14)<br />

weekly<br />

autobuilds<br />

2012-06-27<br />

(2.11)<br />

2012-04-27<br />

(0.2)<br />

2012-09-11<br />

(1.0.1)<br />

2012-06-12<br />

(wheezy)<br />

Raspbian<br />

2012-02-16<br />

(Squeeze) Linux<br />

2012-07-07<br />

(F14)<br />

Linux<br />

2012-04-27 Linux<br />

2012-06-27<br />

(2.11)<br />

2012-04-11<br />

(0.1)<br />

2012-08-01<br />

(1.0.0)<br />

OSI GPLv2<br />

(http://www.opensource.<strong>org</strong>/<br />

licenses/gpl-2.0.php)<br />

Core: OSI mixed<br />

(http://www.debian.<strong>org</strong>/<br />

legal/licenses/) (GPLv2<br />

B<strong>SD</strong> etc)<br />

Core: OSI mixed<br />

(http://www.debian.<strong>org</strong>/<br />

legal/licenses/) (GPLv2<br />

B<strong>SD</strong> etc)<br />

OSI mixed<br />

(http://fedoraproject.<strong>org</strong>/<br />

wiki/Licensing:Main)<br />

(GPLv2 B<strong>SD</strong> etc)<br />

GPLv2<br />

(http://www.opensource.<strong>org</strong>/<br />

licenses/gpl-2.0.php)<br />

Linux Open Source<br />

Linux<br />

(embedded)<br />

Raspbian (GPLv2)<br />

OSI mixed<br />

(http://www.opensource.<strong>org</strong>/<br />

licenses/index.html)<br />

(GPLv2 B<strong>SD</strong> etc)


OpenELEC (http://openelec.tv/<br />

component/k2/item/235-openelec-onraspberry-pi-our-first-arm-devicesupported)<br />

openSUSE (http://lists.opensuse.<strong>org</strong>/<br />

opensuse-arm/)<br />

OpenWRT (http://wiki.openwrt.<strong>org</strong>/<br />

toh/raspberry_pi)<br />

PiBang Linux<br />

(http://pibanglinux.<strong>org</strong>/)<br />

PwnPi (http://www.pwnpi.net/<br />

index.html)<br />

QtonPi (http://wiki.qt-project.<strong>org</strong>/<br />

QtonPi)<br />

2012-11-25<br />

(3.0 beta 1)<br />

2012-05-10 Linux 3.6.7<br />

(embedded)<br />

2012-10-16 2012-07-30 Linux 3.1<br />

2012-10-23 2012-08-15 Linux<br />

November<br />

9th, 2012<br />

(RC4)<br />

2012-06-29<br />

(Squeeze)<br />

2012-05-27<br />

(0.2)<br />

November<br />

29th, 2012<br />

(Alpha1)<br />

Linux<br />

2012-05-26<br />

(Squeeze) Linux<br />

2012-05-07<br />

(0.1)<br />

Linux<br />

Raspbian (http://www.raspbian.<strong>org</strong>/) 2012-09-18 2012-05-28<br />

(Wheezy) Linux<br />

raspbmc (http://www.raspbmc.com/) 2012-10-10 2012-06-30<br />

(Squeeze) Raspbian<br />

RISC OS (http://en.wikipedia.<strong>org</strong>/<br />

wiki/RISC_OS)<br />

2012-11-01<br />

(5.19 RC6)<br />

2012-07-09<br />

(5.19)<br />

RISC OS<br />

OSI mixed<br />

(http://www.opensource.<strong>org</strong>/<br />

licenses/index.html)<br />

(GPLv2 B<strong>SD</strong> etc)<br />

OSI mixed<br />

(http://www.opensource.<strong>org</strong>/<br />

licenses/index.html)<br />

(GPLv2 B<strong>SD</strong> etc)<br />

OSI mixed<br />

(http://www.opensource.<strong>org</strong>/<br />

licenses/index.html)<br />

(GPLv2 B<strong>SD</strong> etc)<br />

Core: OSI mixed<br />

(http://www.debian.<strong>org</strong>/<br />

legal/licenses/) (GPLv2<br />

B<strong>SD</strong> etc)<br />

GNU General Public<br />

License version 3.0<br />

Core: OSI mixed<br />

(http://www.debian.<strong>org</strong>/<br />

legal/licenses/) (GPLv2<br />

B<strong>SD</strong> etc)<br />

custom<br />

(http://svn.stmlabs.com/svn/<br />

raspbmc/LICENSE)<br />

Shared Source<br />

(http://www.riscosopen.<strong>org</strong>/<br />

content/documents/ssfaq)


SliTaz (http://www.slitaz.<strong>org</strong>/)<br />

2012-05-29<br />

(4.0)<br />

2012-05-29<br />

(4.0)<br />

Linux<br />

Xbian (http://xbian.<strong>org</strong>/) 2012-10-13 2012-07-29 Raspbian<br />

Aros hosted on Raspbian Limited<br />

Demo (http://www.aros.<strong>org</strong>/)<br />

Android<br />

2012-06-14 2012<br />

Mixed<br />

Debian6<br />

and Aros<br />

Discuss: [1] (http://www.raspberrypi.<strong>org</strong>/phpBB3/viewforum.php?f=73)<br />

Wiki & Main site (http://androidpi.wikia.com/wiki/Android_Pi_Wiki)<br />

Fedora Remix<br />

The Raspberry Pi Fedora Remix is a Linux software distribution for the Raspberry Pi<br />

computer. It contains software packages from the Fedora Project (specifically, the Fedora<br />

ARM secondary architecture project), packages which have been specifically written for<br />

or modified for the Raspberry Pi, and proprietary software provided by the Raspberry Pi<br />

Foundation for device access.<br />

▪ wiki page (http://zenit.senecac.on.ca/wiki/index.php/Raspberry_Pi_Fedora_Remix)<br />

Debian (Squeeze/6.x)<br />

http://www.debian.<strong>org</strong>/ports/arm/<br />

Debian (http://www.debian.<strong>org</strong>/) was the default distribution on the Alpha boards. Boot<br />

time depends on width & speed of <strong>SD</strong>-card. Alpha board boot into Debian prompt (no<br />

GUI) was timed taking about 34 seconds.<br />

The Debian distro for Raspberry Pi is the Cambridge reference filesystem, which is a<br />

fully functional Debian Squeeze installation containing LXDE (desktop) and Midori<br />

(browser); development tools; and sample code for accessing the multimedia<br />

functionality on the device.<br />

GPLv2<br />

(http://www.opensource.<strong>org</strong>/<br />

licenses/gpl-2.0.php)<br />

OSI mixed<br />

(http://www.opensource.<strong>org</strong>/<br />

licenses/index.html)<br />

(GPLv2 B<strong>SD</strong> etc)<br />

Mixed - GPLv2<br />

(http://www.opensource.<strong>org</strong>/<br />

licenses/gpl-2.0.php) and<br />

APL (MPL derivative)


Arch<br />

Arch Linux ARM (http://archlinuxarm.<strong>org</strong>) is based on Arch Linux<br />

(http://www.archlinux.<strong>org</strong>/) , which aims for simplicity and full control to the end user. It<br />

provides a lightweight base structure that allows you to shape the system to your needs.<br />

For this reason, the Arch Linux ARM image for the Raspberry Pi does not come with a<br />

graphical user interface, though you can easily install one yourself. Please note that the<br />

Arch distribution may not be suitable for beginners.<br />

Arch Linux ARM is on a rolling-release cycle that can be updated daily through small<br />

packages instead of huge updates every few months.<br />

More information is available at http://archlinuxarm.<strong>org</strong><br />

Raspbian<br />

Raspberry Pi + Debian = Raspbian (http://www.raspbian.<strong>org</strong>) . A project to create a hard<br />

float port of Debian Wheezy (7.x) armhf for the Raspberry Pi. The intent of Raspbian is<br />

to bring to the Raspberry Pi user 10,000s of pre-built Debian packages specifically tuned<br />

for optimal performance on the Raspberry Pi hardware. The project is still in it's early<br />

phases, but the major push to rebuild nearly all Debian packages for the Raspberry Pi is<br />

expected to be completed by early June, 2012 (only several hundred packages remain as<br />

of June 1st). After that, efforts will focus on making Raspbian the easiest to use, most<br />

stable and best performing Linux distribution available for the Raspberry Pi.<br />

More information is available at http://www.raspbian.<strong>org</strong><br />

Moebius<br />

A very compact ARM HF debian based distribution, it fits in a 1Gb <strong>SD</strong> card, has<br />

autoresizing features to better adapt to your <strong>SD</strong> card size and uses Raspbian huge<br />

repositories for installing everything you need. A wise configuration and a small memory<br />

footprint are ideal for an headless machine or for interacting with real word I/O devices,<br />

take a look at Moebius Website (http://moebiuslinux.sourcef<strong>org</strong>e.net/)<br />

Raspbian Server Edition<br />

It's a stripped version of Raspibian with some other packages<br />

▪ Main site of version 2.1 (http://sirlagz.net/?p=662)<br />

▪ Dowload Version 2.1 (https://docs.google.com/file/d/<br />

0B1RhPrxJp7gySmpybnhXOEo0MXM/edit?pli=1)


Red Sleeve Linux<br />

Red Sleeve Linux (http://www.redsleeve.<strong>org</strong>/) is a Linux distribution that aims to bring<br />

the RHEL clone design to the ARM architecture. There are images for several ARM<br />

devices including the Raspberry Pi.<br />

IPFire<br />

IPFire (http://www.ipfire.<strong>org</strong>) is an Open Source firewall distribution for x86 and ARMbased<br />

systems. It turns the Raspberry Pi computer into a small router for home networks<br />

and very small businesses. As the Raspberry Pi computer comes with only one NIC, it<br />

works perfectly as a 3G router without plugging in additional hardware.<br />

The generally small system that provides essential services for networks can be enhanced<br />

by addons which add new features to IPFire. So the system can be turned into a file<br />

server and much more.<br />

More information is available at http://www.ipfire.<strong>org</strong><br />

Raspberry Pi Thin Client<br />

Thin Client project want to create a very low price thin client over Raspberry Pi board!<br />

Microsoft RDC, Citrix ICA & VMWare View<br />

▪ Homepage (http://rpitc.blogspot.se/)<br />

▪ Dowload (http://rpitc.blogspot.se/p/download.html)<br />

DarkElec<br />

None of the currently available solutions do a perfect job with running XBMC on the Pi,<br />

however OpenELEC comes by far the closest, in spite of its locked down nature.<br />

This fork aims to remedy the very few flaws in its implementation and to focus 100% on<br />

the Pi, while also sticking to the upstream and incorporating its updates.<br />

Features:<br />

•Low idle CPU usage (< 15%)<br />

•Smoother and more responsive<br />

•Built in XBMC addons: iPlayer, custom fixed version of Demand 5, various unofficial repos<br />

•iPlayer, 4oD, Demand 5, ITV Player, SportsDevil all fully tested+working<br />

•Improved wifi connectivity<br />

•Added test-connman scripts for easy wifi setup<br />

•Added wireless_tools (iwconfig etc.)


•Added rndis_wlan wifi driver (broadcom 4320 chipset)<br />

•<strong>Easy</strong> <strong>SD</strong> card installation script for building from source<br />

▪ Main site (http://darkimmortal.com/category/raspberry-pi/)<br />

▪ Download DarkELEC Release 3 (http://shit.weeaboo.com/darkelec3.zip)<br />

OpenELEC<br />

OpenELEC is an embedded operating system built specifically to run XBMC<br />

(http://www.xbmc.<strong>org</strong>) , the open source entertainment media hub. The idea behind<br />

OpenELEC is to allow people to use their Home Theatre PC (HTPC) like any other<br />

device you might have attached to your TV, like a DVD player or Sky box. Instead of<br />

having to manage a full operating system, configure it and install the packages required<br />

to turn it into a hybrid media center, OpenELEC is designed to be simple to install,<br />

manage and use, making it more like running a set-top box than a full-blown computer.<br />

▪ OpenELEC Mainsite (http://www.openelec.tv)<br />

▪ In February 2012, OpenELEC.tv announced their ARM port for Raspberry Pi<br />

(http://openelec.tv/component/k2/item/235-openelec-on-raspberry-pi-our-first-armdevice-supported)<br />

▪ OpenELEC forum (http://openelec.tv/forum/90-miscellaneous/11763-raspberry-pi)<br />

thread<br />

▪ RaspberryPi forum (http://www.raspberrypi.<strong>org</strong>/forum/general-discussion/openelec)<br />

thread<br />

▪ Raspberry Pi build instructions for OpenELEC (http://elinux.<strong>org</strong>/Rpi_openELEC)<br />

Raspbmc<br />

Raspbmc is a minimal Linux distribution based on Debian that brings XBMC to your<br />

Raspberry Pi. This device has an excellent form factor and enough power to handle<br />

media playback, making it an ideal component in a low HTPC setup, yet delivering the<br />

same XBMC experience that can be enjoyed on much more costly platforms. Raspbmc is<br />

brought to you by the developer of the Crystalbuntu Linux Distribution, which brings<br />

XBMC and 1080p decoding to the 1st generation Apple TV.<br />

▪ Main Site (http://www.raspbmc.com/)<br />

▪ Blog (http://www.stmlabs.com/2012/06/24/network-issues/)<br />

▪ image (http://files.velocix.com/c1410/raspbmc/downloads/bin/ramdistribution/<br />

installer-testing.img.gz)<br />

▪ 1-click-Installer (Win) (http://download.raspbmc.com/downloads/bin/installers/<br />

raspbmc-win32.zip)<br />

▪ Installation instructions (Mac/Lin) (http://www.raspbmc.com/wiki/user/os-x-linuxinstallation/)


▪ source (http://svn.stmlabs.com/listing.php?repname=raspbmc)<br />

XBian<br />

XBian is a small, fast and lightweight media center distro for the Raspberry Pi, based on<br />

a minimal Raspbian image. It's slogan is "XBMC on raspberry pi, bleeding edge" and<br />

thus it's main focus is delivering the fastest XBMC solution for the Raspberry Pi.<br />

Thereby making most of the commercial media-center products obsolete...<br />

Features:<br />

▪ Fits on a 1GB <strong>SD</strong> card<br />

▪ Low RAM usage and low CPU usage<br />

▪ Very smooth UI<br />

▪ Auto mount USB<br />

▪ AFP support<br />

▪ NFS support<br />

▪ AirPlay support<br />

▪ CEC support<br />

▪ Lirc support<br />

▪ PVR support<br />

▪ Kernel 3.6.1 + a lot of modules<br />

▪ Performance as the default governor<br />

▪ Out of the box support for almost all wlan adapters<br />

▪ User friendly configuration tool xbian-config<br />

▪ Source code on git<br />

▪ Main Site (http://xbian.<strong>org</strong>/)<br />

▪ Download (http://xbian.<strong>org</strong>/?page_id=21)<br />

▪ Xbian Github (https://github.com/Koenkk/xbian)<br />

PwnPi<br />

▪ Main Site (http://www.pwnpi.net/index.html)<br />

PwnPi is a Linux-based penetration testing dropbox distribution for the Raspberry Pi. It<br />

currently has 181 network security tools pre-installed to aid the penetration tester. It is<br />

built on the debian squeeze image from the raspberry pi foundation's website and uses<br />

Xfce as the window manager


ha-pi<br />

▪ Main Site (https://sourcef<strong>org</strong>e.net/projects/ha-pi/)<br />

Description This debian squeeze image created to perform "pwn plug" type of attacks<br />

using Raspberry pi. pleas look at the wiki for further details Wiki (https://sourcef<strong>org</strong>e.net/<br />

p/ha-pi/wiki/Home/)<br />

Bodhi<br />

Bodhi Linux is a small Linux distribution using the Enlightenment<br />

(http://www.enlightenment.<strong>org</strong>) window manager and the ARM build is based on Debian.<br />

If you hit any snags or find bugs with this image please let us know in the R_Pi section of<br />

our user forums (http://forums.bodhilinux.com/index.php?/forum/30-raspberry-pi/) so we<br />

can improve this release.<br />

▪ ARMHF (http://jeffhoogland.blogspot.co.at/2012/07/bodhi-linux-raspberry-pibeta.html?showComment=1343869408306#c8475812441665709126/)<br />

announced for<br />

Bodhi Linux on R_Pi<br />

▪ Release Announcement (http://jeffhoogland.blogspot.co.at/2012/06/bodhi-linux-armalpha-release-for.html)<br />

from Bodhi Developer Blog<br />

▪ Download (http://sourcef<strong>org</strong>e.net/projects/bodhilinux/files/ARM/RaspBerryPi/) from<br />

sourcef<strong>org</strong>e<br />

▪ what-about-the-raspberry-pi (http://forums.bodhilinux.com/index.php?/topic/<br />

2472-what-about-the-raspberry-pi/) Forum thread<br />

Alpha Release | Link Alpha Bodhi R_Pi (http://jeffhoogland.blogspot.co.at/2012/06/<br />

bodhi-linux-arm-alpha-release-for.html) ) User/Password: bodhi/bodhi root/raspberry<br />

Beta Release | Link Beta Bodhi R_Pi (http://jeffhoogland.blogspot.co.at/2012/07/bodhilinux-raspberry-pi-beta.html)<br />

User/Password: pi/bodhilinux Root: sudo su root/<br />

bodhilinux<br />

Bodhi Linux moves ARM Branch to ARMHF (http://jeffhoogland.blogspot.co.at/2012/<br />

08/bodhis-arm-branch-moves-to-armhf.html) Download newest Release from Sourcf<strong>org</strong>e<br />

(http://sourcef<strong>org</strong>e.net/projects/bodhilinux/files/ARMHF/Pi/) The R_Pi Bodhi build is<br />

built directly on top of Raspbian and incorporates all of their changes and improvements.<br />

Gentoo<br />

Gentoo Linux (http://www.gentoo.<strong>org</strong>/) is a source based rolling-release distribution<br />

which emphasizes choice and flexibility. Gentoo ARM (http://www.gentoo.<strong>org</strong>/proj/en/<br />

base/arm/) aims to be the most up to date and fastest ARM distribution available.


A Quick Start Guide (http://wiki.gentoo.<strong>org</strong>/wiki/Raspberry_Pi_Quick_Install_Guide)<br />

exists how to install Gentoo on the Raspberry Pi.<br />

Gentoo Section (http://www.raspberrypi.<strong>org</strong>/phpBB3/viewforum.php?f=54) on the<br />

official Raspberry Pi forum.<br />

Adafruit - Occidentalis v0.1<br />

http://learn.adafruit.com/adafruit-raspberry-pi-educational-linux-distro/occidentalisv0-dot-1<br />

Occidentalis v0.1. Rubus occidentalis is the black raspberry. It is derived from<br />

Raspbian Wheezy July 15 Made a few key changes to make it more hardware-hacker<br />

friendly!<br />

▪ I2C and hardware SPI support<br />

▪ I2C/SPI modules initialized on boot<br />

... Please keep in mind, adafruit is not full time linux distro maintainers - we will try to<br />

fix any bugs we find but this distro is not for beginners or people who are new to linux!<br />

RISC OS<br />

RISC OS is a fast and lightweight computer operating system designed in Cambridge,<br />

England by Acorn (http://en.wikipedia.<strong>org</strong>/wiki/Acorn_Computers) . First released in<br />

1987, its origins can be traced back to the original team that developed the ARM<br />

microprocessor. RISC OS includes BBC BASIC (http://en.wikipedia.<strong>org</strong>/wiki/<br />

BBC_BASIC) which was primarily conceived to teach programming skills as part of the<br />

BBC computer literacy project.<br />

▪ RISC OS Open (http://www.riscosopen.<strong>org</strong>/) (ROOL) has released the sources.<br />

Community members have ported the OS to the BeagleBoard and similar hardware<br />

▪ In November 2011, RISCOScode.com announced that RISC OS will be available as<br />

an alternative OS (http://www.riscoscode.com/Pages/Item0113.html) for Raspberry<br />

Pi from launch<br />

▪ RaspberryPi forum (http://www.raspberrypi.<strong>org</strong>/<br />

forum?mingleforumaction=viewtopic&t=919) thread<br />

▪ ROOL forum (http://www.riscosopen.<strong>org</strong>/forum/forums/5/topics/783) thread<br />

▪ http://www.pilearn.com/Pages/Page1001.html<br />

PiBang Linux<br />

PiBang linux is a Raspbian based distribution. PiBang is inspired by Crunchbang Linux,<br />

an i686 and x86_68 Debian based distribution. It comes preconfigured with many helpful<br />

scripts and pipemenus as well as a fork of Raspi-config with increases functions such as


support for changing the user and hostname. PiBang is also one of the heavier Rasperry<br />

Pi distributions boasting a complete package set with favorites such as Abiword,<br />

OMXPlayer, GIMP, and VLC all pre-installed.<br />

http://www.pibanglinux.<strong>org</strong><br />

Announced distributions<br />

The following distributions have been announced and may have been publicly<br />

demonstrated but distributions are not generally available quite yet.<br />

NetB<strong>SD</strong><br />

NetB<strong>SD</strong> is an operating system based off 4.3B<strong>SD</strong> and is geared towards embedded<br />

systems. There has been an unofficial public beta release here (ftp://ftp.netbsd.<strong>org</strong>/pub/<br />

NetB<strong>SD</strong>/misc/skrll/rpi-netbsd-6.img.gz) , however the since there is no video or<br />

networking support yet, the only way to interface with it is through a serial console.<br />

FreeB<strong>SD</strong><br />

Details and install guide of the FreeB<strong>SD</strong> port (http://kernelnomicon.<strong>org</strong>/?p=164)<br />

Chromium OS<br />

Details about the work (http://www.engadget.com/2012/06/20/chromium-os-gets-portedto-raspberry-pi/)<br />

Chromium OS is Google own version of linux os<br />

KidsRuby<br />

KidsRuby is what it sounds like – a Ruby for kids – and it’s running beautifully on the<br />

Raspberry Pi. This is exactly the sort of application we want to see on the device, and<br />

we’re really pleased to see it up and running. It looks like there will be some optimisation<br />

for speed before we launch, but what’s there already is very useable.<br />

R.Pi blog entry: http://www.raspberrypi.<strong>org</strong>/2011/09/kidsruby-on-raspberry-pi-anothervideo-demo/<br />

More info & Video: http://confreaks.net/videos/<br />

637-gogaruco2011-kidsruby-think-of-the-children?player=html5


Meego MER & XBMC<br />

The MeeGo MER project provides a Linux-based, open source software platform for the<br />

next generation of computing devices. The MeeGo MER software platform is designed to<br />

give developers the broadest range of device segments to target for their applications,<br />

including netbooks, handheld computing and communications devices, in-vehicle<br />

infotainment devices, smart TVs, tablets and more – all using a uniform set of APIs based<br />

on Qt. XBMC is an award-winning free and open source (GPL) software media player<br />

and entertainment hub for digital media. Meego TV 1.2 uses XBMC as a reference GUI<br />

(that is, a starting point for creating a custom GUI).<br />

▪ http://www.madeo.co.uk/?p=783<br />

▪ http://www.madeo.co.uk/?page_id=605<br />

▪ http://wiki.meego.com/User:Vgrade#Raspberry_Pi<br />

▪ http://wiki.merproject.<strong>org</strong>/wiki/Community_Workspace/RaspberryPi<br />

▪ https://github.com/xbmc/xbmc-rbp<br />

Puppy<br />

Puppy Linux is designed to be a small tiny Linux distribution (


Mes (Marshmallow Entertainment System Engine<br />

Old school 8bit and 16bit 2D game under development.<br />

▪ Website (http://guillermoamaral.com/marshmallow_h/)<br />

▪ Demo <strong>SD</strong> card .img images (https://github.com/gamaral/rpi-buildroot/downloads)<br />

▪ Youtube Updates (http://www.youtube.com/playlist?list=PL6663F4636B896305)<br />

Aros Hosted on Linux<br />

Aros (http://www.aros.<strong>org</strong>) is an open source Amiga like operating system (OS) at the api<br />

level. This version runs as a task under Linux to take advantage of the drivers available<br />

inside the GNU Linux OS core.<br />

Related links<br />

▪ http://amigaworld.net/modules/newbb/viewtopic.php?topic_id=35843&forum=48<br />

▪ http://www.raspberrypi.<strong>org</strong>/archives/tag/aros<br />

▪ Youtube videos (http://www.youtube.com/<br />

results?search_query=raspberry+pi+aros&oq=raspberry+pi+aros&gs_l=youtube.3..0.614.4729.0.4969.11<br />

tiINLoemg)<br />

▪ http://www.amiga.<strong>org</strong>/forums/archive/index.php/t-62135.html<br />

Other Distributions<br />

These are other popular distributions that are often asked about for Raspberry Pi but are<br />

not available.<br />

GeeXboX ARM<br />

GeeXboX is a free and Open Source Media-Center purposed Linux distribution for<br />

embedded devices and desktop computers. GeeXboX is not an application, it’s a fullfeatured<br />

OS, that one can boot as a LiveCD, from a USB key, an <strong>SD</strong>/MMC card or install<br />

on its regular HDD. The GeeXboX distribution is lightweight and designed for one single<br />

goal: embed all major multimedia applications as to turn your computer into an HTPC.<br />

http://www.geexbox.<strong>org</strong>/category/arm/


Ubuntu<br />

Ubuntu (http://www.ubuntu.com/) was initially planned to be the default distribution, but<br />

the current version of Ubuntu only supports ARMv7 onwards, not the ARMv6<br />

architecture used by the Raspberry Pi's processor. Therefore Ubuntu does not work on<br />

Raspberry Pi, and there is no further information about this changing in the near future.<br />

A bug report on this subject was submitted to Ubuntu's bug tracker. The responses to that<br />

bug include an unofficial viewpoint from a Canonical employee, outlining the amount of<br />

work required to support ARMv6 (and therefore, potentially, Raspberry Pi). See Bug<br />

848154 (https://bugs.launchpad.net/ubuntu/+bug/848154)<br />

https://wiki.ubuntu.com/ARM<br />

References<br />

Startup<br />

Raspberry Pi<br />

Model Wizard - Buying Guide - <strong>SD</strong> <strong>Card</strong> <strong>Setup</strong><br />

- Basic <strong>Setup</strong> - Advanced <strong>Setup</strong> - Beginners<br />

Guide - Troubleshooting<br />

Hardware<br />

Hardware - Hardware History - Low-level<br />

peripherals - Expansion Boards<br />

Peripherals Screens - Cases - Other Peripherals<br />

Software<br />

Software - Distributions - Kernel - Performance<br />

- Programming - VideoCore APIs<br />

Projects<br />

Tutorials - Guides - Projects - Tasks -<br />

DataSheets - Education - Communities<br />

Retrieved from "http://elinux.<strong>org</strong>/index.php?title=<strong>RPi</strong>_Distributions&oldid=195500"<br />

Categories: Linux ARM Development Boards Broadcom Development Boards<br />

RaspberryPi Education<br />

▪ This page was last modified on 25 November 2012, at 23:36.<br />

▪ Content is available under a Creative Commons Attribution-ShareAlike 3.0<br />

Unported License.


<strong>RPi</strong> VerifiedPeripherals<br />

From <strong>eLinux</strong>.<strong>org</strong>


Back to the Hub.<br />

Hardware &<br />

Peripherals:<br />

Hardware and<br />

Hardware History.<br />

Low-level Peripherals<br />

and Expansion Boards.<br />

Screens, Cases and<br />

Other Peripherals.<br />

Contents<br />

▪ 1 Notes<br />

▪ 2 Power Usage Notes<br />

▪ 3 Linux Driver Issues<br />

▪ 4 Powered USB Hubs<br />

▪ 4.1 Working USB Hubs<br />

▪ 4.2 Problem USB Hubs<br />

▪ 5 USB Remotes<br />

▪ 6 USB Keyboards<br />

▪ 6.1 Working USB Keyboards<br />

▪ 6.2 Problem USB Keyboards<br />

▪ 7 USB Mouse devices<br />

▪ 7.1 Working USB Mouse Devices<br />

▪ 7.2 Problem USB Mouse Devices<br />

▪ 8 USB Real Time Clocks<br />

▪ 9 USB WiFi Adapters<br />

▪ 9.1 Working USB Wifi Adapters<br />

▪ 9.2 Problem USB Wifi Adapters<br />

▪ 10 USB Bluetooth adapters<br />

▪ 10.1 Working Bluetooth adapters<br />

▪ 10.2 Problem Bluetooth adapters<br />

▪ 11 USB Ethernet adapters<br />

▪ 11.1 Working Ethernet adapters<br />

▪ 11.2 Problem Ethernet adapters<br />

▪ 12 USB Sound <strong>Card</strong>s<br />

▪ 13 USB 3G Dongles<br />

▪ 14 USB IR Receivers<br />

▪ 15 USB Radio devices<br />

▪ 16 USB TV Tuners and DVB devices<br />

▪ 17 USB Webcams<br />

▪ 17.1 Working USB Webcams<br />

▪ 17.2 Problem USB Webcams<br />

▪ 18 USB GPS devices<br />

▪ 19 USB UART and USB to Serial (RS-232) adapters<br />

▪ 20 Other, exotic USB devices<br />

▪ 20.1 USB to Parallel Port/Printer Adapters<br />

▪ 20.2 USB to SATA<br />

▪ 20.3 CAN Bus<br />

▪ 20.4 Home automation


A note about this<br />

page: For USB<br />

devices, please specify<br />

if they required a<br />

powered hub<br />

Notes<br />

19-Apr-2012: Now that<br />

the Model B board is<br />

shipping, details added<br />

should relate to this<br />

board and the default<br />

Debian distribution<br />

▪ 20.5 Touch Screen<br />

▪ 20.6 Floppy Disk Drive<br />

▪ 20.7 USB Missile Launcher<br />

▪ 20.8 USB Docking Stations<br />

▪ 20.9 USB RFID Reader<br />

▪ 20.10 JTAG<br />

▪ 20.11 USB 3.0 Multi-<strong>Card</strong> Reader<br />

▪ 21 PS2 / AT to USB Converters<br />

▪ 22 Power adapters<br />

▪ 22.1 Working power Adapters<br />

▪ 22.2 Problem power Adapters<br />

▪ 22.3 External Battery packs (with 5V regulated output)<br />

▪ 23 Display adapters<br />

▪ 23.1 HDMI->DVI-D<br />

▪ 23.2 HDMI->VGA converter boxes<br />

▪ 23.3 DVI-D -> VGA active adapters<br />

▪ 23.4 Composite->SCART<br />

▪ 23.5 Composite->VGA converter boxes<br />

▪ 24 <strong>SD</strong> cards<br />

▪ 24.1 Which <strong>SD</strong> <strong>Card</strong>?<br />

▪ 24.2 Other <strong>SD</strong> <strong>Card</strong> content<br />

▪ 24.3 Technical Information<br />

▪ 24.4 Preinstalled <strong>SD</strong> <strong>Card</strong>s<br />

▪ 24.5 Working <strong>SD</strong> <strong>Card</strong>s<br />

▪ 24.6 Problem <strong>SD</strong> <strong>Card</strong>s<br />

▪ 24.7 Benchmarks<br />

▪ 25 Foreign Language Translations<br />

▪ 26 References<br />

(http://www.raspberrypi.<strong>org</strong>/downloads) unless stated otherwise. A suggested suffix<br />

markup scheme is as follows:<br />

▪ (A) - Relates to model A production board<br />

▪ (B) - Relates to model B production board<br />

▪ (!) - Information from alpha and beta board days -- beta board verified peripherals<br />

should still apply to production boards for the most part, but the alpha board is fairly<br />

different<br />

▪ No markup - relates to all production boards<br />

Discuss: http://www.raspberrypi.<strong>org</strong>/forum/?mingleforumaction=viewtopic&t=247<br />

If you are adding to a product list it would help clarity if entries are kept/added in<br />

alphabetical order.


Power Usage Notes<br />

Warning: Adding peripherals may increase the loading on the power supply to your<br />

board and this, in turn, may affect the voltage presented to the <strong>RPi</strong>. If the<br />

<strong>RPi</strong>'s supply voltage falls below a certain value (anecdotally stated as<br />

around 4.75V), or it begins to fluctuate, your setup may become unstable.<br />

There is a Wiki section about this issue (http://elinux.<strong>org</strong>/<br />

<strong>RPi</strong>_Hardware#Power) which is worth a read.<br />

Model B Hardware Revisions and USB Power limits Hardware Revision 1.0 The<br />

original Model B board had current limiting polyfuses which limited the power output of<br />

each USB port to approximatly 100mA. USB devices using more than 100mA had to be<br />

connected via a powered hub. The PI's PSU was chosen with a power budget of 700mA<br />

of which 200mA were assigned to the USB ports, so the Raspberry Pi's (poly)fuses were<br />

designed only for devices up to 100mA, and typical 140mA polyfuses will have as much<br />

as 0.6 volt across them when drawing currents near the 100mA limit. As a consequence<br />

the USB ports are only directly suitable for "single current unit" USB devices which,<br />

according to USB specifications, are designed to work with just 4.4 Volt. Not only do non<br />

single current unit devices draw more current (causing greater Voltage drops, and greater<br />

stress on the fuses), they also might require 4.75 Volt to work.<br />

Model B Hardware Revision 2.0 and Revision 1.0 with ECN0001 change This had the<br />

polyfuses removed, removing the 100mA current limitation for each USB port (but<br />

leaving the main fuse F3 intact). Users should still ensure their power supply can power<br />

the <strong>RPi</strong> and the USB peripherals. Revision 2.0 was released in August 2012.<br />

Linux Driver Issues<br />

Shortly after the Raspberry Pi was released it was confirmed that there were a number of<br />

issues with the Linux USB driver for the SMSC95xx chip. These included problems with<br />

USB 1.x peripherals that use split transactions, a fixed number of channels (causing<br />

problems with Kinect) and the way the ARM processor handles the SMSC95xx<br />

interrupts. [1] (http://www.raspberrypi.<strong>org</strong>/phpBB3/<br />

viewtopic.php?f=28&t=12097&start=76) [2] (http://www.raspberrypi.<strong>org</strong>/phpBB3/<br />

viewtopic.php?f=28&t=5249&start=44) A large number of fixes were included in the<br />

2012-08-19-wheezy-raspbian Linux image.


Powered USB Hubs<br />

A number of low-cost powered USB hubs are known to have caused problems. Members<br />

of the Raspberry Pi forums have reported low power or no power at all in some cases.<br />

The following is a list of specific Powered USB Hubs which appear to be fault-free.<br />

Please note that these do not take into account powering the Raspberry Pi from the hub,<br />

in addition to its peripherals.<br />

If you use a powered hub and PI PSU together consider powering them from the same<br />

power bar with switch, so you can turn them on simultaneously., especially if the HUB<br />

tries to feed the PI through their interconnect cable, due to the 100mA limiting fuse in the<br />

PI the PI will be partially powered which may cause problems (unwanted writes to the<br />

<strong>SD</strong> card).<br />

Working USB Hubs<br />

▪ Acme<br />

▪ USB 2.0 hub 4 port (ACME (http://www.acme.eu/en-us/product/019188) ) Based<br />

on NEC μPD720114 USB2.0 Hub Controller USB ID 0409:005a NOTE! It is<br />

bus-powered hub, but very cheap and small and works after a small modding: on<br />

usb-hub board you have 4 holes: V, D+, D- and GND. Connect GND, D+ and Dto<br />

the RasPI, and additionally connect GND and +5v from power supply to the<br />

same holes on usb-hub GND and V. Now there is common contacts: GND, D+<br />

and D- between RasPI and hub needed to work, and additional power for USB<br />

devices, connected to the hub. Tested on my RasPI.<br />

▪ Belkin<br />

▪ F4U040 4-Port Ultra-Slim Desktop hub (powered 5v, 2.6A, lsusb lists as Genesys<br />

Logic 05e3:0608)<br />

▪ F5U224 4 port powered USB hub<br />

▪ F5U231/F5U234 Hi-speed USB 2.0 Tertrahub - 4 port powered USB hub<br />

(verified.. able to power Raspberry Pi using micro USB directly from hub)<br />

▪ F5U237 7 Port powered USB 2.0 5V 3.8A (5 back port 2 top ports)<br />

▪ F5U259-ME USB 2.0 7-Port Hub (Powered, able to apply power to Raspberry Pi<br />

via micro USB from this hub at same time)<br />

▪ F5U403 USB 2.-0 4 Port Hub (Powered, suspect see F5U404 in non-working,<br />

didn't test power the <strong>RPi</strong> from hub.)<br />

▪ F5U700 USB 2.0 7-Port Hub (Powered, able to power Raspberry Pi via micro<br />

USB directly from hub)<br />

▪ F5U706ea/uk 2-in-1 Hub (USB 2.0, powered, 7-port)<br />

▪ F5U706701PerBlk 7-in-1 Hub (USB 2.0, powered 5V 2.5A , 7-port)<br />

▪ F4U039qukAPL 7 port Ultra-Slim Desktop Hub (internally two Genesys Logic<br />

05e3:0608 devices - powering <strong>RPi</strong> from port furthest away from power supply.<br />

Toshiba Stor.E 1TB must be powered from ports closest to the power supply to


avoid errors in dmesg. Flash drives seem fine on ports away from the power<br />

supply.)<br />

▪ Benq<br />

▪ E2220HD LCD Monitor with 4 port USB Hub. Able to power the Pi and no<br />

backfeed of power from the monitor to the Pi via the interconnect. Just works.<br />

▪ Biltema<br />

▪ 23-924 4-port powered USB 2.0 Hub (2.0A) Able to power Raspberry Pi via<br />

USB port<br />

▪ C3 Tech<br />

▪ C3 Tech 7-port powered hub with PSU 5V, 2.0A. Working without<br />

problems.WARNING The hub is Backpowering so if you don´t like Backpower<br />

mod the hub or cut the Red wire from uplink cable. USB ID 1a40:0201 Terminus<br />

Technology Inc. Hub (B)<br />

▪ CyberPower<br />

▪ [3] (http://www.newegg.com/Product/Product.aspx?Item=N82E16817804002)<br />

CP-H720P 7-port powered hub with 3.6A adapter. Internally, a NEC Corp<br />

0409:0050 device. Works perfectly with Model B, regardless of whether the <strong>RPi</strong><br />

is being powered by the hub or externally. WARNING: This device seems to<br />

have been replaced with one based on dual 05e3:0608 Genesys Logic, Inc.<br />

USB-2.0 4-Port HUB internally<br />

▪ Dell<br />

▪ Dell 2001FP monitor has 4 USB ports and acts as a powered hub.<br />

▪ Dell SP2309W monitor has 4 USB ports and acts as a powered hub.<br />

▪ Dell 2407FWP monitor has 4 USB ports and acts as a powered hub. Additionally,<br />

the 6-in-1 <strong>Card</strong> Reader part of the monitor works as well, though it will not read<br />

<strong>SD</strong>XC <strong>Card</strong>s.<br />

▪ Dell U3011 monitor has 4 USB ports and acts as a powered hub. Additionally, the<br />

<strong>Card</strong> Reader part of the monitor works as well, and is compatible with 128GB<br />

<strong>SD</strong>XC Lexar Brand <strong>Card</strong>s<br />

▪ Delock<br />

▪ 4-port powered USB 2.0 Hub (2.0A) Able to power Raspberry Pi via USB port<br />

(Model: B/N61393)<br />

▪ DELTACO<br />

▪ UH-715 Rev 2 (https://www.deltaco.se/products/items/<br />

itemid/(UH-715)/index.aspx) 7-port powered hub with 2A adapter.<br />

▪ DYNEX<br />

▪ 7port hub idVendor=0409, idProduct=0050 works<br />

▪ D-Link<br />

▪ [4] (http://www.amazon.com/D-Link-DUB-H7-High-Speed-7-Port/dp/<br />

B00008VFAF) 7-Port USB Hub DUB-H7 (See note below - doesn't work for all,<br />

apparently). Working model marked BUBH7A....A5. Worked with Debian on<br />

production B model, for keyboard, mouse, and thumb drives, also worked with


ArchLinux, didn't work with Bodhi Linux immediately thereafter. Recent model<br />

did not work with default raspbian firmware (3.1.9+ #272); updated firmware<br />

with rpi-update (to 3.2.27+ #66), now seems to work perfectly.<br />

▪ [5] (http://www.newegg.com/Product/Product.aspx?Item=N82E16817111131)<br />

4-Port USB Hub DUB-H4 Worked on Debian with keyboard, mouse, and thumb<br />

drive. Also tested with Raspbmc and external HD (powered through USB). While<br />

the hub has a charging port, which should be able to provide power enough to the<br />

RasPi (1.2 A), connecting the RasPi here doesn't work, as it seems the power is<br />

cut during boot (At least with hub hardware rev. C1). While it does boot from any<br />

of the other ports, it shouldn't be used it doesn't provide enough power (Standard<br />

500 mA per port. Measuring at P1-P2 on the RasPi: ~4.45 V).<br />

▪ Digicom<br />

▪ [6] (http://www.digicom.it/digisit/prodotti.nsf/itprodottiidx/MiniHubUsb204P#)<br />

MiniHUB 4-Port USB 2.0 with PSU 5V - 2A .<br />

▪ Digitus<br />

▪ 7-port USB2.0 Powered Hub. Model DA-70226.<br />

▪ Eminent<br />

▪ [7] (http://www.eminent-online.com/en/product/22/em1102-4-port-usb-hub--black.html)<br />

EM1102 4 Port USB 2.0 Hub with 1A power adapter. It's able to<br />

power the <strong>RPi</strong>, external HDD and other peripherals.<br />

▪ [8] (http://www.eminent-online.com/en/product/27/7-port-usb-2-0-hub.html)<br />

EM1107 7 Port USB 2.0 Hub with 2A power adapter. It's able to power the <strong>RPi</strong>,<br />

external HDD and other peripherals.<br />

▪ GearHead<br />

▪ [9] (http://www.amazon.com/gp/product/B004OBZ088/) GearHead 4 Port Hub<br />

with Energy Saving Power Switch (5V, 1A)<br />

▪ Gembird<br />

▪ Gembird UHS 242 4-port USB 2.0 Hub 1.8 Amps<br />

▪ Genesys Logic (sold at Fry's)<br />

▪ Genesys Logic 4-Port USB 2.0 Hub (ID 05e3:0608) (Other brands include<br />

Gigaware and Belkin, same ID shows up in lsusb)<br />

▪ Genesys Logic 4-Port USB 2.0 Hub (ID 05e3:0606) (Other brands include i-<br />

Rocks, same ID shows up in lsusb)<br />

▪ Hama<br />

▪ Hama 4-way USB 2.0 Hub<br />

▪ HP<br />

▪ HP ZR2240w 21.5" Monitor with built in 2-Port USB Hub (B)<br />

▪ König Electronic<br />

▪ CMP-USB2HUB55 - 7 port USB2.0 HUB, (ID 1a40:0201 Terminus Technology<br />

Inc. Hub) 2.0A power supply, backpowers <strong>RPi</strong> well.<br />

▪ Laser


▪ "7 port USB hub with AC adapter Version 2.0". 5V 1A (found at Harvey Norman<br />

Australia for $24.95 and Australia Post Shops for $9.95). You can power the PI<br />

by connecting both the main USB connector to the PI USB port, and from a<br />

spare USB port back to the power micro USB socket. If you don't do both, bootloops<br />

are likely to occur.<br />

▪ Logik<br />

▪ [10] (http://www.currys.co.uk/gbuk/logik-lp4hub10-4-port-powered-usbhub-04979038-pdt.html)<br />

LP4HUB10 4-Port USB Hub. Throws errors when<br />

used with Fedora remix 14<br />

▪ Logik L4THUB10 4 Port powered hub works fine under raspbian/wheezy/model<br />

B. Captive usb cable, 2A power supply, convenient single top mounted usb<br />

socket. Unlike my last hub, will power wifi!<br />

▪ LogiLink<br />

▪ UA0085 USB 2.0 Hub, 4-Port with PSU 5V, 2A<br />

▪ UA0091 USB 3.0 Hub, 4-Port with PSU 5V, 4A. Connected with USB2.0 cable.<br />

1A per port, able to support USB HDD drives and other power hungry devices.<br />

Tested with kernel 3.1.9-cutdown, Wheezy.<br />

▪ UA0096 USB 2.0 Hub, 10-Port with PSU 5V, 3.5A (Not suitable for powering<br />

<strong>RPi</strong> because it doesn't work unless there is working USB input present even with<br />

PSU plugged in.)<br />

▪ UA0160 USB 2.0 Hub, 4-Port with PSU 5V, 2A. Able to power the <strong>RPi</strong>,<br />

keyboard, mouse and LogiLink UA0144 USB ethernet adapter. (More testing to<br />

come.)<br />

▪ Macally<br />

▪ [11] (http://www.macally.com/EN/?page_id=2312) Hi-Speed 7-Port USB 2.0<br />

Powered Micro HUB, AC Powered. Includes a 2000mA wall-wart (US style)<br />

▪ Manhattan<br />

▪ [12] (http://manhattan-products.com/en-US/products/6500-hi-speedusb-2-0-micro-hub)<br />

(#160612) Hi-Speed USB 2.0 Micro HUB, AC Powered<br />

(identifies as ID 05e3:0608 Genesys Logic) Includes a 1000mA wall-wart (US<br />

style)<br />

▪ [13] (http://manhattan-products.com/en-US/products/9583-mondohub) (#161718)<br />

MondoHub 28 Port USB 3.0 & USB 2.0 HUB (24 USB 2 Ports @500ma each) +<br />

(4 USB 3.0 Ports @900ma each) Power Switches on each port, AC Powered and<br />

Includes a 5V 4A wall-wart (US style)<br />

▪ Newlink<br />

▪ NLUSB2-224P 4 port USB 2.0 Mini hub with PSU 5V 1A<br />

▪ NLUSB2-222P 4 port USB 2.0 Hub with 5V 2A PSU (Available From |<br />

ModMyPi (https://www.modmypi.com/shop/raspberry-pi-accessories/New-<br />

Link-4-Port-USB-Hub-(USB-2.0-with-Mains-Adaptor)) )<br />

▪ Nilox<br />

▪ Nilox USB 2.0 4port HUB model HUB4USB2AC with PSU 5V 1.0A<br />

▪ Plugable


▪ [14] (http://plugable.com/products/USB2-HUB4BC/) USB2-HUB4BC 4 Port<br />

USB 2.0 Hub with BC 1.1 Fast Charging. 5V 2.5A power supply. Powering Pi<br />

via microUSB from a hub port. USB Audio peripheral tested and working.<br />

▪ [15] (http://plugable.com/products/USB2-HUB-AG7/) USB2-HUB-AG7 7 Port<br />

USB 2.0 Hub with 5V 3A power supply. There are US and UK power supply<br />

versions and it can be ordered in US and (for the UK version) many countries in<br />

Europe. There is a video showing this hub powering both the Pi several<br />

peripherals at once[16] (http://www.youtube.com/watch?v=pDA7MxFtoS0) .<br />

▪ Pluscom<br />

▪ Pluscom 7 Port USB 2.0 Hub Model U7PH-3A with 3Amp PSU. USB ID<br />

1a40:0101. Powering Pi via microUSB from a hub port. Internally two 4 Port<br />

switches linked. Leaks power back up USB data cable to Pi but not really a<br />

problem when powering Pi at the same time.<br />

▪ Satechi<br />

▪ ST-UH12P 12 port powered hub with 2 Control Switches. Also works while<br />

powering the Pi.<br />

▪ Staples (Business Depot) (Bureau EN GROS)<br />

▪ Staples 4-port hub Item 607477-CA<br />

▪ StarTech.com<br />

▪ StarTech.com 7-port Compact USB 2.0 Hub (ST7202USB). Comes with 5v 2A<br />

supply. Shows in lsusb as two Genesys Logic, Inc. USB-2.0 4-Port HUBs<br />

(05e3:0608). Back powers Pi (Just, Voltage across TP1 & TP2 is a little low<br />

when powered from this hub).<br />

▪ SumVision<br />

▪ Sumvision Slim 4 Port High Speed USB 2.0 HUB with PSU 5V 1.0A (from |<br />

7dayshop (http://www.7dayshop.com/catalog/<br />

account_history_info.php?page=1&order_id=5130107) )<br />

▪ Sitecom<br />

▪ CN-032 4 Port USB 2.0 Pocket Hub. Works for powering the Pi, an USB WLAN<br />

Adapter, wireless Kbd+Mouse. Using an 2500 mA Voltcraft<br />

▪ CN-060 4 Port USB 2.0 Hub powered with AC Adapter (1A). Powering Pi via<br />

microUSB from a hub port.<br />

▪ Sweex<br />

▪ US014 4 Port USB 2.0 Hub<br />

▪ Targus<br />

▪ ACH81xx 7-port powered hub. 5V 3A power supply, with 2 high power ports.<br />

(possible conflicting behaviour with USB keyboard / Wifi Dongles)<br />

▪ ACH63EU 4-port. Using a 5V 2A power supply, which isn't supplied with the<br />

hub, it is able to power the PI as well.<br />

▪ The Pi Hut<br />

▪ 7 Port USB Hub (from The Pi Hut's Raspberry Pi Store (http://thepihut.com/<br />

products/7-port-usb-hub-for-the-raspberry-pi) )


▪ Trendnet<br />

▪ [17] (http://www.trendnet.com/products/<br />

proddetail.asp?prod=130_TU2-700&cat=49) TU2-700 7 Port Powered USB 2.0<br />

Hub with AC Adapter (5V 2A)<br />

▪ Tripp-Lite<br />

▪ [18] (http://www.tripplite.com/en/products/model.cfm?txtModelID=3167)<br />

U222-007-R 7 Port Powered USB 2.0 Hub with AC Adapter (5V 2.5A) Powering<br />

<strong>RPi</strong> from Hub works<br />

▪ Ultron<br />

▪ [19] (http://www.ultron.de/v1/<br />

produktansicht.php?artnr=67072&kid=bfa8340c4e245...&l=en&WGType=Neue+USB-<br />

HUBS) UHN-710 7-port powered hub with PSU 5V, 3A. USB ID 1a40:0201.<br />

▪ VANTEC<br />

▪ 4 Port USB 2.0 Powered Hub Model: UGT-MH304. 5V 2A AC/DC adapter. Go<br />

2.0 Mini hub.<br />

▪ Z-TEK<br />

▪ Z-TEK 7-port powered hub with PSU 5V, 4A. USB ID 1a40:0201.<br />

▪ "Unknown"<br />

▪ 10(7-4) port hub idVendor=1a40, idProduct=0201 / idVendor=1a40,<br />

idProduct=0101 works<br />

Problem USB Hubs<br />

Please check known workarounds here (http://elinux.<strong>org</strong>/Rpi_USB_check-list) before<br />

adding to the list<br />

▪ Addon<br />

▪ 7-Port Powered Hub - labelled ADDUH070P - Gives constant Eth0 errors on<br />

boot.<br />

▪ Belkin<br />

▪ 7-Port Powered Mobile Hub - device labelled F4U018, packaging labelled<br />

F5U701. lsusb reveals it to be two Genesys Logic 4-port hubs based on the<br />

GL850G chipset (vendor: 0x05e3 product: 0x0608) ganged together. Yields a lot<br />

of "handle_hc_chhltd_intr_dma:: XactErr without NYET/NAK/ACK" errors and<br />

device resets in /var/log/messages. Low speed devices such as keyboards work<br />

OK, wifi/mass storage is unreliable or broken. -- No error messages with the<br />

latest kernel, but still unstable with mass storage devices. Also, leaks current back<br />

to the Pi (can be fixed by overtaping GND and +5V pinouts)<br />

▪ F4U022 7-Port powered USB hub (powered 5v, 2.6A), same as F4U018<br />

▪ 7-Port Powered Hub - device labled F5U237 Rev.3 - ID 050d:0237 Wired<br />

ethernet fails to connect; gives "DWC OTG HCD URB enqueue failed adding<br />

QTD. Error status -4008" Result is same as DUB-H7 below.


▪ Dell<br />

▪ F5U404 Hi-Speed USB 2.0 4-Port Mobile Hub. Faulty/bad design; Leaks current<br />

back up the cable to the Raspberry Pi.<br />

▪ F5U307 Hi-Speed USB 2.0 7-Port Hub (Powered, able to apply power to<br />

Raspberry Pi via micro USB from this hub at same time) It work's sometimes.<br />

(Works always without powering the <strong>RPi</strong>, haven't tried that)<br />

▪ Dell U2410 Monitor Built-in 4 Port Hub - Shows up as a pair with 0424:2514<br />

and 0424:2640. Standard Microsystems Corp. USB 2.0 Hub. When connecting<br />

some devices it kills the Ethernet with "smsc95xx 1-1.1:1.0: eth0: Failed to read<br />

register index 0x0000011X" errors. It did work for a keyboard and webcam.<br />

Bluetooth that works connected directly to the Pi triggers the error.<br />

▪ DELTACO<br />

▪ 7-Port USB Hub UH-713 Rev 3. This one consists also of two 05e3:0608<br />

Genesys Logic, Inc. USB-2.0 4-Port HUBs connected together. The power supply<br />

is rated at 5 V 2 A. It kills ethernet when X11 is started.<br />

▪ Dynex<br />

▪ 7-Port USB Hub - Does not work in Debian 19-04 image.<br />

▪ DX-HB7PT 7-Port USB Hub - As per the Gear Head below, it's 2 daisy-chained<br />

Genesys Logic 05e3:0608 devices. Appears to result in significant slow downs<br />

when the USB is under load, such as running the root filesystem from a USB<br />

drive.<br />

▪ Dynamode<br />

▪ 7-Port USB 2.0 Hub (Silver and black). Feeds power back up the interconnect to<br />

the Pi causing the power LED to light on the Pi if the hub is powered on but the<br />

Pi is not. The Pi also fails to boot when powered off this hub, with or without the<br />

interconnect plugged in. Stops the network from working when connected to the<br />

Pi after booting the Pi - cannot ssh to the Pi. Best avoided. :-( Shows up in lsusb<br />

as a pair of ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB which is<br />

interesting. - Confirmed. This hub also appears unable to power an external USB<br />

drive using a y-cable as it gives the error -71 message in dmesg (when providing<br />

external power to the <strong>RPi</strong>)<br />

▪ 4-Port High-Speed USB 2.0 Hub (USB-H40-A2.0), came with with a 1A power<br />

supply. Leaks power to the Pi through the uplink. Doesn't work with Pi, unless<br />

the Pi is powered by a second power source. This hub is completely generic and<br />

I've seen it being sold under different brand names as well. Therefore, a picture is<br />

included (http://i.imgur.com/BPZ3j.jpg) for easy identification.<br />

▪ D-Link<br />

▪ 7-Port USB Hub DUB-H7 (Crashes USB stack, including Ethernet, when<br />

plugging / using some peripherals). (See note above, it works with some distros<br />

and/or with latest firmware)<br />

▪ E-Solution


▪ 4-Port 2A Supply (Does not detect at all during boot or after boot- no messages)<br />

[IC = Alcor Micro Corp (AU6254)]<br />

▪ Fosmon<br />

▪ 7-Port USB 2.0 Hub w/ 1A Power Supply (Causes interference with other USB<br />

devices and sends enough power to light up the pi with it's Micro USB cable<br />

unplugged).<br />

▪ Gear Head<br />

▪ UH7250MAC 7-port powered hub. Internally, two daisy-chained Genesys Logic<br />

05e3:0608 devices. Causes Ethernet instability when used under very specific<br />

circumstances, in X11.<br />

▪ UH5200T 4-port powered hub. As of 2012-08-16 Wheezy, if any USB 1.x device<br />

(a keyboard, for example) is plugged into this hub, Ethernet stops, and USB<br />

interrupts for other devices get dropped (keys repeating forever), etc. Occurs even<br />

if power is not attached (not a power leakage problem). Appears working after a<br />

bootloader and/or firmware update on 9/12. Also, turned out to be somewhat<br />

more specific to the combination of two particular low-speed devices.<br />

▪ Hama<br />

▪ 4-Port USB 2.0 "bus hub", model 78496 (?). Only works for low power devices<br />

(card readers?), but does not work for power hungry devices (HDD,WLAN).<br />

Doesnt boot when hub connected to <strong>RPi</strong>. The funniest thing is that <strong>RPi</strong> powers on<br />

when I plug in this hub to normal size USB port (not that small dedicated port).<br />

idVendor=05e3, idProduct=0608<br />

▪ Kensington<br />

▪ iBall<br />

▪ 7-Port Dome Hub model no 1500129 (Possible problems with malfunctioning<br />

keyboard, kills mouse when GUI started).<br />

▪ Piano 423 4-Port USB hub. Listed in lsusb as Genesys Logic. Fails to deliver<br />

enough power to connected devices even when using AC power suply.<br />

▪ Inland<br />

▪ 4-Port USB 2.0 Cable Hub model no 480426 (Some devices work, some don't,<br />

cheap unshielded untwisted wire design)<br />

▪ Logik<br />

▪ LP7HUB11 7-Port USB Hub. (Ethernet failed, slow response, in LXDE.<br />

Happened whether or not the hub's independent power supply was connected to<br />

the hub.)<br />

▪ Soniq<br />

▪ 4-Port 5V supply. Model number CUH100. (B). Appears to draw power away<br />

from the Raspberry Pi, even when the Pi has an isolated power line. Netgear<br />

WNA1100 WiFi Adapter (which is known to work in other setups is recognized,<br />

but unresponsive.


▪ Targus<br />

▪ ACH115EU 7-port powered hub. 5V 3A power supply. Arduino communicates<br />

with <strong>RPi</strong> when connected directly to Pi's USB port, but it hangs soon if connected<br />

via ACH115. Also sometimes smsc95xx eth0 Failed to read register index<br />

0x00000114 etc. errors in syslog when used.<br />

▪ TCM<br />

▪ Model 234298 s/n T634007737 powered hub. 4 ports plus card reader. 1A power<br />

supply. Model B, Wheezy raspian works ok with keyboard/mouse but problems<br />

with WiFi no connects. (insufficient power?)<br />

▪ Trust<br />

▪ 10-port USB 2.0 Hub (powered). Prevents ethernet from being recognised.<br />

▪ SliZe 7 port USB 2.0 Hub (powered) - Item number 17080 (Barcode 8 713439<br />

170801). Prevents ethernet from being recognised. Keyboard sends multiple<br />

characters.<br />

▪ Unbranded / Multiple Brands<br />

▪ 7-port silver/black hub. Also sold elsewhere under brands such as 'EX-Pro',<br />

'Trixes' and 'Xentra' -- This is probably due to an inadequate power supply. -- I<br />

replaced the terrible power supply with a very good one, kept getting "DEBUG:<br />

handle_hc_chhltd_intr_dma:: XactErr without NYET/NAK/ACK" in dmesg,<br />

with no devices plugged in to the hub (with or without the power supply in).<br />

Measurements by TrevorGowen (talk) of the power loading behaviour of an<br />

example of this type of hub and its supplied PSU are logged here<br />

(http://www.cpmspectre.pwp.blueyonder.co.uk/raspberry_pi/MoinMoinExport/<br />

PoweredUSBHubs.html) , together with similar measurements of other devices.<br />

▪ Generic 7-port black hub with Genesys Logic GL850A chipset<br />

▪ Cerulian 10 Port USB 2.0 Top Loading Hub with 2A supply (kills mouse and<br />

network port) [1]<br />

▪ USB 2.0 4 PORT INT/EXT DUAL HUB BAY (http://www.monoprice.com/<br />

products/product.asp?c_id=103&cp_id=10307&cs_id=1030701&p_id=226) --<br />

Genesys Chipset -- idVendor=05e3, idProduct=0607 -- low speed devices<br />

worked, but strange USB failures when X session started. High speed devices<br />

such as hard drives had failures.<br />

USB Remotes<br />

▪ ATI Remote Wonder (X10 Wireless Technology, Inc. X10 Receiver) — ID 0bc7:0004<br />

— appears as a joystick-like 2 button mouse and a 0-9 keypad without drivers on<br />

console and X.<br />

▪ Logitech Wireless Touch Keyboard K400 with Built-In Multi-Touch Touchpad<br />

(920-003070) (http://www.amazon.com/gp/product/B005DKZTMG/<br />

ref=oh_details_o02_s00_i00) - keyboard and touchpad work. Have not verified<br />

multi-touch features.


▪ iPazzport (http://www.ipazzport.com/02A.html) mini 2.4 GHz wireless keyboard and<br />

touchpad.<br />

▪ PKB 1800 (http://www.ortek.com/html/pdt_view.asp?area=46&cat=152&sn=76)<br />

Wireless Smart Pad ad Mini Keyboard. Pad works as mouse but not multi touch<br />

features. Keyboard works.<br />

▪ Riitek RT-MWK01 (http://www.riitek.com/product_Info.asp?id=56) Rii Wireless 2.4<br />

Ghz Keyboard-mouse Combo, also known as Digicom WKEYPE01<br />

(http://www.digicom.it/digisit/prodotti.nsf/itprodottiidx/WKEYPE01) , and Prodige<br />

Nanox (http://www.verkkokauppa.com/fi/product/52783) . Working perfectly, just<br />

plug & play.<br />

▪ Tranksung TS-Y150 (https://www.google.com/search?q=tranksung+TS-Y150) USB<br />

RF Keyboard and air mouse (B)<br />

▪ Exo Ultra U12-41310 Mini Keyboard (http://www.tigerdirect.com/applications/<br />

SearchTools/item-details.asp?EdpNo=6753651&CatId=3680#) Bluetooth Adapter,<br />

Touchpad, Laser Pointer, Presentation & Multimedia Controls work perfectly but<br />

need a little love and config for make it work.Exo Installer script (https://github.com/<br />

thunderbirdtr/rs-pi-exo-keyboard)<br />

USB Keyboards<br />

USB keyboards that present themselves as a standard HID (Human Interface Device)<br />

device should work. Please be aware that some of these keyboards were probably<br />

used with a powered hub<br />

Working USB Keyboards<br />

The following is a list of specific keyboards known to work and which appear to work<br />

fault-free.<br />

▪ A4 Tech<br />

▪ ABS<br />

▪ Model KL-5 USB Keyboard, 20mA.<br />

▪ M1 Heavy Duty Professional Gaming Mechanical Keyboard (B)<br />

▪ Action Star<br />

▪ ACK-5010U Mini Keyboard And Mouse<br />

▪ Accuratus<br />

▪ Acer<br />

▪ KYB-Toughball-HI<br />

▪ KG-0917 Wireless Keyboard And Mouse Bundle (B)<br />

▪ KU-0906 Compact Keyboard (B) (Also known as Genius LuxeMate i200<br />

Keyboard)


▪ SK-9625 Multimedia Keyboard (B) (multimedia functions not tested)<br />

▪ Adesso<br />

▪ PS/2 to USB Adapter (http://ergoprise.com/product_images/j/699/ADP-<br />

PU21_big__14173_zoom.jpg) ADP-PU21, 100mA (tested only with keyboards)<br />

Any PS/2 keyboard will work only if it will work with a reduced operating<br />

voltage.<br />

▪ Model AKB-410UB. Keyboard with Touchpad.<br />

▪ Apple (Apple keyboards that have USB ports require an external powered hub to<br />

work, and do not work on the PI directly! Note: Apple keyboard works fine using the<br />

latest PI, even when connected directly (and with mouse connected))<br />

▪ Apple Keyboard with Numeric Keypad (aluminium/wired) A1243<br />

(http://upload.wikimedia.<strong>org</strong>/wikipedia/commons/thumb/e/ea/<br />

Apple_iMac_Keyboard_A1243.png/800px-Apple_iMac_Keyboard_A1243.png)<br />

▪ Apple Keyboard (aluminium/wired) A1242 (http://upload.wikimedia.<strong>org</strong>/<br />

wikipedia/commons/8/81/Apple_Keyboard_A1242.jpg)<br />

▪ Asda<br />

▪ Basic Wired Keyboard HK2026 (B)<br />

▪ Basic Wired Keyboard HK3014<br />

▪ (Please note when I put this keyboard through Newlink USB hub, it didn't<br />

work as expected)<br />

▪ Premium Wireless Keyboard (white keys, silver back) HK8028<br />

▪ Wireless Multimedia Deskset (keyboard, mouse and USB dongle) Model:<br />

HKM8016B (Note: Shown on Asda Website as HK8016B) (B)<br />

▪ Asus<br />

▪ KS-631U (comes with Asus Vento KM-63 keyboard/mouse set, not using<br />

powered hub) (B)<br />

▪ Banbridge<br />

▪ PS/2 to USB Banbridge CPA4002 Adapter (http://www.kurpirkti.lt/imagesi/<br />

infodb/<strong>org</strong>_d69dbd9707af8df77eae6e005f681a9a/BANDRIDGE-USB-2X-<br />

PS-2-ADAPTER.jpg) (B) (Tested with Logitech C-SF17 Cordless Desktop<br />

Express)<br />

▪ BTC - Behavior Tech Computer Corp.<br />

▪ Wired Portable Keyboard Model 6100 US (86+9 keys)<br />

▪ Works with or without a powered hub<br />

▪ Wireless Multimedia Keyboard with build in pointer/mouse Model 9029URF III<br />

(86+17 keys) (B)<br />

▪ Wired Multimedia keyboard 6311U/6310U (http://www.btc.com.tw/english/<br />

2-7-07keyboard.htm) - rated at 5V/100mA, works directly<br />

▪ Bush<br />

▪ Wired Slimline Keyboard KU-0833


▪ Cerulian<br />

▪ This does not require a USB hub in order to work with the Raspberry Pi<br />

▪ In the UK, it is available from Argos for £9.99<br />

▪ Mini wireless keyboard and mouse deskset (B)<br />

▪ CD Training<br />

▪ Wireless Combo Keyboard and Mouse (SolClavGlos) (http://www.cdtraining.fr/?&feed=product&product_id=308)<br />

▪ Cherry<br />

▪ CyMotion Master Linux (B)<br />

▪ RS 6000 USB ON<br />

▪ G84-4100PTMUS (B) (Compact keyboard. Rated 100mA. Works directly in Pi)<br />

▪ Compaq<br />

▪ Compaq Internet Keyboard KU-9978 (049f:000e). Rated 5v 100mA. Works<br />

directly connected to Pi<br />

▪ Das Keyboard<br />

▪ Dell<br />

▪ Model S Professional Keyboard (Built in USB hub not tested) (B)<br />

▪ Model S Ultimate Keyboard (Built in USB hub working) (B)<br />

▪ SK-8115 (B) (Rated 100mA. Works directly in pi)<br />

▪ L100 (B)<br />

▪ RT7D50 (75mA) (run "sudo dpkg-reconfigure keyboard-configuration")<br />

▪ KB1421 (100mA)<br />

▪ KB2521 (100mA)<br />

▪ KB212-B (Works directly in pi, without powered hub)<br />

▪ 1HF2Y (Works directly in pi)<br />

▪ Bluetooth Wireless Keyboard and Mouse Bundle (B), Bluetooth USB dongle C-<br />

UV35 (Rated 500mA but works great), Keyboard Y-RAQ-DEL2, Mouse M-<br />

RBB-DEL4<br />

▪ Delux<br />

▪ K8050<br />

▪ Digicom<br />

▪ WKEYPE01 Wireless 2.4 Ghz Keyboard-mouse Combo, also known as Riitek<br />

RT-MWK01 (http://www.riitek.com/product_Info.asp?id=56) and Prodige Nanox<br />

(http://www.verkkokauppa.com/fi/product/52783)<br />

▪ Dynex<br />

▪ DX_-WKBD (60ma) (B)<br />

▪ DX_-WKBDSL (Hot keys not yet tested with Debian) (tested through nonpowered<br />

3 dongle usb hub) (B)<br />

▪ EAPPLY


▪ EBO-013 Wireless 2.4GHz compact keyboard with touchpad. Rated


▪ Imation<br />

▪ KBD-702 Multi-media Wired Keyboard<br />

▪ IOGEAR<br />

▪ (works after the firmware update via rpi-update (https://github.com/Hexxeh/<br />

rpi-update) as of 06/27/2012)<br />

▪ IOGEAR GKM561R Wireless HTPC Multimedia Keyboard with Trackball<br />

▪ IOGEAR GKM681R 2.4GHz Wireless Compact Keyboard with Optical<br />

Trackball and Scroll Wheel<br />

▪ iPazzPort<br />

▪ i.t.works<br />

▪ KC04 (direct and by usb hub)<br />

▪ KC Silicone (only tested directly)<br />

▪ Jenkins<br />

▪ Jenkins Wireless Desktop Set Blue (B)<br />

▪ KeySonic<br />

▪ ACK-540RF (Wireless USB keyboard with built-in trackpad); works fine on<br />

Debian Squeeze plugged directly into Pi. Also works with Raspbmc with<br />

powered hub.<br />

▪ ACK-540RF+ (UK) WiFi keyboard inc touchpad with USB wifi dongle works fb<br />

with on model B/raspian/wheezy via powered hub<br />

▪ ACK-3700C<br />

▪ ACK-340U+(DE)<br />

▪ ACK-3400U (UK) mini keyboard<br />

▪ ACK-612RF (GER) Wireless Mini-Keyboard; works fine with its wireless<br />

adpater plugged directly into Pi<br />

▪ Labtec<br />

▪ Ultra-flat Keyboard (http://www.labtec.com/index.cfm/gear/details/EUR/<br />

EN,crid=28,contentid=692%7C)<br />

▪ Laptopmate<br />

▪ AK-98UNTN7-UBRII Laptopmate RII Touch N7 Mini Wireless Keyboard with<br />

touchpad<br />

▪ LC-Power<br />

▪ K1000BMW (lsusb: ID 1241:f767 Belkin; dmesg: HOLTEK Wireless 2.4GHz<br />

Trackball Keyboard) tested with Debian 6.0.4<br />

▪ Lenovo<br />

▪ SK-8825 UK (B)<br />

▪ Lenovo Enhanced Multimedia Remote with backlit keyboard N5902 (US)<br />

▪ Lenovo Mini Wireless Keyboard N5901 (US)<br />

▪ Lindy


▪ 21840 (Wireless RF 2.4GHz Micro Keyboard with built-in optical touchpad/<br />

trackpad, USB); works fine on model B/raspian/wheezy - the supplied Lindy<br />

USB nano dongle transceiver plugged directly into Pi USB port.<br />

▪ Logik<br />

▪ Ultra slim keyboard LKBWSL11 (B) >> This is also listed under Problem USB<br />

Keyboards?<br />

▪ Logitech<br />

▪ Comfort Wave 450, labeled 100mA (M/N Y-U0001, P/N 820-001725, PID<br />

SC951C40001)<br />

▪ diNovo Mini wireless keyboard with media controls and clickpad 920-000586<br />

(B)<br />

▪ diNovo Edge Keyboard, Windows edition, built-in TouchDisc track-pad,<br />

bluetooth w/ USB mini-receiver 967685-0403 (B)<br />

▪ Wii wireless keyboard KG-0802 (!)<br />

▪ C-BG17-Dual Wireless keyboard and mouse with wired USB receiver (B)<br />

▪ Deluxe 250 Keyboard<br />

▪ Internet 350 (M/N 967740-0403)<br />

▪ Internet Navigator Keyboard<br />

▪ MK120 wired keyboard and mouse<br />

▪ MK220 wireless keyboard and mouse<br />

▪ MK250 wireless keyboard and mouse (no hub needed)<br />

▪ MK260 wireless keyboard and mouse (no hub needed)<br />

▪ MK300 wireless keyboard and mouse<br />

▪ MK320 wireless keyboard and mouse [20] (http://www.amazon.co.uk/<br />

Logitech-920-002885-MK320-Wireless-Desktop/dp/B003STDQYW/<br />

ref=sr_1_3?ie=UTF8&qid=1339166178&sr=8-3)<br />

▪ MK350 wireless keyboard (using Unifying receiver)<br />

▪ MK520 wireless keyboard and mouse<br />

▪ MK550 wireless keyboard and mouse (B)<br />

▪ MX3200 wireless keyboard and mouse (B)<br />

▪ MX5000 Bluetooth keyboard and mouse (B) The Logitech Bluetooth dongle also<br />

does proprietary wireless so it works without Bluetooth drivers.<br />

▪ EX100 Cordless Desktop, Wireless Keyboard and Mouse (B)<br />

▪ EX110 Cordless Desktop, wireless keyboard and mouse (B)<br />

▪ C-SF17 Cordless Desktop Express, Wireless Keyboard and Mouse (B) PS/2<br />

Interface. Tested using PS/2 to USB Banbridge CPA4002 Adapter<br />

(http://www.kurpirkti.lt/imagesi/infodb/<br />

<strong>org</strong>_d69dbd9707af8df77eae6e005f681a9a/BANDRIDGE-USB-2X-<br />

PS-2-ADAPTER.jpg)<br />

▪ K120 Keyboard (B)<br />

▪ K200 Keyboard (B)<br />

▪ K230 Wireless Keyboard (Unifying receiver, no powered hub) (B)<br />

▪ K340 Wireless Keyboard (Unifying receiver, no powered hub) (B)<br />

▪ K350 Wireless Keyboard (B)


▪ K400 wireless keyboard with touchpad - also listed under "problematic". Works<br />

for weeks with openelec and raspbian without any problems. Worked out of the<br />

box - the on/off switch needs to be "on" for it to function correctly. Highly<br />

recommended if you are "working from the sofa".<br />

▪ K520 Keyboard (B)<br />

▪ K700 Wireless Keyboard with Touchpad and unifying receiver<br />

▪ K750 Wireless Solar Keyboard (B) (Mac version works too. (B) )<br />

▪ LX 710 - works fine with receiver plugged directly into the <strong>RPi</strong> (accompanying<br />

mouse works fine too).<br />

▪ S510 wireless keyboard and mouse (B)<br />

▪ Ultra-Flat Keyboard (M/N Y-BP62A P/N 820-000245 PID SY126UK)labelled<br />

100 mA. OK direct into Model B <strong>RPi</strong>.<br />

▪ G19 Gaming Keyboard, works fine with no external power. Illumination with<br />

external power. Powered hum in back of keyboard works too.<br />

▪ G15 Gaming keyboard, as long as you press the backlight button twice to turn off<br />

the backlight (it says below it dosen't work with backlight on.<br />

▪ V470 Bluetooth Laser Mouse<br />

Keyboards and mice also together with Unifying receiver<br />

▪ Microsoft<br />

▪ Microsoft Comfort Curve Keyboard 2000<br />

▪ Microsoft Comfort Curve Keyboard 3000 for Business<br />

▪ Microsoft Digital Media Pro Keyboard Model : 1031 (Debian 13-Apr-2012)<br />

▪ Microsoft Natural Ergonomic Keyboard 4000 (B) (Debian "Wheezy" beta<br />

18-June-2012)<br />

▪ Microsoft Wired Keyboard 600 Model 1366 (Debian 28-May-2012 on<br />

Production Model B)<br />

▪ Microsoft Wireless Desktop 700 Keyboard v2.0 (Raspbian Pisces image<br />

08-June-2012 on Production Model B)<br />

▪ Microsoft Wireless Photo Keyboard (Model 1027) Unifying receiver, no hub<br />

▪ Microsoft Wireless Natural Multimedia Keyboard (Raspbian Pisces<br />

08-July-2012) (B)<br />

▪ Microsoft Windows 2000 Keyboard (KB-USBK110610)<br />

▪ Microsoft Wired Keyboard 600 (https://www.microsoft.com/hardware/en-us/p/<br />

wired-keyboard-600/ANB-00001) . The keyboard is rated at 5v/100mA (Wheezy<br />

5-Sept-2012)<br />

▪ Mikomi<br />

▪ Wireless Deskset KM80545 Keyboard and mouse (Works but range is terrible<br />

less than a metre) (B)<br />

▪ Monoprice<br />

▪ PS/2 To USB Adapter (http://www.monoprice.com/products/<br />

product.asp?c_id=104&cp_id=10404&cs_id=1040401&p_id=6854&seq=1&format=2%7CMonopric<br />

Directly and through an unpowered hub with a USB mouse plugged in.


▪ Motorola<br />

▪ ▪ Bluetooth wireless ultra slim keyboard and mouse combo (sold as for the "Atrix"<br />

phone) work in combination with the Technika Bluetooth adaptor listed below<br />

▪ Novatech<br />

▪ Wireless Combo - Keyboard & Mouse, Nano adapter<br />

(http://www.novatech.co.uk/products/peripherals/desktopkits/novwcombo.html%7CNovatech)<br />

(B)<br />

▪ ONN<br />

▪ ONN Keyboard Stock No: ONA11HO089 (from Walmart). Seems to work fine,<br />

even without a hub.<br />

▪ ONN Keyboard Stock No: ONA11HO087 (from Walmart). Combination<br />

keyboard and mouse package with nano receiver. Be sure to configure keyboard<br />

layout.<br />

▪ Ortek<br />

▪ Ortek Technology, Inc. WKB-2000S (http://www.ortek.com/html/<br />

pdt_view.asp?area=46&cat=150&sn=79) Wireless Keyboard with Touchpad<br />

works fine on Raspbian Wheezy and Raspbmc. Wireless USB receiver (device ID<br />

05a4:2000) is recognised automatically. Connected directly to Pi USB port, no<br />

powered hub used.<br />

▪ Perixx<br />

▪ Periboard 716 Wireless Ultra-Slim Keyboard with Touchpad (Debian<br />

07-Jun-2012 on Production Model B)<br />

▪ PERIBOARD-502 wired keyboard inc built in touchpad (model B/raspian<br />

wheezy)<br />

▪ Periduo-707 Plus (Wireless Keyboard and Mouse) works fine most of the time.<br />

Does suffer from dropouts and glitches though. Usual "drawing too much power<br />

from USB" problems show up as well - dropped key presses or constant<br />

autorepeats. These can be cured by pulling out and reinserting the dongle in the<br />

USB socket. The keyboard sometimes hangs after power on when used with my<br />

laptop - it seems to need 30 seconds of non-use before it works fine. Again,<br />

remove and insert the dongle cures it. Works fine vi my Benq monitor's USB<br />

Hub.<br />

▪ Philips<br />

▪ Wired Multimedia Keyboard SPK3700BC/97 (Debian 19-Apr-2012 on<br />

Production Model B)<br />

▪ Prodige<br />

▪ Nanox Wireless 2.4 Ghz Keyboard-mouse Combo, also known as Riitek RT-<br />

MWK01 (http://www.riitek.com/product_Info.asp?id=56) and Digicom<br />

WKEYPE01 (http://www.digicom.it/digisit/prodotti.nsf/itprodottiidx/<br />

WKEYPE01)<br />

▪ Rapoo


▪ Rapoo E9080 Wireless Ultra-Slim Keyboard with Touchpad<br />

▪ Rapoo Wireless Multi-media Touchpad Keyboard E2700 [21]<br />

(http://www.rapoo.com/showdetails.aspx?P_No=E2700)<br />

▪ Rapoo Ultra-Slim Wireless Multimedia Keyboard and Mouse E9060 (works<br />

proper on powered USB Hub)<br />

▪ Riitek<br />

▪ RT-MWK03 mini wireless keyboard & trackpad<br />

▪ RT-MWK02+ mini bluetooth keyboard & trackpad. Followed instructions from<br />

this page: [22] (http://www.ctheroux.com/2012/08/a-step-by-step-guide-to-setupa-bluetooth-keyboard-and-mouse-on-the-raspberry-pi/)<br />

and it worked, connection<br />

persists across reboots, no problem with either builtin USB or powered USB hub.<br />

▪ RT-MWK01 mini wireless 2.4 Ghz Keyboard-mouse Combo, also known as<br />

Digicom WKEYPE01 (http://www.digicom.it/digisit/prodotti.nsf/itprodottiidx/<br />

WKEYPE01) , and Prodige Nanox (http://www.verkkokauppa.com/fi/product/<br />

52783)<br />

▪ Rosewill<br />

▪ RK-200 Standard Keyboard<br />

▪ Saitek<br />

▪ Eclipse II Backlit Keyboard PK02AU (B)<br />

▪ Eclipse Backlit Keyboard PZ30AV (B) - works fine when connected directly to<br />

Pi rev.1 and 2 USB port. No powered hub used.<br />

▪ Expression Keyboard (US)<br />

▪ Cyb<strong>org</strong> V.5 (B)<br />

▪ SelecLine<br />

▪ SIIG<br />

▪ WK11P & WM11P-SP-PP. Keyboard and mouse set. (B)<br />

▪ SIIG Wireless Multi-Touchpad Mini Keyboard 02-1286A v1.0 (B)<br />

▪ Silvercrest<br />

▪ MTS2219 Wireless Keyboard and mouse set. Powered hub NOT used. (B)<br />

▪ SolidTek<br />

▪ Sony<br />

▪ Solid Tek KB-P3100BU ASK-3100U.<br />

▪ Keyboard for PlayStation 2 (PS2) Linux. Works without powered hub with 5v1A<br />

supply, requires manual keyboard remapping with Debian Squeeze to USA<br />

101-key layout.<br />

▪ SteelSeries<br />

▪ Merc keyboard (B)<br />

▪ Sun Microsystems<br />

▪ Model: Type 7, SUN PN: 320-1348-02 (Danish key layout)<br />

▪ Model: Type 6, SUN PN: 320-1279-01 (Danish key layout)


▪ Sweex<br />

▪ KB060UK (http://www.sweex.com/en/assortiment/input/keyboards/KB060UK/)<br />

Wired Multimedia Keyboard<br />

▪ Technika<br />

▪ WKEY03 (B)<br />

▪ TKD-211<br />

▪ Tesco<br />

▪ Value Keyboard VK109 (B)<br />

▪ Multimedia K211 Wired Keyboard (B)<br />

▪ The Pi Hut<br />

▪ Super Slim Apple Style Keyboard (from The Pi Hut's Raspberry Pi Store<br />

(http://thepihut.com/products/usb-keyboard-for-the-raspberry-pi) )<br />

▪ Super Slim Apple Style Keyboard Set (Keyboard & Mouse) (from The Pi Hut's<br />

Raspberry Pi Store (http://thepihut.com/products/usb-keyboard-mouse-bundlefor-the-raspberry-pi)<br />

)<br />

▪ Trust<br />

▪ Trust 17916 Compact Wireless Entertainment Keyboard http://www.trust.com/<br />

products/product.aspx?artnr=17916 (B)<br />

▪ Trust ClassicLine Keyboard http://trust.com/17184<br />

▪ Trust Camiva MultiMedia Keyboard http://trust.com/products/<br />

product.aspx?artnr=16087<br />

▪ Trust Convex Keyboard http://trust.com/products/product.aspx?artnr=17603<br />

tested debian6-19-04-2012 and archlinuxarm-13-06-2012 (B)<br />

▪ Unbranded<br />

▪ AK-601 Wireless Mini Keyboard and Trackball (with laser pointer) - sourced<br />

from eBay Chinese seller<br />

▪ Unicomp<br />

▪ USB Endurapro - keyboard and trackpoint work perfectly from powered hub<br />

▪ Q-Connect<br />

▪ AK-808 (B)<br />

▪ Xenta<br />

▪ 2.4GHz Wireless Multimedia Entertainment Keyboard with Touchpad (B)<br />

▪ Mini Multimedia Keyboard (Model no.: 808M) (B)<br />

Problem USB Keyboards<br />

Note that generally PS/2 keyboards with an USB adapter will not work directly on a PI<br />

port, due to the fact that PS/2 keyboards are designed for normal 5V +-5% range, while<br />

USB keyboards must be designed to work with 4.4 Volt, and generally USB devices on<br />

the PI may receive less than 4.75 Volt. PS/2 + USB adapter keyboards might work behind


a powered hub, which does provide the full 5.0V. Some of these keyboards work when<br />

running the latest raspbian but not when using the overclocked xbmc version of raspbmc,<br />

probably due to the overclocking drawing more power away from the rest of the support<br />

system devices.<br />

▪ A4 Tech<br />

▪ Model GL-6 USB Keyboard, 20mA. Part of wireless keyboard/mouse bundle<br />

GL-6630 (GL-6 + G7-630 + RN-10B) - suffers from USB flakeyness. Even on a<br />

powered hub. No problems on other computers I have tested it with.<br />

▪ Accuratus<br />

▪ Accuratus KYBAC100-101USBBLK causes kernel panic (rated 100mA). Tested<br />

with 1000mA cheap unbranded and Nokia 1200mA power adaptors.<br />

▪ Apple<br />

▪ Apple Keyboard (109 keys) A1048 (http://www.powerbookmedic.com/xcart1/<br />

images/D/apple-keyboard.jpg) . Draws too much power and does not seem to<br />

work properly when plugged into a powered hub.<br />

▪ Argos<br />

▪ Argos Value Wired Keyboard causes kernel panic<br />

▪ Choidy<br />

▪ Identifiers from usb-devices: Vendor=1a2c ProdID=0002 Rev=01.10<br />

Product=USB Keykoard (yes, 'Keykoard') causes kernel panic<br />

▪ Cit<br />

▪ KB-1807UB Causes kernel panic (Rated


▪ Wired Multimedia Keyboard Model: LKBWMM11 - causes kernel panic (on<br />

Debian 190412 distro) (B)<br />

▪ Wired Ultra Slim Keyboard Model: LKBWSL11 - causes USB power issues. Not<br />

reliable. Causes other USB devices to fail (B) >> This is also listed under<br />

Working USB Keyboards??<br />

▪ Logitech<br />

▪ Logitech Illuminated Keyboard (unstable; not working with led light on; tested<br />

both US and NO layouts with both Apple iPad 2 and Asus TF-101 USB chargers)<br />

▪ G110 Gaming Keyboard - only works with illumination off, otherwise<br />

unresponsive. Once failed it needs reconnecting before another attempt. (B)<br />

▪ G15 Gaming Keyboard - LCD and key backlights flicker, 95% unresponsive to<br />

typing. I don't know of a way to turn the illumination off. (B)<br />

▪ K360 Wireless Keyboard - Occasional sticky keys. (B)<br />

▪ K400 wireless keyboard with touchpad (completely non-functional on<br />

debian6-19-04-2012)<br />

▪ G510 Gaming Keyboard - lagging or unresponsive keys.<br />

▪ MX5500 wireless keyboard and mouse with usb bluetooth reciever - Unstable,<br />

looses connection without prior notice<br />

▪ EX100 Cordless Desktop, wireless keyboard and mouse. Mouse and keyboard<br />

hangs every few minutes (with or without hub).<br />

▪ Microsoft<br />

▪ Wireless Desktop 800 - Keyboard has 'sticky' keys. (B)<br />

▪ Wireless Entertainment Keyboard - No key input recognized (possibly<br />

connectivity issue as pairing devices does not seem to work)<br />

▪ Wireless Optical Desktop 1000 - Keyboard has 'sticky' keys (B)<br />

▪ Wireless Keyboard 2000 - Keyboard has 'sticky' keys. (B)<br />

▪ Wireless Desktop 3000 - Keyboard has 'sticky' keys.<br />

▪ Arc wireless - Keyboard has 'sticky' keys. (B)<br />

▪ Sidewinder X4 - Keyboard has 'sticky' keys. (B)<br />

▪ Sidewinder X6 - Keyboard has 'sticky' keys. (B)<br />

▪ Wireless Comfort Keyboard 5000 - Keyboard has 'sticky' keys. (B)<br />

▪ Razer Reclusa - Keyboard has 'sticky' keys. (B rev 2.0)<br />

▪ Novatech<br />

▪ NOV-KEY2 - Causes kernel panic (B) [2]<br />

▪ PC World Essentials<br />

▪ PKBW11 Wired Keyboard - no power to keyboard, no error messages on both<br />

Arch 29-04-2012 and Debian6-19-04-2012, same Pi works with Asda keyboard.<br />

Me too, but caused a kernel panic -- tested on powered hub and direct.<br />

▪ Razer<br />

▪ Razer Tarantula gaming keyboard - sticky keys, could be power issue as is<br />

programmable with host powered USB hub and audio jacks.<br />

▪ Razer BlackWidow - Sticky keys, could be a power related issue due to<br />

illuminated logo (Blue LED).


▪ Razer Arctosa - Sticky keys, most probably power related issue since it states it's<br />

rated at 5v 500mA. (B)<br />

▪ SIIG<br />

▪ Wireless Ultra Slim Multimedia Mini Keyboard JK-WR0612-S1 - Unresponsive<br />

and sticky keys.<br />

▪ Texet<br />

▪ MB-768B standard keyboard (Rated 5V 1.5A(!), so probably too much power<br />

drain. Kernel panic, Debian6-19-04-2012)<br />

▪ Trust<br />

▪ TRUST GXT 18 Gaming Keyboard - No power to keyboard, could be a driver<br />

issue - no error messages.<br />

▪ Unbranded<br />

▪ Compuparts<br />

▪ model no. HK-6106 (B) [3]<br />

▪ LK-890 (Multimedia keyboard & Optical Mouse) - kernel panic on Debian<br />

Squeeze, ArchLinux and Qtonpi.<br />

▪ Verbatim<br />

▪ 97472 Mini Wireless Slim Keyboard and Mouse (http://www.amazon.com/gp/<br />

product/B004LB5AKY/ref=oh_details_o00_s00_i02%7CVerbatim) - Keyboard<br />

has lagging, unresponsive and sticky keys issues. (Tested with and without<br />

powered USB hub.)<br />

▪ Wilkinsons / TEXET<br />

▪ Model MB-768B causes kernel panic on debian6-19-04-2012.<br />

▪ Xenta<br />

▪ HK-6106 - causes kernel panic (on Debian 190412 distro)(B)<br />

▪ Multimedia Wireless Keyboard and Mouse Set (Keyboard Model: HK3518B +<br />

Mouse Model HM3301) (B) - occasional sticky keys, and occasional complete<br />

lock-up<br />

USB Mouse devices<br />

USB mouse devices that present themselves as a standard HID (Human Interface Device)<br />

device should work, however some hardware requires special drivers or additional<br />

software, usually only compatible with Windows operating systems.<br />

Working USB Mouse Devices<br />

The following is a list of specific mouse devices known to work and which appear to be<br />

fault-free.<br />

▪ A4Tech<br />

▪ OP-530NU Padless Wired Mouse


▪ Asda<br />

▪ HM5058 (Smart Price) Wired Mouse<br />

▪ Wireless Multimedia Deskset (keyboard, mouse and USB dongle) Model:<br />

HKM8016B (Note: Shown on Asda Website as HK8016B) (B)<br />

▪ ASUS<br />

▪ MS-511U (comes with Asus Vento KM-63 keyboard/mouse combo) (B)<br />

▪ MG-0919 (wireless)<br />

▪ Belkin<br />

▪ Dell<br />

▪ F8E882-OPT (B)<br />

▪ M-UVDEL1 (B)<br />

▪ MOC5UO (100mA)<br />

▪ M056U0A (B)<br />

▪ DZL-MS111-L (B) (100mA)<br />

▪ MS-111P (100mA)<br />

▪ Bluetooth Wireless Keyboard and Mouse Bundle (B), Bluetooth USB dongle C-<br />

UV35 (Rated 500mA but works great), Keyboard Y-RAQ-DEL2, Mouse M-<br />

RBB-DEL4<br />

▪ Dynex<br />

▪ DX-WMSE (100mA) (B)<br />

▪ Fellowes<br />

▪ 99928 USB Micro Track Ball (works without a hub, directly plugged in) (B)<br />

▪ Filand<br />

▪ OP-102i Mini Optical Mouse<br />

▪ Genius<br />

▪ HP<br />

▪ GM-04003A (B)<br />

▪ Slimstar 8000 wireless mouse (Can be intermitent. Mouse pointer sometimes is<br />

irratic.)<br />

▪ Traveler 515 Laser<br />

▪ MN-UAE96 (The basic stock HP wired mouse)(B)<br />

▪ iConcepts<br />

▪ 2.4GHz Wireless Keyboard and Optical Mouse Model 62550<br />

▪ Jenkins<br />

▪ (saves a USB port since keyboard and mouse share one transceiver, $14.99 at<br />

Fry's Electronics)<br />

▪ Jenkins Wireless Desktop Set Blue (B)<br />

▪ Kensington<br />

▪ Kensington Expert Mouse Trackball K64325


▪ Kensington Expert Mouse "Slimblade" K72327US<br />

▪ Labtec<br />

▪ Corded Laser Glow Mouse 1600, rated 5V 100mA (P/N 810-000819, M/N M-<br />

UAZ149, PID GT83401)<br />

▪ Lenovo<br />

▪ Wired Optical Mouse Model: MO28UOL<br />

▪ Logik<br />

▪ Wired Optical Glow Mouse Model: LGGMO10. (B)<br />

▪ Logitech<br />

▪ B105 Mouse for Laptops (OEM)<br />

▪ Cordless Pilot Optical Mouse M/N M-RR95 with Cordless Mouse Receiver M/N<br />

C-BA4-MSE<br />

▪ G5 Logitech Gaming Mouse (B)<br />

▪ G5v2 Logitech Gaming Mouse (B)<br />

▪ G500 Logitech Gaming Mouse (B)<br />

▪ G700 Logitech Wireless Gaming Mouse (B)<br />

▪ LX-700 Cordless Desktop Receiver (B)<br />

▪ LX 710 Wireless Mouse - works fine with receiver plugged directly into <strong>RPi</strong><br />

(accompanying keyboard works fine too).<br />

▪ M90 optical mouse<br />

▪ M185 Wireless Mouse (B)<br />

▪ M210 (part of the MK260 set) (B)<br />

▪ M305 Wireless Mouse<br />

▪ M310 Cordless Mouse<br />

▪ M325 Wireless Mouse<br />

▪ M505 USB wireless laser, model no: 910-001324 (B)<br />

▪ M510 Wireless Mouse (B)<br />

▪ M705 Marathon Mouse (Unifying receiver, no powered hub) (B)<br />

▪ M-BD58 Wheel Mouse (B)<br />

▪ M-BJ58/M-BJ69 Optical Wheel Mouse (B)<br />

▪ M-BJ79 (B)<br />

▪ M-BT96a Optical Mouse<br />

▪ MX320/MX400 laser mouse (B)<br />

▪ MX518 Optical wheel mouse (B)<br />

▪ Optical USB Mouse (M/N 931643-0403)<br />

▪ Performance Mouse MX (B)<br />

▪ MX Revolution (B) (Debian "Wheezy" beta 18-June-2012)<br />

▪ VX Nano Cordless Laser Mouse for Notebooks<br />

▪ Wheel Mouse (M/N BJ58)<br />

▪ Medion<br />

▪ Mini mouse Model M101-CBJ P/N 40016632 S/N 7BFSA00003445 rated 5v<br />

100ms Works fb on model B with raspian wheezy


▪ Microsoft<br />

▪ Comfort Curve Mouse 3000 for Business<br />

▪ Comfort Mouse 6000 (works when directly connected to Pi (B). Does not work<br />

when connected through USB Hub (mouse pointer intermittent).<br />

▪ Compact optical mouse 500 V2.0 (B)<br />

▪ Wheel Optical Mouse (wheel and additional buttons not tested) (B)<br />

▪ Microsoft Intellimouse Optical Mouse<br />

▪ Microsoft Wireless Laser Mouse 8000<br />

▪ Microsoft Wireless Mobile Mouse 1000<br />

▪ Microsoft Wireless Mobile Mouse 3500<br />

▪ Microsoft Wireless Mobile Mouse 4000<br />

▪ Microsoft Wireless Mouse 700 v2.0<br />

▪ Microsoft Comfort Mouse 4500<br />

▪ Wireless IntelliMouse Explorer 2.0 (unifying receiver, no hub)<br />

▪ Novatech<br />

▪ M1 USB Mouse - Wired (http://www.novatech.co.uk/products/peripherals/<br />

miceandtrackballs/nov-mouser.html%7CNovatech) (B)<br />

▪ DL10 Wireless Mouse (http://www.novatech.co.uk/products/peripherals/<br />

miceandtrackballs/nov-dl10.html%7CNovatech) (B)<br />

▪ Razer<br />

▪ Boomslang Collectors Edition 2007 (B)<br />

▪ Rosewill<br />

▪ Rosewill RM-C2U<br />

▪ Saitek<br />

▪ Notebook Optical Mouse (PM46)<br />

▪ Samsung<br />

▪ Samsung model:AA-SM3PCPB usb Optical Mouse (draws 50mA)<br />

▪ Sun microsystems<br />

▪ Model: FID-638 , SunPN: 371-0788-01<br />

▪ Sweex<br />

▪ MI015 (http://www.sweex.com/en/assortiment/input/optical-mice/MI015/)<br />

▪ Swiftpoint<br />

▪ [24] (http://http://www.americas.futuremouse.com/) Swiftpoint Mini Wireless<br />

Optical Mouse. Does not require any special drivers. Haven't confirmed if<br />

charging the mouse requires a powered USB hub or not.<br />

▪ Targus<br />

▪ AMU2701EUK (B)<br />

▪ Technika<br />

▪ TKOPTM2 (B)


▪ TKD-211<br />

▪ TKNM110<br />

▪ Tesco<br />

▪ Wired optical mouse M211 (B)<br />

▪ The Pi Hut<br />

▪ USB Mouse for Raspberry Pi (from The Pi Hut's Raspberry Pi Store<br />

(http://thepihut.com/products/usb-mouse-for-the-raspberry-pi) )<br />

▪ Super Slim Keyboard & Mouse Set (from The Pi Hut's Raspberry Pi Store<br />

(http://thepihut.com/products/usb-keyboard-mouse-bundle-for-the-raspberry-pi) )<br />

▪ Trust<br />

▪ Trust Nanou Wireless Micro Mouse http://trust.com/products/<br />

product.aspx?artnr=17087<br />

▪ Verbatiam<br />

▪ Mini Nano Optical Mouse 97470 (wireless on non-powered 3 usb dongle hub)<br />

(B)<br />

▪ Xenta<br />

▪ MOW0810 (B)<br />

▪ Wired Optical Mouse (from The Pi Hut's Raspberry Pi Store (http://thepihut.com/<br />

products/usb-mouse-for-the-raspberry-pi) )<br />

▪ Generic<br />

▪ Generic 2.4GHz Wireless Mouse (ID 040b:2013 Weltrend Semiconductor) (B)<br />

Problem USB Mouse Devices<br />

The following is a list of specific mouse devices that have problems working with the<br />

Raspberry Pi<br />

▪ A4Tech<br />

▪ Model G7-630 Wireless Mouse, 20mA. Part of wireless keyboard/mouse bundle<br />

GL-6630 (GL-6 + G7-630 + RN-10B) - suffers from USB flakeyness. Even on a<br />

powered hub. No problems on other computers I have tested it with.<br />

▪ HP<br />

▪ HP Retractable Mobile Mouse (Optical) HP Product Number XP472AA - errors /<br />

boot loop RASPBMC (B)removed mouse, started with no further errors.<br />

▪ Logik<br />

▪ Logik IMF Blue Trace Wired USB mouse (Model LMWBLU11) - disconnects<br />

from the USB port every 20 seconds when using the Raspian distro. Always<br />

reconnects to the USB port successfully (B)<br />

▪ Logitech


▪ Logitech G400 Gaming Mouse - 100% CPU load and laggy mouse cursor when<br />

the mouse is moved. MX518 works fine on the same setup, so I suspect it's a<br />

polling rate issue. this (http://tech2.in.com/reviews/mice/logitech-g400-is-it-aworthy-successor/231012)<br />

says the mouse is 1000Hz out of the box, whereas the<br />

518 is only 125Hz. Solution found: add usbhid.mousepoll=8 to the kernel<br />

commandline.<br />

▪ Microsoft<br />

▪ Microsoft Touch Mouse - Does not see right clicks, Only left.<br />

▪ Razer<br />

▪ Naga Wired USB mouse - the mouse seems to present itself as a keyboard<br />

because the numpad on the left-hand side of the device works but the cursor<br />

doesn't move.<br />

▪ Roccat<br />

▪ Kone[+] Wired USB mouse - Nothing happens when moving the mouse, haven't<br />

looked further into the issue (B)<br />

▪ Trust<br />

▪ Optical USB Mouse MI-2250 - Nothing happens when moving the mouse (B)<br />

▪ Xenta<br />

▪ Multimedia Wireless Keyboard and Mouse Set (Mouse Model: HM-3301) (B) -<br />

frequent lost connection giving stuttering mouse cursor indicating USB current<br />

not enough for dongle<br />

USB Real Time Clocks<br />

▪ Cymbet<br />

▪ Cymbet CBC-EVAL-06 USB Real Time Clock (FT2232 to SPI to RV-2123)<br />

Device information at http://www.cymbet.com/pdfs/DS-72-22.pdf Code to access the<br />

RTC from Linux: https://github.com/owendelong/Cymbet-RTC Does not require a<br />

powered hub.<br />

USB WiFi Adapters<br />

See also: http://www.element14.com/community/docs/DOC-44703/l/raspberry-pi-wifiadapter-testing<br />

There is a howto on installing the TL-WN722N adapter here (http://elinux.<strong>org</strong>/<br />

<strong>RPi</strong>_Peripherals#Wireless:_TP-Link_TL-<br />

WN722N_USB_wireless_adapter_.28Debian_6.29) , which also acts as a guide for<br />

installing others too.


Working USB Wifi Adapters<br />

These adapters are known to work on the Raspberry Pi. This list is not exhaustive, other<br />

adapters may well work, but have not yet been tried.<br />

Note: A WiFi adapter will probably need more power than the Raspberry Pi USB port<br />

can provide, especially if there is a large distance from the WiFi adapter to the WiFi<br />

Access Point. Therefore, you may need to plug the WiFi adapter into a powered USB<br />

hub.<br />

▪ 3COM<br />

▪ 3CRUSB10075: ZyDAS zd1211rw chipset (!)<br />

▪ 7DayShop<br />

▪ Alfa<br />

▪ W-3S01BLK, W-3S01BLKTWIN : Unbranded product available from<br />

7DayShop, in a single or twin pack. [25] (http://www.7dayshop.com/catalog/<br />

product_info.php?cPath=777_9&products_id=112046) , [26]<br />

(http://www.7dayshop.com/catalog/product_info.php?&products_id=112527) .<br />

Tested on Debian Wheezy, with the dongle attached directly to the <strong>RPi</strong> along<br />

with the wireless keyboard receiver. Shows up as a Ralink RT5370 device, and no<br />

drivers or additional software downloads required. Created wpa.conf, edited<br />

'interfaces' file and restarted the networking. The manufacturer portion of the<br />

MAC address (7cdd90) is assigned to "Shenzhen Ogemray Technology Co., Ltd."<br />

▪ It works without additional software connected directly to a Rev 2 Pi but stops<br />

working after a period of time (3 to 4 hours) with a fully updated Wheezy and all<br />

the 'USB workarounds' [27] (http://elinux.<strong>org</strong>/Rpi_USB_check-list) in place.<br />

▪ AWUS036NEH: Tested on Debian Squeeze (with Ralink firmware package)<br />

▪ AWUS036NH: Tested on Arch Linux ARM using the rt2800usb module.<br />

▪ AWUS036NH: Tested on Debian Wheezy (with Ralink firmware package).<br />

Tested on Raspbian too (drivers from aircrack-ng).<br />

▪ AWUS036H (500mW version): Tested on Raspbian (drivers from aircrack-ng).<br />

▪ AWUS036H (1W version): Tested on Raspbian (drivers from aircrack-ng). Needs<br />

USB powered HUB or Rev2 of the board / polyfuse bypass.<br />

▪ AWUS036NHA: Tested on Raspbian (drivers from aircrack-ng). Works fine if<br />

connected after boot, otherwise Raspberry Pi won't boot up.<br />

▪ AirLink101<br />

▪ Asus<br />

▪ AWLL5088: Tested on Debian Wheezy. This adapter is based on the OEM<br />

Edimax EW-7811Un. For automatic installation, See MrEngmanns script listed<br />

below under the Edimax device.<br />

▪ USB-N10 (http://www.element14.com/community/docs/DOC-44703) USB ID<br />

0b05:1786, r8712u staging driver, included on Fedora Remix & Arch, must


download (http://www.element14.com/community/servlet/JiveServlet/download/<br />

44948-8-97488/r8712u_ko.zip) for Debian and install firmware-realtek from nonfree<br />

squeeze repo (B) (not needed with latest Raspbian “wheezy” 2012-07-15:<br />

this Asus works N10 out of the box) Does not support nl80211 APIS, so hostapd<br />

won't work.<br />

▪ USB-N13 (http://www.element14.com/community/docs/DOC-44703) USB ID<br />

0b05:17ab, works with Adafruit Occidentalis v0.1 image<br />

(http://learn.adafruit.com/adafruit-raspberry-pi-educational-linux-distro/<br />

occidentalis-v0-dot-1) as it includes kernel with 8192u driver built-in<br />

(http://www.element14.com/community/message/57635#57660) (B)<br />

▪ WL-167G v1 USB ID 0b05:1706, Ralink RT2571 working out-of-the-box on<br />

Debian image from 2012-04-19. Requires powered hub, otherwise it is detected<br />

by OS but will not function.<br />

▪ WL-167G v3 USB ID 0b05:1791, working out-of-the-box on Linux raspberrypi<br />

3.2.27+ #160 PREEMPT Mon Sep 17. Does not require powered hub.<br />

▪ AusPi Technologies<br />

▪ AusPi Wireless Adapter [Realtek RTL8188S]. Works without a powered HUB.<br />

Tested on OpenELEC (works OOB), RaspBMC (works OOB), XBian (works<br />

OOB) and 2012-08-08 Raspbian Wheezy (works OOB). Distributed in Australia<br />

by Buy Raspberry Pi Australia (http://www.buyraspberrypi.com.au/raspberrypi-802-11bgn-usb-wireless-dongle/)<br />

.<br />

▪ Belkin<br />

▪ Belkin Components F5D7050 Wireless G Adapter v3000 [Ralink RT2571W]. On<br />

Debian requires the firmware-ralink package from the non-free repository. The<br />

usbcore module needs to be added to /etc/modules install instructions<br />

(http://www.penguintutor.com/blog/viewblog.php?blog=6281) .<br />

▪ Belkin Components F5D8053 ver.6001 Wireless N Adapter [Realtek<br />

RTL8188SU]. Tested on OpenELEC (works OOB), RaspBMC (works OOB),<br />

Raspian - 2012-07-15-wheezy-raspbian (followed instructions here<br />

(http://forum.xbian.<strong>org</strong>/viewtopic.php?f=7&t=29) ) Powered hub required!<br />

▪ Belkin Components F5D8053 ver.6001 Wireless N Adapter [Realtek<br />

RTL8188SU]. Works on RaspBMC OOB (with NetworkManager plugin). Works<br />

WITHOUT powered hub on 5v 800mA power with 6 overvolt (nothing else<br />

connected to USB)<br />

▪ Belkin Components F7D1101 v1 Basic Wireless Adapter [Realtek RTL8188SU]<br />

USB ID 050d:945a, r8712u staging driver, included on Fedora Remix & Arch,<br />

must download (http://www.element14.com/community/servlet/JiveServlet/<br />

download/44948-8-97488/r8712u_ko.zip) for Debian and install firmware-realtek<br />

from non-free squeeze repo (B)<br />

▪ Belkin Components F6D4050 V1 [Realtek RT3070] USB ID: 050d:935a Driver:<br />

RT3572STA(recommended),RT2800USB,RT2870STA. Tested under Arch using<br />

this (https://wiki.archlinux.<strong>org</strong>/index.php/<br />

Setting_Up_Belkin_F6D4050_Wireless_USB_Dongles) guide.


▪ Belkin Components F6D4050 V1/V2 [Realtek RT3070] USB ID: 050d:935a /<br />

935b Driver: RT3572STA. Tested with Raspbian - See installation instructions<br />

(http://iggy82.blogspot.co.uk/2012/08/wireless-n-raspberry-pi-belkinf6d4050.html)<br />

- Powered hub not required!<br />

▪ Belkin Components F7D2102 "N300" Micro Wireless USB adapter. Tested with<br />

Occidentalis 0.1. Tested and working on Rasbian wheezy (and RaspBMC), driver<br />

RTL8192CU, no powered hub needed (dongle directly attached to the onboard<br />

ports)<br />

▪ Belkin Components F9L1001v1 "N150" Wireless USB Adapter. Tested and<br />

working on Rasbian wheezy WITHOUT powered hub.<br />

▪ Belkin Surf Micro WLAN USB-Adapter (Raspbian Wheezy, unpowered hub,<br />

"N150")<br />

▪ BlueProton<br />

▪ BT3 (http://www.element14.com/community/docs/DOC-44703) USB ID:<br />

0bda:8187; tested on Debian, Fedora & Arch; rtl8187 driver (B)<br />

▪ Buffalo<br />

▪ USB ID: 0411:01A2 WLI-UC-GNM - Tested on Raspbmc; rt2800usb driver<br />

▪ Conceptronic<br />

▪ C300RU. Works out of the box in Raspbian. Causes reboot when plugging on a<br />

live Rev. 2 <strong>RPi</strong><br />

▪ Conrad<br />

▪ WLAN Stick N150 mini. Works out of the box in OpenELEC, requires firmwarerealtek<br />

and r8712u kernel module on Debian (http://www.t3node.com/blog/<br />

sempre-wireless-usb-stick-wu300-2-on-raspberry-pi/) .<br />

▪ WLAN Stick N150 Nano [Realtek RTL8188CUS]. Requires a powered USB<br />

hub. See Micronet SP907NS for installation instructions and script.<br />

▪ DELL<br />

▪ Wireless 1450 [Intersil ISL3887]. Works out of the box but requires a powered<br />

hub (the <strong>RPi</strong> boots with this dongle plugged in, recognizes and configures it,<br />

works for some time but then crashes randomly under heavy traffic. A powered<br />

hub seems to fix the issue).<br />

▪ DIGICOM<br />

▪ USBWAVE54 [chipset Zydas ZD1211] . [[28] (http://www.digicom.it/digisit/<br />

prodotti.nsf/itprodottiidx/UsbWave54) ] Works out of the box in OpenELEC.<br />

With Raspbian or Debian squeezy/wheezy works with zd1211-firmware .<br />

▪ USBWAVE300C [chipset Ralink 2870] . [[29] (http://www.digicom.it/digisit/<br />

prodotti.nsf/itprodottiidx/UsbWave300c) ] Works out of the box in OpenELEC.<br />

With Raspbian or Debian squeezy/wheezy works with firmware-ralink .<br />

▪ D-Link<br />

▪ AirPlus G DWL-G122 (rev. E). USB ID 07d1:3c0f, Ralink RT2870. On Debian<br />

requires the firmware-ralink package from the squeeze-firmware


non-free repository. (However I experience total crashes on raspbian 2012-07-15<br />

after a few minutes of load on the wlan. Will have to investigate via serial<br />

console.)<br />

▪ AirPlus G DWL-G122 (rev. C). USB ID 07d1:3c03, Ralink RT2571. Working<br />

out-of-the-box on Arch image from 2012-04-29.<br />

▪ AirPlus G DWL-G122 (rev. B1). USB ID 2001:3c00, Ralink RT2571. Working<br />

out-of-the-box on Arch image from 2012-06-13.<br />

▪ DWA-110 (Version A1). Requires the ralink package from the non-free repository<br />

on Debian.<br />

▪ DWA-121 (Version A1). Wireless N 150 Pico. Works out-of-the-box with<br />

Raspian Wheezy (2012-09-18) and Raspbmc (2012-11-06) using Network-<br />

Manager addon (see Program - Addons)<br />

▪ DWA-123 (Version A1). USB ID 2001:3c17, Ralink RT2800. Working out-ofthe-box<br />

on Arch image from 2012-04-29. (working without UBS Hub - not yet<br />

sure if it achieves full speed though.)<br />

▪ DWA-131 USB ID 07d1:3303,Realtek RTL8192SU, 802.11n Wireless N Nano.<br />

Works out of the box on Raspbian “wheezy”. Verified with direct USB : no<br />

powered USB hub needed. Also verified when Nano used in powered USB hub.<br />

Someone had trouble configuring SSID/Passphrase in etc/network/interfaces file.<br />

But no problem & very easy to configure using wicd : wicd is a gui interface on<br />

LXDE for network configuration. Install it using command-line : apt-get<br />

install wicd. Once configured ith wicd to auto-run on boot, no need to turn<br />

back to LXDE. Recommended.<br />

▪ DWA-140 (Version B1). USB ID 07d1:3c09, Ralink RT2870. On Debian requires<br />

the firmware-ralink package from the squeeze-firmware non-free<br />

repository.<br />

▪ DWA-140 (Version B2). USB ID 07d1:3c0a, Ralink RT3072. Workaround for<br />

faulty firmware binary: Place file rt2870.bin from linux-firmware_1.53.tar.gz<br />

(https://launchpad.net/ubuntu/oneiric/+source/linux-firmware/1.53/+files/linuxfirmware_1.53.tar.gz)<br />

in /lib/firmware. Explanation (https://bugs.launchpad.net/<br />

ubuntu/+source/linux-firmware/+bug/770232) .<br />

▪ DWA-160 (Version B1). USB ID 07d1:3c11, Ralink RT2870. On Debian requires<br />

the firmware-ralink package from the squeeze-firmware non-free<br />

repository.<br />

▪ DWA-160 (Version A2). USB ID 07d1:3a09, Atheros AR9170. (NOTE: I can<br />

only get it to work through powered USB hub) requires carl9170-fw firmware<br />

[30] (http://http://aur.archlinux.<strong>org</strong>/packages.php/packages.php?ID=44102)<br />

▪ Edimax<br />

▪ EW-7811Un (http://www.edimax.co.uk/en/<br />

produce_detail.php?pd_id=328&pl1_id=1&pl2_id=44) USB ID 7392:7811,<br />

RTL8192CU, driver blob download (http://www.electrictea.co.uk/rpi/<br />

8192cu.tar.gz) via Element14 (http://www.element14.com/community/docs/<br />

DOC-44703) , works with WPA2-AES-CCMP (howto (http://www.ctrl-alt-del.cc/<br />

2012/05/raspberry-pi-meets-edimax-ew-7811un-wireless-ada.html) ) (B) -


Alternative driver download link that works with Raspian (http://dl.dropbox.com/<br />

u/80256631/8192cu-latest.tar.gz) . Note: With current raspbian<br />

(2012-09-18-wheezy) it is recognized immediately, the default module works<br />

fine; the configuration is easy using wireless-essid and wireless-key in /etc/<br />

network/interfaces.<br />

▪ The EW-7811Un can be powered directly from the Raspberry Pi if the Raspberry<br />

Pi is powered using a well regulated power supply.<br />

▪ A script-based installation for the EW-7811Un (http://www.edimax.co.uk/en/<br />

produce_detail.php?pd_id=328&pl1_id=1&pl2_id=44) by MrEngman can be<br />

found on the RasPi forums (http://www.raspberrypi.<strong>org</strong>/phpBB3/<br />

viewtopic.php?f=26&t=6256&hilit=edimax) . Tested with Debian Squeeze and<br />

Raspbian. An installation guide can be found here. (http://dl.dropbox.com/u/<br />

80256631/install-rtl8188cus.txt)<br />

▪ Instructions for getting the EW-7811Un (http://www.edimax.co.uk/en/<br />

produce_detail.php?pd_id=328&pl1_id=1&pl2_id=44) working in Raspbmc<br />

(tested RC3) can be found here (http://forum.stmlabs.com/<br />

showthread.php?tid=780) .<br />

▪ Simple step-by-step instructions for EW-7811Un (http://www.edimax.co.uk/en/<br />

produce_detail.php?pd_id=328&pl1_id=1&pl2_id=44) which uses the RTL8192<br />

chipset <strong>RPi</strong>_edimax_EW-7811Un(B)<br />

▪ EW-7318USg (http://www.edimax.com/en/<br />

produce_detail.php?pd_id=8&pl1_id=1&pl2_id=44) USB ID 148f:2573, rt73usb.<br />

RT2573 chipset. Works with powered usb-hub or shorted polyfuses.<br />

▪ EW-7711UAn (http://www.edimax.co.uk/en/<br />

produce_detail.php?pd_id=261&pl1_id=1&pl2_id=44) , Ralink RT2870, works<br />

perfectly on Arch with a powered hub (not tested without yet). Simply required<br />

wireless_tools and wpa_supplicant, the drivers/firmware are included in kernel<br />

3.0. I followed the Arch Wireless <strong>Setup</strong> (https://wiki.archlinux.<strong>org</strong>/index.php/<br />

Wireless_<strong>Setup</strong>) instructions.<br />

▪ edup<br />

▪ [Edup 150MBPS wifi adapter (http://www2.buyincoins.com/details/usb-150mwifi-wireless-lan-network-card-adapter-antenna-product-1916.html)<br />

] USB ID:<br />

148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter. Driver is the<br />

RT2800USB module, I had to install the firmware as rt2870.bin in /lib/<br />

firmware.(requires firmware-ralink from wheezy (http://raspberry-pinotes.blogspot.com/2012/05/rt5370-cheap-micro-usb-wireless-dongle.html)<br />

) (B)<br />

▪ Ultra-Mini Nano USB 2.0 802.11n 150Mbps Wifi/WLAN Wireless Network<br />

Adapter (http://dx.com/p/ultra-mini-nano-usb-2-0-802-11n-150mbps-wifi-wlanwireless-networkadapter-48166?item=1&Utm_rid=24958662&Utm_source=affiliate)<br />

USB ID: ID<br />

0bda:8176 Works stable when using VLC for internet radio receiver. Works<br />

stable 24/7 on two of my Raspberries used as webserver. Use method shown here<br />

(http://www.raspberrypi.<strong>org</strong>/phpBB3/viewtopic.php?t=7471&p=91736) for<br />

debian.


▪ ▪ edup nano EP-N8508 (http://www.szedup.com/show.aspx?id=1681) Use method<br />

shown here (http://www.raspberrypi.<strong>org</strong>/phpBB3/<br />

viewtopic.php?t=7471&p=91736) for debian. Requires powered USB hub for<br />

adequate power. When directly powered by Pi, it fails after a few minutes. (B)<br />

Unusable with analog audio because when data is being send or recieved the<br />

audio get disorted. Use script from here (http://dl.dropbox.com/u/80256631/<br />

install-wheezy-beta-rtl8188cus-20120619.sh) for Wheezy.<br />

▪ Eminent<br />

▪ EM4575 - rt2800usb driver.<br />

▪ EnGenius<br />

▪ EUB9603 EXT - Realtek r8712u driver<br />

▪ Gigabyte<br />

▪ Gigabyte GN-WB32L 802.11n USB WLAN <strong>Card</strong>. Works with the rt2800usb<br />

driver.<br />

▪ GMYLE<br />

▪ Wireless 11n USB Adapter. Uses RTL8188CUS chipset - cheap on eBay. Installs<br />

and works using the install-rtl8188cus-latest.sh script.<br />

▪ IOGear<br />

▪ GWU625 (http://www.element14.com/community/docs/DOC-44703) USB ID<br />

0bda:8172, r8712u staging driver, included on Fedora Remix & Arch, must<br />

download (http://www.element14.com/community/servlet/JiveServlet/download/<br />

44948-8-97488/r8712u_ko.zip) for Debian Squeeze and install firmware-realtek<br />

from non-free squeeze repo. No need to download firmware when using Debian<br />

Wheezy (B)<br />

▪ Linksys<br />

▪ Linksys (Cisco) WUSB100 ver.2 1737:0078, tested on raspbian; follow<br />

Brucalipto.<strong>org</strong> (http://www.brucalipto.<strong>org</strong>/linux/the-raspberry-diarywusb100-wireless-n/)<br />

instructions; not stress tested but works without issues for<br />

light network load.<br />

▪ Linksys (Cisco) WUSB600N, test on raspbian, details here (http://elibtronic.ca/<br />

content/20120731/raspberry-pi-part-1-wifi-support)<br />

▪ Linksys WUSB54GC (manufactured 07/2008) No issues! needs powered hub on<br />

version 1.0 boards.<br />

▪ LogiLink<br />

▪ Wireless LAN USB 2.0 Nano Adapter 802.11n LogiLink [31]<br />

(http://www.logilink.eu/showproduct/WL0084B.htm) is working even usb<br />

powered.<br />

▪ Micronet<br />

▪ Micronet SP907NS, 11N Wireless LAN USB Adapter (uses Realtek<br />

RTL8188CUS) works plugged directly into R-Pi USB (B) Debian installation<br />

instructions (http://dl.dropbox.com/u/80256631/install-rtl8188cus.txt)


▪ MSI<br />

IMPORTANT: read the instructions first to avoid problems, and Auto-install<br />

script (http://dl.dropbox.com/u/80256631/install-rtl8188cus-latest.sh) . The script<br />

has been used to install other adapters using the RTL8188CUS chip. Updated<br />

driver (http://dl.dropbox.com/u/80256631/8192cu-latest.tar.gz) that handles the<br />

latest rpi-updates that kill the original driver, download for manual installation,<br />

automatically installed by the Auto-install script.<br />

▪ 0db0:6861 MSI-6861 802.11g WiFi adapter (US54G): works with external<br />

powered USB hub, requires firmware from here (http://sourcef<strong>org</strong>e.net/projects/<br />

zd1211/files/zd1211-firmware/) , power management must be disabled:<br />

iwconfig wlan0 power off<br />

▪ Mvix<br />

▪ Mvix Nubbin (MS-811N): works out of the box on Raspbian "wheezy" and does<br />

not need a powered USB hub.<br />

▪ Netgear<br />

▪ N150: Reported as WNA1100 device, uses the Atheros ar9271 chipset. On<br />

Debian, requires the firmware-atheros package from the squeezebackports<br />

non-free repository (!)<br />

▪ N150: Some versions reported as Realtek RTL8188CUS device. Read Micronet<br />

entry above and use RTL8188CUS script for installation. Works best plugged into<br />

powered USB hub.<br />

▪ WG111v1: Prism54 chipset. Needs powered hub. Follow info for Prism54 chipset<br />

on Debian wiki.<br />

▪ WG111v2: Realtek rtl8187 chipset. Seems to draw a lot of power; e.g. I can't<br />

power this and a USB thumb drive simultaneously.<br />

▪ WNA1000M works with Raspberry Pi Model B Board v. BS1233.However when<br />

downloading torrents, when torrent pick up speed system become unresponsive.<br />

▪ OvisLink<br />

▪ Evo-W300USB: USB ID 148f:2270 Ralink Technology RT2770. apt-get install<br />

firmware-ralink<br />

▪ Patriot Memory<br />

▪ PCUSBW1150 (http://patriotmemory.com/products/<br />

detailp.jsp?prodline=6&catid=69&prodgroupid=163&id=1198&type=20)<br />

Wireless 11N USB adapter (uses Realtek RTL8188CUS) Install using Micronet<br />

script. Works only through powered usb hub.<br />

▪ PCBOWAU2-N (http://www.patriotmemory.com/products/<br />

detailp.jsp?prodline=6&catid=69&prodgroupid=163&id=973&type=20) Wireless<br />

11N USB adapter (uses Realtek RTL8191SU chip) Installed using r8712u Kernel<br />

module<br />

▪ Ralink


▪ inner 02 joggler wifi usb RT2770F USB-ID 148f:2770 (firmware-ralink required)<br />

(only got dhcp on powered hub)<br />

▪ RT2070 (http://www.dx.com/p/24688) USB-ID 148f:2070 firmware is already<br />

loaded into Raspbian. For Debian, the firmware must be installed (instructions<br />

(http://wiki.debian.<strong>org</strong>/rt2870sta) ). Needs a powered USB hub.<br />

▪ RT3070 USB-ID 148f:3070 firmware is already loaded into Raspbian.<br />

▪ RT2501/RT2573 (http://www.element14.com/community/docs/DOC-44703)<br />

USB-ID 148f:2573 (firmware-ralink required) (B)<br />

▪ RT5370 USB-ID 148f:5370 (requires firmware-ralink from wheezy<br />

(http://raspberry-pi-notes.blogspot.com/2012/05/rt5370-cheap-micro-usbwireless-dongle.html)<br />

) <strong>RPi</strong>_Ralink_WLAN_devices(B). An image of an adapter<br />

with this chip can be found here (http://i.imgur.com/wRF7L.jpg) .<br />

▪ Rosewill<br />

▪ RNX-N180UBE Wireless B/G/N Adapter<br />

▪ Realtek RTL8191SU chipset, USB-ID 0bda:8172<br />

▪ Tested in Arch, works out of box. Powered USB hub required.<br />

▪ Tested in Raspbian, used wicd to configure network settings. Powered USB<br />

hub Required.<br />

▪ Tested in Raspbmc. Needs package firmware-realtek and used wicd-curses to<br />

configure. Powered USB hub required<br />

▪ RNX-G1 Wireless B/G Adapter<br />

▪ Realtek RTL8187 chipset, USB-ID 0bda:8187<br />

▪ Tested in Arch, works out of box. USB hub required.<br />

▪ RNX-MiniN1 (RWLD-110001) Wireless-N 2.0 Dongle (Realtek Semiconductor<br />

Corp. RTL8188CUS 802.11n WLAN Adapter)<br />

▪ Sagem<br />

▪ Tested in Raspbian, powered from USB hub.<br />

▪ Sagem Wireless USB stick XG-760N : USB ID 079b:0062, Module is not<br />

shipped in Debian image, but can be "sudo apt-get install zd1211-firmware"<br />

▪ Sempre<br />

▪ SL<br />

▪ Sempre Wireless USB stick WU300-2: USB ID 0bda:8172, Realtek r8712u<br />

driver + firmware-realtek package. Module is shipped in Raspbian image. If you<br />

need to build it for other distros, read this: http://www.t3node.com/blog/semprewireless-usb-stick-wu300-2-on-raspberry-pi/<br />

▪ SL-1507N: USB 802.11n 150M WiFi Wireless Lan Network <strong>Card</strong> Adapter<br />

SL-1507N Black<br />

▪ I bought this on on eBay for $4.19 (free shipping) @ http://www.ebay.com/<br />

itm/<br />

270853614804?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649#ht_4379wt_119<br />

▪ It worked out of the box on Raspbmc RC4, with the network manager addon;<br />

seems to be an rt2800usb


▪ SMC<br />

▪ dmesg output "usbcore: registered new interface driver rt2800usb"<br />

▪ SMCWUSBS-N : Hardware detected as rt2800 but missing firmware; "sudo aptget<br />

install firmware-ralink" fixed it<br />

▪ SMCWUSB-G : Gives "couldn't load firmware" error. "sudo apt-get install<br />

zd1211-firmware" fixes it.<br />

▪ Sony<br />

▪ Sony UWA-BR100 802.11abgn Wireless Adapter [Atheros AR7010+AR9280]<br />

(Vendor ID: 0411, Product ID: 017f) - Tested with Raspbian. Needs package<br />

firmware-atheros.(B)<br />

▪ Tenda<br />

▪ USB 11n adapter on a G network: Ralink 2870/3070 driver (!)<br />

▪ Tenda W311MI Wireless N Pico USB Adapter (identified as Ralink RT5370<br />

Wireless Adapter; USB-ID: 148f:5370) - Works out-of-the-box for Raspian 2012/<br />

09/18 or later. An earlier version gave me problems.<br />

▪ Tenda W311U Mini 11N Wireless USB Adapter (USB-ID 148f:3070): Ralink<br />

2870/3070 driver; needs powered hub. Debian installation instructions<br />

(http://blog.modmypi.com/2012/06/installing-tenda-w311u-mini-wireless.html)<br />

▪ Tenda W311U+ Wireless USB Adapter - Tested with Raspian.<br />

▪ The Pi Hut<br />

▪ USB 802.11n WIFI adapter (from The Pi Hut's Raspberry Pi Store<br />

(http://thepihut.com/products/usb-wifi-adapter-for-the-raspberry-pi) )<br />

▪ TP-Link<br />

▪ TL-WN422G v2 (ath9k_htc) Works OOTB in Debian Wheezy Beta. Runs<br />

without powered Hub when plugged into running RasPi, but the RasPi won't boot<br />

while the stick is plugged in.<br />

▪ TL-WN721N (ath9k_htc device with htc_9271.fw file from<br />

http://linuxwireless.<strong>org</strong>/download/htc_fw/1.3/htc_9271.fw); needs powered USB<br />

Hub (B) | works OOTB with wheezy raspbian (2012-08-16) connected directly to<br />

raspberry pi (B) and AP functionality tested with hostapd.<br />

▪ TL-WN722N (ath9k_htc device with htc_9271.fw file from<br />

http://linuxwireless.<strong>org</strong>/download/htc_fw/1.3/htc_9271.fw); needs powered USB<br />

Hub (B)<br />

▪ TL-WN723N (RTL8188SU); works OOTB with raspbian 2012-09-17, (B) stable<br />

with 1A PSU and without powered USB hub on r2.0.<br />

▪ TL-WN821N v3 (ath9k_htc, htc_7010.fw); works out of the box on<br />

ArchLinuxARM and on OpenElec (>r11211), Problems with prior OpenElec;<br />

needs powered USB Hub (B)<br />

▪ TL-WN823N Works out of box on Raspian using powered USB Hub<br />

▪ Trendnet<br />

▪ TEW-648UBM (http://www.wikidevi.com/wiki/TRENDnet_TEW-648UBM)<br />

USB ID: 20f4:648b, works OOTB with Adafruit Occidentials Raspbian Wheezy


variant (http://learn.adafruit.com/adafruit-raspberry-pi-educational-linux-distro/)<br />

as it includes kernel with RTL8188CUS driver built-in<br />

(http://www.wikidevi.com/wiki/<br />

Special:Ask?title=Special%3AAsk&q=%5B%5BChip1+model%3A%3ARTL8188CUS%5D%5D&p<br />

(B)<br />

▪ Widemac<br />

▪ RT5370 Wireless Adapter from Ebay (http://www.ebay.co.uk/itm/<br />

180887771838?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649)<br />

runs without powered hub. Follow these instructions (http://elinux.<strong>org</strong>/<br />

<strong>RPi</strong>_Ralink_WLAN_devices) but go to ftp.de.debian.<strong>org</strong>/debian/pool/non-free/f/<br />

firmware-nonfree/ (http://ftp.de.debian.<strong>org</strong>/debian/pool/non-free/f/firmwarenonfree/)<br />

and pick the latest firmware-ralink_0.xx_all.deb<br />

▪ ZyXEL<br />

▪ NWD2105 (http://www.element14.com/community/message/50015#50015/l/reinstalling-kernel-headers-on-the-pi)<br />

USB ID: 0586:341e, RT3070 chipset,<br />

rt2800usb driver (B)<br />

▪ G-202 (http://www.zyxel.com/products_services/g_202.shtml) model 0586:3410<br />

ZyXEL Communications Corp. ZyAIR G-202 802.11bg using zd1211rw kernel<br />

module and zd1211-firmware package<br />

Problem USB Wifi Adapters<br />

These adapters were tested and found to have issues the Raspberry Pi. Note [32]<br />

(http://www.raspberrypi.<strong>org</strong>/phpBB3/viewtopic.php?f=28&t=6928) as a possible<br />

solution/explanation for errors while running LXDE.<br />

▪ Alfa<br />

▪ AWUS036NHA (Vendor ID: 0cf3, Product ID: 9271) - Tested with Raspbian.<br />

Works fine if connected after boot. Kills boot process if previously attached.<br />

Details here. (http://www.raspberrypi.<strong>org</strong>/phpBB3/<br />

viewtopic.php?f=28&t=16809&p=169469#p169469)<br />

▪ EDIMAX<br />

▪ EW-7811Un (Vendor ID: 7397, Product ID: 7811) - Reports as containing the<br />

Realtek RTL8188CUS chipset listed below, no lockup or kernal oops under<br />

wheezy but dmesg reports constant timeouts trying to initialize the module. This<br />

appears to be resolved on 2012-09-18-wheezy-raspbian and newer versions.<br />

▪ Linksys<br />

▪ WUSB300N (Vendor ID: 13B1, Product ID: 0029) - Tested with Raspbian,<br />

OpenELEC, among others. No Linux chipset support for Marvell 88W8362 at all.<br />

▪ LogiLink<br />

▪ WL0085 tested under debian (squeeze, wheezy, raspbian); no stable connection<br />

can be established. This gets even worse when X is running.


▪ MicroNEXT<br />

▪ MN-WD152B (Debian image) modprobe hangs when plugged in, lsusb hangs.<br />

udevd errors in the logs. [33] (http://www.element14.com/community/thread/<br />

17632) [34] (http://www.raspberrypi.<strong>org</strong>/phpBB3/viewtopic.php?t=6737)<br />

▪ Netgear<br />

▪ Possible fix: try the new Adafruit Occidentalis v0.1 (http://learn.adafruit.com/<br />

adafruit-raspberry-pi-educational-linux-distro/occidentalis-v0-dot-1) image<br />

(based on Raspbian Wheezy) as it includes the needed 8192cu driver builtin<br />

to the kernel<br />

▪ WNDA3100v2 tested with debian (wheezy); no driver for broadcom chipset (see<br />

http://www.wikidevi.com/wiki/Netgear_WNDA3100v2).<br />

▪ Realtek<br />

▪ RTL8188CUS USB-ID 0bda:8176, kernel oops in dmesg and freeze when pulled<br />

from USB. (B)<br />

▪ Trendnet<br />

▪ TEW-424UB (http://www.element14.com/community/docs/DOC-44703) USB<br />

ID: 0bda:8189; tested on Debian, Fedora & Arch; rtl8187 driver; errors with<br />

LXDE running (B)<br />

▪ TP-Link<br />

▪ TL-WN821N (http://www.element14.com/community/docs/DOC-44703) USB<br />

ID: 0cf3:7015; tested on Debian; requires htc_7010.fw (http://linuxwireless.<strong>org</strong>/<br />

download/htc_fw/1.3/htc_7010.fw) firmware; ath9k_htc driver; errors with<br />

LXDE running (B)<br />

▪ TL-WN723N USB ID: 0bda:8176; tested on Arch without a powered hub; it<br />

seems to draw too much current.<br />

USB Bluetooth adapters<br />

Working Bluetooth adapters<br />

▪ Asus USBIA-EG (paired with Asus Blutooth Keyboard/Media Center Remote<br />

▪ Verified works error-free in Multiple Distros (Openelec, Raspbian, RaspBMC,<br />

Xbian) Latest builds eliminate text echo problems.<br />

▪ Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode) - (USB ID 0a12:0001)<br />

▪ Example of above is; TOPDIGI UA01 Bluetooth USB Dongle Plug and Play<br />

(install bluez package from std repos)<br />

▪ Tesco own brand 'Technika' Nano Bluetooth Adaptor has the Cambridge Silicon<br />

Radio chipset and works fine, cost £5.97 at time of posting.<br />

▪ Hama USB Bluetooth 3.0 adapter (Class 1) ~£10 on amazon.co.uk.<br />

▪ Another sample: Product ID: 0a12:0001, pictured here:<br />

http://www.element14.com/community/message/58288


▪ RiiTek RT-MWK02+ - comes with a usb bluetooth adapter that works perfectly<br />

for both the RiiTek mini bluetooth keyboard/mouse and other bluetooth devices.<br />

Tested both on builtin USB and on powered USB hub. There are other RiiTek<br />

bluetooth (and non-bluetooth wireless) devices on the working list. Bluetooth<br />

adapter shows up in lsusb as "0a12:0001 Cambridge Silicon Radio" - this is<br />

notable as most other sources of this chipset do not seem to be available in the<br />

US.<br />

▪ D-Link DBT-122, with ID 07d1:f101, using a Broadcom chip<br />

▪ http://www.element14.com/community/message/58288<br />

▪ IOGear GBU321 (Broadcom BCM2045 Chipset)<br />

▪ Works with Raspbian Wheezy directly attached to Pi and via powered USB hub.<br />

▪ Trust BT-2400p<br />

▪ Working well with Raspbian Wheezy directly attached to Pi. Using with smabluetooth<br />

(SMA Solar Inverter reading software).<br />

Problem Bluetooth adapters<br />

▪ Belkin<br />

▪ Belkin F8T017. Tested with Raspbian 2012-07-15 and bluez installed with aptget.<br />

When dongle is inserted into Pluscom powered USB hub, my remote PuTTY<br />

session scrolls incredibly slowly (testing with ls -R to generate text). Suspect<br />

network issue. Lots of errors on dmesg too. Pi itself is responsive when using<br />

directly. On removal of the device everything goes back to normal.<br />

▪ Generic<br />

▪ Bluetooth "3.0" Dongle (http://dx.com/p/mini-bluetoothv3-0-usb-2-0-dongle-71248)<br />

. Doesn't work reliably - eg. after some time it will<br />

hang and the device will need to be reset using fcntl. The device id is 1131:1004<br />

Integrated System Solution Corp. Bluetooth Device.<br />

▪ Asus USB-BT211<br />

▪ Shows up as HCI device in Raspbian, but does not scan or pair.<br />

▪ http://www.raspberrypi.<strong>org</strong>/phpBB3/viewtopic.php?f=28&t=9962<br />

USB Ethernet adapters<br />

Working Ethernet adapters<br />

▪ AVM<br />

▪ FRITZ!Box WLAN 3030 USB Ethernet Adapter: Works out of the box. No<br />

external power source needed.<br />

▪ Wintech


▪ USB 2.0 Lan<strong>Card</strong> Model: LAU-15 (CK0049C) using the mcs7830 driver.<br />

Probably needs more than 100 mA current. [35] (http://www.raspberrypi.<strong>org</strong>/<br />

phpBB3/viewtopic.php?f=46&t=8708#p106136)<br />

▪ LogiLink<br />

▪ USB 2.0 UA0144: AX88772 chipset using the asix kernel driver. Tested only on<br />

powered USB hub so far.<br />

▪ LogiLink Fast EN USB 2.0 to RJ45 Adapter: Test on wheezy-Raspian<br />

(2012-08-16) without USB Hub will be confirmed<br />

lsusb output: Bus 001 Device 004: ID 9710:7830 MosChip Semiconductor MCS7830 10/<br />

100 Mbps Ethernet adapter<br />

▪ Apple<br />

▪ Apple USB Ethernet Adapter using asix kernel driver. Works out of the box on<br />

Raspbian, haven't tested on any other OS.<br />

▪ Edimax<br />

▪ Edimax EU-4230 USB2.0 Fast Ethernet Adapter with 3 port USB hub. Works out<br />

of the box. Needs its own power source.<br />

▪ D-Link<br />

▪ D-Link DUB-E100 Fast Ethernet USB 2.0 Adapter - works out of the box,<br />

requires own power supply (from powered USB hub)<br />

▪ Sitecom<br />

▪ Sitecom LN-030 V2 detected as ASIX AX88772 USB 2.0 Ethernet Adapter<br />

works out of the box. Doesn't seem to require any extra power supply.<br />

▪ A-Link<br />

▪ A-Link NA1GU Gigabit USB 2.0 ethernet adapter<br />

This adapter works, but (probably) requires a bit of work. The driver for the chipset (Asix<br />

AX88178) included with the Raspbian kernel (v 3.1.9+ Aug 7 2012) does not work. With<br />

that driver the device is detected, but it does not seem to be possible to actually put any<br />

traffic through it. :-( In order to make it work you need to download the latest driver from<br />

the chipset manufacturer (http://www.asix.com.tw/<br />

products.php?op=pItemdetail&PItemID=84;71;100&PLine=71) . The version I used was<br />

"Linux kernel 3.x/2.6.x Driver" v4.4.0, released 2012-05-18. Fortunately this is GNU<br />

GPLv2 -licenced source code and not a binary blob, so compiling it for the Raspberry Pi<br />

is perfectly doable. The hardest part was in fact getting the Linux source code required,<br />

because the repositores contained the source for the wrong kernel version. >:-(<br />

Fortunately there is a very useful guide (https://www.grendelman.net/wp/compilingkernel-modules-for-raspbian-raspberry-pi)<br />

for how to get the sources from github, and<br />

preparing that source so that you can compile modules. Unfortunately you will have to<br />

compile the kernel (even if you don't actually install it) - which will take the better part of<br />

the day on the Raspberry, but once that's done you can unpack the driver source and just<br />

run "make && sudo make install". Reboot and you should have a fully working ethernet<br />

adapter.


The adapter seems to work without a powered USB hub, but according to the<br />

specifications it can draw up to 190 mA, so there might be stability issues if additional<br />

power is not provided.<br />

Problem Ethernet adapters<br />

▪ Axago<br />

▪ Axago ADE-X1 10/100 Ethernet Adapter (usb: 9710:7830 driver:mcs7830).<br />

Adapter working about 10 minutes without problem, but after that kernel write<br />

error message to dmesg and no packet is received. Needed to unplug and plug<br />

USB again. Tested with and without powered USB hub.<br />

USB Sound <strong>Card</strong>s<br />

You will usually want the alsa package for sound. In the Debian image for Raspberry Pi<br />

(and possibly other distributions) USB sound cards are prevented from loading as the first<br />

sound card, which can be an annoyance if it's the only device you have. To disable this<br />

behaviour edit /etc/modprobe.d/alsa-base.conf and comment out the last<br />

line; options snd-usb-audio index=-2 . If you are not user pi you may need<br />

to add your username to the audio group thus: sudo adduser yourusername<br />

audio (user pi usually belongs to this group anyway).<br />

▪ Creative<br />

▪ Sound Blaster Play! (http://asia.creative.com/products/<br />

product.asp?category=1&subcategory=207&product=17892)<br />

▪ Daffodil<br />

▪ USB Sound Adapter US01 (http://www.amazon.co.uk/gp/product/B002FI7GWK/<br />

ref=oh_details_o03_s00_i00) . Tested with low-cost headphone/microphone set<br />

via audacity (See notes at cpmspectre.pwp.blueyonder.co.uk/raspberry_pi/<br />

MoinMoinExport/DaffodilUSBSoundAdapter<br />

(http://www.cpmspectre.pwp.blueyonder.co.uk/raspberry_pi/MoinMoinExport/<br />

DaffodilUSBSoundAdapter.html) ).<br />

▪ Edirol<br />

▪ UA-1A (http://www.roland.com/products/en/UA-1A/)<br />

▪ Hercules<br />

▪ Gamesurround Muse XL (Pocket LT3) (http://www.hercules.com/fr/Cartes-Son/<br />

bdd/p/123/gamesurround-muse-xl-pocket-lt3/)<br />

▪ Logilink<br />

▪ UA0053 USB Soundcard with Virtual 3D Soundeffects LogiLink<br />

(http://www.logilink.de/showproduct/UA0053.htm?seticlanguage=en)<br />

▪ NuForce uDAC-2


▪ NuForce uDAC-2 Headphone Amplifier and USB DAC<br />

(http://www.nuforce.com/hp/products/iconudac2/index.php)<br />

▪ Terratec<br />

▪ Aureon Dual USB (http://www.terratec.net/fr/produkte/<br />

Aureon_Dual_USB_12339.html)<br />

▪ Texas Instruments PCM2704<br />

▪ PCM2704 98dB SNR Stereo USB2.0 FS DAC with line-out and S/PDIF output,<br />

Bus/Self-powered (http://www.ti.com/product/pcm2704)<br />

USB 3G Dongles<br />

▪ Huawei E173<br />

▪ Huawei E220<br />

▪ Huawei E160 (AT commands only)<br />

▪ Franklin U600 from Sprint / VirginMobile<br />

▪ Use usb_modeswitch and vendor 0x1fac and product 0x0150/0x0151<br />

▪ Digicom Internet Key 7.2 HSUPA MU372-L01 [36] (http://www.digicom.it/digisit/<br />

prodotti.nsf/itprodottiidx/MU372L01)<br />

Tested on Raspbian and Archlinux. Detected as 230d:0001. Works with cdc_acm driver.<br />

Install usb_modeswitch. There are 2 "com ports"( /dev/ttyACM0 and /dev/ttyACM1 ) .<br />

Tested with Network Manager.Works also perfectly with SAKYS3G [37]<br />

(http://www.sakis3g.<strong>org</strong>/) tools (!! led is always off !!) and wvdial. A working<br />

wvdial.conf : http://ubuntuforums.<strong>org</strong>/showpost.php?p=10361881&postcount=28 . (for<br />

example for Vodafone IT , replace Init3 with this : Init3 =<br />

AT+CGDCONT=1,"IP","web.omnitel.it" and replace line Modem = /dev/ttyUSB0 with<br />

Modem = /dev/ttyACM1 ) and run with wvdial voda .<br />

USB IR Receivers<br />

SMK Manufacturing, Inc. eHome Infrared Receiver (Works out of the box with<br />

OpenELEC)<br />

USB Radio devices<br />

▪ FM Radio<br />

▪ ADS InstantFM Music - FM radio tuner works fine under debian.<br />

USB TV Tuners and DVB devices<br />

▪ August


▪ DVB-T205, based on rtl2832u chipset, working with this driver<br />

(https://github.com/ambrosa/DVB-Realtek-RTL2832U-2.2.2-10tunermod_kernel-3.0.0)<br />

. Tested with Saorview (Irish DTT service), both HD & <strong>SD</strong>.<br />

▪ DVBSky<br />

▪ Mystique SaTiX-S2 Sky USB (http://dvbsky.eu/Products_S860.html) : Scanning/<br />

watching <strong>SD</strong> and HD works via vdr and streamdev plugin, watching on the Pi<br />

directly is laggy as hell. DVB-USB and I2C support must be enabled in the<br />

kernel. Needs drivers/firmware from here (http://dvbsky.eu/Support.html) .<br />

▪ Sundtek<br />

▪ Sundtek MediaTV Digital Home<br />

▪ Sundtek MediaTV Pro<br />

▪ Sundtek SkyTV Ultimate<br />

▪ DVB-C, DVB-T, DVB-S/S2 (http://shop.sundtek.de) : digital TV works,<br />

streaming to Windows / Linux is no problem. <strong>Easy</strong> installation English<br />

(http://support.sundtek.com/index.php/topic,4.0.html)<br />

▪ Hauppauge<br />

▪ Hauppauge NOVA-T Stick (Revision 70xxx) DiBcom DiB0700 chipset, requires<br />

powered hub.<br />

▪ Hauppauge NOVA-TD Stick (Revision 52xxx) DiBcom DiB0700 chipset,<br />

requires powered hub.<br />

▪ Hauppauge WinTV-HVR-1950 (tested analog tuner with omxplayer)<br />

▪ Hauppauge WinTV-HVR-950Q (tested Digital OTA with TVHeadend in<br />

Raspbian)<br />

▪ K-World<br />

▪ K-World UB499-2T Dual DVB-T USB Tuner. IT9137 chipset. With no other<br />

USB devices connected Pi can just about power this stick. IR and supplied<br />

remote work with XBMC.<br />

▪ Technisat<br />

▪ Technisat_SkyStar_USB_HD. Instructions: http://www.linuxtv.<strong>org</strong>/wiki/<br />

index.php/Technisat_SkyStar_USB_HD Used the Pi to receive and redirect it via<br />

network to another host. Didn't try to play back the stream on the Pi itself. Tested<br />

with Astra 19.2E radio and <strong>SD</strong>-TV channels<br />

▪ Generic<br />

▪ DVB-T USB Dongle (Silver casing) (http://www.onsources.com/product_images/<br />

a/757/watch_and_record_digital_tv_dongle__44323_zoom.jpg) , based on<br />

AF9015 chipset.<br />

▪ DVB-T USB Dongle (http://www.electrodepot.fr/media/catalog/product/cache/1/<br />

image/500x/9df78eab33525d08d6e5fb8d27136e95/P926993.jpg) , based on<br />

RTL2832 FC12 (HD/<strong>SD</strong>), IR detected but not tested


USB Webcams<br />

Debian image is missing v4l kernel modules, so video devices are not available. Kernel<br />

and firmware upgrade can possibly be used to fix this[38] (http://blog.pixelami.com/<br />

2012/06/raspberry-pi-firmware-update-for-debian-squeeze/) .<br />

Working USB Webcams<br />

▪ Canyon<br />

▪ Canyon CNR-WCAM820 - 2Mpix cam with manual focus; works with fswebcam<br />

and v4l4j on Raspbian wheezy armhf; problems with 1600x1200 resolution in<br />

some apps (timeouts - probably too slow USB); 1280x1024 and lower resolutions<br />

works OK<br />

▪ Creative<br />

▪ HP<br />

▪ Creative VF0470 Live! (works out of the box on ArchLinux)<br />

▪ Creative VF0260 Live! Cam Vista IM (works out of the box)<br />

▪ Creative VF0640 Live! Cam Socialize (works on Raspbian at 320x240<br />

resolution, 15fps)<br />

▪ Webcam Notebook PD1170 (detects, untested)<br />

▪ Webcam HD-2200 (Amazon) (http://www.amazon.com/HP-Webcam-<br />

HD-2200-BR384AA-ABA/dp/B004UR9P9Q/) (HP) (http://shopping.hp.com/<br />

en_US/home-office/-/products/Electronics/Webcams/BR384AA?HP-<br />

HD-2200-Webcam) (Walmart) (http://www.walmart.com/ip/HP-Webcam-<br />

HD-2200/16775645)<br />

▪ Webcam HP-3100 - UVCVideo /dev/video0 Needs chmod to 666 to operate. Will<br />

work without hub if only device in USB ports. Works with both Arch and wheezy<br />

out of the box<br />

▪ Logitech<br />

▪ Webcam C100 Model Number V-U0013 (works fine without powered hub -<br />

Tested on 2012-08-16-wheezy-raspbian image - motion detection was good -<br />

video streaming was really slow might be unusable)<br />

▪ Webcam C200<br />

▪ Webcam C270 (with external power)<br />

▪ Webcam C310 does not require a powered hub to capture snapshots<br />

▪ Webcam C510<br />

▪ Webcam C525 (works fine without powered hub)<br />

▪ HD Webcam C615 (works fine without powered hub)<br />

▪ Webcam C910 (with external power, is uncvideo)<br />

▪ Webcam C920 (with powered hub, detected out of box on Raspain as Video0<br />

V4L device)<br />

▪ QuickCam Orbit/Sphere USB webcam (ext. power)


▪ QuickCam Pro 9000 - powered by Raspi, working on debian wheezy<br />

▪ Webcam Pro 9000 (046d:0809), powered by <strong>RPi</strong> (measured ~120 mA capturing<br />

at ~5 fps), works on Arch<br />

▪ Medion<br />

▪ MD86511 - powered by Raspi, working on Raspbian “wheezy” from 2012-07-15<br />

▪ Microsoft<br />

▪ Xbox Live Vision camera (045e:0294), powered by Raspi, working on Arch<br />

▪ LifeCam Cinema 720p USB HD Webcam H5D-00001 - Powered by USB Hub.<br />

Working on Raspbian "wheezy"<br />

▪ LifeCam HD-6000 - Powered by Raspberry Pi. Working on Raspbian "wheezy"<br />

(2012-07-15)<br />

▪ LifeCam NX-6000 - Powered by Raspberry Pi. Working on Debian "wheezy"<br />

▪ LifeCam VX-7000 - Powered by USB Hub. Working on Raspian "wheezy"<br />

▪ LifeCam VX-3000 - On "raspbian" wheezy (though there do appear to be some<br />

issues with image quality and getting partial frames and such, with fswebcam)<br />

▪ LifeCam VX-800 - Powered by Raspberry Pi. Working out of the box on<br />

Raspbian (Amazon) (http://www.amazon.it/Microsoft-J<strong>SD</strong>-00008-LifeCam-<br />

VX-800/dp/B0057FWVSC) Doesn't work at full 640 * 480 resolution but OK at<br />

352 * 288.<br />

▪ Sony<br />

▪ PlayStation Eye (for PlayStation 3) (the occasional frame is corrupted/stutters<br />

when running at 640x480)<br />

▪ PlayStation Eyetoy (for PlayStation 2) (Occasional 'mangled frame' directly<br />

connected to Rev 2 Pi)<br />

▪ Trust<br />

▪ 2MP Auto Focus Webcam (works out of the box on ArchLinux)<br />

Problem USB Webcams<br />

▪ Creative<br />

▪ WebCam Pro / PD1030 - ov519 driver crashes almost immediately. ("gspca:<br />

ISOC data error: [0] len=0, status=-4004")<br />

▪ Logitech<br />

▪ Webcam Pro 9000 - Has issues capturing images at higher than default<br />

resolutions (using motion - Arch and Debian).<br />

▪ Webcam Pro 4000 - It uses pwc driver which does not work. Maybe it's because<br />

of general Raspi USB bug.<br />

▪ Microsoft<br />

▪ Lifecam HD5000 - Picture breaks up at the bottom<br />

▪ LifeCam Studio/Cinema - Has UVC issues detailed here [39]<br />

(http://www.ideasonboard.<strong>org</strong>/uvc/#devices) . Horizontal lines problem [40]


▪ Sony<br />

(http://www.raspberrypi.<strong>org</strong>/phpBB3/viewtopic.php?f=63&t=12304) . Stability<br />

issues [41] (http://www.raspberrypi.<strong>org</strong>/phpBB3/viewtopic.php?f=63&t=12247) .<br />

▪ Eye Toy (PlayStation 2) model SLEH 00030 - (OV519 camera). Picture<br />

constantly breaks up on xawtv and wxcam under Arch Linux. Noted there were<br />

ISOC data error len=0 status=-4004 errors in dmesg. This happens when powered<br />

from the Pi and when powered from a Pluscom USB hub. Arch was updated on<br />

17th July 2012<br />

▪ Trust<br />

▪ SPACEC@M 200 - (OV511 camera). Picture stops after a few seconds in xawtv<br />

under Arch Linux and xawtv reports libv4l2 errors. This happens when powered<br />

from the Pi and when powered from a Pluscom USB Hub. Arch was updated on<br />

17th July 2012<br />

USB GPS devices<br />

▪ Royaltek<br />

▪ Royaltek RGM 2000 SiRF2 using the included serial (TTL) to USB - converter.<br />

That uses a Profilic pl2303-chip so you'll need to compile the module or the<br />

kernel manually<br />

▪ Garmin<br />

▪ Garmin eTrex Vista HCx: Works but may draw much power. To get it working<br />

(software part): https://wiki.openstreetmap.<strong>org</strong>/wiki/USB_Garmin_on_GNU/<br />

Linux<br />

▪ GlobalSat<br />

▪ GlobalSat BU-353 Does not require a powered hub, works fine when directly<br />

plugged into the <strong>RPi</strong>. On Raspian, requires the gpsd and gpsd-client packages.<br />

For some reason, the gpsd daemon does not always start correctly on boot. You<br />

may need to do something like the following to manually restart it:<br />

▪ Wintec<br />

sudo killall gpsd; sudo gpsd /dev/ttyUSB0 -F /var/run/gpsd.sock<br />

▪ WBT-200: No problem on Debian<br />

▪ Holux<br />

▪ Holux M-215: Works fine on Arch, uses Silicon Labs CP210x RS232 serial<br />

adaptor driver<br />

▪ Bluenext<br />

▪ Bluenext BN903S: No problem on Debian image (19-04-2012).


USB UART and USB to Serial (RS-232) adapters<br />

A USB UART adapter is used to access the serial console of the Raspberry Pi from a<br />

development host such as a laptop or desktop PC. The USB end connects to the PC and<br />

the UART header end connects to the USB. While it is possible to connect the USB end<br />

to another Raspberry Pi, this configuration has not been tested unless explicitly<br />

mentioned against an individual entry below.<br />

▪ FTDI<br />

▪ FT232 chip based adapters works for some people but others find it hangs Linux<br />

when the port is opened. module is ftdi_sio<br />

▪ ▪ FT2232D dual RS232/FIFO works (used in various JTAG devices)<br />

▪ Prolific<br />

▪ PL2303 chip based adaptors works fine on latest Debian tested with minicom and<br />

gtkterm<br />

A USB to Serial (RS-232) adapter is used the other way around, ie. the USB end connects<br />

to the Raspberry Pi and the RS-232 end (DSUB-9 or DSUB-25 pin) to the other device<br />

which may be another computer, (old) modem or printer, or some electronic test<br />

equipment.<br />

▪ "Best Connectivity" (Possibly also sold under the "Newlink HQ" or "Kenable HQ"<br />

labels)<br />

▪ FG-U1232-PL2 Based upon the Prolific PL2303X chipset and listed by lsusb as<br />

ID 067b:2303 Prolific Technology, Inc. PL2303 Serial<br />

Port. Appears as /dev/ttyUSB0, and requires the user to be a member of the<br />

dialout group (which pi is for Raspbian Wheezy). Initially tested using an old RS<br />

Datalinker setup in "loopback" mode via microcom upto 9600 baud, and gtkterm<br />

after installing that from source code. All handshake lines toggled as expected<br />

and no characters were lost. Subsequently gtkterm was used to check bidirectional<br />

communication with an ancient brother EP44 electronic typewriter (as<br />

a printer/dumb terminal) at 1200 baud. Signal lines were again monitored with<br />

the Datalinker.<br />

Other, exotic USB devices<br />

USB to Parallel Port/Printer Adapters<br />

▪ Prolific<br />

▪ PL2305 Chipset with Centronics 36w connector. Originally purchased for use<br />

with a netbook and connected to an old Canon BJC-250 printer. Worked fine<br />

under RISC OS Pi with its in-built BJC-250 driver. Could not install the CUPS


drivers etc. for wheezy-raspbian but was able to do so for wheezy-armel. (See<br />

notes at http://www.cpmspectre.pwp.blueyonder.co.uk/raspberry_pi/<br />

MoinMoinExport/USBtoParPrntAdapter<br />

(http://www.cpmspectre.pwp.blueyonder.co.uk/raspberry_pi/MoinMoinExport/<br />

USBtoParPrntAdapter.html) for more info.)<br />

USB to SATA<br />

▪ Nippon Labs<br />

▪ 2.5" SATA HDD USB Adapter with silicone HDD sleeve. Model: USB-<br />

ADT-25SATA. Works on powered Hub, not directly to Raspberry Pi. Built-in "Y"<br />

power adapter.<br />

CAN Bus<br />

▪ PEAK-System (www.peak-system.com)<br />

▪ PCAN-USB using the driver (kernel module) from http://www.peak-system.com/<br />

fileadmin/media/linux/index.htm<br />

Home automation<br />

▪ Tellstick (www.telldus.com), installation instructions<br />

▪ Depends on libftdi1<br />

Touch Screen<br />

▪ ACER T230H touch screen [42] (http://support.acer.com/acerpanam/monitor/2009/<br />

acer/t230h/t230hnv.shtml)<br />

▪ USB TS identifies as "Quanta Computer, Inc. Optical dual-touch panel", module<br />

hid_quanta<br />

▪ Seems to draw over 200 mA from USB!<br />

Floppy Disk Drive<br />

▪ Samsung USB Floppy Drive SFD-321U/HP<br />

▪ I suppose a floppy drive might be considered exotic nowadays!<br />

▪ LSUSB lists it as Samsung Electro-Mechanics Co. Floppy Disk Drive<br />

▪ Only tried connected to a powered USB hub, as the drive is labelled 5V at 0.5A<br />

on a Raspberry Pi running Debian Wheezy.<br />

▪ tail -f /var/log/syslog looking for mount device when plugged in, came up as<br />

<strong>SD</strong>A in testing.<br />

▪ sudo mkdir /media/floppy<br />

▪ sudo mount /dev/sda /media/floppy


▪ Contents of floppy now available in /media/floppy<br />

▪ To remove drive, ensure no sessions have the floppy directory as the current<br />

working directory.<br />

▪ sudo umount /media/floppy<br />

USB Missile Launcher<br />

▪ USB Missile Launcher / Rocket Launcher sold in UK by Marks and Spencer but also<br />

sold under a range of other names.<br />

▪ USB ID 1130:0202 Tenx Technology, Inc. Use apt-get install pymissile (python<br />

code) and there is C code at usbmissile from Source F<strong>org</strong>e (http://sourcef<strong>org</strong>e.net/<br />

projects/usbmissile/)<br />

USB Docking Stations<br />

▪ StarTech USB 3.0 to Dual 2.5"/3.5" SATA HDD Dock (SATDOCK2U3GB)<br />

▪ This is an externally powered dual sata HDD docking station, which has USB2.0<br />

compatibility with the Pi.<br />

▪ Tested with latest raspbmc and debian wheezy raspbian, 3.1.9+ #168<br />

USB RFID Reader<br />

▪ Unbranded 125KHz EM4100 RFID reader from eBay sellers (< £7), the one with a<br />

Windows logo on (easily scratches off for Linux users).<br />

JTAG<br />

▪ Initially would not work when plugged in directly to <strong>RPi</strong>. Worked when<br />

connected via an unpowered Trust hub. Worked after <strong>RPi</strong> was modified with 10K<br />

resistors over the USB polyfuses (warranty invalidated). Probably would work<br />

fine with powered hub.<br />

▪ Sends a 10 digit string to current window or console as if it was a keyboard. Can<br />

be captured independently of keyboard using Linux event interface (/dev/input)<br />

but kernel in current distributions does not have CONFIG_INPUT_EVDEV<br />

selected so kernel rebuild is necessary.<br />

▪ FTDI2232D dual RS232/FIFO based JTAG (e.g. SheevaPlug JTAGKey USB-ID<br />

9e88:9e8f)<br />

▪ works using the <strong>RPi</strong> as a development host<br />

USB 3.0 Multi-<strong>Card</strong> Reader<br />

▪ US Robotics All-In-One Multi-Format <strong>Card</strong> Reader (Product # USR8420) Accepts 5<br />

cards simultaneously


▪ <strong>SD</strong>/MMC + MS/MS PRO or DUO/DUO PRO + CF/MD + SM + <strong>SD</strong>/MMC or<br />

MS/MS PRO. Useful for backing up cards containing other OS Distros<br />

PS2 / AT to USB Converters<br />

▪ Unbranded active converter known as the "blue cube". Based on the Cypress<br />

CY7C63723C 8 bit RISC. Please see http://geekhack.<strong>org</strong>/showwiki.php?title=PS2-to-<br />

USB+adapters for more information.<br />

Note that although the adapter might work, PS/2 keyboards were not designed to be low<br />

power USB devices, so they might not meet the requirement to work with considerable<br />

lowered supply voltage (4.4 volt) provided by the USB ports of the raspberry PI. These<br />

keyboards should work when powered by a powered hub.<br />

Tested PS2/AT keybords<br />

All above tested with the famous "blue cube" on a powered USB hub.<br />

▪ IBM Model F (please note requires an additional AT to PS2 converter)<br />

▪ Dell AT101w<br />

▪ Northgate Ominikey Ultra T (please note requires an aditonal AT to PS2 converter)<br />

▪ 04d9:1400 Holtek Semiconductor, Inc. PS/2 keyboard + mouse controller<br />

▪ Working: Ipex RT215KTW PS/2 keyboard<br />

▪ Not working: HP SK-2502 PS/2 keyboard (gets power but does not init - three<br />

LEDs remain permanently lit. Keyboard + Holtek converter work on a Linux PC,<br />

although this keyboard doesn't work with some native PS/2 ports.)<br />

Power adapters<br />

The Raspberry Pi uses a standard Micro USB (type B) power connector, which runs at 5v.<br />

Generally you can use a MicroUSB to USB cable and then either power the Raspberry Pi<br />

directly from your main computers USB ports (if they provide enough power), or by<br />

using a USB to Mains adaptor. A number of mobile phones use MicroUSB power cables,<br />

and these are compatible with the Raspberry Pi in most cases. Below is a list of power<br />

adaptors known to work.<br />

Working power Adapters<br />

▪ AlcaPower<br />

▪ 5V 2.5A Model AP5A - Charger/switching with 7 connectors(also Microusb)<br />

▪ Ansmann<br />

▪ ▪ Dual USB charger slim, Model-Nr. 1201-0001<br />

▪ Apple


▪ 5V 2.1A USB charger for iPad2, model A1357<br />

▪ 5V 1.0A USB Charger for iPod<br />

▪ 5V 1.0A USB Charger for iPhone 4<br />

▪ Amazon<br />

▪ 5V 0.85A USB charger for Kindle<br />

▪ 5V 2A Mains to USB A adaptor, Branded "CostMad"<br />

▪ Asus<br />

▪ 5V 2.0A USB charger for Google Nexus 7<br />

▪ Belkin<br />

▪ 5V 2.6A 4 port Ultra-Slim Desktop hub (Model F4U040) (<strong>RPi</strong> running from<br />

USB Hub port)<br />

▪ 5V 2.5A 4 port USB Hub (Model F5U404) (<strong>RPi</strong> running from USB Hub port)<br />

▪ 5V 3.5A 7 port USB 2.0 Mobile Powered Hub (Model F4U018) (<strong>RPi</strong> running<br />

from USB Hub port)<br />

▪ 5V 3.5A 7 port USB Hub (Model F5U706) (<strong>RPi</strong> running from USB Hub port)<br />

▪ Mini Surge Protector Dual USB Charger (Model BZ103050-TVL)<br />

▪ Universal USB Wall Charger (5V 1A) (Model F8Z222uk)<br />

▪ Blackberry<br />

▪ Charger for Pearl Flip 8220, Bold 9600 (B)<br />

▪ Charger for Tour 9630<br />

▪ 5V 0.7A Model PSM04R-0500CHW1(M), RIM Part Number HDW-17957-003<br />

(B)<br />

▪ 5v 750mA Model RIM-C-0004aDUUUC-001, RIM Part Number<br />

HWD-24481-001 (comes with Blackberry 9300)<br />

▪ 5v 750mA Model RIM-C-0004ADUUS-001 035D, Single port plug. (Tested with<br />

USB B to Micro USB cable from Logitech H760 Headset)<br />

▪ 5V 2A Model PSAC10R-050QT, RIM Part Number HDW-34725-001<br />

▪ 5v 550ma curve 8520 charger works with raspberry pi Model B Board v.<br />

BS1233. It does not work with raspbmc image.Symtoms are frequent key board<br />

and external hdd disconnects.<br />

▪ Deal Extreme<br />

▪ S-10-5 5V 2A Regulated Switching Power Supply (110~220V) (http://dx.com/p/<br />

5v-2a-regulated-switching-power-supply-110-220v-94518) (DIY: requires<br />

additional micro-USB connector and wiring)<br />

▪ Dell<br />

▪ USB Hub integrated in Dell monitors (B)<br />

▪ The FX Factory<br />

▪ 5V 1A (1.2A max) AC Travel Charger Model KJ-USB Mains. Typically provides<br />

4.9V at 1A [4]<br />

▪ Garmin<br />

▪ 5V 1A charger (Model: PSA105R-050Q) supplied with Garmin Edge 800 GPS.<br />

Requires a USB-A to MicroUSB-B cable. Belkin 6ft cable (F3U151B06) works.


▪ Globe Electric<br />

▪ 2-Outlet Tap with Surge Protection and 2 USB Chargers (46082 (http://globeelectric.com/product/2-outlet-tap-with-surge-protection-and-2-usb-chargersgrounded-white/)<br />

). Rated at 1000 mA. 120V systems only.<br />

▪ Griffin<br />

▪ Power Block Model P2417. 5V 2.1A<br />

▪ Power Block Model P1190R2 Two USB 5V Outputs, 1Amp each<br />

▪ Hama<br />

▪ 1000mA Travel Charger for Micro USB universal (barcode nr: 4 007249 935854)<br />

▪ HP<br />

▪ 5.3V 2A Charger for HP Touchpad (B)<br />

▪ HTC<br />

▪ 5V 1A TCP-300 USB phone charger (B)<br />

▪ 5V 1A TC B250 USB charger (HTC R/N: 79H00096-00M)<br />

▪ 5V 1A TC E250 USB charger (HTC R/N: 79H00098-02M)<br />

▪ i-box (Philex Electronic Ltd)<br />

▪ 5V 1A USB charger, 1 USB socket, no USB lead supplied, Model: 76971HS/02<br />

(available from A<strong>SD</strong>A and others in the UK) (B).<br />

▪ IDAPT<br />

▪ i4 multi device charger (http://www.idaptweb.com/universal_chargers/i4/) - 3<br />

interchangeable device tips + USB A socket (see it in use (https://twitter.com/<br />

andrewmk/status/226057302879375361) )<br />

▪ Innergie<br />

▪ 15W Dual USB Adapter. Model: mMini AC15. Output: 5V, 3A (max per port),<br />

15W max. Spec Sheet (http://www.myinnergie.com/DuoPowerKit/<br />

specification.aspx)<br />

▪ Kodak<br />

▪ 5V 1A TESA5G1-0501200<br />

▪ 5V 1.0A K20-AM<br />

▪ LG<br />

▪ 4.8V 1A Travel Adapter<br />

▪ 5.1V 0.7A Travel Adapter (Model: STA-U34WVI)<br />

▪ 5.1V 0.7A Travel Adapter (Model: STA-U12ER)<br />

▪ Logic<br />

▪ 4 port USB Hub (Model LP4HUB10). (<strong>RPi</strong> running from USB Hub port, red<br />

power line (+5v) inside hub cut) (B)<br />

▪ LogiLink<br />

▪ 5V 2.1A Switching power supply, model PA0040 (B)<br />

▪ Logitech<br />

▪ 5V 1A <strong>SD</strong>C115-USB Remote Control Charger and cable<br />

▪ Maplin Electronics


▪ 5V 1A dual USB power supply, model number H25B-MT-K2<br />

▪ Micro USB Power Supply N19HX<br />

▪ Medion<br />

▪ 5V 1A USB power supply for OYO ebook reader<br />

▪ Microsoft<br />

▪ ▪ Zune Zune AC Adapter v2<br />

▪ Motorola<br />

▪ 5V 0.85A SPN5504 Charger with Cable (http://www.amazon.com/Motorola-<br />

Micro-USB-Home-Travel-Charger/dp/B004EYSKM8/)<br />

▪ Nokia<br />

▪ 5V 1.2A AC-10E Charger<br />

▪ 5V 1A AC-16E Charger (http://accessories.nokia.com/products/nokia-fast-usbcharger-ac-16/)<br />

▪ Noname<br />

▪ 5V 2.1A KMS-AC09 4 port USB charger (B) [43]<br />

(http://www.miniinthebox.com/kms-ac09-universal-ac-adapter-for-ipadipad-2-iphone-white_p208568.html)<br />

▪ 5.2V 1A MW-3NU10GT - no cable, but this one works well (1m): [44]<br />

(http://www.amazon.de/gp/product/B005L8VELA)<br />

▪ 5V 1A Model H-IP008 Serial No. H10T80L068<br />

▪ Novatel Wireless<br />

▪ 5V 1.05A Charger, model number SSW-1811, packaged with Verizon Wireless<br />

MiFi device<br />

▪ Orange<br />

▪ 5V 0.7A Charger for Orange San Francisco<br />

▪ Palm<br />

▪ 5V 1A Charger for Palm Pixi+ (B)<br />

▪ Pantech<br />

▪ 5.0V 1A CNR USB with LG DLC100 micro usb cable<br />

▪ Petzl<br />

▪ 5.0V 1A Charger that came with the Tikka core2 XP<br />

▪ Phihong<br />

▪ Switching Power Supply. Model: PSAC09R-050. Output: 5V, 1.8A, microUSB.<br />

Digi-key Link (http://www.digikey.com/product-detail/en/PSAC09R-050/<br />

993-1109-ND/2635771)<br />

▪ PortaPow<br />

▪ PortaPow UK Mains Wall Power Supply<br />

▪ RS Components'<br />

▪ HNP06UK (RS 7263069) Switching Adapter 5.0V 1200mA<br />

▪ Samsung<br />

▪ 5V 0.7A Charger for Galaxy S model ETA0U10EBE


▪ 5V 0.7A Charger for Galaxy SII<br />

▪ 5V 1A Charger for Galaxy SIII<br />

▪ 5V 1A Charger for Galaxy Nexus<br />

▪ 5V 0.7A Charger for Galaxy S Vibrant (SGH-T959)<br />

▪ 5V 0.7A Travel Adapter model ATADU10EBE<br />

▪ 5V 1A? Samsung C Series TV USB-port for external HDDs. Running stable with<br />

openelec<br />

▪ 5v ?A(Unknown) Samsung Service Port (USB) on LN32A330J1DXZA 720p 32<br />

inch HDTV<br />

▪ 5V Unknown Ampere Samsung UA22D5000 & UA32D5000 TV USB Port. Test<br />

with Raspbian Wheezy, Raspbmc, and RPITC<br />

▪ Shun Shing<br />

▪ 100-240VAC to 5VDC 1A USB power supply, model SP5Q-AU Jaycar<br />

(http://jaycar.co.nz/productView.asp?ID=MP3455)<br />

▪ Sony Ericsson<br />

▪ 5V 0.7A Charger CST-80<br />

▪ 5V 0.85A Greenheart Charger EP800. Typically provides 4.8V at 0.85A [5] .<br />

▪ StarTech<br />

▪ 4 Port USB 2.0 Hub Raspberry Pi can be powered just by plugging USB input<br />

into the Pi, don't need power in micro USB port.<br />

▪ Travel Charger<br />

▪ 5V 2.0A USB Power Adapter, Amazon Link (http://www.amazon.co.uk/gp/<br />

product/B0065JCIPU/)<br />

▪ Technika<br />

▪ 5V 1A USB Power Adapter, model MPASS01 (B)<br />

▪ The Pi Hut<br />

▪ Micro USB Power Supply for the Raspberry Pi. 5V 1000mA (from The Pi Hut's<br />

Raspberry Pi Store (http://thepihut.com/collections/power-supplies) ) (also from<br />

eBay (http://www.ebay.co.uk/itm/330757401271) )<br />

▪ Trisonic<br />

▪ TS-CP600T - MICRO USB HOME & TRAVEL CHARGER (5V, 800mA) $3 at<br />

Daiso U.S. stores.<br />

▪ TruePower<br />

▪ U-Socket (http://u-socket.com/) 5V 2.1A AC Receptacle with Built-in USB ports<br />

(2.1A per USB port) model ACE-7169<br />

▪ Voltcraft<br />

▪ SPS5-12W, 2500 mA, requires additional USB miniUSB adapter/cable,<br />

works perfectly (bought from Conrad Shop (http://www.conrad.de/ce/de/product/<br />

512660/VOLTCRAFT-SPS5-12W-Steckernetzteil-<br />

Steckernetzgeraet-5-VDC-2500-mA-12-Watt) )


Problem power Adapters<br />

▪ Masterplug<br />

▪ Masterplug Surge Protected USB Adaptor 2 x 1A USB Polished Black - USB<br />

ports and ethernet don't work with this adapter and some screen artefacts using<br />

HDMI.<br />

▪ Monoprice<br />

▪ 5v, 2A 3 Outlet Power Surge Protector Wall Tap w/ 2 Built-In USB Charger -<br />

some display artifacts, sometimes unable to find mouse, some failures to boot.<br />

Measured less than 4.75v between TP1 and TP2 when used with a Monoprice<br />

cable.<br />

▪ Sony Ericsson<br />

▪ 5v, 850mA EP800. Some failures to boot , ethernet loops at boot.<br />

External Battery packs (with 5V regulated output)<br />

▪ Anker Astro3<br />

▪ Anker Astro3 10000mAh with Dual 2A USB Output<br />

▪ Duracell<br />

▪ PPS2 Instant USB Charger<br />

▪ Energizer/XPAL<br />

▪ XP18000 18000mAh Power Pack<br />

▪ Generic - eBay no brand<br />

▪ 6000T Pocket Power 5000mAh - eBay item 271009959140<br />

▪ Power Bank for iPad/iPhone 5000mAh (looks the same as a New Trent IMP50D<br />

or TeckNet iEP380) - eBay item 280914455938<br />

▪ New Trent<br />

▪ iCurve IMP70D 7000mAh (Approx 12hrs from full charge)<br />

▪ IMP120D 12000mAh<br />

▪ Sinoele<br />

▪ Movpower - Power Bank 5200mAh (8hrs with Wifi active)<br />

▪ TeckNet<br />

▪ iEP387 Dual-Port 7000mAh External Power Bank (The charging lead can be<br />

used to connect the Tecknet to the <strong>RPi</strong>. Ran the <strong>RPi</strong> with wifi dongle and wireless<br />

keyboard receiver for over 9 hours of light use.)<br />

▪ iEP392 Dual-Port 12000mAh External Power Bank (1A port, ~16.5 hours)<br />

▪ Rayovac PS60 5v 800mAh<br />

▪ VINZO<br />

▪ Power Bank 5000mAh Grey Output 5V 1000mA<br />

▪ Kodak Power Pack KP1000


▪ 1A USB rechargeable battery pack - see Shea Silverman's blog<br />

(http://blog.sheasilverman.com/2012/09/its-alive/)<br />

Display adapters<br />

Note that active converter boxes may draw power through the HDMI port, and thus will<br />

put an extra load on your PSU, and also increase the current running through the PI's<br />

primary input fuse. HDMI ports (and the raspberry PI) are designed so that they deliver a<br />

very limited amount of power (50mA) to the TV/Monitor/display-adapter and much more<br />

isn't in theory allowed. In fact there is a diode (D1) in series with the power line which<br />

can only handle 200mA, if the adapter tries to draw much more than that the diode might<br />

fail. Therefore only externally powered adapters are to be recommended. Despite this,<br />

many people report success with these high powered devices.<br />

HDMI->DVI-D<br />

There are three kinds of DVI. There is DVI-D, a digital signal fully compatible with<br />

HDMI, so a passive cable can be used. There is DVI-I, which is a connector with both<br />

analog pins and digital pins. An HDMI to DVI-D adapter fits in a DVI-I female<br />

connector. Finally, there is DVI-A. This a fairly rare connection, but occasionally it will<br />

be found on some monitors and is an analog interface, in fact the same as VGA!<br />

Some adapters like Farnell part AK-CBHD03-BK are HDMI to DVI-I, which, while not<br />

fitting in a DVI-D monitor, are still compatible. The analog pins simply must be bent.<br />

The HDMI to DVI-D cable provided by Apple with the 2010 Mac Mini worked. It does<br />

not appear this adapter can be purchased separately.<br />

▪ The Pi Hut<br />

▪ HDMI to DVI Cable for the Raspberry Pi (from The Pi Hut's Raspberry Pi Store<br />

(http://thepihut.com/collections/video-output/products/hdmi-to-dvi-cable-for-theraspberry-pi)<br />

)<br />

▪ Other Variants<br />

▪ AmazonBasics HDMI to DVI Adapter Cable (model SK231) works and is<br />

inexpensive.<br />

▪ A generic HDMI-to-DVI converter from eBay (http://www.ebay.com/itm/DVI-<br />

Female-to-HDMI-Male-Adapter-Converter-Adaptor-Gold-for-HDTV-Full-HD-<br />

/320946033059?pt=US_Video_Cables_Adapters&hash=item4ab9dfd1a3) .<br />

Works well, but it's probably the cause of some power loss between the <strong>RPi</strong> and<br />

the monitor, causing this (http://elinux.<strong>org</strong>/R-<br />

Pi_Troubleshooting#Interference_visible_on_a_HDMI_or_DVI_monitor)<br />

problem. A setting of config_hdmi_boost=5 in /etc/boot solved this. Note that<br />

config_hdmi_boost=4, as suggested in the troubleshooting guide, helped but did<br />

not solve the problem completely.


HDMI->VGA converter boxes<br />

Most will require use <strong>RPi</strong>_config.txt. Start off with hdmi_safe=1.<br />

Sanoxy HDMI to VGA converter (http://www.element14.com/community/groups/<br />

raspberry-pi/blog/2012/08/16/raspberry-pi-hdmi-to-vga-converter) , $27 from Amazon,<br />

no changes required with official Raspbian Wheezy image (2012-Jul-15), note: had<br />

already disabled overscan previously<br />

http://www.amazon.co.uk/gp/product/B007KEIRNG -- "Neewer" HDMI to VGA -- some<br />

issues discussed below: However, according to user "Tom1989" the same Neewer HDMI<br />

to VGA adapter burned out BAT54 Schottky diode D1 on the RasPi and broke its HDMI<br />

output: Serious HDMI Problems. What's that smell? Burning Raspberry!<br />

(http://www.raspberrypi.<strong>org</strong>/phpBB3/viewtopic.php?f=28&t=9819) . On that thread,<br />

"mahjongg" suggested the NXP (or equivalent) PMEG2010AET as a high-current<br />

replacement for D1. The PMEG2010AET has 1A max forward current, much greater<br />

than the BAT54's 200 mA limit which may be exceeded by your HDMI -> VGA<br />

converter. Remember that the converter's current must come from your RasPi power<br />

supply and go through the Micro USB cable and polyfuse F3, so you may get extra<br />

voltage drops and/or cause F3 to trip depending on how much current the converter uses.<br />

As always with board modifications, YMMV. Also on the "Burning Raspberry!" thread,<br />

user "pwinwood" reported the Neewer's current to be 400 mA, which is twice the limit of<br />

BAT54 diode D1. "pwinwood" also took the Neewer apart and added its own +5V<br />

connection adapted from a USB cable, which bypasses RasPi's Micro USB cable and<br />

polyfuse F3.<br />

▪ Link to a gallery with detailed images & steps of the same adapter modification:<br />

HERE (http://imgur.com/a/sLogs/all) --by Pinoccio<br />

http://www.amazon.co.uk/KanaaN-Adapter-Converter-Cable-Resolutions/dp/<br />

B007QT0NNW -- "Kanaan" HDMI-VGA<br />

http://www.ebay.com/itm/ws/eBayISAPI.dll?ViewItem&item=130699741793 -- eBay is<br />

swarming with $16 converters all like this one.<br />

This adapter -- http://www.ebay.co.uk/itm/300692770623 -- works from 640x480 up to<br />

1920x1080, audio over HDMI works too. Sadly the IC's on the PCB have all been<br />

scrubbed. Requires HDMI boost and overscan, config.txt settings for 640x480@60Hz:<br />

hdmi_drive=2<br />

hdmi_group=2<br />

hdmi_mode=4<br />

config_hdmi_boost=4<br />

overscan_top=-30


overscan_bottom=-30<br />

overscan_left=-30<br />

overscan_right=-30<br />

According to user "Mortimer" -- HDFuryPro HDMI to YPbBr/VGA Converter found on<br />

Amazon -- http://www.amazon.co.uk/Inputs-Component-Video-YPbPr-Converter/dp/<br />

B00797ZZ4S/ -- Works with Raspberry Pi. Tested against a Philips 170B 1280x1024<br />

LCD monitor, producing a full native resolution image. Not tested against a Component<br />

Video TV yet, and audio has yet to be got working. The config.txt settings used are:<br />

hdmi_drive=2<br />

hdmi_group=2<br />

hdmi_mode=36<br />

disable_overscan=1<br />

According to user "Mortimer" -- HDFury1 1080p HDMI to VGA Converter from<br />

HDFury.com. I'm not sure the HDFury1 can be got a hold of easily nowadays, I happened<br />

to have access to one to try out. HDFury2, 3 and 4 are available as far as I can tell, but are<br />

very pricey compared to alternatives. HDFury1 was around £80 when we bought one for<br />

a project at work. HDFury2 seems to be around £130, 3 and 4 are getting on towards<br />

£200 or more. So not to be recommended as a solution unless you happen to have one<br />

lying around. I don't believe there is any relationship between the company that produces<br />

these and the HDFuryPro I bought for myself (See above). I didn't alter any config<br />

settings, just plugged it in. It doesn't work without having its external power supply<br />

connected, as it requires 0.4A, which is too much draw for the 5V supply available from<br />

the HDMI socket on the Raspberry Pi. Its power LED lights, but no picture is produced.<br />

In comparison to the HDFuryPro this picture from this device is sharper, but not enough<br />

to justify the extra cost. The config.txt settings used are:<br />

hdmi_drive=2<br />

hdmi_group=2<br />

hdmi_mode=36<br />

disable_overscan=1<br />

http://www.amazon.co.uk/gp/product/B007SM7O2U/ref=oh_details_o02_s00_i00 -<br />

"Cable Matters"<br />

Here It is another option: http://www.dealextreme.com/p/hdmi-v1-4-male-to-vga-femaleconverter-adapter-cable-white-15cm-130458,<br />

is cheap (it's free shipping from china) and<br />

works perfectly, I tested it with an Acer VGA monitor (AL1511), without no change in<br />

my XBMC distribution. The config.txt for Raspbian (Flatron VGA monitor 1024 * 768):<br />

hdmi_drive=2<br />

hdmi_group=2<br />

hdmi_mode=16<br />

hdmi_force_hotplug=1<br />

disable_overscan=0


And another one: http://cgi.ebay.pl/ws/eBayISAPI.dll?ViewItem&item=251086464644.<br />

Very cheap but works perfectly. No config.txt changes was needed at all. I've booted<br />

Raspbian and OpenELEC. Monitor is detected correctly and the optimal resolution is set<br />

(Raspbian) or you can change the res in the menu (OpenELEC). The /opt/vc/bin/tvservice<br />

is able to read monitor edid data. I tested the adapter using NEC 72VM 15" LCD.<br />

(1280x1024 60Hz, 1024x768 60Hz, 640x480 works) The adapter is based on Lontium<br />

LT8511A chip, but I was unable to get the spec for it. The D1 diode is getting very hot<br />

though. Most likely the adapter drives more than 200mA. The standard RS Components<br />

1,2A usb power supply is able to provide enough power for the <strong>RPi</strong> and the adapter. I'll<br />

try to modify the adapter to connect external power to bypass D1. Marcin.<br />

DVI-D -> VGA active adapters<br />

None are currently listed<br />

Composite->SCART<br />

SCART adapters (SCART plugs with three RCA connectors in the back), will probably<br />

work when used with the yellow RCA plug connected to the R-PI's RCA video output.<br />

Additionally using a splitter cable (3.5mm jack plug on one end, and red-white RCA<br />

plugs on the other end) will probably work when plugged into the red and white (left and<br />

right audio channels) of the SCART adapter.<br />

▪ Generic - works<br />

Composite->VGA converter boxes<br />

▪ Extron DVS-204 (http://www.extron.com/product/product.aspx?id=dvs204%7C) -<br />

works no problem!<br />

<strong>SD</strong> cards<br />

The <strong>SD</strong> card is a key part of the Raspberry Pi; it provides the initial storage for the<br />

Operating System and files. Storage can be extended through many types of USB<br />

connected peripherals.<br />

When the Raspberry Pi is 'switched on', i.e. connected to a power supply, a special piece<br />

of code called the bootloader is executed, which reads more special code from the <strong>SD</strong><br />

<strong>Card</strong> that is used to start up the Raspberry Pi. If there is no <strong>SD</strong> <strong>Card</strong> inserted, it will not<br />

start. Do NOT push in or pull out an <strong>SD</strong> <strong>Card</strong> while the Raspberry Pi is connected to the<br />

power, as this is likely to corrupt the <strong>SD</strong> <strong>Card</strong> data (you might get away with it, but it is<br />

best not to).


The <strong>SD</strong> <strong>Card</strong> must be formatted, or written to, in a special way that means the Raspberry<br />

Pi can read the data it needs to start properly. If you are new to this check the instructions,<br />

or buy a pre-formatted <strong>SD</strong> <strong>Card</strong>.<br />

One advantage to using an <strong>SD</strong> <strong>Card</strong> like this is that you can have several <strong>SD</strong> <strong>Card</strong>s, each<br />

with a different operating system, or a different purpose. Simply power off, switch cards,<br />

and reconnect the power. You have a different computer to play with.<br />

Which <strong>SD</strong> <strong>Card</strong>?<br />

<strong>SD</strong> <strong>Card</strong>s come in three physical sizes (see picture). The<br />

Raspberry Pi needs the largest one. The mini<strong>SD</strong> <strong>Card</strong> and<br />

the Micr<strong>SD</strong> <strong>Card</strong> can be used in a Raspberry Pi, but you<br />

will need an adaptor / holder to fit it.<br />

<strong>SD</strong> <strong>Card</strong>s come in a range of storage sizes. You need one<br />

of type <strong>SD</strong>HC, but there are other types of <strong>SD</strong>SC, <strong>SD</strong>XC<br />

and <strong>SD</strong>IO which will not work in a Raspberry Pi<br />

(confirmation needed). The <strong>SD</strong>HC type comes in memory<br />

sizes of up to 32GB.<br />

There are other properties of <strong>SD</strong> <strong>Card</strong>s that are not<br />

covered here. Read the Wikipedia article<br />

(http://en.wikipedia.<strong>org</strong>/wiki/Secure_Digital) for those<br />

details.<br />

Other <strong>SD</strong> <strong>Card</strong> content<br />

See the following links for other information:<br />

▪ Select a Distribution<br />

▪ <strong>Easy</strong> <strong>SD</strong> <strong>Card</strong> set up<br />

▪ Advanced set up<br />

▪ Troubleshooting<br />

▪ <strong>SD</strong> <strong>Card</strong> Performance<br />

Technical Information<br />

Note that manufacturers change their designs over time, even as the specs stay the same.<br />

(E.g. an ACME 8 GB class 4 card manufactured in 2011 might work, while one<br />

manufactured in 2012 might not.) For this reason, please specify product numbers in the<br />

lists below, when possible.<br />

You can also attach the following fields from your card's CID :


cd /sys/class/mmc_host/mmc?/mmc?:*<br />

echo "man:$(cat manfid) oem:$(cat oemid) name:$(cat name) hwrev:$(cat hwrev) fwrev:$(cat fwrev)"<br />

please merge with http://elinux.<strong>org</strong>/<strong>RPi</strong>_Performance#<strong>SD</strong>_card<br />

Preinstalled <strong>SD</strong> <strong>Card</strong>s<br />

Sandisk <strong>SD</strong> <strong>Card</strong>s Preinstalled with the latest Raspbian operating system are available<br />

from The Pi Hut's Raspberry Pi Store (http://thepihut.com) .<br />

▪ SanDisk<br />

▪ 4GB <strong>SD</strong>HC Class 4 - Preinstalled with Raspbian Wheezy Linux.<br />

(http://thepihut.com/products/4gb-sandisk-sd-sdhc-card-with-raspbian-wheezylinux-preinstalled)<br />

▪ 8GB <strong>SD</strong>HC Class 4 - Preinstalled with Raspbian Wheezy Linux.<br />

(http://thepihut.com/products/8gb-sandisk-sd-sdhc-card-with-raspbian-wheezylinux-preinstalled)<br />

▪ 16GB <strong>SD</strong>HC Class 4 - Preinstalled with Raspbian Wheezy Linux.<br />

(http://thepihut.com/products/16gb-sandisk-sd-sdhc-card-with-raspbian-wheezylinux-preinstalled)<br />

▪ 32GB <strong>SD</strong>HC Class 4 - Preinstalled with Raspbian Wheezy Linux.<br />

(http://thepihut.com/products/32gb-sandisk-sd-sdhc-card-with-raspbian-wheezylinux-preinstalled)<br />

Kingston and other verified <strong>SD</strong> <strong>Card</strong>s Preinstalled with the latest Raspbian operating<br />

system are available from many other websites Amazon UK (http://www.amazon.co.uk)<br />

and eBay UK (http://www.ebay.co.uk/) .<br />

Working <strong>SD</strong> <strong>Card</strong>s<br />

▪ 7DAYSHOP.COM<br />

▪ 8GB Professional <strong>SD</strong>HC Class 10 (man:0x000027 oem:0x5048 name:<strong>SD</strong>08G<br />

hwrev:0x3 fwrev:0x0)<br />

▪ Adata<br />

▪ 2GB <strong>SD</strong> Class 2 Speedy (8B0947 printed on back) This card works with every<br />

distro I tried. May be old, may not be the fastest, but is very stable.<br />

▪ 4GB <strong>SD</strong>HC Class 4 (BH1109416141G)<br />

▪ 8GB <strong>SD</strong>HC Class 2 (MMB3F08GWMCA-GE)<br />

▪ 8GB <strong>SD</strong>HC Class 4 (Micro<strong>SD</strong> w/ adapter)<br />

▪ 8GB <strong>SD</strong>HC Class 6 (MMAGR08GUDCA-DB)<br />

▪ 8GB <strong>SD</strong>HC Class 10 (AU<strong>SD</strong>H8GCL10-R)<br />

▪ 8GB <strong>SD</strong>HC Class 10 (A<strong>SD</strong>H8GCL10-R) Tested on 2012-06-18-wheezy-beta.zip<br />

▪ 8GB <strong>SD</strong>HC Class 10 (P-<strong>SD</strong>H8G10-EC from BJ's USA tested on Raspbian)


▪ 16GB <strong>SD</strong>HC Class 6<br />

▪ 16GB <strong>SD</strong>HC Class 10 (16G<strong>SD</strong>HC10)<br />

▪ 16GB <strong>SD</strong>HC Class 10 (micro<strong>SD</strong> w/ adapter AU<strong>SD</strong>H16GCL10-RA1)<br />

▪ 32GB <strong>SD</strong>HC Class 10 (A<strong>SD</strong>H32GCL10-R) Tested on wheezy-beta with latest<br />

kernel and firmware and raspbian wheezy<br />

▪ AmazonBasics<br />

▪ 8GB <strong>SD</strong>HC Class 10 B0058GH0LS (http://www.amazon.com/AmazonBasics-<br />

<strong>SD</strong>HC-Class-Secure-Digital/dp/B0058GH0LS)<br />

▪ 16GB <strong>SD</strong>HC Class 10 B0058GH1IK (http://www.amazon.com/AmazonBasics-<br />

<strong>SD</strong>HC-Class-Secure-Digital/dp/B0058GH1IK)<br />

▪ 32GB <strong>SD</strong>HC Class 10<br />

▪ Apacer<br />

▪ 8GB micro<strong>SD</strong>HC Class 10 (with adapter)<br />

▪ 8GB <strong>SD</strong>HC Class 6<br />

▪ Centon<br />

▪ 16GB <strong>SD</strong>HC Class 4 (1447 printed on back)<br />

▪ CnMemory<br />

▪ 8GB <strong>SD</strong>HC Class 4 (Silver/Black label says 'High Capacity <strong>Card</strong>')<br />

84209_8GB_<strong>SD</strong>HC, bought from Maplins. No error messages seen, but<br />

operation is much slower than with a SanDisk 4GB Class 4 card.<br />

▪ Dane-Elec<br />

▪ 16GB <strong>SD</strong>HC Class 4<br />

▪ 16GB Pro 200X Class 10 DEMS16GB2683ENBA<br />

▪ Dikom<br />

▪ 16GB <strong>SD</strong>HC Class 10 (serial 207H3MD016IB<strong>SD</strong>)<br />

▪ Duracell<br />

▪ 4GB <strong>SD</strong>HC Class 4<br />

▪ 16GB <strong>SD</strong>HC Class 10 (labelled Pro Photo 200x)<br />

▪ 32GB <strong>SD</strong>HC Class 10 (man:0x00001d oem:0x4144 name:<strong>SD</strong> hwrev:0x1<br />

fwrev:0x0) (~4.6MB/s read, ~4.4MB/s write on debian6-19-04-2012, following<br />

<strong>RPi</strong>_Performance#<strong>SD</strong>_card)<br />

▪ Emtec<br />

▪ 2GB <strong>SD</strong> man:0x000027 oem:0x5048 name:<strong>SD</strong>02G hwrev:0x2 fwrev:0x0<br />

▪ 4GB <strong>SD</strong>HC Class 4 (EKM<strong>SD</strong>4G60XHCN)<br />

▪ 16GB <strong>SD</strong>HC Class 10 (EKM<strong>SD</strong>16G150XHC) (less than half as fast as Sandisk<br />

16gb Class 10)<br />

▪ Extrememory<br />

▪ 16GB <strong>SD</strong>HC Class 10 (man:0x000012 oem:0x3456 name:F0F0F hwrev:0x1<br />

fwrev:0x0)


▪ 32GB <strong>SD</strong>HC Class 10 (man:0x000003 oem:0x5344 name:SMI hwrev:0x1<br />

fwrev:0x0)<br />

▪ Eye-Fi<br />

▪ Fugi<br />

▪ 4GB WiFi <strong>SD</strong>HC (Wi-Fi doesn't work)<br />

▪ 32GB <strong>SD</strong>HC Class 10 (P10NM00580A) (man:0x000073 oem:0x4247<br />

name:N<strong>Card</strong> hwrev:0x1 fwrev:0x0)<br />

▪ Hama<br />

▪ 2GB <strong>SD</strong> Class 2<br />

▪ 8GB <strong>SD</strong>HC High Speed Pro Class 6<br />

▪ Hema (Dutch dept. store)<br />

▪ 4GB<br />

▪ 8GB <strong>SD</strong>HC Class 4<br />

▪ Goodram<br />

▪ HP<br />

▪ 8GB micro<strong>SD</strong>HC Class 4<br />

▪ 16GB micro<strong>SD</strong>HC Class 4 (<strong>SD</strong>U16GHCAGRR10)<br />

▪ 16GB <strong>SD</strong>HC Class 10<br />

▪ 8GB <strong>SD</strong>HC Class 4 (doesn't reboot during first time startup process, but restart<br />

again and fine after that).<br />

▪ 32GB <strong>SD</strong>HC Class 10 (http://www.amazon.com/HP-CG790A-AZ-Flash-<br />

Memory-Class/dp/B007X7U224)<br />

▪ ICIDU<br />

▪ 4GB <strong>SD</strong>HC Class 10 (also had no issues)<br />

▪ 16GB <strong>SD</strong>HC Class 10 (image write had issues, might be my inexperience. It<br />

boots & shows Xserver)<br />

▪ 32GB <strong>SD</strong>HC Class 10 (had no issues whatsoever, the comment above might be a<br />

dud.)<br />

▪ 8GB micro<strong>SD</strong>HC Class 10<br />

▪ 16GB micro<strong>SD</strong>HC Class 10 (20MB/sec)<br />

▪ 32GB micro<strong>SD</strong>HC Class 10 (20MB/sec)<br />

▪ Integral<br />

▪ 4GB <strong>SD</strong>HC Ultima Pro Class 10<br />

▪ 4GB <strong>SD</strong>HC Class 4 <strong>SD</strong>-K04G (Purple label). Also type <strong>SD</strong>-MO4G.<br />

▪ 8GB <strong>SD</strong>HC Ultima Pro Class 6 (Works - initial error -110 but boots within 5<br />

seconds with no further errors or issues)<br />

▪ 8GB <strong>SD</strong>HC Ultima Pro Class 10 (20MB/s) (Works - initial error -110 but boots<br />

within 5 seconds with no further errors or issues)<br />

▪ 16GB <strong>SD</strong>HC Ultima Pro Class 6<br />

▪ 16GB <strong>SD</strong>HC Class 10 Ultima Pro (20MB/s) (http://www.amazon.co.uk/gp/<br />

product/B0047T6XME)


▪ 32GB <strong>SD</strong>HC Ultima Pro Class 10 (20MB/s) - Slow to initially boot past the<br />

Rainbow Screen.<br />

▪ Joyflash<br />

▪ 16GB <strong>SD</strong>HC Class 10 (LT<strong>SD</strong>1112016GB)<br />

▪ Kingmax<br />

▪ 4GB <strong>SD</strong>HC Class 2<br />

▪ 4GB micro<strong>SD</strong>HC Class 4 (KM04GMC<strong>SD</strong>HC4) won`t reboot when it`s hot<br />

▪ 8GB micro<strong>SD</strong>HC Class 4 (KM08GMC<strong>SD</strong>HC41A) won`t reboot when it`s hot<br />

▪ Kingston<br />

▪ 2GB <strong>SD</strong><br />

▪ 2GB micro<strong>SD</strong> (N0185-002.A00LF) + Adapter (File system .img written via<br />

Transcend micro<strong>SD</strong>HC "USB stick-like" adapter - P3-102510)<br />

▪ 4GB micro<strong>SD</strong> Class 4<br />

▪ 4GB <strong>SD</strong>HC Class 4 (<strong>SD</strong>4/4GB) (Writes at 4.8MB/s, Reads at 9MB/s)<br />

▪ 4GB <strong>SD</strong>HC Class 10 (<strong>SD</strong>10V/4GB)<br />

▪ 8GB <strong>SD</strong>HC Class 4 (http://img341.imageshack.us/img341/1619/dsc0253y.jpg)<br />

(<strong>SD</strong>4/8GB (http://img833.imageshack.us/img833/2028/dsc0254br.jpg) ) (Works<br />

reliably with Raspbian 18-9-2012 and previous Debian releases) (Writes at<br />

4.8MB/s, Reads at 9MB/s)<br />

▪ 8GB micro<strong>SD</strong>HC Class 4 (http://img600.imageshack.us/img600/3849/<br />

dsc0251et.jpg) (<strong>SD</strong>C4/8GB (http://img707.imageshack.us/img707/363/<br />

dsc0252ld.jpg) )<br />

▪ 8GB <strong>SD</strong>HC Class 6 (<strong>SD</strong>6/8GB) (errors on boot, boots Debian ok)<br />

▪ 8GB <strong>SD</strong>HC Class 10 (<strong>SD</strong>10G2/8GB, <strong>SD</strong>10V/8GB, ultimateX 100X, ultimateX<br />

120X)<br />

▪ 16GB <strong>SD</strong>HC Class 4 (<strong>SD</strong>4/16GB)<br />

▪ 16GB micro<strong>SD</strong>HC Class 10 (<strong>SD</strong>C10/16GB)<br />

▪ 16GB <strong>SD</strong>HC Class 10 (<strong>SD</strong>10G2/16GB, ultimateX 100X)<br />

▪ 16GB <strong>SD</strong>HC Class 10 (<strong>SD</strong>4/16GBET)<br />

▪ 32GB <strong>SD</strong>HC Class 10 (<strong>SD</strong>10V)<br />

▪ 32GB <strong>SD</strong>HC Class 10 (<strong>SD</strong>10G2/32GB, ultimateX 100X)<br />

▪ 64GB <strong>SD</strong>XC Class 10 (<strong>SD</strong>X10V/64GB)<br />

▪ Kodak<br />

▪ 4GB <strong>SD</strong>HC Class 2<br />

▪ 8GB <strong>SD</strong>HC Class 4<br />

▪ Kruidvat<br />

▪ 8GB <strong>SD</strong>HC Class 4<br />

▪ 8GB <strong>SD</strong>HC Class 10 (actually cheaper then the class 4 in my store)<br />

▪ Lexar<br />

▪ 4GB <strong>SD</strong>HC Class 4 (Boots consistently and no error messages in log after 1/2<br />

hour use ) (works with Raspbmc)


▪ 4GB <strong>SD</strong>HC Class 6 Platinum II (from Microcenter (http://www.microcenter.com/<br />

single_product_results.phtml?product_id=0350735) )<br />

▪ 8GB <strong>SD</strong>HC Class 4<br />

▪ 8GB <strong>SD</strong>HC Class 6 Premium Series<br />

▪ 8GB <strong>SD</strong>HC Class 6 Platinum II<br />

▪ 16GB <strong>SD</strong>HC Class 6 Platinum II<br />

▪ 32GB micro<strong>SD</strong>HC HIGH-SPEED Class 10 (from Amazon<br />

(http://www.amazon.co.uk/Lexar-32GB-Micro-Speed-Reader/dp/<br />

B004BR2ZTM) )<br />

▪ 128GB <strong>SD</strong>XC UHS-I <strong>Card</strong> L<strong>SD</strong>128CTBNA400 (from Amazon<br />

(http://www.amazon.com/gp/product/B007BZRXK2) )<br />

▪ Master<br />

▪ 16GB <strong>SD</strong>HC Class 10 [man:0x000003 oem:0x5344 name:SMI hwrev:0x1<br />

fwrev:0x0]<br />

▪ Medion<br />

▪ 8GB Class 4 <strong>SD</strong>HC UK sourced (Aldi)<br />

▪ Microcenter Brand (sold in bins at checkout)<br />

▪ 8GB <strong>SD</strong>HC Class 4 (http://www.microcenter.com/<br />

single_product_results.phtml?product_id=0289508)<br />

▪ 8GB <strong>SD</strong>HC Class 10 (http://www.microcenter.com/<br />

single_product_results.phtml?product_id=0349728)<br />

▪ 16GB <strong>SD</strong>HC Class 10 (http://www.microcenter.com/<br />

single_product_results.phtml?product_id=0349729)<br />

▪ Mushkin<br />

▪ 16GB <strong>SD</strong>HC Class 10 (MKN<strong>SD</strong>HCU1-16GB) [45] (http://www.newegg.com/<br />

Product/Product.aspx?Item=N82E16820226324)<br />

▪ 32GB <strong>SD</strong>HC Class 10 (MKN<strong>SD</strong>HCC10-32GB) [46] (http://www.newegg.com/<br />

Product/Product.aspx?Item=N82E16820226235)<br />

▪ Mustang<br />

▪ 8GB <strong>SD</strong>HC Class 10 (http://www.mustang-flash.de/Products/Flash%20Products/<br />

Secure%20Digital/<strong>SD</strong>-<strong>Card</strong>/<br />

8GB%20Mustang%20<strong>SD</strong>HC%20<strong>Card</strong>%20LeMans%2C%20Class%2010%2C%20Retail%7C<strong>SD</strong>8GH<br />

R.html)<br />

▪ MyMemory<br />

▪ 8GB <strong>SD</strong>HC Class 10 (MYME<strong>SD</strong>H8G10) MyMemory 8GB class 10<br />

(http://www.mymemory.co.uk/<strong>SD</strong>HC/MyMemory/MyMemory-8GB-<strong>SD</strong>-<strong>Card</strong>-<br />

%28<strong>SD</strong>HC%29---Class-10) (Latest batch not working)<br />

▪ 16GB <strong>SD</strong>HC Class 10 (MYME<strong>SD</strong>H16G10) [47] (http://www.mymemory.co.uk/<br />

<strong>SD</strong>HC/MyMemory/MyMemory-16GB-<strong>SD</strong>-<strong>Card</strong>-(<strong>SD</strong>HC)---Class-10)<br />

▪ 32GB <strong>SD</strong>HC Class 10 [48] (http://www.mymemory.co.uk/<strong>SD</strong>HC/MyMemory/<br />

MyMemory-32GB-<strong>SD</strong>-<strong>Card</strong>-%28<strong>SD</strong>HC%29---Class-10)<br />

▪ NovaTech


▪ 8GB <strong>SD</strong>HC Class 10 (Integral Branded)<br />

▪ OCZ<br />

▪ 8GB <strong>SD</strong>HC Class 6 Gold Series (08110596-8GB-6) tested with Debian Squeeze<br />

(official Raspberry Pi distribution debian6-19-04-2012.zip)<br />

▪ Optima<br />

▪ 8GB <strong>SD</strong>HC Class 10 (Pro-Speed)<br />

▪ 8GB <strong>SD</strong>HC Class 4 - working from 2012-09-18<br />

▪ Panasonic<br />

▪ 4GB <strong>SD</strong>HC Class 4<br />

▪ 4GB <strong>SD</strong>HC Class 10 UHS-I (~11.2MB/s read, ~6.2MB/s write, following<br />

<strong>RPi</strong>_Performance#<strong>SD</strong>_card)<br />

▪ 8GB <strong>SD</strong>HC Class 2 (~11.1MB/s read, ~9.7MB/s write, following<br />

<strong>RPi</strong>_Performance#<strong>SD</strong>_card)<br />

▪ 8GB <strong>SD</strong>HC Class 6 (~4.8MB/s read, ~4.4MB/s write, following<br />

<strong>RPi</strong>_Performance#<strong>SD</strong>_card)<br />

▪ Patriot<br />

▪ 8GB <strong>SD</strong>HC Class 6 (PSF8G<strong>SD</strong>HC10-PC)<br />

▪ 8GB <strong>SD</strong>HC Class 10 LX Series (PSF8G<strong>SD</strong>HC10-PC1)<br />

▪ 16GB <strong>SD</strong>HC Class 10 (PSF16GMC<strong>SD</strong>HC10)<br />

▪ 16GB <strong>SD</strong>HC Class 10 LX Series (PSF16G<strong>SD</strong>HC10) (19.3MB/s read, 9.3MB/s<br />

write)<br />

▪ 16GB micro<strong>SD</strong>HC Class 10 (PSF16GMSHC10) (requires recent kernel update<br />

for boot)<br />

▪ 32GB <strong>SD</strong>HC Class 10 (PSF32G<strong>SD</strong>HC10)<br />

▪ 32GB <strong>SD</strong>HC Class 10 UHS-1 (PEF32G<strong>SD</strong>HC10U1) (20.4MB/s read, 12.1MB/s<br />

write)<br />

▪ Peak<br />

▪ 4GB micro<strong>SD</strong>HC Class 4 (MMBTR04GUBCA-ME) tested with Arch<br />

▪ Philips<br />

▪ 8GB <strong>SD</strong>HC Class 4 (FM08<strong>SD</strong>35B)<br />

▪ Platinum<br />

▪ 4GB <strong>SD</strong>HC Class 6<br />

▪ 8GB <strong>SD</strong>HC Class 6 (man:0x00006f oem:0x0000 name:SMI hwrev:0x1<br />

fwrev:0x0)<br />

▪ 64GB <strong>SD</strong>CX Class 10<br />

▪ Play.com<br />

▪ PNY<br />

▪ 4GB <strong>SD</strong>HC Class 6 (S4E3CD04GEFAA 0907090121106)<br />

▪ 4GB <strong>SD</strong>HC Class 4<br />

▪ 4GB <strong>SD</strong>HC Class 4 Optima (<strong>SD</strong>-K04G 0834TT1297Y)


▪ pqi<br />

▪ 4GB <strong>SD</strong>HC Class 4. Micro <strong>SD</strong> <strong>Card</strong> with adapter.<br />

▪ 8GB <strong>SD</strong>HC Class 6<br />

▪ 8GB <strong>SD</strong>HC Class 10. Micro <strong>SD</strong> card with adapter.<br />

▪ 16GB <strong>SD</strong>HC Class 4<br />

▪ 16GB <strong>SD</strong>HC Class 10 (P-<strong>SD</strong>HC16G10-GE)<br />

▪ See the note for P-<strong>SD</strong>HC16G10-EF. Works with Wheezy, does not work with<br />

Squeeze, Arch, or Fedora Remix.<br />

▪ 16GB <strong>SD</strong>HC Class 10 (P-<strong>SD</strong>HC16G10-EF)<br />

▪ Works with Debian Wheezy (http://www.raspberrypi.<strong>org</strong>/archives/1435)<br />

▪ Does not work with Debian Squeeze (debian6-19-04-2012: mmc0: timeout<br />

waiting for hardware interrupt).<br />

▪ Does not work with Arch Linux Arm (archlinuxarm-29-04-2012: no video is<br />

displayed, solid red power light, tiny green light)<br />

▪ 16GB <strong>SD</strong>HC Class 10 Pro-Elite (P-<strong>SD</strong>H16U1-30-GE). Works with raspbmc,<br />

haven't tested others.<br />

▪ 8GB <strong>SD</strong>HC Class 6<br />

▪ PRETEC<br />

▪ Works with official debian6-19-04-2012<br />

▪ 8GB <strong>SD</strong>HC Class 10 (8DK52-122ME)<br />

▪ Samsung<br />

▪ 4GB <strong>SD</strong>HC<br />

▪ 8GB <strong>SD</strong>HC Class 6 (MB-SS8GAEU)<br />

▪ 8GB <strong>SD</strong>HC Class 10 (MB-MP8GA, MB-SP8GA/EU, MB-SP8GA/AM)<br />

▪ 16GB <strong>SD</strong>HC Class 6 (MB-SSAGAEU)<br />

▪ 16GB <strong>SD</strong>HC Class 10 (MB-SPAGA aka MB-SPAGAEU)<br />

▪ 32GB <strong>SD</strong>HC Class 10 (MB-SSBGA, MBSSBGVEOBGA-SH) fine with Debian<br />

Wheezy (http://www.raspberrypi.<strong>org</strong>/phpBB3/viewtopic.php?f=50&t=8071) , but<br />

does not work with Debian Squeeze (debian6-19-04-2012: mmc0: timeout<br />

waiting for hardware interrupt).<br />

▪ SanDisk<br />

▪ 2GB <strong>SD</strong>, white "SanDisk for Wii" branded, no class mentioned<br />

▪ 2GB <strong>SD</strong> (with a circle 2 --probably class 2), writes at 3.5 Mb/s<br />

▪ 2GB <strong>SD</strong> Class 2 (BE0816113150D)<br />

▪ 2GB <strong>SD</strong> Class 4 Ultra (15MB/s)<br />

▪ 2GB <strong>SD</strong> Class 4 Ultra II<br />

▪ 2GB <strong>SD</strong> Ultra II (BE0719111366D)<br />

▪ 2GB <strong>SD</strong> Extreme III (BE0715105083B)<br />

▪ 2GB <strong>SD</strong> Extreme III (BE0804212046D) - 20MB/s - Class 6<br />

▪ 4GB <strong>SD</strong>HC Class 2 (BH0820113475D) - Tested with RPITC (Based on Raspbian<br />

Wheezy)<br />

▪ 4GB <strong>SD</strong>HC Class 4 (<strong>SD</strong><strong>SD</strong>B-004G-B35)


▪ 4GB <strong>SD</strong>HC Class 4 (<strong>SD</strong><strong>SD</strong>B-004G-BT35). Confirmed working with stock<br />

debian6-19-04-2012.img<br />

▪ 4GB <strong>SD</strong>HC Class 4 (BH1210821913G)<br />

▪ 4GB <strong>SD</strong>HC Class 4 (<strong>SD</strong><strong>SD</strong>H2-004G-AC11, BH1127216239D) Costco 2-pack,<br />

booting Wheezy 2012-07-15<br />

▪ 4GB <strong>SD</strong>HC Class 4 Ultra (<strong>SD</strong><strong>SD</strong>H-004G-U46) won`t reboot when it`s hot<br />

▪ 4GB <strong>SD</strong>HC Class 4 Ultra II<br />

▪ 4GB <strong>SD</strong>HC Class 6 Extreme III labelled as 30MB/s works with (B)<br />

2012-10-28-wheezy-raspbian<br />

▪ 4GB <strong>SD</strong>HC Class 6 Ultra 30MB/s BH1200421822D)<br />

▪ 4GB <strong>SD</strong>HC Class 6 Ultra (<strong>SD</strong><strong>SD</strong>H-004G-U46 - BH1136121837G,<br />

BH1130521822D)<br />

▪ 4GB <strong>SD</strong>HC Class 10 Extreme (BH10297143382G)<br />

▪ 8GB <strong>SD</strong>HC Class 4 (writes at ~1.5MB/s)<br />

▪ 8GB <strong>SD</strong>HC Class 4 Ultra labelled as 15MB/s (BI1024716014G)<br />

▪ 8GB <strong>SD</strong>HC Class 6 Ultra<br />

▪ 8GB <strong>SD</strong>HC Class 6 micro - MMAGR08GUDCA-DB<br />

▪ also <strong>SD</strong><strong>SD</strong>H-008G-U46 - BI1131222083D see update from andrew.blake<br />

(http://www.raspberrypi.<strong>org</strong>/phpBB3/viewtopic.php?p=88625#p88625)<br />

▪ except <strong>SD</strong>SRH-008G-A11 could be problematic, see below<br />

▪ 8GB <strong>SD</strong>HC Class 6 Ultra labelled as 20MB/s (BI11321422083D)<br />

▪ 8GB <strong>SD</strong>HC-I Class 6 Ultra labelled as 30MB/s (<strong>SD</strong><strong>SD</strong>H2-008G-AC11)<br />

▪ requires updated Squeeze or Wheezy beta<br />

▪ 8GB <strong>SD</strong>HC Class 10 Extreme (BI11017514367G)<br />

▪ 8GB <strong>SD</strong>HC Class 10 Extreme (B11209116254G) - Managed to get it working<br />

with raspbian R3 rpi_pisces_r3.zip (http://archive.raspbian.<strong>org</strong>/images/<br />

rpi_pisces_r3.zip) however does not work with official squeeze nor Arch linux.<br />

▪ 8GB <strong>SD</strong>HC Class 10 Extreme (30MB/s HD Video) - working with new<br />

bootcode.bin (https://github.com/raspberrypi/firmware/blob/<br />

9308c7ed387e5422883753f7fb71a75506abd1f8/boot/bootcode.bin) . Confirmed<br />

on 2012-07-10 for Debian Squeeze 2012-04-19 and Arch Linux 2012-06-13<br />

images (BI1130916254G).<br />

▪ 8GB <strong>SD</strong>HC Class 10 Ultra(30MB/s) (<strong>SD</strong><strong>SD</strong>U-008G-U46) - Works with stock<br />

debian6-19-04-2012 or raspbian images but not with OpenELEC r11212 (works<br />

with OpenELEC r11493)<br />

▪ 8GB <strong>SD</strong>HC Class 10 Ultra(30MB/s) (<strong>SD</strong><strong>SD</strong>U-008G-UDQ46) - Works with stock<br />

2012-09-18-wheezy-raspbian<br />

▪ 8GB <strong>SD</strong>HC Class 10 Extreme (<strong>SD</strong><strong>SD</strong>X-008G-X46/BI1218822414G) - Works<br />

with stock 2012-08-16-wheezy-raspbian<br />

▪ 8GB <strong>SD</strong>HC Class 10 Extreme Pro (95MB/s UHS-I) (<strong>SD</strong><strong>SD</strong>XPA-008G-X46) -<br />

Works with stock 2012-07-15-wheezy-raspbian<br />

▪ 16GB <strong>SD</strong>HC Class 4<br />

▪ 16GB <strong>SD</strong>GC Class 4 (<strong>SD</strong><strong>SD</strong>B-016G-B35) - working with bootcode.bin<br />

(https://github.com/raspberrypi/firmware/blob/


234c19de7cbaaf4997671d61df20a05759066295/boot/bootcode.bin) . Confirmed<br />

on 2012-07-15 for Debian Squeeze 2012-04-19<br />

▪ 16GB <strong>SD</strong>HC Class 6 Ultra (30MB/s) (BL1133921933G) - Work with OpenELEC<br />

r11324<br />

▪ 16GB <strong>SD</strong>HC Class 10 Ultra(30MB/s) (<strong>SD</strong><strong>SD</strong>U-016G-U46) - Work with stock<br />

debian6-19-04-2012 image. Gave Kernel Panic with stock debian6-19-04-2012<br />

image. Worked fine with Wheezy image.<br />

▪ 16GB <strong>SD</strong>HC Class 10 Extreme (30MB/s HD Video) (<strong>SD</strong><strong>SD</strong>X3-016G-X46) -<br />

Works with 2012-06-18-wheezy-beta.img and updated firmware (tested<br />

2012-07-02)<br />

▪ 16GB <strong>SD</strong>HC Class 10 Extreme (45MB/s U1) (BL1203322025G) - Works with<br />

2012-08-16-wheezy-raspbian.img (tested 2012-09-15). Doesn't work with stock<br />

debian6-19-04-2012 image, but does work with freshly compiled kernel<br />

▪ 16GB <strong>SD</strong>HC Class 10 Extreme (45MB/s) (<strong>SD</strong><strong>SD</strong>X-016G-X46) (UPC<br />

619659062224) - Works with 2012-09-18-wheezy-raspbian.img (tested 17/10/<br />

2012). Working with Raspbmc RC5 if writing standalone image; working with<br />

Raspbian “wheezy”.<br />

▪ 16GB <strong>SD</strong>HC Class 10 Extreme (45MB/s) (<strong>SD</strong><strong>SD</strong>XPA-016G-FPP) - Working<br />

with latest RaspBMC image (tested 12/09/2012) Amazon Link<br />

(http://www.amazon.co.uk/gp/product/B00422J0CG/<br />

ref=oh_details_o00_s00_i00)<br />

▪ 16GB <strong>SD</strong>HC Class 10 Extreme Pro (95MB/s UHS-I) (<strong>SD</strong><strong>SD</strong>XPA-016G-A75) -<br />

Doesn't work with stock debian6-19-04-2012 image, but does work with freshly<br />

compiled kernel<br />

▪ 32GB <strong>SD</strong>HC Class 4<br />

▪ 32GB <strong>SD</strong>HC Class 6<br />

▪ 32GB <strong>SD</strong>HC Class 10 Ultra (30MB/s) - Works with stock debian6-19-04-2012<br />

image<br />

▪ 32GB <strong>SD</strong>HC Class 10 Extreme (45 MB/s UHS-I) (<strong>SD</strong><strong>SD</strong>X-032G-X46) - works<br />

with arch-04-29-image and latest firmware (booting problems without firmware<br />

update)<br />

▪ 64GB <strong>SD</strong>XC Class 10 Extreme (45 MB/s UHS-I) (<strong>SD</strong><strong>SD</strong>X-064G-X46) - works<br />

with 2012-07-15-wheezy-raspbian<br />

▪ micro<strong>SD</strong>HC / micro<strong>SD</strong>XC<br />

▪ 4GB micro<strong>SD</strong>HC Class 2<br />

▪ 4GB micro<strong>SD</strong>HC Class 4<br />

▪ 8GB micro<strong>SD</strong>HC Class 2<br />

▪ 8GB micro<strong>SD</strong>HC Class 4<br />

▪ 8GB micro<strong>SD</strong>HC Class 6 Mobile Ultra (<strong>SD</strong><strong>SD</strong>QY-008G-U46A) working<br />

with the latest firmware, won`t reboot when it`s hot<br />

▪ 8GB micro<strong>SD</strong>HC Class 10 Ultra(30MB/s) (<strong>SD</strong><strong>SD</strong>QU-008G-U46) tested and<br />

working on Raspbian wheezy (and RaspBMC)<br />

▪ 16GB micro<strong>SD</strong>HC Class 10 Mobile Ultra (<strong>SD</strong><strong>SD</strong>QUA-016G-U46A)<br />

working with the latest firmware


▪ 32GB micro<strong>SD</strong>HC Class 4 (<strong>SD</strong><strong>SD</strong>QM-032G-B35)<br />

▪ 64GB micro<strong>SD</strong>XC Class 6 Mobile Ultra (http://img217.imageshack.us/<br />

img217/6435/dsc0255uc.jpg) (<strong>SD</strong><strong>SD</strong>QY-064G-A11A) (boots up much more<br />

consistently with latest firmware)<br />

▪ Silicon Power<br />

▪ 4GB micro<strong>SD</strong>HC Class 6 (SP004GBSTH006V10-SP)<br />

▪ 8GB micro<strong>SD</strong>HC Class 10 (S608G1202)<br />

▪ 16GB micro<strong>SD</strong>HC Class 10 (SP016GBSTH010V10)<br />

▪ 16GB <strong>SD</strong>HC Class 10 (SP016GB<strong>SD</strong>H010V10)<br />

▪ Sony<br />

▪ 4GB <strong>SD</strong>HC Class 4 (SF-4B4) (Write 6MB/s, Read 20MB/s)<br />

▪ 4GB <strong>SD</strong>HC Class 4 (SF-4N4)<br />

▪ 8GB <strong>SD</strong>HC Class 4 (Write 11.8MB/s, Read 17.4MB/s)<br />

▪ 32GB <strong>SD</strong>HC Class 10 (SF-32NX/TQ) (http://store.sony.com/webapp/wcs/stores/<br />

servlet/<br />

ProductDisplay?catalogId=10551&storeId=10151&langId=-1&partNumber=SF32NX/<br />

TQ#features) (Max read speed of ~94MB/s, min write speed of ~10MB/s) -<br />

Works with archlinuxarm-29-04-2012 dd image with latest firmware update (as<br />

of 10-06-2012)<br />

▪ Strontium<br />

▪ 8GB <strong>SD</strong>HC Class 10 (<strong>SD</strong>-T08G 1045 US6923 G (White Shell - SKU 8 886450<br />

703492))<br />

▪ Super Talent<br />

▪ 32GB Secure Digital High Capacity <strong>SD</strong>HC <strong>Card</strong> (Class 10), Model<br />

<strong>SD</strong>HC32-C10 SKU: 116-557-001 (works with Raspbmc RC4 and<br />

2012-07-15-wheezy-raspbian))<br />

▪ TakeMS<br />

▪ TDK<br />

▪ 4GB micro<strong>SD</strong>HC Class 4 (with adapter) Micro <strong>SD</strong>HC Class 4 + 1 Adapter(Order<br />

No.88662) (http://www.takems.com/<br />

products.php?categ=flash&prod=Micro_<strong>SD</strong>HC-<strong>Card</strong>)<br />

▪ 4GB <strong>SD</strong>HC Class 4 (1008WW5261B)<br />

▪ 4GB <strong>SD</strong>HC Class 4 (80-56-10275-004G,Debian works BUT mmc0 errors when<br />

booting Fedora)<br />

▪ 4GB micro<strong>SD</strong>HC Class 4 (80-56-10301-004G)<br />

▪ 4GB <strong>SD</strong>HC Class 6 (S404G1113) - Works with Debian Wheezy (2012-06-18<br />

beta), not tried latest OpenELEC yet.<br />

▪ 8GB <strong>SD</strong>HC Class 10 - Works with Raspbian 2012-07-15<br />

▪ Sandisk 64GB Class 10 Ultra <strong>SD</strong>XC UHS-I FFP (3A114807)<br />

▪ Toshiba<br />

▪ 8GB mirco<strong>SD</strong>HC <strong>SD</strong>-C08GJ(BL3A


▪ 16GB <strong>SD</strong>HC Class 10 <strong>SD</strong>-T16G (1046 US7022 C)<br />

▪ Transcend<br />

▪ 4GB <strong>SD</strong>HC Class 4 - we've found these to work without any errors and offer<br />

reasonable performance<br />

▪ 4GB <strong>SD</strong>HC Class 4 (TS4G<strong>SD</strong>HC4 - BH1130821915G)<br />

▪ 4GB <strong>SD</strong>HC Class 6 (TS4G<strong>SD</strong>HC6) - no problems. (does not work with Raspbmc<br />

as of 6/1/12)<br />

▪ 4GB <strong>SD</strong>HC Class 10 (TS4G<strong>SD</strong>HC10E)<br />

▪ 8GB <strong>SD</strong>HC Class 4 (http://www.mymemory.co.uk/<strong>SD</strong>HC/Transcend/<br />

Transcend-8GB-<strong>SD</strong>-<strong>Card</strong>-(<strong>SD</strong>HC)---Class-4) (TS8G<strong>SD</strong>HC4) (man:0x000003<br />

oem:0x5344 name:<strong>SD</strong>08G hwrev:0x8 fwrev:0x0) - works with both Debian<br />

"squeezy" and Raspbian "wheezy" distributions.<br />

▪ 8GB <strong>SD</strong>HC Class 6 (~5.8 MB/s read/write following<br />

<strong>RPi</strong>_Performance#<strong>SD</strong>_card)<br />

▪ 8GB <strong>SD</strong>HC Class 6 (TS8G<strong>SD</strong>HC6-P2 - MMBFG08GWACA-M6)<br />

▪ 8GB <strong>SD</strong>HC Class 10 (TS8G<strong>SD</strong>HC10) Transcend 8G class 10<br />

(http://www.mymemory.co.uk/<strong>SD</strong>HC/Transcend/Transcend-8GB-<strong>SD</strong>-<strong>Card</strong>-<br />

%28<strong>SD</strong>HC%29---Class-10-)<br />

▪ 16GB <strong>SD</strong>HC Class 6 (TS16G<strong>SD</strong>HC6)<br />

▪ 16GB <strong>SD</strong>HC Class 10 (TS16G<strong>SD</strong>HC10)(TS16G<strong>SD</strong>HC10E)<br />

▪ 32GB <strong>SD</strong>HC Class 10 (http://www.transcend.com.es/tarjetas-de-memoria/sdsdhc/32gb-sdhc-class-10)<br />

(TS32G<strong>SD</strong>HC10)(TS32G<strong>SD</strong>HC10E)<br />

▪ 64GB <strong>SD</strong>XC Class 10 (TS64G<strong>SD</strong>XC10)<br />

▪ Verbatim<br />

▪ 8GB <strong>SD</strong>HC Class 10 (43961)<br />

▪ 16GB <strong>SD</strong>HC Class 4 (44020)<br />

▪ 16GB <strong>SD</strong>HC Class 10 (43962)<br />

▪ 32GB <strong>SD</strong>HC Class 6 (44032)<br />

▪ Traveler<br />

▪ 4GB High Speed Memory <strong>Card</strong> - no class mentioned. No problems. Tested with<br />

Raspbian.<br />

▪ The Pi Hut<br />

▪ Sandisk 4GB Class 4 - Preinstalled with Raspbian Wheezy Linux. (from The Pi<br />

Hut's Raspberry Pi Store (http://thepihut.com/products/4gb-sandisk-sd-sdhc-cardwith-raspbian-wheezy-linux-preinstalled)<br />

)<br />

▪ Sandisk 8GB Class 4 - Preinstalled with Raspbian Wheezy Linux. (from The Pi<br />

Hut's Raspberry Pi Store (http://thepihut.com/products/8gb-sandisk-sd-sdhc-cardwith-raspbian-wheezy-linux-preinstalled)<br />

)<br />

▪ Sandisk 16GB Class 4 - Preinstalled with Raspbian Wheezy Linux. (from The Pi<br />

Hut's Raspberry Pi Store (http://thepihut.com/products/16gb-sandisk-sd-sdhccard-with-raspbian-wheezy-linux-preinstalled)<br />

)


▪ Sandisk 32GB Class 4 - Preinstalled with Raspbian Wheezy Linux. (from The Pi<br />

Hut's Raspberry Pi Store (http://thepihut.com/products/32gb-sandisk-sd-sdhccard-with-raspbian-wheezy-linux-preinstalled)<br />

)<br />

▪ V-Gen<br />

▪ 8GB micro<strong>SD</strong>HC - no class mentioned. No problems.(man:0x000073<br />

oem:0x4247 name:N<strong>Card</strong> hwrev:0x1 fwrev:0x0). Tested with Raspbian Wheezy<br />

& Raspbmc.<br />

▪ Veho (http://www.veho-uk.com)<br />

▪ 8Gb "Ultra Fast" Class 6. (man:0x00001b oem:0x534d name:00000 hwrev:0x1<br />

fwrev:0x0) 7.8Mb/s. Slow but tested with Arch Linux.<br />

▪ W Photo (Walgreens photo)<br />

▪ 1GB <strong>SD</strong> memory card. Works with raspbmc, have not tested others.<br />

▪ 2GB <strong>SD</strong> memory card. Works with raspbian, not tested with others.<br />

Known good (and pre-loaded) cards will be available for sale from RS and element14 at a<br />

later date (TBA).<br />

Problem <strong>SD</strong> <strong>Card</strong>s<br />

Make sure that you buy your card from a reliable source. There are many cheap Chinese<br />

copies of (brand name) <strong>SD</strong>-<strong>Card</strong>s on the market, [49] (http://www.petapixel.com/2011/<br />

05/20/one-third-of-the-sandisk-memory-cards-on-earth-are-counterfeit/) in addition they<br />

are often mislabeled as having greater capacity than they really have. For example they<br />

might be sold as being 4GB, but are actually 2GB (or even less).<br />

There were initially issues with most Class 10 <strong>SD</strong>HC cards, apparently due to a bug in<br />

the Broadcom bootloader.[50] (http://www.raspberrypi.<strong>org</strong>/forum/general-discussion/<br />

class-10-sd-cards-on-the-production-boards/page-3/#p39181)<br />

This seems to have been fixed in sdhci.c: [51] (https://github.com/raspberrypi/linux/<br />

commit/7e8ae226fe6e95954df6b0dcdde40a53dbbc1a0b) Further feedback will be useful.<br />

If you add an <strong>SD</strong> card here, please also mention the kernel date and the date you tried it.<br />

This allows people to estimate how likely it is that a driver-fix in the kernel has been<br />

fixed. (i.e. I think some/most of the cards here work fine now, because a problem in the<br />

kernel driver has been fixed).<br />

▪ Acumem<br />

▪ 8GB <strong>SD</strong>HC Class 6 (many errors on 6/7/2012)<br />

▪ Adata<br />

▪ 2GB Speedy (MMAGF02GWMCA -NA)<br />

▪ 8GB <strong>SD</strong>HC Class 6 - Sometimes boots


▪ 16GB <strong>SD</strong>HC Class 6 (Possibly <strong>SD</strong>5MY168G0, label with gold black<br />

gradient) - Doesn't boot<br />

▪ Agfa<br />

▪ 16GB Micro<strong>SD</strong>HC class 6 (as written on <strong>SD</strong>-Adapter, Micro<strong>SD</strong> card itself noname?<br />

ENAAJK121960): mixed results, such a card was working on another <strong>RPi</strong><br />

▪ Amazon Basics<br />

▪ 16GB <strong>SD</strong>HC Class 10 (many errors on 6/7/2012)<br />

▪ Delkin Devices<br />

▪ 4GB <strong>SD</strong>HC Class 6 "Delkin pro" -- Note: works with Fedora Beefy Miracle 17<br />

▪ GSkill<br />

▪ 32GB <strong>SD</strong>HC Class 10<br />

▪ Integral<br />

▪ 16GB <strong>SD</strong>HC Class 6 Ultima Pro (SH016GAA2BB)<br />

▪ 4GB <strong>SD</strong>HC class 4 (S404G1115)<br />

▪ Kingston<br />

▪ 2GB <strong>SD</strong> looks like this (http://www.geeks.com/details.asp?invtid=KING-<strong>SD</strong>-<br />

M02G-BULK) - boots the kernel, but damages the filesystem.<br />

▪ 4GB <strong>SD</strong>HC Class 6 - Boots kernel but won't run init (times out)<br />

▪ 8GB/Go <strong>SD</strong>HC Class 10 - <strong>SD</strong>10V/8GB Very slow writing images to card and<br />

then either won't boot, or boots very slowly<br />

▪ 16GB <strong>SD</strong>HC Class 4 (<strong>SD</strong>C4/16GB) - Reported earlier as not working. Stable and<br />

works well with all Debian/Raspbian releases<br />

▪ 16GB <strong>SD</strong>HC Class 10 (<strong>SD</strong>10V/16GB) - Starts boot ok but then gets stuck in<br />

mmc0 timeouts<br />

▪ Memory2GO<br />

▪ 4GB <strong>SD</strong>HC Class 6 (S404G1029) - I/O Errors leading to Kernel Panic on startup.<br />

▪ Micro Center<br />

▪ 4GB <strong>SD</strong>HC Class 4 — hasn't worked with any of the images I've tried; appears to<br />

be completely unrecognized<br />

▪ MyMemory.com<br />

▪ 8GB <strong>SD</strong>HC Class 10<br />

▪ Optima<br />

▪ 8GB <strong>SD</strong>HC Class 4 - Does not boot with Raspbian Wheezy 2012-07-15 - works<br />

with 2012-09-18<br />

▪ Panasonic<br />

▪ 8GB <strong>SD</strong>HC Class 10 (RP-<strong>SD</strong>U08GD1K) mmc0: timeout waiting for hardware<br />

interrupt Panasonic 8GB Class 10 (http://www.mymemory.co.uk/<strong>SD</strong>HC/<br />

Panasonic/Panasonic-8GB-UHS-1-London-2012-Collection-<strong>SD</strong>HC-<strong>Card</strong>---<br />

Class-10)<br />

▪ Patriot


▪ 8GB <strong>SD</strong>HC Class 6 (PS8G<strong>SD</strong>HC10-BC) - repeatable corruption after 1 or 2<br />

reboots with 2012-07-15-wheezy-raspbian<br />

▪ 8GB <strong>SD</strong>HC Class 10 (PSF8G<strong>SD</strong>HC10)<br />

▪ 8GB <strong>SD</strong>HC Class 10 (PSF8G<strong>SD</strong>HC10-PC) - won't even boot<br />

2012-08-16-wheezy-raspbian (mmc0: timeout waiting for hardware interrupt,<br />

followed by continuous I/O errors, timeouts, etc.). Seems functional in Arch, but<br />

sometimes freezes at the beginning of boot (blinking underscore).<br />

▪ Platinum<br />

▪ 8GB <strong>SD</strong>HC Class 8 (O08G840 M3100487 TW)<br />

▪ 16GB <strong>SD</strong>HC Class 10 (article code 177117) - Does not boot with Raspbian<br />

Wheezy 2012-09-12<br />

▪ PNY<br />

▪ 8GB Optima <strong>SD</strong>HC 120 HD Class 4 <strong>SD</strong>-K08G 0928 WF3673 - mmc -110 errors<br />

at init time on 6/12/12<br />

▪ 8GB Premium <strong>SD</strong>HC Class 4 - mmc - mmc0: timeout waiting for hardware<br />

interrupt<br />

▪ 32GB <strong>SD</strong>HC Class 10 Professional (P-<strong>SD</strong>HC32G10-EF) from play.com<br />

(http://www.play.com/Electronics/Electronics/4-/18814903/-/Product.html)<br />

(mmc0 timeout with Debian, error -84 whilst initialising sd card with Fedora and<br />

QtonPi. Arch seems to work, gets to the login prompt)<br />

▪ 2GB card <strong>SD</strong>-M02G<br />

▪ Polaroid<br />

▪ 16GB <strong>SD</strong>HC C10 (P-<strong>SD</strong>HC16GB10-EFPOL) - mmc0: timeout waiting for<br />

hardware interrupt on debian6-19-04-2012<br />

▪ PRETEC<br />

▪ 8GB <strong>SD</strong>HC Class 10 233x - mmc0: timeout waiting for hardware interrupt,<br />

Sometimes does not boot, kernel panic, ...<br />

▪ Reekin<br />

▪ 4Gb HighSpeed SH4GC6M16MIN9C0812TE (old) don't boot ! (11/07/2012)<br />

▪ Samsung<br />

▪ 4GB <strong>SD</strong>HC Class 4 (MB-SS4G MBSS4GMBDDBA-DD) doesn't boot with<br />

2012-07-15-wheezy-raspbian (http://downloads.raspberrypi.<strong>org</strong>/images/raspbian/<br />

2012-07-15-wheezy-raspbian/2012-07-15-wheezy-raspbian.zip) - OK light<br />

partially lit.<br />

▪ 32GB <strong>SD</strong>HC Class 10 (MB-SSBGA, MBSSBGVEOBGA-SH) does not work<br />

with Debian Squeeze (debian6-19-04-2012: mmc0: timeout waiting for hardware<br />

interrupt), but works fine with Debian Wheezy (http://www.raspberrypi.<strong>org</strong>/<br />

phpBB3/viewtopic.php?f=50&t=8071)<br />

▪ SanDisk<br />

▪ 2GB <strong>SD</strong> Extreme III (BE0722702998D) (man:0x000003 oem:0x5344<br />

name:<strong>SD</strong>02G hwrev:0x8 fwrev:0x0) - tested with Raspbian (build 2012-07-15)<br />

and Raspbmc installer (build 2012-07-13)<br />

▪ 2GB <strong>SD</strong> (BE0916214253D)


▪ 2GB Ultra || 15MB/s (BE0828713280D)<br />

▪ 4GB <strong>SD</strong>HC Class 2 - Debian and xbmc boot, but fedora gets a lot of mmc0 note<br />

long write sync errors and then hc_xfer_timeout errors at the login prompt.<br />

▪ 4GB <strong>SD</strong>HC Class 2 "Limited Edition" (8H825413279G) - Error -110 whilst<br />

initialising sd card<br />

▪ 4GB <strong>SD</strong>HC Class 4 (BH1030216016G) - Doesn't boot.<br />

▪ 4GB <strong>SD</strong>HC Class 4 (BH1031116016G) - Doesn't boot.<br />

▪ 4GB <strong>SD</strong>HC Class 6 Extreme (BH0822411730D)<br />

▪ 4GB <strong>SD</strong>HC Class 6 Extreme III (30 MB/s) (BH0822712362G)<br />

▪ 4GB <strong>SD</strong>HC Class 10 Extreme (<strong>SD</strong><strong>SD</strong>X-004G-X46) (30 MB/s HD Video) doesn't<br />

boot (also not with new kernel.img and start.elf 17-06-2012 or "wheezy"-beta)<br />

▪ 4GB <strong>SD</strong>HC Class 10 Extreme (30 MB/s HD Video) (Doesn't boot) - Works with<br />

new kernel.img and start.elf [52] (https://github.com/raspberrypi/firmware/tree/<br />

master/boot)<br />

▪ 4GB micro<strong>SD</strong>HC Class 6 Mobile Ultra (tried 15-06-2012 with kernel<br />

19-04-2012) error -84 transferring data, kernel panic: no init found<br />

▪ 8GB <strong>SD</strong>HC Class 6 Ultra (B11201421964G)<br />

▪ 8GB <strong>SD</strong>HC Class 6 Ultra (<strong>SD</strong><strong>SD</strong>H-008G-U46 - BI1131222083D) - Boots kernel<br />

but won't run init ( mmc timeout waiting for interrupt ) see update from<br />

andrew.blake (http://www.raspberrypi.<strong>org</strong>/phpBB3/<br />

viewtopic.php?p=88625#p88625)<br />

▪ 8GB <strong>SD</strong>HC Class 6 Ultra labelled as 30MB/s (BI1208721965G)) - Boots kernel<br />

but won't run init ( mmc timeout waiting for interrupt )<br />

▪ 8GB <strong>SD</strong>HC Class 6 Ultra labelled as 30MB/s <strong>SD</strong>SRH-008G-A11 - Boots kernel<br />

but won't run init ( mmc timeout waiting for interrupt )<br />

▪ 8GB <strong>SD</strong>HC Class 6 Ultra labelled as 30MB/s <strong>SD</strong><strong>SD</strong>H-008G-T11 - Boots kernel<br />

but won't run init ( debian6-19-04-2012: mmc timeout waiting for interrupt ) , but<br />

works fine with Debian Wheezy (http://www.raspberrypi.<strong>org</strong>/phpBB3/<br />

viewtopic.php?f=50&t=8071) on 6/22/12<br />

▪ 8GB <strong>SD</strong>HC Class 6 Ultra I (BI1201221964G) - Boots kernel but won't run init (<br />

mmc timeout waiting for interrupt )<br />

▪ 8GB <strong>SD</strong>HC Class 6 Extreme (BI1101116253G)<br />

▪ 8GB <strong>SD</strong>HC Class 10 Extreme (BI1108716254G)<br />

▪ 8GB <strong>SD</strong>HC Class 10 Extreme (BI1201416254G) - Still doesn't work with Debian<br />

Wheezy beta (2012-06-18)<br />

▪ 8GB <strong>SD</strong>HC Class 10 Extreme (BI1201516254G) [amazon.co.uk<br />

(http://www.amazon.co.uk/gp/product/B00422FBJ2) ]+amazon.fr works with<br />

wheezy 19/09/2012<br />

▪ 8GB <strong>SD</strong>HC Class 10 Extreme (BI1200916252D/<strong>SD</strong><strong>SD</strong>X-008G-X46) - Tried<br />

with Debian "Squeeze"(19/04/2012), Debian "Wheezy"(18/06/2012) and Arch<br />

Linux(13/06/2012). None works. With Debian "Wheezy" Green LED stays ON<br />

continuously, with the other two it turns on very faint.<br />

▪ 8GB <strong>SD</strong>HC Class 10 Extreme Pro- Works with updated kernel/firmware, stock<br />

debian6-19-04-2012 boots kernel but won't run init ( mmc timeout waiting for<br />

interrupt )


▪ 16GB <strong>SD</strong>HC Class 10 Extreme (30MB/s HD Video) (<strong>SD</strong><strong>SD</strong>X3-016G-X46) -<br />

Doesn't boot with debian6-19-04-2012.img, or newer firmware (tested<br />

2012-06-17).<br />

▪ 16GB <strong>SD</strong>HC Class 6 Ultra (BL1202021933G)<br />

▪ 16GB <strong>SD</strong>HC Class 6 Ultra I (BL1205921933G) - Boots kernel but won't run init<br />

( mmc timeout waiting for interrupt )<br />

▪ Silicon Power<br />

▪ 8GB <strong>SD</strong>HC Class 10 (SP008GB<strong>SD</strong>H010V10) - Boots kernel but won't run init<br />

(mmc timeout waiting for interrupt ) - Tested 20/11/2012, 2012-10-28-wheezyraspbian.img<br />

with Nov 20 kernel.<br />

▪ 32GB <strong>SD</strong>HC Class 6 (LS2N732GQON03ASP) - boots debian6-19-04-2012.img,<br />

but frequent slow response / system hangs.<br />

▪ TDK<br />

▪ 4GB <strong>SD</strong>HC Class 6 (S404G1041) - Tried (end May 2012) with new kernel.img<br />

and start.elf [53] (https://github.com/raspberrypi/firmware/tree/master/boot) but<br />

still won't run init.<br />

▪ 4GB <strong>SD</strong>HC Class 6 (S404G1046) [Barcode: 4 902030 784447] - Tried (4th June<br />

2012) with debian6-19-04-2012.img and with replacement kernel.img and<br />

start.elf from github [54] (https://github.com/raspberrypi/firmware/tree/<br />

87a04c0be0c05e20f94f223183a0310b37c9bd89/boot) but still got 'Error -84' and<br />

'Kernel panic - not syncing: No init found'<br />

▪ Transcend<br />

▪ 2GB Micro<strong>SD</strong> (MMAGR02GUECA-MB) - reads fine initially after image was<br />

written on a PC, gives mmc0 timeout errors reading back data after writing a<br />

large amount (in this case with 'pacman -Syu'). Still seems to work, but is *very*<br />

slow after this happens, even across reboots.<br />

▪ 32GB Micro<strong>SD</strong> (TS32GU<strong>SD</strong>HC4) - Doesn't boot.<br />

▪ 2GB <strong>SD</strong> (6451AG 2G O2DS1)<br />

▪ 16GB <strong>SD</strong> Class10 (TS16G<strong>SD</strong>HC10U1) - Doesn't Boot, show that "kernel panic -<br />

not syncing attempted to kill init"<br />

▪ Veho<br />

▪ 4GB <strong>SD</strong>HC Class 6<br />

▪ Verbatim<br />

▪ 16GB <strong>SD</strong>HC Class 6 (47178) - Raspbian Pisces RC3 - boots, but after login:<br />

mmc timeout waiting for interrupt<br />

▪ 8GB micro<strong>SD</strong> Class 10 (44012) - ArchLinux - boots, but after system update<br />

develops segmentation faults<br />

▪ 8GB <strong>SD</strong>HC Class 10 (Premium) - Tested with September release of Raspbian<br />

and Debian Wheezy - both fail to boot with mmc errors.<br />

The usual warnings against less reputable sellers (such as Ebay merchants) apply.


Note that the following error is sometimes accompanied with a non-working <strong>SD</strong> card<br />

after booting (on Debian):<br />

mmc0: timeout waiting for hardware interrupt<br />

Benchmarks<br />

▪ http://www.sakoman.com/OMAP/microsd-card-perfomance-test-results.html<br />

▪ http://usbspeed.nirsoft.net/usb_drive_speed_summary.html?o=11<br />

▪ http://www.raspberrypi.<strong>org</strong>/phpBB3/viewtopic.php?f=2&t=4076<br />

▪ http://forum.xda-developers.com/showthread.php?t=1005633 (Doesn't originate from<br />

R-Pi, but very related)<br />

Foreign Language Translations<br />

▪ Ru:RaspberryPiBoardVerifiedPeripherals<br />

References<br />

1. ↑ http://www.raspberrypi.<strong>org</strong>/forum/absolute-beginners/cheap-powered-usb-hubuk/#p76452<br />

2. ↑ http://www.raspberrypi.<strong>org</strong>/forum/troubleshooting/keyboard-creates-kernalpanic/page-2<br />

3. ↑ http://www.raspberrypi.<strong>org</strong>/forum/troubleshooting/keyboard-creates-kernalpanic/page-2<br />

4. ↑ http://www.cpmspectre.pwp.blueyonder.co.uk/raspberry_pi/MoinMoinExport/<br />

USBPowerSupplies.html<br />

5. ↑ http://www.cpmspectre.pwp.blueyonder.co.uk/raspberry_pi/MoinMoinExport/<br />

USBPowerSupplies.html<br />

Raspberry Pi<br />

Model Wizard - Buying Guide - <strong>SD</strong> <strong>Card</strong> <strong>Setup</strong><br />

Startup - Basic <strong>Setup</strong> - Advanced <strong>Setup</strong> - Beginners<br />

Guide - Troubleshooting<br />

Hardware - Hardware History - Low-level<br />

Hardware<br />

peripherals - Expansion Boards<br />

Peripherals Screens - Cases - Other Peripherals<br />

Software - Distributions - Kernel - Performance<br />

Software<br />

- Programming - VideoCore APIs<br />

Tutorials - Guides - Projects - Tasks -<br />

Projects<br />

DataSheets - Education - Communities


♦<br />

Retrieved from "http://elinux.<strong>org</strong>/<br />

index.php?title=<strong>RPi</strong>_VerifiedPeripherals&oldid=195698"<br />

Categories: Linux ARM Development Boards Broadcom Development Boards<br />

RaspberryPi Education<br />

▪ This page was last modified on 27 November 2012, at 13:00.<br />

▪ Content is available under a Creative Commons Attribution-ShareAlike 3.0<br />

Unported License.


R-Pi Troubleshooting<br />

From <strong>eLinux</strong>.<strong>org</strong><br />

Back to the Hub.<br />

This page lists the most common problems and suggests some solutions.<br />

See <strong>RPi</strong>_Bugs for problems that are bugs.<br />

Contents<br />

▪ 1 Power / Start-up<br />

▪ 1.1 Red power LED does not light, nothing on display<br />

▪ 1.2 Red power LED is blinking<br />

▪ 1.3 Red power LED is on, green LED does not flash, nothing on display<br />

▪ 1.4 Green LED blinks in a specific pattern<br />

▪ 1.5 Coloured splash screen<br />

▪ 1.6 Kernel Panic on boot<br />

▪ 1.7 Raspberry Pi shuts down (or restarts) soon after booting up<br />

▪ 1.8 Pi boots sometimes but not always<br />

▪ 2 Keyboard / Mouse / Input Devices<br />

▪ 2.1 R-Pi does not respond to key presses / Keyboard randomly repeats key presses<br />

▪ 2.2 Keyboard / Mouse interferes with USB WiFi device<br />

▪ 2.3 Wireless Keyboard trouble<br />

▪ 2.4 Re-mapping the keyboard with Debian Squeeze<br />

▪ 2.5 Slow keyboard mapping<br />

▪ 2.6 No USB device works, with known good PS, <strong>SD</strong> card, KB<br />

▪ 3 Updating firmware<br />

▪ 3.1 Check your firmware version<br />

▪ 3.2 Get the latest firmware version<br />

▪ 3.3 Choosing the right ARM/GPU memory split<br />

▪ 4 <strong>SD</strong> cards<br />

▪ 5 Networking<br />

▪ 5.1 Ethernet connection is lost when a USB device is plugged in<br />

▪ 5.2 Ethernet connects at 10M instead of 100M<br />

▪ 5.3 Cannot ssh in to Pi<br />

▪ 5.4 Network/USB chip gets too hot to touch<br />

▪ 5.5 Networking no longer works when changing <strong>SD</strong> card between two Raspberry<br />

Pis


▪ 5.6 Crashes occur with high network load<br />

▪ 5.7 Network connection fails when a Graphical User Interface is being used<br />

▪ 6 Passwords<br />

▪ 6.1 I do not know the password to login<br />

▪ 6.2 Some programs refuse to accept my password<br />

▪ 6.3 I don't know the root password<br />

▪ 7 Sound<br />

▪ 7.1 Sound does not work with an HDMI monitor<br />

▪ 7.2 Sound does not work at all, or in some applications<br />

▪ 8 Display<br />

▪ 8.1 Startx fails to start<br />

▪ 8.2 Screen is the wrong color<br />

▪ 8.3 Video does not play or plays very slowly<br />

▪ 8.4 Can only get 800x480 resolution in LXDE (Arch linux)<br />

▪ 8.5 Big black borders around small image on HD monitors<br />

▪ 8.6 Writing spills off the screen on HD monitors<br />

▪ 8.7 Interference visible on a HDMI or DVI monitor<br />

▪ 8.8 No HDMI output at all<br />

▪ 8.9 Composite displays no image<br />

▪ 8.10 Composite displays only black and white image<br />

▪ 8.11 HDMI -> VGA adapters<br />

▪ 9 GPIO<br />

▪ 10 General<br />

▪ 10.1 The time is incorrect<br />

▪ 10.2 A part broke off<br />

▪ 10.3 Unable to install new software<br />

▪ 11 Troubleshooting power problems<br />

▪ 12 Hardware versions/revisions<br />

▪ 13 References<br />

Power / Start-up<br />

A good power supply that will supply 5V is vital. There is more information about See<br />

#Troubleshooting_power_problems.<br />

Note that the PI has no BIOS, so nothing will be displayed on screen unless the PI<br />

successfully boots!<br />

Red power LED does not light, nothing on display<br />

The power is not properly connected.


Red power LED is blinking<br />

The red power LED should never blink, because it is hard-wired to the 3.3V power<br />

supply rail. If it is blinking, as one user has reported [1] it means the 5V power supply is<br />

dropping out. Use a different power supply.<br />

Red power LED is on, green LED does not flash, nothing on display<br />

note; For technical reasons the green LED might light up very faintly, this is normal, but<br />

it doesn't mean it "burns". When flashing/blinking the green LED should light up as<br />

bright as the power LED.<br />

▪ The Raspberry Pi cannot find a valid image on the <strong>SD</strong> card. Check card is inserted<br />

correctly. Check that you have correctly written a Raspberry Pi image to the card. Did<br />

you have admin rights when you used the <strong>SD</strong>-card writer software? Without it the<br />

software might go through the motions without actually doing anything! To check if<br />

the writing process did actually happen Insert the <strong>SD</strong> card into a Windows machine<br />

and you should see bootcode.bin, fixup.dat and start.elf amongst others. See also,<br />

Known <strong>SD</strong> <strong>Card</strong>s. It is also possible that the image you are writing to the card is<br />

corrupt, as downloads do occasionally end up corrupted or truncated. You can check<br />

with the checksum utility if your download is correct.<br />

▪ Try with no cables connected except the USB power lead, and <strong>SD</strong> card inserted. You<br />

should see flashing of the OK light for ~20 seconds. If that helps, plug in cables one<br />

at a time to identify which is interfering with boot.<br />

▪ Confirm the USB cable is properly seated in the power slot. The red power LED does<br />

not necessarily mean it is fully connected.<br />

▪ The voltage is too low (below 5 V), try a different power supply and/or cable. The R-<br />

Pi needs a supply rated for 700 mA or more. Some supplies labeled as such cannot<br />

actually provide their rated current while maintaining 5V. See also,<br />

#Troubleshooting_power_problems.<br />

▪ There may be a bug in the distributed version of bootcode.bin which causes problems<br />

with some sdcards. Try this version: https://github.com/raspberrypi/firmware/blob/<br />

234c19de7cbaaf4997671d61df20a05759066295/boot/bootcode.bin. Please let us<br />

know if it "fixes" your non-working <strong>SD</strong> card (or, more importantly, if it doesn't). This<br />

can also manifest itself as intermittent booting, or only booting when cold.<br />

▪ (unlikely) hardware abuse, for example by connecting a 7 V supply to a 3v3 GPIO<br />

output pin [2] or powering up the board after a solder splash shorts some traces [3] .<br />

▪ Look at the <strong>SD</strong> card holder on the Raspberry Pi carefully. At first glance it may look<br />

fine but the contacts must be springy and they must protrude at least 2mm as<br />

measured from the lower edge of the holder to the top of the contact bulge. This<br />

happens due to the solder process and the type of holder used. Some of the solder<br />

residue falls into the contact cavity restricting the springiness and the height that the


contact protrudes. You can fix this yourself but remember you can void your<br />

warranty. The contacts are delicate so be carefull. Insert a needle pin under the<br />

contact bulge and pull lightly up until the one end of the contact unclips. Clean the<br />

cavity where the contact unclipped from of any solder or other residue by blowing<br />

into the cavity. Clip the contact back into the cavity by lightly pushing it into the<br />

cavity. Do this for all the contacts. Look at these photos. Media:<strong>SD</strong>cardHolder.JPG,<br />

Media:UnclipContact.JPG, Media:UnclippedContact.JPG<br />

▪ If for whatever reason the main polyfuse F3 has been overheated previously it may<br />

happen that it hasn't completely recovered, in which case, if you turn the PI on, a<br />

considerable amount of energy from the power supply is lost in the fuse and doesn't<br />

reach the PI. Try if the polyfuse seems hot. For this problem too read<br />

#Troubleshooting_power_problems.<br />

Green LED blinks in a specific pattern<br />

With recent firmware, according to this forum post (http://www.raspberrypi.<strong>org</strong>/phpBB3/<br />

viewtopic.php?f=28&t=8725#p103338) the green light will blink in a specific pattern to<br />

indicate some types of errors:<br />

▪ 3 flashes: loader.bin not found<br />

▪ 4 flashes: loader.bin not launched<br />

▪ 5 flashes: start.elf not found<br />

▪ 6 flashes: start.elf not launched<br />

▪ 7 flashes: kernel.img not found<br />

Firmware since 20th October 2012 no longer requires loader.bin, and the flashes mean:<br />

▪ 3 flashes: start.elf not found<br />

▪ 4 flashes: start.elf not launched<br />

▪ 7 flashes: kernel.img not found<br />

If start.elf won't launch it may be corrupt.


Coloured splash screen<br />

With recent firmware, a coloured splash screen is displayed after firmware (start.elf) is<br />

loaded. This should be replaced by linux console a second later. However if the coloured<br />

screen remains, it suggests the kernel.img file is failing to boot. Try replacing it with a<br />

known good one.<br />

Immediately after displaying the splash screen, the PI starts consuming a little more<br />

current, if the PI resets at that moment its an indication that your PSU isn't able to deliver<br />

the full current your PI requires, but dips its output voltage below a minimum when<br />

loaded with the full current the PI needs.<br />

Kernel Panic on boot<br />

Text appears on screen, but then hangs with debug messages. This can be caused by USB<br />

devices such as keyboards. Try again with nothing in the USB.<br />

Raspberry Pi shuts down (or restarts) soon after booting up<br />

This is caused by a power supply producing too low a voltage. See<br />

#Troubleshooting_power_problems.<br />

Pi boots sometimes but not always<br />

With a known good power supply and known good <strong>SD</strong> card, the R-Pi boots occasionally,<br />

but other times shows only a tiny green flicker from the "OK" LED and it fails to start,<br />

[4] [5] [6]<br />

even with no USB devices and no Ethernet. This has been reported several times<br />

and remains an open issue. Low voltage or an improper <strong>SD</strong> card can cause it. Some <strong>SD</strong><br />

cards will work until they warm up slightly, and then fail [7] . When exposed to 21 C room<br />

temperature the warmest part of an uncased working R-Pi should be 41 C [8] . The wiki


has a list of working <strong>SD</strong> cards. Buy from a reliable vendor as it has been claimed<br />

(http://www.petapixel.com/2011/05/20/one-third-of-the-sandisk-memory-cards-on-earthare-counterfeit/)<br />

that 1/3 of all "Sandisk" labelled memory cards are counterfeit.<br />

▪ It could be that the <strong>SD</strong> memory card is not making proper contact with the Raspberry<br />

Pi. Look at the <strong>SD</strong> card holder on the Raspberry Pi carefully. At first glance it may<br />

look fine but the contacts must be springy and they must protrude at least 2mm as<br />

measured fron the lower edge of the holder to the top of the contact bulge. This<br />

happens due to the solder process and the type of holder used. Some of the solder<br />

residue falls into the contact cavity restricting the springiness and the height that the<br />

contact protrudes. You can fix this yourself but remember you can void your<br />

warranty. The contacts are delicate so be carefull. Insert a needle pin under the<br />

contact bulge and pull lightly up until the one end of the contact unclips. Clean the<br />

cavity where the contact unclipped from of any solder or other residue by blowing<br />

into the cavity. Clip the contact back into the cavity by lightly pushing it into the<br />

cavity. Do this for all the contacts. Look at these photos. Media:<strong>SD</strong>cardHolder.JPG,<br />

Media:UnclipContact.JPG, Media:UnclippedContact.JPG<br />

Keyboard / Mouse / Input Devices<br />

R-Pi does not respond to key presses / Keyboard randomly repeats key<br />

presses<br />

note:during entering the password most linux distro's wont show that you typed in<br />

anything (not even "*" characters) this is normal behaviour, try the keyboard while<br />

entering the user name!<br />

This is most often caused by inadequate power. Use a good power supply and a good<br />

power cable. Some cheap cables that work with a cell phone, cannot fully power the R-Pi.<br />

Some USB devices require a lot of power: most will have a label showing the voltage and<br />

mA requirements. They should be 5v 100mA each max, any more than this they must be<br />

used with a powered USB hub. Try unplugging every USB device except the keyboard<br />

(you should also note that some keyboards have built in hubs and can try to draw 150mA<br />

(Pi can only handle 100mA per USB slot without a hub)). Also, use the latest software.<br />

Forum user MrEngman reported (http://www.raspberrypi.<strong>org</strong>/forum/absolute-beginners/<br />

using-a-powered-usb-port-to-power-a-rpi#p76485) some keyboard repeats and wireless<br />

hangs until upgrading (http://www.raspberrypi.<strong>org</strong>/downloads) to the<br />

debian6-19-04-2012 kernel, which he reports stable with no problems even with a low<br />

TP1-TP2 voltage of 4.65 - 4.68 volts.


Some users have reported that their keyboards work fine on Arch linux, but on Debian<br />

distro's, their keyboards become erratic (repeats and/or skips key presses). One suggested<br />

remedy to this, which has some positive feedback, is to adjust the USB bus speed. To do<br />

this, you need to edit the cmdline.txt file, and add "dwc_otg.speed=1" (without quotes) to<br />

the end of the file (found in the /boot directory).<br />

Worst case scenario, some (advanced) keyboards, such as the Roccat Arvo, have kernel<br />

modules that need activating. If you have access to another keyboard temporarily, you<br />

will need to modprobe the relevent driver. Or if this is not possible, you can rebuild the<br />

kernel (instructions available on the wiki page) with the modules installed. (to find the<br />

drivers for keyboards etc, you need to find "Device Drivers -> hid Devices".)<br />

Keyboard / Mouse interferes with USB WiFi device<br />

Connecting a keyboard and/or mouse while a USB WiFi device is connected, may cause<br />

one or both devices to malfunction. On April 30 2012, there was a bugfix [9] relating to<br />

USB sharing between high-speed (eg. WiFi) and full/low-speed devices (eg. keyboard/<br />

mouse). User spennig [10][11] reports this patch did not fix the Mouse/WiFi conflict. On<br />

2012-05-12, user spennig was pleased to confirm that wifi was working with a USB<br />

keyboard and mouse, as long as the Raspberry Pi had a good PSU and a powered hub.<br />

Even so, some experimentation was needed, e.g. USB WiFi connected to the device, and<br />

the keyboard and mouse connected to the powered hub. Some experimentation may be<br />

necessary to find a working combination; however a good power supply is essential.<br />

Wireless Keyboard trouble<br />

Some wireless keyboards, for example the Microsoft Wireless Keyboard 800 are reported<br />

to fail [12] even though the current drawn by the wireless adaptor is within the R-Pi USB<br />

spec limit of 100 mA. This may be a software driver problem.<br />

Re-mapping the keyboard with Debian Squeeze<br />

If different letters appear on-screen from that which you typed, you need to reconfigure<br />

you keyboard settings. In Debian, from a command line type:<br />

sudo dpkg-reconfigure keyboard-configuration<br />

Follow the prompts. Then restart your RasPi.<br />

Or:<br />

From the command line type:<br />

sudo nano /etc/default/keyboard


Then find where it says<br />

XKBLAYOUT=”gb”<br />

and change the gb to the two letter code for your country. [1]<br />

(http://www.raspberrypi.<strong>org</strong>/phpBB3/viewtopic.php?p=78325#p78325)<br />

Slow keyboard mapping<br />

If you have remapped your keyboard and get a very long delay during the keyboard<br />

mapping at startup, type the following once on the command line after you have logged<br />

in:<br />

sudo setupcon<br />

No USB device works, with known good PS, <strong>SD</strong> card, KB<br />

There has been more than one report [13][14][15] of a R-Pi booting but not getting USB<br />

input, using a known-good power supply, <strong>SD</strong> card, and keyboard. The more common<br />

cause for no USB devices working is low power supply voltage from bad PSU, cable, or<br />

USB hub, but in this case the problem was no clock signal present at the LAN9512 USB/<br />

Ethernet chip "IC3", and the solution was to reflow the solder on the 25 MHz crystal<br />

"X1" on the bottom side of the board. Or return the board for a replacement, but before<br />

making this conclusion, confirm known good peripherals. A significant number of USB<br />

keyboards are not compatible with R-Pi. As of June 1 2012, Eben reported [16] that only<br />

about 1 in 1000 shipped R-Pi boards have been found to have a hardware fault of any<br />

kind.<br />

Updating firmware<br />

Check your firmware version<br />

Using the latest firmware version may help various problems with <strong>SD</strong> card and display<br />

compatibility. Check the kernel version with:<br />

uname -a<br />

Linux <strong>RPi</strong> 3.1.19 #1 PREEMPT Fri Jun 1 14:16:38 CEST 2012 armv6l GNU/Linux<br />

And the GPU firmware with:<br />

/opt/vc/bin/vcgencmd version<br />

May 31 2012 13:35:03


Copyright (c) 2012 Broadcom<br />

version 317494 (release)<br />

Get the latest firmware version<br />

The GPU firmware and kernel can be updated with Hexxeh's rpi-update tool<br />

(https://github.com/Hexxeh/rpi-update) .<br />

However this requires the Pi to be successfully booted. With sdcard problems, you may<br />

not get that far, so can try a manual udpate. If you have a Linux machine, rpi-update can<br />

be run on that in an offline mode, and will update your sdcard from the Linux machine.<br />

Otherwise, on a Windows computer, you will see the "/boot" partition appear as the<br />

contents of <strong>SD</strong> card. You can download the latest GPU firmware version here<br />

(https://github.com/raspberrypi/firmware/blob/master/boot/start.elf) . Click on view raw,<br />

then save it, and put the new start.elf file on the sdcard replacing the existing one.<br />

Similarly, the latest kernel is here (https://github.com/raspberrypi/firmware/tree/master/<br />

boot/kernel.img) . After updating these files you should be able to boot. You still need to<br />

run rpi-update to update the kernel modules (in /lib/modules) and the GPU libraries (in<br />

/opt/vc).<br />

Choosing the right ARM/GPU memory split<br />

There is a choice of how the 256M/512M of RAM is divided between the ARM and<br />

GPU:<br />

gpu_mem=16 : 16M GPU, 240M/496M ARM split : Maximum ARM memory. Good for ARM desktop use. No accelerated<br />

gpu_mem=64 : 64M GPU, 192M/448M ARM split : Reasonable ARM memory. Simple video (omxplayer) or 3D (quake<br />

gpu_mem=128 : 128M GPU, 128M/384M ARM split : Use this for heavy 3D work, or 3D plus video. Needed for XBM<br />

To switch, edit the gpu_mem= setting in your config.txt and reboot.<br />

Note: other amounts are also possible, but setting gpu_mem=32 is usually the wrong<br />

choice. gpu_mem=16 is almost always a better choice.<br />

Also note that before the release of the 51MB PI a different method was used based on<br />

splitting the 256MB RAM in a part for the CPU and GPU. As this noting system was<br />

causing trouble if the amount of RAM was not always the same. the above new method<br />

was adapted.<br />

Make sure your editor doesn't change the first letter of the line into an uppercase letter, as<br />

some editors do. The entry is case sensitive.


<strong>SD</strong> cards<br />

▪ If you have problems, check you have latest firmware version (described above)<br />

▪ Some <strong>SD</strong> cards do not work on the R-Pi, so check the list of known <strong>SD</strong> cards.<br />

▪ If you are having problems setting up your <strong>SD</strong> card you might want to start by<br />

erasing it completely - especially if it has been used elsewhere and still contains data<br />

/ partitions.<br />

▪ Windows and Mac users can download a formatting tool from the <strong>SD</strong><br />

Association: https://www.sdcard.<strong>org</strong>/downloads/formatter_3/<br />

▪ Reformatting cards is also easy to do in a digital camera.<br />

▪ After writing the image to the <strong>SD</strong> card, verify that you can see the boot partition<br />

when you insert the <strong>SD</strong> card into your computer. The partition should contain a<br />

number of files, including start.elf and kernel.img. If you do not see these files on the<br />

<strong>SD</strong> card, you have made an error writing the image file.<br />

▪ If you are manually preparing your <strong>SD</strong> card on Linux or Mac OS using the dd<br />

command, this operation will completely erase any existing data and partitions. Make<br />

sure you write to the whole card (e.g. /dev/sdd) and not to an existing partition<br />

(e.g. /dev/sdd1).<br />

▪ If you have an sdcard that doesn't work with latest firmware, head over here<br />

(http://www.raspberrypi.<strong>org</strong>/phpBB3/viewtopic.php?f=63&t=6093) .<br />

▪ If you put the <strong>SD</strong> card into your PC in an attempt to write the R-Pi operating system<br />

onto it, and the PC tells you the card is write-protected, even with the write-protect<br />

tab in the correct, forward position, then you may have a faulty <strong>SD</strong>-card rewriter.<br />

There's a common fault with many <strong>SD</strong>-card rewriters - The write-protect tab is<br />

detected by a very thin, narrow metal strip, that is part of a switch. When the card is<br />

inserted, the write-protect tab is supposed to push the strip and make/break the<br />

contact, as needed. Unfortunately, these strips have a habit of getting stuck, because<br />

they are mounted in a thin plastic channel, and only need to be deformed slightly<br />

sideways to get jammed.<br />

Luckily, if you have this problem, most built-in card readers are easy to pull apart and<br />

repair; some users have even reported succesfully unjamming the switch with a blast of<br />

compressed air from a can into the <strong>SD</strong>-card slot without having to dismantle anything.<br />

You may also be able to temporarily get round the problem by putting the write-protect<br />

tab in a half-way position - this pushes on a different part of the strip and may break the<br />

contact - it's worth trying a few, slightly different positions. You could also use a USB-<br />

<strong>SD</strong> card adaptor, which are cheap to buy.


Networking<br />

Ethernet connection is lost when a USB device is plugged in<br />

This is often caused by inadequate power. Use a good power supply and a good power<br />

cable. Some cheap cables that work with a cell phone, cannot fully power the R-Pi. Some<br />

USB devices require a lot of power (>100 mA), so they must be used with a powered<br />

USB hub. Some cheap USB hubs suck power from the Raspberry Pi even if a USB power<br />

supply is connected. (More often than not, however, the reverse is true with cheap<br />

hubs—the Pi draws just enough power backwards from the powered hub to<br />

unsuccessfully attempt booting.)<br />

There is an ongoing issue with the Ethernet connection being lost when low-speed<br />

devices, such as mice or keyboards are connected via a powered USB hub. The simplest<br />

way to solve this is to connect your mouse and keyboard directly into the 2 USB ports on<br />

the R-Pi (assuming they draw less than 100 mA apiece).<br />

Ethernet connects at 10M instead of 100M<br />

The LED in the corner of the board labelled "10M" is mislabeled. When that LED is on,<br />

the R-Pi is actually connected at 100 Mbps. You can confirm the true transfer rate using a<br />

network benchmark such as iperf. You can also read the current network speed with<br />

cat /sys/class/net/eth0/speed<br />

Cannot ssh in to Pi<br />

In the Debian image, ssh is disabled by default. Boot commands are taken from /boot/<br />

boot.rc if that file present. There is an example file named boot_enable_ssh.rc that<br />

enables ssh. So:<br />

sudo mv /boot/boot_enable_ssh.rc /boot/boot.rc<br />

and reboot should enable ssh. (password as below)<br />

Network/USB chip gets too hot to touch<br />

This is normal. In open air at 24 C, the LAN9512 Ethernet/USB chip reaches about 52 C<br />

after some time. This is too hot to touch for more than a few seconds, but it is not<br />

unusually hot for the chip.


The LAN9512 data sheet (http://www.smsc.com/media/Downloads_Public/Data_Sheets/<br />

9512.pdf) in Table 4.1 on p.40 says it comes in two versions, rated for operation at an<br />

ambient temperature in still air (Ta) of 70 C (commercial) or 85 C (industrial). It uses 763<br />

mW at 3.3V with maximum traffic on 100baseT and both USB ports (Table 4.3.4, p. 42).<br />

There is a study of RasPi heat profiles by "Remy" at ¿Se calienta el ordenador Raspberry<br />

Pi? Estudio de sus temperaturas en funcionamiento (http://www.geektopia.es/es/<br />

technology/2012/06/22/articulos/se-calienta-el-ordenador-raspberry-pi-estudio-de-sustemperaturas-en-funcionamiento.html)<br />

(Is the Raspberry Pi computer getting hot? A<br />

study of its operational temperature.) The Spanish article has numerous color<br />

temperature images of RasPi in various operational modes, with the highest LAN9512<br />

case temperature measured as 64.5 C.<br />

Networking no longer works when changing <strong>SD</strong> card between two<br />

Raspberry Pis<br />

In some distributions, /etc/udev/rules.d/70-persistent-net.rules remembers which MAC<br />

address is associated with eth0, so each new device will be assigned as a different<br />

interface (eth1, eth2, etc.) due to the different MAC addresses. Editing /etc/udev/rules.d/<br />

70-persistent-net.rules to remove the invalid rules and rebooting may help fix the<br />

problem.<br />

Crashes occur with high network load<br />

The USB driver allocates memory from the kernel, and when traffic is very high (e.g.<br />

when using torrents/newsgroup downloads) this memory can be exhausted causing<br />

crashes/hangs. You should have a line like:<br />

vm.min_free_kbytes = 8192<br />

in /etc/sysctl.conf. Try increasing that number to 16384 (or higher). If that doesn't work,<br />

try adding to /boot/cmdline.txt<br />

smsc95xx.turbo_mode=N<br />

which will reduce network throughput, but has improved stability issues for some.<br />

Network connection fails when a Graphical User Interface is being used<br />

The network connection may fail when the command startx is used to enter a Graphical<br />

User Interface. This is caused by a bug in the USB driver related to certain types of USB<br />

mouse.


As of 1 September 2012, this fault is fixed in the latest firmware. To load the latest<br />

firmware, see http://elinux.<strong>org</strong>/R-Pi_Troubleshooting#Updating_firmware<br />

Passwords<br />

I do not know the password to login<br />

Please check the page http://www.raspberrypi.<strong>org</strong>/downloads for the correct username<br />

and password for each image.<br />

Here are the most common username/password combinations:<br />

▪ Debian after Feb 2012: pi/raspberry<br />

▪ Debian 17 Feb 2012: pi/suse<br />

▪ Arch: root/root<br />

▪ Bodhi: pi/bodhilinux<br />

Some programs refuse to accept my password<br />

While using Debian, some programs may ask for your password but refuse to accept a<br />

valid password.<br />

This is a fault in old Debian images previous to September 2012. If you are using an<br />

image with this fault, upgrade to a more modern image or enter the following command<br />

on the command line.<br />

gconftool-2 --type bool --set /apps/gksu/sudo-mode true<br />

Please enter this command carefully, the spaces are important. The command should be<br />

accepted without any response or errors.<br />

I don't know the root password<br />

There is no root password set by default on Debian. You are expected to do everything<br />

through sudo. You can set one with "sudo passwd root" - just make sure you know what<br />

you are doing with a root account.


Sound<br />

Sound does not work with an HDMI monitor<br />

This is caused by some computer monitors which select DVI mode even if an HDMI<br />

cable is connected. This fix may be necessary even if other HDMI devices work perfectly<br />

on the same monitor (or TV)!<br />

Edit the configuration file - see the instructions at R-Pi_ConfigurationFile.<br />

Add the following line to the configuration file:<br />

hdmi_drive=2<br />

This will force it to select HDMI mode.<br />

More reasons why sound does not work with an HDMI monitor<br />

With an HDMI connection it might be possible to hear:<br />

./hello_audio.bin 1<br />

but not:<br />

aplay /usr/share/sounds/alsa/Front_Center.wav<br />

Firstly, it seems that some HD TVs mute audible sound output when there is no digital<br />

input, and slowly fade the sound up and down at the start and end of digital input. This<br />

means that short duration sounds will not be heard. A work around is to play longer<br />

duration wav files.<br />

Secondly, it seems that some HD TVs mute audible sound output when there is only one<br />

channel of digital input. So, as the file Front_Center.wav is mono, it might not be heard.<br />

ALSA aplay uses the file information header to configure its digital output. And the aplay<br />

-c 2 option does not over-ride the settings aplay picks up from the file information header.<br />

So, if your HD TV doesn't accept just one channel of digital input, you cannot use aplay<br />

to hear a mono wav file. However, with the command speaker-test, the -c2 option does<br />

work, and sets 2 channels in the digital stream. So speaker-test can be used to hear the file<br />

Front_Center.wav in either the left or right speaker using the -s option 1 or 2. For<br />

example


Speaker-test -c 2 -s 1 -t wav -W /usr/share/sounds/alsa -w Front_Center.wav<br />

should be heard on the left speaker. But note that the command speaker-test seems only to<br />

like mono wav files, and seems not to play stereo wav files.<br />

The command aplay plays 2 channel stereo wav files in stereo sound without problem<br />

(provided they last longer than the time it takes the TV to unmute and remute). A helpful<br />

example I found is the stereo file LRMonoPhase4.wav at the Kozco web site [2]<br />

(http://www.kozco.com/tech/soundtests.html)<br />

Sound does not work at all, or in some applications<br />

In Debian Squeeze, sound is disabled by default because the ALSA sound driver is still<br />

"alpha" (not fully tested) on the R-Pi. To try out sound, from the command prompt before<br />

"startx", type<br />

sudo apt-get install alsa-utils<br />

sudo modprobe snd_bcm2835<br />

On Debian Wheezy, snd_bm2835 is enabled, by default, do that step is not necessary.<br />

Next try:<br />

sudo aplay /usr/share/sounds/alsa/Front_Center.wav<br />

By default output will be automatic (hdmi if hdmi supports audio, otherwise analogue).<br />

You can force it with:<br />

sudo amixer cset numid=3 <br />

where n is 0=auto, 1=headphones, 2=hdmi.<br />

With recent firmware, you can build hello_audio with:<br />

cd /opt/vc/src/hello_pi/<br />

./rebuild.sh<br />

cd hello_audio<br />

With older firmware<br />

cd /opt/vc/src/hello_pi/hello_audio<br />

make


to test analogue output:<br />

./hello_audio.bin<br />

and:<br />

./hello_audio.bin 1<br />

to test HDMI.<br />

Also note that you may have to add your user to the 'audio' group to get permission to<br />

access the sound card.<br />

Display<br />

Startx fails to start<br />

If you just get errors instead of a desktop when typing<br />

startx<br />

you may be out of storage space on the <strong>SD</strong> card. By default there are only a few hundred<br />

MB free in the 2 GB main partition, which can quickly fill up if you download files.<br />

Make sure there is some space free (gparted can expand a partition, if the <strong>SD</strong> card is ><br />

2GB). Also, installing some software may incorrectly create or modify a .Xauthority file<br />

in your home directory, causing startx to fail, according to this thread<br />

(http://www.raspberrypi.<strong>org</strong>/forum/troubleshooting/startx-fails-worked-yesterday) .<br />

Temporarily renaming, moving, or deleting that file may fix the problem.<br />

Screen is the wrong color<br />

Check and see if the DVI cable is screwed in properly. If that doesn't work then try this<br />

section.<br />

Video does not play or plays very slowly<br />

The only hardware-accelerated video player is in the XBMC distribution<br />

(http://www.raspberrypi.<strong>org</strong>/forum/general-discussion/openelec-meets-raspberry-pipart-1-xbmc)<br />

and its command line variant omxplayer. H264 is the only hardwareaccelerated<br />

codec, for playback. No hardware encoding is supported. Additional codecs<br />

were not purchased as licensing fees would have increased the R-Pi's price.


Can only get 800x480 resolution in LXDE (Arch linux)<br />

Known issue with distro package as of 17th April 2012 - there's some missing boot<br />

config information. Creating a suitable cmdline.txt fixes it - type the following at the<br />

Raspberry Pi command line:<br />

sudo echo "dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 root=/dev/mmcblk0p2 rootfstype<br />

Big black borders around small image on HD monitors<br />

Out of the box, R-Pi graphics don't necessarily fill the whole screen. This is due to<br />

something called "Underscan", and it can be fixed easily.<br />

Note: the best solution is to disable overscan in display menu options (it may be called<br />

"just scan", "screen fit", "HD size", "full pixel", "unscaled", "dot by dot", "native" or<br />

"1:1"), then use the disable_overscan=1 option.<br />

Edit the configuration file, see the instructions at R-Pi_ConfigurationFile.<br />

Add the following lines to the configuration file...<br />

If your display has no overscan:<br />

disable_overscan=1<br />

or if your display has some overscan:<br />

overscan_left=-20<br />

overscan_right=-20<br />

overscan_top=-20<br />

overscan_bottom=-20<br />

Making the R-Pi graphics fill the screen is a matter of experimenting with the numbers<br />

you put in the config.txt file. Change the numbers – try jumps of 5 or 10 at a time. Bigger<br />

negative numbers reduce the black borders (so -40 means less black border than -20). The<br />

numbers do not all have to be the same; you can use this feature to centre the display on<br />

the screen.


Writing spills off the screen on HD monitors<br />

Out of the box, R-Pi graphics may be larger than the 1080p (ie Full HD) screen. This is<br />

due to something called "Overscan", and it can be fixed easily by creating a simple text<br />

file on the R-Pi <strong>SD</strong> card by using Notepad on your PC.<br />

Follow the instructions in the section "Big black borders around small image on HD<br />

monitors", but use positive numbers for the overscan settings, for example<br />

overscan_left=20<br />

overscan_right=20<br />

overscan_top=20<br />

overscan_bottom=20<br />

Interference visible on a HDMI or DVI monitor<br />

This may be caused by loss of signal on long video cables. The signal level may be<br />

increased by changing a configuration parameter.


Edit the configuration file, see the instructions at R-Pi_ConfigurationFile.<br />

Add the following line to the configuration file<br />

config_hdmi_boost=4<br />

You may experiment with different values of config_hdmi_boost. Value 1 is used for very<br />

short cables, value 7 is used for very long cables. At your own risk, you can go up to 11,<br />

but risk frying a sensitive monitor.<br />

Note that various adapters, such as HDMI-to-DVI, can also cause power loss and<br />

therefore require high values of config_hdmi_boost even with short cables.<br />

This option can also help when there is no display output at all, the display periodically<br />

blanks, or colours are wrong/inverted.<br />

This symptom can also be caused by RasPi +5V (measured from TP1 to TP2) falling too<br />

low. See Troubleshooting Power Problems.


No HDMI output at all<br />

First make sure the display is powered on and switched to the right input before booting<br />

Pi.<br />

If you have the Wheezy (http://www.raspberrypi.<strong>org</strong>/archives/1435) image<br />

(recommended) then try<br />

hdmi_safe=1<br />

Otherwise, try adding the following line to the configuration file (similar to interference<br />

case above)<br />

config_hdmi_boost=4<br />

Your monitor/cable may not be asserting the hotplug signal. You can override this with:<br />

hdmi_force_hotplug=1<br />

Also try (http://www.raspberrypi.<strong>org</strong>/phpBB3/viewtopic.php?f=28&t=7513) the<br />

following video options:<br />

hdmi_group=2<br />

hdmi_mode=4<br />

which resolved an issue with DVI monitor reporting "input signal out of range"<br />

As a last resort, try deleting (rename to keep backup) config.txt from the <strong>SD</strong> card.<br />

Also check that the RasPi +5V voltage (measured from TP1 to TP2) is in the correct<br />

range. One user found that his DVI-D monitor blanked out when +5V was too low. See<br />

Troubleshooting Power Problems.<br />

Here's a rare cause: A standard HDMI cable has five individual ground wires plus a<br />

shield. Some cheap HDMI cables do not implement the individual grounds and just have<br />

a common foil shield that's connected to the HDMI plug shells at both ends. This works<br />

OK in most HDMI applications since most HDMI sources (like RasPi) and most<br />

monitors connect the shells to circuit ground. However, some HDMI or DVI monitors<br />

may requires individual ground lines. You can tell if an HDMI cable implements the<br />

individual grounds by checking for continuity using an Ohmmeter or multimeter. You can<br />

find the HDMI pinout for full-size connectors at Wikipedia (http://en.wikipedia.<strong>org</strong>/wiki/<br />

HDMI) .


Composite displays no image<br />

The output display will default to HDMI if a HDMI display is connected, and composite<br />

if not. Make sure there isn't a HDMI cable connected when you want to use composite<br />

output.<br />

Also, check that your TV is set to the correct input, normally marked "AV". If your TV<br />

has multiple AV inputs, try all of the inputs, normally by pressing a button marked "AV"<br />

or "Input" or "Source" or "->O" on the remote control.<br />

Composite displays only black and white image<br />

The composite display defaults to NTSC (American) output. Most TVs will show an<br />

image with that, but older PAL (European) televisions may display only back and white<br />

or no image. To fix this:<br />

Edit the configuration file, see the instructions at R-Pi_ConfigurationFile.<br />

Add the following line to the configuration file<br />

sdtv_mode=2<br />

(You can try other values: 0 is NTSC, 1 is Japanese NTSC, 2 is PAL, 3 is Brazilian PAL)<br />

HDMI -> VGA adapters<br />

Some good information can be found here:<br />

▪ <strong>RPi</strong>_VerifiedPeripherals#HDMI-.3EVGA_converter_boxes<br />

▪ (<strong>RPi</strong> forum) Serious HDMI Problems. What's that smell? Burning Raspberry!<br />

(http://www.raspberrypi.<strong>org</strong>/phpBB3/viewtopic.php?f=28&t=9819)<br />

A commonly used adapter from Ebay: gallery with detailed images & steps of a<br />

modification to use external power source: HERE (http://imgur.com/a/sLogs/all) --by<br />

Pinoccio<br />

GPIO<br />

Remember that the GPIO pins are 3.3V logic level only, and are NOT 5V tolerant.<br />

If you momentarily shorted the two end GPIO pins together (+3.3V and +5V), or a<br />

supply pin to ground, and the Pi appears to be dead, don't panic. The input polyfuse may<br />

have tripped. It is self-resetting after it cools down and the polymer re-crystallizes, which<br />

can take several hours. Set the Pi aside and try again later.


The GPIO pins connect directly into the core of the ARM processer, and are staticsensitive,<br />

so you should avoid touching the pins wherever possible. If you are carrying a<br />

static charge, for example by taking off an acrylic pullover, or walking across a nylon<br />

carpet, touching the GPIO pins could destroy your R-Pi, so always earth yourself before<br />

touching the pins or anything connected to them.<br />

General<br />

The time is incorrect<br />

If the clock is off by a series of hours, in the command line type:<br />

sudo dpkg-reconfigure tzdata<br />

The R-Pi has no real-time clock, so unless it can access a timeserver over the network at<br />

boot, or time is manually entered by the user, the time/date will restart counting from the<br />

last logged time in the previous session.<br />

A part broke off<br />

The silver cylinder near the microUSB power input is a 220 uF capacitor ("C6" on<br />

schematic). It sticks up and due to the small surface-mount pads, it is easy to break off;<br />

several people have done so. This is a power supply filter capacitor which reduces any<br />

noise and spikes on the input +5V power. If you like, you can solder it back on, or just<br />

leave it off. If you do solder it back on, take care to observe the correct polarity with the<br />

black stripe towards the board edge. This part, C6 is a "just in case" component which is<br />

good design practice to include, but as it turns out (http://www.raspberrypi.<strong>org</strong>/phpBB3/<br />

viewtopic.php?f=2&t=4926%7C) most power supplies still work OK without this part<br />

installed. This part is also discussed here (http://elinux.<strong>org</strong>/<br />

<strong>RPi</strong>_Hardware#Capacitor_C6) .<br />

Unable to install new software<br />

When trying to install a software package (using the command sudo apt-get install xxxx)<br />

you may see the error<br />

Package yyyy is not available<br />

This means that your software list is out of date. Before attempting to install software,<br />

you should always make sure that you are using the latest software list by using the<br />

command


sudo apt-get update<br />

Troubleshooting power problems<br />

If you think you have a problem with your power supply, it is a good idea to check the<br />

actual voltage on the Raspberry Pi circuit board. Two test points labelled TP1 and TP2<br />

are provided on the circuit board to facilitate voltage measurements.<br />

Use a multimeter which is set to the range 20 volts DC (or 20v =). You should see a<br />

voltage between 4.75 and 5.25 volts. Anything outside this range indicates that you have<br />

a problem with your power supply or your power cable.<br />

If you have not used a multimeter before, see these [basic instructions<br />

(http://www.sparkfun.com/tutorials/202) ]<br />

Note: Even if the multimeter shows the correct voltage, you may have some power<br />

supply problems. A multimeter only displays the average voltage. If there are very shortlived<br />

dips or spikes in the voltage, these will not be shown by the multimeter. It is best to<br />

measure voltage when Pi is busy.<br />

If your voltage is low, it could be:<br />

▪ The power supply produces too low a voltage<br />

▪ The power supply cannot supply enough current, which results in a voltage drop.<br />

Make sure Power supply is labelled as at least 700mA. (Some cheap power supplies<br />

don't deliver what is labelled).<br />

▪ The Micro USB power cable is low quality. Some Micro USB cables have very thin<br />

conductors, resulting in enough voltage drop for RasPi to fail even if the power<br />

supply itself is fine. For details, see On_the_<strong>RPi</strong>_usb_power_cable.<br />

▪ Attached USB devices want too much power. The Pi is only designed for up to<br />

100mA USB devices. A USB device wanting more that that will cause a voltage<br />

drop.<br />

▪ The F3 Polyfuse could be blown or bad, see below for how to test.<br />

Note: keyboards with LCD displays, built in USB hubs, backlights, etc are likely to be<br />

problematic. Try to use a basic one. Wifi dongles are also unlikely to work when directly<br />

connected. Connect high powered USB devices to a powered USB hub.<br />

Try booting without HDMI, ethernet or USB deviced plugged in, and see if the voltage<br />

improves. See also: Power Supply Problems


How to test the F3 polyfuse [17]<br />

1. Remove all the things plugged into your Raspberry Pi, including <strong>SD</strong> card.<br />

2. Locate the TP2 test point on the top of the board.


3. Turn your board over and find the TP2 test point on the bottom of the board. One<br />

lead of your multi-meter will always be on the TP2 point on the bottom of the<br />

board for all tests.<br />

4. Plug your power supply into the micro usb port and power your board.<br />

5. Place one lead of your multi-meter on the TP2 point on the bottom of the board<br />

and one lead on the side of the F3 fuse closest to the edge of the board. Note the<br />

voltage. This is the voltage coming into your <strong>RPi</strong> from your power supply.<br />

6. Keeping one lead on TP2, move the other lead to the side of F3 closest to the <strong>SD</strong><br />

card slot. This is the voltage coming out of the F3 fuse.<br />

Multi-meter lead placement for testing the Raspberry Pi F3 Polyfuse<br />

If the voltage is different by more than about 0.3v you probably have an issue with the F3<br />

fuse [18] .<br />

When polyfuses "blow" their resistance increases dramatically, there by limiting the<br />

voltage that can pass through them. If your power problem suddenly appeared after your<br />

board was known to be working fine, it is probable the fuse is just "blown" and will<br />

return to normal. It can take 24 hours for the resistance to go back down to normal so<br />

leave it unpowered and check it again in 24 hours. If your power problem has been since<br />

the first time you plugged in your board, the fuse was probably bad when it arrived and<br />

should be returned to place you purchased it.<br />

If you prefer to make your own PSU - see: Power Supply construction - HowTo


Hardware versions/revisions<br />

Several different boards have been found probably from different assembly lines, and the<br />

following tables try to help you identify your board for better troubleshooting.<br />

Look for the date of manufacturing printed with the year and week. In this example year<br />

(2012) and week (18th):<br />

For what we can see for model B boards there are<br />

mainly two versions that differ on the type RAM<br />

used, Samsung (S) and Hynix (H).<br />

For Board ver. we used: (ex.: BS1218 is "Model B,<br />

Samsung RAM, 18th week of 2012")<br />

Model A:<br />

Board<br />

ver.<br />

Model B:<br />

RAM<br />

Chip<br />

USB<br />

Chip<br />

Front Back


Board<br />

ver.<br />

RAM<br />

Chip<br />

USB<br />

Chip<br />

BS12xx Samsung SMSC<br />

BH12xx Hynix SMSC<br />

Front Back<br />

See a complete list and user feedback here: RaspberryPi Boards<br />

References<br />

1. ↑ http://www.raspberrypi.<strong>org</strong>/phpBB3/viewtopic.php?f=28&t=7528


2. ↑ http://www.raspberrypi.<strong>org</strong>/phpBB3/<br />

viewtopic.php?f=6&t=5096&p=76503#p76503<br />

3. ↑ http://www.raspberrypi.<strong>org</strong>/phpBB3/<br />

viewtopic.php?f=6&t=5096&p=76654#p76654<br />

4. ↑ http://www.raspberrypi.<strong>org</strong>/forum/troubleshooting/will-not-boot-consistentlyany-suggestions-before-i-send-my-pi-back<br />

5. ↑ http://www.raspberrypi.<strong>org</strong>/forum/troubleshooting/booted-once-wont-workagain<br />

6. ↑ http://www.raspberrypi.<strong>org</strong>/forum/troubleshooting/possible-fault-pi-bootssometimes-but-not-always<br />

7. ↑ http://www.raspberrypi.<strong>org</strong>/phpBB3/<br />

viewtopic.php?f=6&t=5900&p=79008#p79008<br />

8. ↑ http://www.raspberrypi.<strong>org</strong>/phpBB3/<br />

viewtopic.php?f=6&t=5900&p=78973#p78973<br />

9. ↑ https://github.com/raspberrypi/linux/commit/<br />

e09244e60881148431ecd016ccc42f1fa0678556<br />

10. ↑ http://www.raspberrypi.<strong>org</strong>/forum/troubleshooting/usb-power-hub-wifi/<br />

page-4#p74609<br />

11. ↑ http://www.raspberrypi.<strong>org</strong>/forum/troubleshooting/success-with-kb-mousewifi?value=3761&type=8&include=1&search=1<br />

12. ↑ http://www.raspberrypi.<strong>org</strong>/forum/troubleshooting/display-and-keyboardissues-on-a-real-pi#p74816<br />

13. ↑ http://www.raspberrypi.<strong>org</strong>/phpBB3/viewtopic.php?f=28&t=7533<br />

14. ↑ http://www.raspberrypi.<strong>org</strong>/phpBB3/viewtopic.php?t=5766#p77576<br />

15. ↑ http://www.raspberrypi.<strong>org</strong>/phpBB3/viewtopic.php?t=5766#p80995<br />

16. ↑ http://www.raspberrypi.<strong>org</strong>/phpBB3/<br />

viewtopic.php?f=28&t=6822&p=89589&hilit=eben#p89513<br />

17. ↑ http://www.raspberrypi.<strong>org</strong>/phpBB3/viewtopic.php?f=26&t=22318<br />

18. ↑ http://www.raspberrypi.<strong>org</strong>/phpBB3/<br />

viewtopic.php?f=28&t=24005&p=222526#p222526<br />

Raspberry Pi<br />

Model Wizard - Buying Guide - <strong>SD</strong> <strong>Card</strong> <strong>Setup</strong><br />

Startup - Basic <strong>Setup</strong> - Advanced <strong>Setup</strong> - Beginners<br />

Guide - Troubleshooting<br />

Hardware - Hardware History - Low-level<br />

Hardware<br />

peripherals - Expansion Boards<br />

Peripherals Screens - Cases - Other Peripherals<br />

Software - Distributions - Kernel - Performance<br />

Software<br />

- Programming - VideoCore APIs<br />

Tutorials - Guides - Projects - Tasks -<br />

Projects<br />

DataSheets - Education - Communities<br />

Retrieved from "http://elinux.<strong>org</strong>/index.php?title=R-Pi_Troubleshooting&oldid=195746"<br />

Category: RaspberryPi


▪ This page was last modified on 27 November 2012, at 17:35.<br />

▪ Content is available under a Creative Commons Attribution-ShareAlike 3.0<br />

Unported License.


<strong>RPi</strong>config<br />

From <strong>eLinux</strong>.<strong>org</strong><br />

(Redirected from <strong>RPi</strong> config.txt)<br />

The Raspberry Pi config.txt file is read by the GPU before the ARM core is initialised. It<br />

can be used to set various system configuration parameters.<br />

This file is an optional file on the boot partition. It would normally be accessible as /boot/<br />

config.txt from Linux.<br />

To edit the configuration file, see the instructions at R-Pi_ConfigurationFile.<br />

You can get your current active settings with the following commands:<br />

vcgencmd get_config - lists a specific config value. E.g. vcgencmd get_config arm_freq<br />

vcgencmd get_config int - lists all the integer config options that are set (non-zero)<br />

vcgencmd get_config str - lists all the string config options that are set (non-null)<br />

Contents<br />

▪ 1 File format<br />

▪ 2 Memory<br />

▪ 3 Video<br />

▪ 3.1 Video mode options<br />

▪ 3.2 Which values are valid for my monitor?<br />

▪ 4 Licensed Codecs<br />

▪ 5 Boot<br />

▪ 6 Overclocking<br />

▪ 6.1 Overclocking options<br />

▪ 6.1.1 force_turbo mode<br />

▪ 6.2 Clocks relationship<br />

▪ 6.3 Tested values<br />

▪ 7 References<br />

File format<br />

The format is "property=value" where value is an integer. You may specify only one<br />

option per line. Comments may be added by starting a line with the '#' character.


Here is an example file<br />

# Set stdv mode to PAL (as used in Europe)<br />

sdtv_mode=2<br />

# Force the monitor to HDMI mode so that sound will be sent over HDMI cable<br />

hdmi_drive=2<br />

# Set monitor mode to DMT<br />

hdmi_group=2<br />

# Set monitor resolution to 1024x768 XGA 60Hz (HDMI_DMT_XGA_60)<br />

hdmi_mode=16<br />

# Make display smaller to stop text spilling off the screen<br />

overscan_left=20<br />

overscan_right=12<br />

overscan_top=10<br />

overscan_bottom=10<br />

And here is another example file (https://raw.github.com/Evilpaul/<strong>RPi</strong>-config/master/<br />

config.txt) , containing extended documentation of features.<br />

Memory<br />

disable_l2cache disable ARM access to GPU's L2 cache. Needs corresponding L2<br />

disabled kernel. Default 0<br />

gpu_mem GPU memory in megabyte. Sets the memory split between the ARM and<br />

GPU. ARM gets the remaining memory. Min 16. Default 64<br />

gpu_mem_256 GPU memory in megabyte for the 256MB Raspberry Pi. Ignored by the<br />

512MB RP. Overrides gpu_mem. Max 192. Default not set<br />

gpu_mem_512 GPU memory in megabyte for the 512MB Raspberry Pi. Ignored by the<br />

256MB RP. Overrides gpu_mem. Max 448. Default not set<br />

Video<br />

Video mode options<br />

sdtv_mode defines the TV standard for composite output (default=0)<br />

sdtv_mode=0 Normal NTSC<br />

sdtv_mode=1 Japanese version of NTSC – no pedestal<br />

sdtv_mode=2 Normal PAL<br />

sdtv_mode=3 Brazilian version of PAL – 525/60 rather than 625/50, different subcarrier<br />

sdtv_aspect defines the aspect ratio for composite output (default=1)


sdtv_aspect=1 4:3<br />

sdtv_aspect=2 14:9<br />

sdtv_aspect=3 16:9<br />

sdtv_disable_colourburst disables colour burst on composite output. The picture will be<br />

monochrome, but possibly sharper<br />

sdtv_disable_colourburst=1 colour burst is disabled<br />

hdmi_safe Use "safe mode" settings to try to boot with maximum hdmi compatibility.<br />

This is the same as the combination of: hdmi_force_hotplug=1, config_hdmi_boost=4,<br />

hdmi_group=1, hdmi_mode=1, disable_overscan=0<br />

hdmi_safe=1<br />

hdmi_ignore_edid Enables the ignoring of EDID/display data if your display is a crappy<br />

Chinese one<br />

hdmi_ignore_edid=0xa5000080<br />

hdmi_edid_file when set to 1, will read the edid data from the edid.dat file instead of<br />

from the monitor. [1]<br />

hdmi_edid_file=1<br />

hdmi_force_edid_audio Pretends all audio formats are supported by display, allowing<br />

passthrough of DTS/AC3 even when not reported as supported.<br />

hdmi_force_edid_audio=1<br />

avoid_edid_fuzzy_match Avoid fuzzy matching of modes described in edid. Picks the<br />

standard mode with matching resolution and closest framerate even if blanking is wrong.<br />

avoid_edid_fuzzy_match=1<br />

hdmi_ignore_cec_init Doesn't sent initial active source message. Avoids bringing (CEC<br />

enabled) TV out of standby and channel switch when rebooting.<br />

hdmi_ignore_cec_init=1


hdmi_ignore_cec Pretends CEC is not supported at all by TV. No CEC functions will be<br />

supported.<br />

hdmi_ignore_cec=1<br />

hdmi_force_hotplug Pretends HDMI hotplug signal is asserted so it appears a HDMI<br />

display is attached<br />

hdmi_force_hotplug=1 Use HDMI mode even if no HDMI monitor is detected<br />

hdmi_ignore_hotplug Pretends HDMI hotplug signal is not asserted so it appears a<br />

HDMI display is not attached<br />

hdmi_ignore_hotplug=1 Use composite mode even if HDMI monitor is detected<br />

hdmi_drive chooses between HDMI and DVI modes<br />

hdmi_drive=1 Normal DVI mode (No sound)<br />

hdmi_drive=2 Normal HDMI mode (Sound will be sent if supported and enabled)<br />

hdmi_group defines the HDMI type<br />

Not specifying the group, or setting to 0 will use the preferred group reported by the edid.<br />

hdmi_group=1 CEA<br />

hdmi_group=2 DMT<br />

hdmi_mode defines screen resolution in CEA or DMT format<br />

These values are valid if hdmi_group=1 (CEA)<br />

hdmi_mode=1 VGA<br />

hdmi_mode=2 480p 60Hz<br />

hdmi_mode=3 480p 60Hz H<br />

hdmi_mode=4 720p 60Hz<br />

hdmi_mode=5 1080i 60Hz<br />

hdmi_mode=6 480i 60Hz<br />

hdmi_mode=7 480i 60Hz H<br />

hdmi_mode=8 240p 60Hz<br />

hdmi_mode=9 240p 60Hz H<br />

hdmi_mode=10 480i 60Hz 4x<br />

hdmi_mode=11 480i 60Hz 4x H<br />

hdmi_mode=12 240p 60Hz 4x<br />

hdmi_mode=13 240p 60Hz 4x H<br />

hdmi_mode=14 480p 60Hz 2x<br />

hdmi_mode=15 480p 60Hz 2x H<br />

hdmi_mode=16 1080p 60Hz<br />

hdmi_mode=17 576p 50Hz<br />

hdmi_mode=18 576p 50Hz H


hdmi_mode=19 720p 50Hz<br />

hdmi_mode=20 1080i 50Hz<br />

hdmi_mode=21 576i 50Hz<br />

hdmi_mode=22 576i 50Hz H<br />

hdmi_mode=23 288p 50Hz<br />

hdmi_mode=24 288p 50Hz H<br />

hdmi_mode=25 576i 50Hz 4x<br />

hdmi_mode=26 576i 50Hz 4x H<br />

hdmi_mode=27 288p 50Hz 4x<br />

hdmi_mode=28 288p 50Hz 4x H<br />

hdmi_mode=29 576p 50Hz 2x<br />

hdmi_mode=30 576p 50Hz 2x H<br />

hdmi_mode=31 1080p 50Hz<br />

hdmi_mode=32 1080p 24Hz<br />

hdmi_mode=33 1080p 25Hz<br />

hdmi_mode=34 1080p 30Hz<br />

hdmi_mode=35 480p 60Hz 4x<br />

hdmi_mode=36 480p 60Hz 4xH<br />

hdmi_mode=37 576p 50Hz 4x<br />

hdmi_mode=38 576p 50Hz 4x H<br />

hdmi_mode=39 1080i 50Hz reduced blanking<br />

hdmi_mode=40 1080i 100Hz<br />

hdmi_mode=41 720p 100Hz<br />

hdmi_mode=42 576p 100Hz<br />

hdmi_mode=43 576p 100Hz H<br />

hdmi_mode=44 576i 100Hz<br />

hdmi_mode=45 576i 100Hz H<br />

hdmi_mode=46 1080i 120Hz<br />

hdmi_mode=47 720p 120Hz<br />

hdmi_mode=48 480p 120Hz<br />

hdmi_mode=49 480p 120Hz H<br />

hdmi_mode=50 480i 120Hz<br />

hdmi_mode=51 480i 120Hz H<br />

hdmi_mode=52 576p 200Hz<br />

hdmi_mode=53 576p 200Hz H<br />

hdmi_mode=54 576i 200Hz<br />

hdmi_mode=55 576i 200Hz H<br />

hdmi_mode=56 480p 240Hz<br />

hdmi_mode=57 480p 240Hz H<br />

hdmi_mode=58 480i 240Hz<br />

hdmi_mode=59 480i 240Hz H<br />

H means 16:9 variant (of a normally 4:3 mode).<br />

2x means pixel doubled (i.e. higher clock rate, with each pixel repeated twice)<br />

4x means pixel quadrupled (i.e. higher clock rate, with each pixel repeated four times)<br />

These values are valid if hdmi_group=2 (DMT)<br />

hdmi_mode=1 640x350 85Hz<br />

hdmi_mode=2 640x400 85Hz<br />

hdmi_mode=3 720x400 85Hz<br />

hdmi_mode=4 640x480 60Hz<br />

hdmi_mode=5 640x480 72Hz<br />

hdmi_mode=6 640x480 75Hz<br />

hdmi_mode=7 640x480 85Hz<br />

hdmi_mode=8 800x600 56Hz<br />

hdmi_mode=9 800x600 60Hz<br />

hdmi_mode=10 800x600 72Hz<br />

hdmi_mode=11 800x600 75Hz<br />

hdmi_mode=12 800x600 85Hz<br />

hdmi_mode=13 800x600 120Hz<br />

hdmi_mode=14 848x480 60Hz<br />

hdmi_mode=15 1024x768 43Hz DO NOT USE<br />

hdmi_mode=16 1024x768 60Hz<br />

hdmi_mode=17 1024x768 70Hz


hdmi_mode=18 1024x768 75Hz<br />

hdmi_mode=19 1024x768 85Hz<br />

hdmi_mode=20 1024x768 120Hz<br />

hdmi_mode=21 1152x864 75Hz<br />

hdmi_mode=22 1280x768 reduced blanking<br />

hdmi_mode=23 1280x768 60Hz<br />

hdmi_mode=24 1280x768 75Hz<br />

hdmi_mode=25 1280x768 85Hz<br />

hdmi_mode=26 1280x768 120Hz reduced blanking<br />

hdmi_mode=27 1280x800 reduced blanking<br />

hdmi_mode=28 1280x800 60Hz<br />

hdmi_mode=29 1280x800 75Hz<br />

hdmi_mode=30 1280x800 85Hz<br />

hdmi_mode=31 1280x800 120Hz reduced blanking<br />

hdmi_mode=32 1280x960 60Hz<br />

hdmi_mode=33 1280x960 85Hz<br />

hdmi_mode=34 1280x960 120Hz reduced blanking<br />

hdmi_mode=35 1280x1024 60Hz<br />

hdmi_mode=36 1280x1024 75Hz<br />

hdmi_mode=37 1280x1024 85Hz<br />

hdmi_mode=38 1280x1024 120Hz reduced blanking<br />

hdmi_mode=39 1360x768 60Hz<br />

hdmi_mode=40 1360x768 120Hz reduced blanking<br />

hdmi_mode=41 1400x1050 reduced blanking<br />

hdmi_mode=42 1400x1050 60Hz<br />

hdmi_mode=43 1400x1050 75Hz<br />

hdmi_mode=44 1400x1050 85Hz<br />

hdmi_mode=45 1400x1050 120Hz reduced blanking<br />

hdmi_mode=46 1440x900 reduced blanking<br />

hdmi_mode=47 1440x900 60Hz<br />

hdmi_mode=48 1440x900 75Hz<br />

hdmi_mode=49 1440x900 85Hz<br />

hdmi_mode=50 1440x900 120Hz reduced blanking<br />

hdmi_mode=51 1600x1200 60Hz<br />

hdmi_mode=52 1600x1200 65Hz<br />

hdmi_mode=53 1600x1200 70Hz<br />

hdmi_mode=54 1600x1200 75Hz<br />

hdmi_mode=55 1600x1200 85Hz<br />

hdmi_mode=56 1600x1200 120Hz reduced blanking<br />

hdmi_mode=57 1680x1050 reduced blanking<br />

hdmi_mode=58 1680x1050 60Hz<br />

hdmi_mode=59 1680x1050 75Hz<br />

hdmi_mode=60 1680x1050 85Hz<br />

hdmi_mode=61 1680x1050 120Hz reduced blanking<br />

hdmi_mode=62 1792x1344 60Hz<br />

hdmi_mode=63 1792x1344 75Hz<br />

hdmi_mode=64 1792x1344 120Hz reduced blanking<br />

hdmi_mode=65 1856x1392 60Hz<br />

hdmi_mode=66 1856x1392 75Hz<br />

hdmi_mode=67 1856x1392 120Hz reduced blanking<br />

hdmi_mode=68 1920x1200 reduced blanking<br />

hdmi_mode=69 1920x1200 60Hz<br />

hdmi_mode=70 1920x1200 75Hz<br />

hdmi_mode=71 1920x1200 85Hz<br />

hdmi_mode=72 1920x1200 120Hz reduced blanking<br />

hdmi_mode=73 1920x1440 60Hz<br />

hdmi_mode=74 1920x1440 75Hz<br />

hdmi_mode=75 1920x1440 120Hz reduced blanking<br />

hdmi_mode=76 2560x1600 reduced blanking<br />

hdmi_mode=77 2560x1600 60Hz<br />

hdmi_mode=78 2560x1600 75Hz<br />

hdmi_mode=79 2560x1600 85Hz<br />

hdmi_mode=80 2560x1600 120Hz reduced blanking<br />

hdmi_mode=81 1366x768 60Hz<br />

hdmi_mode=82 1080p 60Hz


hdmi_mode=83 1600x900 reduced blanking<br />

hdmi_mode=84 2048x1152 reduced blanking<br />

hdmi_mode=85 720p 60Hz<br />

hdmi_mode=86 1366x768 reduced blanking<br />

overscan_left number of pixels to skip on left<br />

overscan_right number of pixels to skip on right<br />

overscan_top number of pixels to skip on top<br />

overscan_bottom number of pixels to skip on bottom<br />

framebuffer_width console framebuffer width in pixels. Default is display width minus<br />

overscan.<br />

framebuffer_height console framebuffer height in pixels. Default is display height<br />

minus overscan.<br />

framebuffer_depth console framebuffer depth in bits per pixel. Default is 16. 8bit is<br />

valid, but default RGB palette makes an unreadable screen. 24bit looks better but has<br />

corruption issues as of 20120615. 32bit has no corruption issues but needs<br />

framebuffer_ignore_alpha=1 and shows the wrong colors as of 20120615.<br />

framebuffer_ignore_alpha set to 1 to disable alpha channel. Helps with 32bit.<br />

test_mode enable test sound/image during boot for manufacturing test.<br />

disable_overscan set to 1 to disable overscan.<br />

config_hdmi_boost configure the signal strength of the HDMI interface. Default is 0.<br />

Try 4 if you have interference issues with hdmi. 7 is the maximum.<br />

display_rotate rotates the display clockwise on the screen (default=0) or flips the<br />

display.<br />

display_rotate=0 Normal<br />

display_rotate=1 90 degrees<br />

display_rotate=2 180 degrees<br />

display_rotate=3 270 degrees<br />

display_rotate=0x10000 horizontal flip<br />

display_rotate=0x20000 vertical flip<br />

Note: the 90 and 270 degrees rotation options require additional memory on GPU, so<br />

won't work with the 16M GPU split. Probably the reason for:<br />

▪ Crashes my RPI before Linux boots if set to "1" -- REW 20120913.


Which values are valid for my monitor?<br />

Your HDMI monitor may support only a limited set of formats. To find out which formats<br />

are supported, use the following method.<br />

▪ Set the output format to VGA 60Hz (hdmi_group=1 hdmi_mode=1) and boot up the<br />

Raspberry Pi<br />

▪ Enter the following command to give a list of CEA supported modes<br />

/opt/vc/bin/tvservice -m CEA<br />

▪ Enter the following command to give a list of DMT supported modes<br />

/opt/vc/bin/tvservice -m DMT<br />

▪ Enter the following command to show your current state<br />

/opt/vc/bin/tvservice -s<br />

▪ Enter the following commands to dump more detailed information from your monitor<br />

/opt/vc/bin/tvservice -d edid.dat<br />

/opt/vc/bin/edidparser edid.dat<br />

The edid.dat should also be provided when troubleshooting problems with the default<br />

HDMI mode<br />

Licensed Codecs<br />

Hardware decoding of additional codecs can be enabled by purchasing a license that is<br />

locked to the CPU serial number of your Raspberry Pi.<br />

decode_MPG2 License key to allow hardware MPEG-2 decoding.<br />

decode_MPG2=0x12345678<br />

decode_WVC1 License key to allow hardware VC-1 decoding.<br />

decode_WVC1=0x12345678<br />

License setup for <strong>SD</strong>-card sharing between multiple Pis. Maximum of 8 licenses at once.


decode_XXXX=0x12345678,0xabcdabcd,0x87654321,...<br />

Boot<br />

disable_commandline_tags stop start.elf from filling in ATAGS (memory from 0x100)<br />

before launching kernel<br />

cmdline (string) command line parameters. Can be used instead of cmdline.txt file<br />

kernel (string) alternative name to use when loading kernel. Default "kernel.img"<br />

kernel_address address to load kernel.img file at<br />

kernel_old (bool) if 1, load kernel at 0x0<br />

ramfsfile (string) ramfs file to load<br />

ramfsaddr address to load ramfs file at<br />

initramfs (string address) ramfs file and adress to load it at (it's like ramfsfile+ramfsaddr<br />

in one option). NOTE: this option uses different syntax than all other options - you<br />

should not use "=" character here. Example:<br />

initramfs initramf.gz 0x00800000<br />

device_tree_address address to load device_tree at<br />

init_uart_baud initial uart baud rate. Default 115200<br />

init_uart_clock initial uart clock. Default 3000000 (3Mhz)<br />

init_emmc_clock initial emmc clock. Default 100000000 (100MHz)<br />

boot_delay wait for given number of seconds in start.elf before loading kernel. delay =<br />

1000 * boot_delay + boot_delay_ms. Default 1<br />

boot_delay_ms wait for given number of milliseconds in start.elf before loading kernel.<br />

Default 0<br />

avoid_safe_mode if set to 1, safe_mode boot won't be enabled. Default 0


Overclocking<br />

WARNING: Setting any of the parameters which overvolt your Raspberry Pi can set a<br />

permanent bit within the SOC and your warranty is void. Warranty will be voided when<br />

you use force_turbo or current_limit_override or temp_limit>85 together with<br />

over_voltage>0. [2] So If you care about the warranty, do not adjust voltage.<br />

The latest kernel has a cpufreq (http://www.pantz.<strong>org</strong>/software/cpufreq/<br />

usingcpufreqonlinux.html) kernel driver with the "ondemand" governor enabled by<br />

default. It has no effect if you have no overclock settings. But when you do, the arm<br />

frequency will vary with processor load. Non default values are only used when needed<br />

according to the used governor. You can adjust the minimum values with the *_min<br />

config options or disable dynamic clocking with force_turbo=1. [3]<br />

Overclock and overvoltage will be disabled at runtime when the SoC reaches 85°C to<br />

cool it down . You should not hit the limit, even with maximum settings at 25°C ambient<br />

temperature. [4]<br />

Also at your own risk you can try overscan settings from our wiki. These were posted<br />

(http://www.raspberrypi.<strong>org</strong>/forum/features-and-requests/should-we-make-a-wiki-pagefor-overscan-settings)<br />

on the forum and are not confimed to work.<br />

Overclocking options<br />

Option Description<br />

arm_freq Frequency of ARM in MHz. Default 700<br />

gpu_freq<br />

core_freq<br />

Sets core_freq, h264_freq, isp_freq, v3d_freq together. Default<br />

250<br />

Frequency of GPU processor core in MHz. It have an impact<br />

on ARM performance since it drives L2 cache. Default 250<br />

h264_freq Frequency of hardware video block in MHz. Default 250<br />

isp_freq<br />

Frequency of image sensor pipeline block in MHz. Default<br />

250<br />

v3d_freq Frequency of 3D block in MHz. Default 250<br />

avoid_pwm_pll<br />

Unlink core_freq from the rest of the gpu. Can cause low<br />

quality analog audio, which should be fixed with latest<br />

firmware. Default 0<br />

sdram_freq Frequency of <strong>SD</strong>RAM in MHz. Default 400


over_voltage<br />

over_voltage_sdram<br />

over_voltage_sdram_c<br />

over_voltage_sdram_i<br />

over_voltage_sdram_p<br />

force_turbo<br />

initial_turbo<br />

arm_freq_min<br />

core_freq_min<br />

sdram_freq_min<br />

over_voltage_min<br />

temp_limit<br />

current_limit_override<br />

force_turbo mode<br />

force_turbo=0<br />

ARM/GPU core voltage adjust. [-16,8] equates to [0.8V,1.4V]<br />

with 0.025V steps. force_turbo will allow values higher than 6.<br />

Default 0 (1.2V) [5]<br />

Sets over_voltage_sdram_c, over_voltage_sdram_i,<br />

over_voltage_sdram_p together<br />

<strong>SD</strong>RAM controller voltage adjust. [-16,8] equates to<br />

[0.8V,1.4V] with 0.025V steps. Default 0 (1.2V) [5]<br />

<strong>SD</strong>RAM I/O voltage adjust. [-16,8] equates to [0.8V,1.4V]<br />

with 0.025V steps. Default 0 (1.2V) [5]<br />

<strong>SD</strong>RAM phy voltage adjust. [-16,8] equates to [0.8V,1.4V]<br />

with 0.025V steps. Default 0 (1.2V) [5]<br />

Disables dynamic cpufreq driver and minimum settings below.<br />

Enables h264/v3d/isp overclock options. Default 0<br />

Enables turbo mode from boot for the given value in seconds<br />

(up to 60) or until cpufreq sets a frequency. Can help with<br />

sdcard corruption if overclocked. Default 0 [6]<br />

Minimum value of arm_freq used for dynamic clocking.<br />

Default 700<br />

Minimum value of core_freq used for dynamic clocking.<br />

Default 250<br />

Minimum value of sdram_freq used for dynamic clocking.<br />

Default 400<br />

Minimum value of over_voltage used for dynamic clocking.<br />

Default 0<br />

Overheat protection. Sets clocks and voltages to default when<br />

the SoC reaches this Celsius value. Setting this higher than<br />

default voids warranty. Default 85<br />

Disables SMPS current limit protection when set to<br />

"0x5A000020". Can help if you are currently hitting a reboot<br />

failure when overclocking too high. [7]


enables dynamic clocks and voltage for the ARM core, GPU core and <strong>SD</strong>RAM. When<br />

busy, ARM frequency go up to "arm_freq" and down to "arm_freq_min" on idle.<br />

"core_freq", "sdram_freq" and "over_voltage" behave the same. "over_voltage" is limited<br />

to 6 (1.35V). Non default values for the h264/v3d/isp parts are ignored.<br />

force_turbo=1<br />

disables dynamic clocking, so all frequencies and voltages stay high. Overclocking of<br />

h264/v3d/isp GPU parts is allowed as well as setting "over_voltage" to 8 (1.4V). [8]<br />

Clocks relationship<br />

The GPU core, h264, v3d and isp share a PLL, therefore need to have related frequencies.<br />

ARM, <strong>SD</strong>RAM and GPU each have their own PLLs and can have unrelated<br />

frequencies. [9]<br />

The following is not necessary with "avoid_pwm_pll=1".<br />

pll_freq = floor(2400 / (2 * core_freq)) * (2 * core_freq)<br />

gpu_freq = pll_freq / [even number]<br />

The effective gpu_freq is automatically rounded to nearest even integer, so asking for<br />

core_freq=500 and gpu_freq=300 will result in divisor of 2000/300 = 6.666 => 6 and so<br />

333.33MHz.<br />

Tested values<br />

The following table shows some successfull attempts of overclocking, which can be used<br />

for orientation. These settings may not work on every device and can shorten the lifetime<br />

of the Broadcom SoC.<br />

Warning: Warranty will be voided if:<br />

(force_turbo || current_limit_override || temp_limit>85) && over_voltage>0<br />

arm_freq gpu_freq core_freq h264_freq isp_freq v3d_freq sdram_freq over_voltage over_voltage_sdr<br />

800<br />

900 275 500<br />

900 450 450<br />

930 350 500


1000 500 500 6<br />

1050 6<br />

1150 500 600 8<br />

There are reports (http://www.raspberrypi.<strong>org</strong>/phpBB3/<br />

viewtopic.php?f=29&t=6201&p=159188&hilit=hynix#p159160) that Hynix RAM is not<br />

as good as Samsung RAM for overclocking.<br />

References<br />

1. ↑ http://www.raspberrypi.<strong>org</strong>/phpBB3/viewtopic.php?p=173430#p173430<br />

2. ↑ http://www.raspberrypi.<strong>org</strong>/phpBB3/<br />

viewtopic.php?f=29&t=6201&sid=eda2ef9b994cdfb28eef3e8a20d1a1e8&start=350#p176865<br />

3. ↑ http://www.raspberrypi.<strong>org</strong>/phpBB3/viewtopic.php?p=169726#p169726<br />

4. ↑ http://www.raspberrypi.<strong>org</strong>/phpBB3/viewtopic.php?f=29&t=11579#p169872<br />

5. ↑ 5.0 5.1 5.2 5.3 What this means is that you can specify -16 and expect about 0.8V<br />

as the GPU/core voltage. This is 0.4V below the normal value of 1.2. If you<br />

specify 16, you'd get 0.4V ABOVE the normal value of 1.2V, or 1.6V. The fact<br />

that someone carefully specified "8" and "1.4V" as the upper limit in the<br />

examples leads me to think that it is likely to shorten the life of your raspberry pi<br />

significantly if you would specify values above "8". So: don't specify values<br />

above zero, but if you do, don't go above 8.<br />

6. ↑ http://www.raspberrypi.<strong>org</strong>/phpBB3/<br />

viewtopic.php?f=29&t=6201&start=425#p180099<br />

7. ↑ http://www.raspberrypi.<strong>org</strong>/phpBB3/<br />

viewtopic.php?f=29&t=6201&start=325#p170793<br />

8. ↑ http://www.raspberrypi.<strong>org</strong>/phpBB3/<br />

viewtopic.php?f=29&t=6201&sid=852d546291ae711ffcd8bf23d3214581&start=325#p170793<br />

9. ↑ http://www.raspberrypi.<strong>org</strong>/phpBB3/<br />

viewtopic.php?f=29&t=6201&start=275#p168042<br />

Raspberry Pi<br />

Model Wizard - Buying Guide - <strong>SD</strong> <strong>Card</strong> <strong>Setup</strong><br />

Startup - Basic <strong>Setup</strong> - Advanced <strong>Setup</strong> - Beginners<br />

Guide - Troubleshooting<br />

Hardware - Hardware History - Low-level<br />

Hardware<br />

peripherals - Expansion Boards<br />

Peripherals Screens - Cases - Other Peripherals<br />

Software - Distributions - Kernel - Performance<br />

Software<br />

- Programming - VideoCore APIs<br />

Tutorials - Guides - Projects - Tasks -<br />

Projects<br />

DataSheets - Education - Communities


Retrieved from "http://elinux.<strong>org</strong>/index.php?title=<strong>RPi</strong>config&oldid=195398"<br />

Category: RaspberryPi<br />

▪ This page was last modified on 24 November 2012, at 22:06.<br />

▪ Content is available under a Creative Commons Attribution-ShareAlike 3.0<br />

Unported License.


<strong>RPi</strong> Low-level peripherals<br />

From <strong>eLinux</strong>.<strong>org</strong><br />

(Redirected from Rpi Low-level peripherals)<br />

Back to<br />

the Hub.<br />

Contents<br />

▪ 1 Introduction<br />

▪ 2 General Purpose Input/Output (GPIO)<br />

▪ 2.1 Referring to pins on the Expansion header<br />

▪ 2.2 Power pins<br />

▪ 2.3 GPIO hardware hacking<br />

▪ 2.4 P2 header<br />

▪ 2.5 P3 header<br />

▪ 2.6 P5 header<br />

▪ 2.7 P6 header<br />

▪ 2.8 Driver support<br />

▪ 2.9 Graphical User Interfaces<br />

▪ 2.9.1 WebIOPi<br />

▪ 3 GPIO Code examples<br />

▪ 3.1 GPIO Driving Example (C)<br />

▪ 3.2 GPIO Pull Up/Pull Down Register Example<br />

▪ 3.3 GPIO Driving Example (Python)<br />

▪ 3.4 GPIO Driving Example (Java using the Pi4J Library)<br />

▪ 3.5 GPIO Driving Example (Java)<br />

▪ 3.6 GPIO Driving Example (Java Webapp GPIO web control via http)<br />

▪ 3.7 GPIO Driving Example (Shell script)<br />

▪ 3.8 GPIO Driving Example (Shell script - take 2)<br />

▪ 3.9 GPIO Driving Example (C)<br />

▪ 3.10 GPIO Driving Example (Perl)<br />

▪ 3.11 GPIO Driving Example (C#)<br />

▪ 3.12 GPIO Driving Example (Ruby)<br />

▪ 4 MIPI CSI-2<br />

▪ 5 DSI<br />

▪ 6 CEC<br />

▪ 7 References<br />

Hardware & Peripherals:


Hardware and Hardware History.<br />

Low-level Peripherals and Expansion Boards.<br />

Screens, Cases and Other Peripherals.<br />

Introduction<br />

In addition to the familiar USB, Ethernet and HDMI ports, the R-Pi offers lower-level<br />

interfaces intended to connect more directly with chips and subsystem modules. These<br />

GPIO (general purpose I/O) signals on the 2x13 header pins include SPI, I2C, serial<br />

UART, 3V3 and 5V power. These interfaces are not "plug and play" and require care to<br />

avoid miswiring. The pins use a 3V3 logic level and are not tolerant of 5V levels, such as<br />

you might find on a 5V powered Arduino. Not yet software-enabled are the flex cable<br />

connectors with CSI (camera serial interface) and DSI (display serial interface), and a<br />

serial link inside the HDMI connector called CEC. (consumer electronics control)


General Purpose Input/Output (GPIO)<br />

General Purpose Input/Output (a.k.a. GPIO)<br />

is a generic pin on a chip whose behavior<br />

(including whether it is an input or output<br />

pin) can be controlled (programmed)<br />

through software.<br />

The Raspberry Pi allows peripherals and<br />

expansion boards (such as the Rpi<br />

Gertboard) to access the CPU by exposing<br />

the inputs and outputs.<br />

For further general information about<br />

GPIOs, see:the wikipedia article<br />

(http://en.wikipedia.<strong>org</strong>/wiki/GPIO) .<br />

The production Raspberry Pi board has a<br />

26-pin 2.54 mm (100 mil) [1] expansion<br />

header, marked as P1, arranged in a 2x13<br />

strip. They provide 8 GPIO pins plus access<br />

to I²C, SPI, UART), as well as +3.3 V, +5 V<br />

and GND supply lines. Pin one is the pin in<br />

the first column and on the bottom row. [2]<br />

GPIO voltage levels are 3.3 V and are not<br />

5 V tolerant. There is no over-voltage<br />

protection on the board - the intention is<br />

that people interested in serious interfacing<br />

will use an external board with buffers, level<br />

conversion and analog I/O rather than<br />

soldering directly onto the main board.<br />

All the GPIO pins can be reconfigured to<br />

provide alternate functions, SPI, PWM<br />

(http://en.wikipedia.<strong>org</strong>/wiki/Pulsewidth_modulation)<br />

, I²C and so. At reset<br />

only pins GPIO 14 & 15 are assigned to the<br />

alternate function UART, these two can be<br />

switched back to GPIO to provide a total of<br />

17 GPIO pins [3] . Each of their functions and<br />

full details of how to access are detailed in<br />

the chipset datasheet [4] .<br />

The layout of the Raspberry Pi Revision 1<br />

P1 pin-header seen from the top, containing<br />

pins useable for general purpose I/O.<br />

Colour coded to the table. Source<br />

(https://sites.google.com/site/<br />

burngatehouse/home/drawings/<br />

GPIOs2.gif)


Each GPIO can interrupt, high/low/rise/fall/change. [5][6] There is currently no support for<br />

GPIO interrupts in the official kernel, howewer a patch exists, requiring compilation of<br />

modified source tree. [7] The 'Raspbian "wheezy"' [8] version that is currently<br />

recommended for starters already includes GPIO interrupts.<br />

GPIO input hysteresis (Schmitt trigger) can be on or off, output slew rate can be fast or<br />

limited, and source and sink current is configurable from 2 mA up to 16 mA. Note that<br />

chipset GPIO pins 0-27 are in the same block and these properties are set per block, not<br />

per pin. See GPIO Datasheet Addendum - GPIO Pads Control (http://www.scribd.com/<br />

doc/101830961/GPIO-Pads-Control2) . Particular attention should be applied to the note<br />

regarding SSO (Simultaneous Switching Outputs): to avoid interference, driving currents<br />

should be kept as low as possible.<br />

The available alternative functions and their corresponding pins are detailed below. These<br />

numbers are in reference to the chipset documentation and may not match the numbers<br />

exposed in Linux. Only fully usable functions are detailed, for some alternative functions<br />

not all the necessary pins are available for the funtionality to be actually used.<br />

There is also some information on the Tutorial on <strong>Easy</strong> GPIO Hardware & Software.<br />

Kernel boot messages go to the UART at 115200 bit/s.<br />

R-Pi PCB Revision 2 UPDATE: According to Eben at [1] (http://www.raspberrypi.<strong>org</strong>/<br />

archives/1929#comment-31646) the R-Pi Rev.2 board being rolled out starting in<br />

September 2012 adds 4 more GPIO on a new connector called P5, and changes some of<br />

the existing P1 GPIO pinouts. On Rev2, GPIO_GEN2 [BCM2835/GPIO27] is routed to<br />

P1 pin 13, and changes what was SCL0/<strong>SD</strong>A0 to SCL1/<strong>SD</strong>A1: SCL1 [BCM2835/<br />

GPIO3] is routed to P1 pin 5, <strong>SD</strong>A1 [BCM2835/GPIO2] is routed to P1 pin 3. Also the<br />

power and ground connections previously marked "Do Not Connect" on P1 will remain<br />

as connected, specifically: P1-04:+5V0, P1-09:GND, P1-14:GND, P1-17:+3V3,<br />

P1-20:GND, P1-25:GND. According to this comment [2] (http://www.raspberrypi.<strong>org</strong>/<br />

archives/2081#comment-33577) (and confirmed in this post [3]<br />

(http://www.raspberrypi.<strong>org</strong>/archives/2233) ) the P1 pinout is not expected to change in<br />

future beyond the current Rev.2 layout.<br />

Header Pinout, top row:<br />

Pin<br />

Number<br />

Pin<br />

Name<br />

Rev1<br />

Pin<br />

Name<br />

Rev2<br />

P1-02 5V0 5V0<br />

P1-04 5V0 5V0<br />

Hardware Notes<br />

Supply through<br />

input poly fuse<br />

Supply through<br />

input poly fuse<br />

Alt 0<br />

Function<br />

Other Alternative<br />

Functions


P1-06 GND GND<br />

P1-08 GPIO 14 GPIO 14 Boot to Alt 0 -> UART0_TXD ALT5 = UART1_TXD<br />

P1-10 GPIO 15 GPIO 15 Boot to Alt 0 -> UART0_RXD ALT5 = UART1_RXD<br />

P1-12 GPIO 18 GPIO 18<br />

P1-14 GND GND<br />

P1-16 GPIO23 GPIO23<br />

P1-18 GPIO24 GPIO24<br />

P1-20 GND GND<br />

ALT4 SPI1_CE0_N<br />

ALT5 = PWM0<br />

ALT3 = <strong>SD</strong>1_CMD<br />

ALT4 = ARM_RTCK<br />

ALT3 = <strong>SD</strong>1_DATA0<br />

ALT4 = ARM_TDO<br />

P1-22 GPIO25 GPIO25 ALT4 = ARM_TCK<br />

P1-24 GPIO08 GPIO08 SPI0_CE0_N<br />

P1-26 GPIO07 GPIO07 SPI0_CE1_N<br />

Header Pinout, bottom row:<br />

Pin Pin Name Pin Name<br />

Number Rev1 Rev2<br />

P1-01 3.3 V 3.3 V<br />

P1-03 GPIO 0 GPIO 2<br />

P1-05 GPIO 1 GPIO 3<br />

Hardware<br />

Notes<br />

50 mA max<br />

(01 & 17)<br />

1K8 pull up<br />

resistor<br />

1K8 pull up<br />

resistor<br />

Alt 0<br />

Function<br />

Other Alternative<br />

Functions<br />

I2C0_<strong>SD</strong>A I2C0_<strong>SD</strong>A / I2C1_<strong>SD</strong>A<br />

I2C0_SCL I2C0_SCL / I2C1_SCL<br />

P1-07 GPIO 4 GPIO 4 GPCLK0<br />

P1-09 GND GND<br />

P1-11 GPIO17 GPIO17<br />

ALT3 = UART0_RTS,<br />

ALT5 = UART1_RTS<br />

P1-13 GPIO21 GPIO27 PCM_DIN ALT5 = GPCLK1<br />

P1-15 GPIO22 GPIO22<br />

P1-17 3.3 V 3.3 V<br />

50 mA max<br />

(01 & 17)<br />

P1-19 GPIO10 GPIO10 SPI0_MOSI<br />

P1-21 GPIO9 GPIO9 SPI0_MISO<br />

P1-23 GPIO11 GPIO11 SPI0_SCLK<br />

P1-25 GND GND<br />

ALT3 = <strong>SD</strong>1_CLK ALT4 =<br />

ARM_TRST


Colour legend<br />

+5 V<br />

+3.3 V<br />

Ground, 0V<br />

UART<br />

GPIO<br />

SPI<br />

I²C<br />

KiCad symbol: File:Conn-raspberry.lib<br />

[9]<br />

Pin 3 (<strong>SD</strong>A0) and Pin 5 (SCL0) are preset to be used as an I²C interface. So there are<br />

1.8 kilohm pulls up resistors on the board for these pins. [10]<br />

Pin 12 supports PWM (http://en.wikipedia.<strong>org</strong>/wiki/Pulse-width_modulation) .<br />

It is also possible to reconfigure GPIO connector pins P1-7, 15, 16, 18, 22 (chipset<br />

GPIOs 4 and 22 to 25) to provide an ARM JTAG interface. [11] However ARM_TMS isn't<br />

available on the GPIO connector (chipset pin 12 or 27 is needed). Chipset pin 27 is<br />

available on S5, the CSI camera interface however.<br />

It is also possible to reconfigure GPIO connector pins P1-12 and 13 (chipset GPIO 18<br />

and 21) to provide an I2S (a hardware modification may be required [12] ) or PCM<br />

interface. [13] However, PCM_FS and PCM_DIN (chipset pins 19 and 20) are needed for<br />

I2S or PCM.<br />

A second I²C interface (GPIO02_ALT0 is <strong>SD</strong>A1 and GPIO03_ALT0 is SCL1) and two<br />

further GPIOs (GPIO05_ALT0 is GPCLK1, and GPIO27) are available on S5, the CSI<br />

camera interface.<br />

Referring to pins on the Expansion header<br />

The header is referred to as "The GPIO Connector (P1)". To avoid nomenclature<br />

confusion between Broadcom signal names on the SoC and pin names on the expansion<br />

header, the following naming is highly recommended.<br />

▪ The expansion header is referred to as "Expansion Header" or "GPIO Connector<br />

(P1)"


▪ Pins on the GPIO connector (P1) are referred to as P1-01, etc.<br />

▪ Names GPIO0, GPIO1, GPIOx-ALTy, etc. refer to the signal names on the SoC as<br />

enumerated in the Broadcom datasheet, where "x" matches BCM2835 number<br />

(without leading zero) and "y" is the alternate number column 0 to 5 on page 102-103<br />

of the Broadcom document. For example, depending on what you are describing, use<br />

either "GPIO7" to refer to a row of the table, and "GPIO7-ALT0" would refer to a<br />

specific cell of the table.<br />

▪ When refering to signal names, you should modify the Broadcom name slightly to<br />

minimize confusion. The Broadcom SPI bus pin names are fine, such as "SPI0_*"<br />

and "SPI1_*", but they didn't do the same on the I²C and UART pins. Instead of using<br />

"<strong>SD</strong>A0" and "SCL0", you should use "I2C0_<strong>SD</strong>A" and "I2C0_SCL"; and instead of<br />

"TX" or "TXD" and "RX" or "RXD", you should use "UART0_TXD" and<br />

"UART0_RXD".<br />

Power pins<br />

The maximum permitted current draw from the 3.3 V pins is 50 mA.<br />

Maximum permitted current draw from the 5 V pin is the USB input current (usually 1 A)<br />

minus any current draw from the rest of the board. [14]<br />

▪ Model A: 1000 mA - 500 mA -> max current draw: 500 mA<br />

▪ Model B: 1000 mA - 700 mA -> max current draw: 300 mA<br />

Be very careful with the 5 V pins P1-02 and P1-04, because if you short 5 V to any other<br />

P1 pin you may permanently damage your RasPi. Before probing P1, it's a good idea to<br />

strip short pieces of insulation off a wire and push them over the 5 V pins so you don't<br />

accidentally short them with a probe.<br />

GPIO hardware hacking<br />

The complete list of chipset GPIO pins which are available on the GPIO connector is:<br />

0, 1, 4, 7, 8, 9, 10, 11, 14, 15, 17, 18, 21, 22, 23, 24, 25<br />

(on the Revision2.0 RaspberryPis, this list changes to: 2, 3, 4, 7, 8, 9, 10, 11, 14, 15, 17,<br />

18, 22, 23, 24, 25, 27)<br />

As noted above, GPIO00 and 01 (<strong>SD</strong>A0 and SCL0) have 1.8 kilohm pull-up resistors to<br />

3.3 V.<br />

If 17 GPIOs aren't sufficient for your project, there are a few other signals potentially<br />

available, with varying levels of software and hardware (soldering iron) hackery skills:


GPIO02, 03, 05 and 27 are available on S5 (the CSI interface) when a camera peripheral<br />

is not connected to that socket, and are configured by default to provide the functions<br />

<strong>SD</strong>A1, SCL1, CAM_CLK and CAM_GPIO respectively. <strong>SD</strong>A1 and SCL1 have 1K6<br />

pull-up resistors to 3.3 V.<br />

GPIO06 is LAN_RUN and is available on pad 12 of the footprint for IC3 on the Model<br />

A. On Model B, it is in use for the Ethernet function.<br />

There are a few other chipset GPIO pins accessible on the PCB but are in use:<br />

▪ GPIO16 drives status LED D5 (usually <strong>SD</strong> card access indicator)<br />

▪ GPIO28-31 are used by the board ID and are connected to resistors R3 to R10.<br />

▪ GPIO40 and 45 are used by analogue audio and support PWM<br />

(http://en.wikipedia.<strong>org</strong>/wiki/Pulse-width_modulation) . They connect to the<br />

analogue audio circuitry via R21 and R27 respectively.<br />

▪ GPIO46 is HDMI hotplug detect (goes to pin 6 of IC1).<br />

▪ GPIO47 to 53 are used by the <strong>SD</strong> card interface. In particular, GPIO47 is <strong>SD</strong> card<br />

detect (this would seem to be a good candidate for re-use). GPIO47 is connected to<br />

the <strong>SD</strong> card interface card detect switch; GPIO48 to 53 are connected to the <strong>SD</strong> card<br />

interface via resistors R45 to R50.<br />

P2 header<br />

The P2 header is the VideoCore JTAG and used only during the production of the board.<br />

It cannot be used as the ARM JTAG [15] . This connector is unpopulated in Rev 2.0<br />

boards.<br />

Useful P2 pins:<br />

▪ Pin 1 - 3.3V (same as P1-01, 50 mA max current draw across both of them)<br />

▪ Pin 7 - GND<br />

▪ Pin 8 - GND<br />

P3 header<br />

The P3 header, unpopulated, is the LAN9512 JTAG [16] .<br />

P5 header<br />

The P5 header was added with the release of the Revision 2.0 PCB design.<br />

▪ Pin 1 - 5V<br />

▪ Pin 2 - 3V3<br />

▪ Pin 3 - GPIO28<br />

▪ Pin 4 - GPIO29


▪ Pin 5 - GPIO30<br />

▪ Pin 6 - GPIO31<br />

▪ Pin 7 - GND<br />

▪ Pin 8 - GND<br />

Note that the connector is intended to be mounted on the bottom of the PCB, so that for<br />

those who put the connector on the top side, the pin numbers are swapped. Pin 1 and pin<br />

2 are swapped, pin 3 and 4, etc.<br />

Note that the connector is placed JUST off-grid with respect to the P1 connector.<br />

P6 header<br />

The P6 header was added with the release of the Revision 2.0 PCB design.<br />

The P6 header can be used to connect a reset button to, which with the PI can be reset.<br />

Driver support<br />

The Foundation will not include a GPIO driver in the initial release, standard Linux<br />

GPIO drivers should work with minimal modification. [17]<br />

The community implemented SPI and I²C drivers [18] , which will be integrated with the<br />

new Linux pinctrl concept in a later version of the kernel. (On Oct.14,it was already<br />

included in the latest raspbian image.)A first compiled version as Linux modules is<br />

available to install on the 19/04/2012 Debian image, including 1-wire support [19] . The<br />

I²C and SPI driver uses the hardware modules of the microcontroller and interrupts for<br />

low CPU usage, the 1-wire support uses bitbanging on the GPIO ports, which results in<br />

higher CPU usage.<br />

GordonH [20] wrote a (mostly) Arduino compatible/style WiringPi library<br />

(https://projects.drogon.net/raspberry-pi/wiringpi/) in C for controlling the GPIO pins.<br />

A useful tutorial on setting up I²C driver support can be found at Robot Electronics<br />

(http://www.robot-electronics.co.uk/htm/raspberry_pi_examples.htm) - look for the<br />

downloadable document rpi_i2c_setup.doc<br />

Graphical User Interfaces<br />

WebIOPi<br />

WebIOPi (http://code.google.com/p/webiopi/) allows you to control each GPIO with a<br />

simple web interface that you can use with any browser. Available in PHP and Python,<br />

they both require root access, but Python version serves HTTP itself. You can setup each


GPIO as input or output and change their states (LOW/HIGH). WebIOPi is fully<br />

customizable, so you can use it for home remote control. It also work over Internet.<br />

UART/SPI/I2C support will be added later. If you need some computing for your GPIO<br />

go to code examples below.<br />

GPIO Code examples<br />

GPIO Driving Example (C)<br />

Gert van Loo & Dom, has provided (http://www.raspberrypi.<strong>org</strong>/forum/educationalapplications/gertboard/page-4/#p31555)<br />

some tested code which accesses the GPIO pins<br />

through direct GPIO register manipulation in C-code. (Thanks to Dom for doing the<br />

difficult work of finding and testing the mapping.) Example GPIO code:<br />

//<br />

// How to access GPIO registers from C-code on the Raspberry-Pi<br />

// Example program<br />

// 15-January-2012<br />

// Dom and Gert<br />

//<br />

// Access from ARM Running Linux<br />

#define BCM2708_PERI_BASE 0x20000000<br />

#define GPIO_BASE (BCM2708_PERI_BASE + 0x200000) /* GPIO controller */<br />

#include <br />

#include <br />

#include <br />

#include <br />

#include <br />

#include <br />

#include <br />

#include <br />

#include <br />

#include <br />

#define PAGE_SIZE (4*1024)<br />

#define BLOCK_SIZE (4*1024)<br />

int mem_fd;<br />

char *gpio_mem, *gpio_map;<br />

char *spi0_mem, *spi0_map;<br />

// I/O access<br />

volatile unsigned *gpio;<br />

// GPIO setup macros. Always use INP_GPIO(x) before using OUT_GPIO(x) or SET_GPIO_ALT(x,y)<br />

#define INP_GPIO(g) *(gpio+((g)/10)) &= ~(7


#define GPIO_SET *(gpio+7) // sets bits which are 1 ignores bits which are 0<br />

#define GPIO_CLR *(gpio+10) // clears bits which are 1 ignores bits which are 0<br />

void setup_io();<br />

int main(int argc, char **argv)<br />

{<br />

int g,rep;<br />

// Set up gpi pointer for direct register access<br />

setup_io();<br />

// Switch GPIO 7..11 to output mode<br />

/************************************************************************\<br />

* You are about to change the GPIO settings of your computer. *<br />

* Mess this up and it will stop working! *<br />

* It might be a good idea to 'sync' before running this program *<br />

* so at least you still have your code changes written to the <strong>SD</strong>-card! *<br />

\************************************************************************/<br />

// Set GPIO pins 7-11 to output<br />

for (g=7; g


Make sure pointer is on 4K boundary<br />

if ((unsigned long)gpio_mem % PAGE_SIZE)<br />

gpio_mem += PAGE_SIZE - ((unsigned long)gpio_mem % PAGE_SIZE);<br />

// Now map it<br />

gpio_map = (unsigned char *)mmap(<br />

(caddr_t)gpio_mem,<br />

BLOCK_SIZE,<br />

PROT_READ|PROT_WRITE,<br />

MAP_SHARED|MAP_FIXED,<br />

mem_fd,<br />

GPIO_BASE<br />

);<br />

if ((long)gpio_map < 0) {<br />

printf("mmap error %d\n", (int)gpio_map);<br />

exit (-1);<br />

}<br />

// Always use volatile pointer!<br />

gpio = (volatile unsigned *)gpio_map;<br />

} // setup_io<br />

GPIO Pull Up/Pull Down Register Example<br />

// enable pull-up on GPIO24&25<br />

GPIO_PULL = 2;<br />

short_wait();<br />

// clock on GPIO 24 & 25 (bit 24 & 25 set)<br />

GPIO_PULLCLK0 = 0x03000000;<br />

short_wait();<br />

GPIO_PULL = 0;<br />

GPIO_PULLCLK0 = 0;<br />

GPIO Driving Example (Python)<br />

This uses the Python module available at http://pypi.python.<strong>org</strong>/pypi/<strong>RPi</strong>.GPIO Any<br />

Python script that controls GPIO must be run as root.<br />

import <strong>RPi</strong>.GPIO as GPIO<br />

# Set up the GPIO channels - one input and one output<br />

GPIO.setup(11, GPIO.IN)<br />

GPIO.setup(12, GPIO.OUT)<br />

# Input from pin 11<br />

input_value = GPIO.input(11)<br />

# Output to pin 12<br />

GPIO.output(12, True)<br />

# The same script as above but using BCM GPIO 00..nn numbers


GPIO.setmode(GPIO.BCM)<br />

GPIO.setup(17, GPIO.IN)<br />

GPIO.setup(18, GPIO.OUT)<br />

input_value = GPIO.input(17)<br />

GPIO.output(18, True)<br />

GPIO Driving Example (Java using the Pi4J Library)<br />

This uses the Java library available at http://www.pi4j.com/. (Any Java application that<br />

controls GPIO must be run as root.)<br />

Please note that the Pi4J library uses the WiringPi GPIO pin numbering scheme [21] [22] .<br />

Please see the usage documentation for more details: http://pi4j.com/usage.html<br />

public static void main(String[] args) {<br />

}<br />

// create gpio controller<br />

GpioController gpio = GpioFactory.getInstance();<br />

// provision gpio pin #01 as an output pin and turn off<br />

GpioPinDigitalOutput outputPin = gpio.provisionDigitalOutputPin(RaspiPin.GPIO_01, "MyLED", PinState.LOW);<br />

// turn output to LOW/OFF state<br />

outputPin.low();<br />

// turn output to HIGH/ON state<br />

outputPin.high();<br />

// provision gpio pin #02 as an input pin with its internal pull down resistor enabled<br />

GpioPinDigitalInput inputPin = gpio.provisionDigitalInputPin(RaspiPin.GPIO_02, "MyButton", PinPullResista<br />

// get input state from pin 2<br />

boolean input_value = inputPin.isHigh();<br />

More complete and detailed examples are included on the Pi4J website at<br />

http://www.pi4j.com/.<br />

The Pi4J library includes support for:<br />

▪ GPIO Control<br />

▪ GPIO Listeners<br />

▪ Serial Communication<br />

▪ I2C Communication<br />

▪ SPI Communication


GPIO Driving Example (Java)<br />

This uses the Java library available at https://github.com/jkransen/framboos. Any Java<br />

application that controls GPIO must be run as root.<br />

public static void main(String[] args) {<br />

// reading from an in pin<br />

InPin button = new InPin(8);<br />

boolean isButtonPressed = button.getValue();<br />

button.close();<br />

}<br />

// writing to an out pin<br />

OutPin led = new Outpin(0);<br />

led.setValue(true);<br />

led.setValue(false);<br />

led.close();<br />

GPIO Driving Example (Java Webapp GPIO web control via http)<br />

This uses the Java Webapp available at https://bitbucket.<strong>org</strong>/sbub/raspberry-pi-gpio-webcontrol/overview.<br />

You can control your GPIO over the internet. Any Java application that<br />

controls GPIO must be run as root.<br />

host:~ sb$ curl 'http://raspberrypi:8080/handle?g0=1&g1=0'<br />

{"g1":0,"g0":1}<br />

GPIO Driving Example (Shell script)<br />

This must be done as root. To change to the root user:<br />

sudo -i<br />

#!/bin/sh<br />

# GPIO numbers should be from this list<br />

# 0, 1, 4, 7, 8, 9, 10, 11, 14, 15, 17, 18, 21, 22, 23, 24, 25<br />

# Note that the GPIO numbers that you program here refer to the pins<br />

# of the BCM2835 and *not* the numbers on the pin header.<br />

# So, if you want to activate GPIO7 on the header you should be<br />

# using GPIO4 in this script. Likewise if you want to activate GPIO0<br />

# on the header you should be using GPIO17 here.<br />

# Set up GPIO 4 and set to output<br />

echo "4" > /sys/class/gpio/export<br />

echo "out" > /sys/class/gpio/gpio4/direction


# Set up GPIO 7 and set to input<br />

echo "7" > /sys/class/gpio/export<br />

echo "in" > /sys/class/gpio/gpio7/direction<br />

# Write output<br />

echo "1" > /sys/class/gpio/gpio4/value<br />

# Read from input<br />

cat /sys/class/gpio/gpio7/value<br />

# Clean up<br />

echo "4" > /sys/class/gpio/unexport<br />

echo "7" > /sys/class/gpio/unexport<br />

GPIO Driving Example (Shell script - take 2)<br />

You need the wiringPi library from https://projects.drogon.net/raspberry-pi/wiringpi/<br />

download-and-install/. Once installed, there is a new command gpio which can be used<br />

as a non-root user to control the GPIO pins.<br />

The man page<br />

man gpio<br />

has full details, but briefly:<br />

gpio -g mode 17 out<br />

gpio -g mode 18 pwm<br />

gpio -g write 17 1<br />

gpio -g pwm 18 512<br />

The -g flag tells the gpio program to use the BCM GPIO pin numbering scheme<br />

(otherwise it will use the wiringPi numbering scheme by default).<br />

The gpio command can also control the internal pull-up and pull-down resistors:<br />

gpio -g mode 17 up<br />

This sets the pull-up resistor - however any change of mode, even setting a pin that's<br />

already set as an input to an input will remove the pull-up/pull-down resistors, so they<br />

may need to be reset.<br />

Additionally, it can export/un-export the GPIO devices for use by other non-root<br />

programms - e.g. Python scripts. (Although you may need to drop the calls to<br />

GPIO.<strong>Setup</strong>() in the Python scripts, and do the setup separately in a little shell script, or<br />

call the gpio program from inside Python).


gpio export 17 out<br />

gpio export 18 in<br />

These exports GPIO-17 and sets it to output, and exports GPIO-18 and sets it to input.<br />

And when done:<br />

gpio unexport 17<br />

The export/unexport commands always use the BCM GPIO pin numbers regardless of the<br />

presence of the -g flag or not.<br />

If you want to use the internal pull-up/down's with the /sys/class/gpio mechanisms, then<br />

you can set them after exporting them. So:<br />

gpio -g export 4 in<br />

gpio -g mode 4 up<br />

You can then use GPIO-4 as an input in your Python, Shell, Java, etc. programs without<br />

the use of an external resistor to pull the pin high. (If that's what you were after - for<br />

example, a simple push button switch taking the pin to ground.)<br />

A fully working example of a shell script using the GPIO pins can be found at<br />

http://project-downloads.drogon.net/files/gpioExamples/tuxx.sh.<br />

GPIO Driving Example (C)<br />

This must be done as root. To change to the root user:<br />

sudo -i<br />

You must also get and install the bcm2835 library, which supports GPIO and SPI<br />

interfaces. Details and downloads from http://www.open.com.au/mikem/bcm2835<br />

// blink.c<br />

//<br />

// Example program for bcm2835 library<br />

// Blinks a pin on an off every 0.5 secs<br />

//<br />

// After installing bcm2835, you can build this<br />

// with something like:<br />

// gcc -o blink -l rt blink.c -l bcm2835<br />

// sudo ./blink<br />

//<br />

// Or you can test it before installing with:


gcc -o blink -l rt -I ../../src ../../src/bcm2835.c blink.c<br />

// sudo ./blink<br />

//<br />

// Author: Mike McCauley (mikem@open.com.au)<br />

// Copyright (C) 2011 Mike McCauley<br />

// $Id: RF22.h,v 1.21 2012/05/30 01:51:25 mikem Exp $<br />

#include <br />

// Blinks on <strong>RPi</strong> pin GPIO 11<br />

#define PIN RPI_GPIO_P1_11<br />

int main(int argc, char **argv)<br />

{<br />

// If you call this, it will not actually access the GPIO<br />

// Use for testing<br />

// bcm2835_set_debug(1);<br />

}<br />

if (!bcm2835_init())<br />

return 1;<br />

// Set the pin to be an output<br />

bcm2835_gpio_fsel(PIN, BCM2835_GPIO_FSEL_OUTP);<br />

// Blink<br />

while (1)<br />

{<br />

// Turn it on<br />

bcm2835_gpio_write(PIN, HIGH);<br />

}<br />

// wait a bit<br />

delay(500);<br />

// turn it off<br />

bcm2835_gpio_write(PIN, LOW);<br />

// wait a bit<br />

delay(500);<br />

return 0;<br />

GPIO Driving Example (Perl)<br />

This must be done as root. To change to the root user:<br />

sudo su -<br />

Supports GPIO and SPI interfaces. You must also get and install the bcm2835 library.<br />

Details and downloads from http://www.open.com.au/mikem/bcm2835 You must then get<br />

and install the Device::BCM2835 perl library from CPAN http://search.cpan.<strong>org</strong>/~mikem/<br />

Device-BCM2835-1.0/lib/Device/BCM2835.pm<br />

use Device::BCM2835;<br />

use strict;


# call set_debug(1) to do a non-destructive test on non-<strong>RPi</strong> hardware<br />

#Device::BCM2835::set_debug(1);<br />

Device::BCM2835::init()<br />

|| die "Could not init library";<br />

# Blink pin 11:<br />

# Set <strong>RPi</strong> pin 11 to be an output<br />

Device::BCM2835::gpio_fsel(&Device::BCM2835::RPI_GPIO_P1_11,<br />

&Device::BCM2835::BCM2835_GPIO_FSEL_OUTP);<br />

while (1)<br />

{<br />

# Turn it on<br />

Device::BCM2835::gpio_write(&Device::BCM2835::RPI_GPIO_P1_11, 1);<br />

Device::BCM2835::delay(500); # Milliseconds<br />

# Turn it off<br />

Device::BCM2835::gpio_write(&Device::BCM2835::RPI_GPIO_P1_11, 0);<br />

Device::BCM2835::delay(500); # Milliseconds<br />

}<br />

GPIO Driving Example (C#)<br />

RaspberryPiDotNet library is available at https://github.com/cypherkey/RaspberryPi.Net/.<br />

The library includes a GPIOFile and GPIOMem class. The GPIOMem requires compiling<br />

Mike McCauley's bcm2835 library above in to a shared object.<br />

using System;<br />

using System.Collections.Generic;<br />

using System.Linq;<br />

using System.Text;<br />

using RaspberryPiDotNet;<br />

using System.Threading;<br />

namespace RaspPi<br />

{<br />

class Program<br />

{<br />

static void Main(string[] args)<br />

{<br />

// Access the GPIO pin using a static method<br />

GPIOFile.Write(GPIO.GPIOPins.GPIO00, true);<br />

}<br />

}<br />

}<br />

// Create a new GPIO object<br />

GPIOMem gpio = new GPIOMem(GPIO.GPIOPins.GPIO01);<br />

gpio.Write(false);


GPIO Driving Example (Ruby)<br />

This example uses the WiringPi Ruby Gem: http://pi.gadgetoid.co.uk/post/015-wiringpinow-with-serial<br />

which you can install on your Pi with "gem install wiringpi"<br />

MY_PIN = 1<br />

require 'wiringpi'<br />

io = WiringPi::GPIO.new<br />

io.mode(MY_PIN,OUTPUT)<br />

io.write(MY_PIN,HIGH)<br />

io.read(MY_PIN)<br />

MIPI CSI-2<br />

On the production board [23] , the Raspberry Pi Foundation design brings out the MIPI<br />

CSI-2 (Camera Serial Interface [24] ) to a 15-way flat flex connector S5, between the<br />

Ethernet and HDMI connectors. A compatible camera has been discussed as working in<br />

tests and is planned for release at a later date. [25] .<br />

DSI<br />

On the production board, the Raspberry Pi Foundation design brings out the DSI (Display<br />

Serial Interface [26] ) to a 15-way flat flex connector labelled S2, next to Raspberry Pi<br />

logo. It has two data lanes and a clock lane, to drive a possible future LCD screen device.<br />

Some smart phone screens use DSI [27] .<br />

CEC<br />

HDMI-CEC (Consumer Electronics Control for HDMI) is supported by hardware but<br />

some driver work will be needed and currently isn't exposed into Linux userland. Eben<br />

notes that he has seen CEC demos on the Broadcom SoC they are using.<br />

libCEC with Raspberry Pi support has been included in OpenELEC and will be included<br />

in Raspbmc RC4. [28]<br />

For more information about HDMI-CEC and what you could do with it on the Raspberry<br />

Pi please see the CEC (Consumer Electronics Control) over HDMI article.


References<br />

1. ↑ http://www.raspberrypi.<strong>org</strong>/forum/features-and-requests/easy-gpio-hardwaresoftware/page-3/#p31907<br />

2. ↑ http://www.raspberrypi.<strong>org</strong>/archives/384<br />

3. ↑ http://www.raspberrypi.<strong>org</strong>/archives/384<br />

4. ↑ http://www.raspberrypi.<strong>org</strong>/wp-content/uploads/2012/02/BCM2835-ARM-<br />

Peripherals.pdf<br />

5. ↑ http://www.raspberrypi.<strong>org</strong>/archives/384#comment-5217<br />

6. ↑ http://www.raspberrypi.<strong>org</strong>/wp-content/uploads/2012/02/BCM2835-ARM-<br />

Peripherals.pdf<br />

7. ↑ http://www.raspberrypi.<strong>org</strong>/phpBB3/viewtopic.php?f=44&t=7509<br />

8. ↑ http://www.raspberrypi.<strong>org</strong>/downloads<br />

9. ↑ http://www.raspberrypi.<strong>org</strong>/forum/projects-and-collaboration-general/gpioheader-pinout-clarification/page-2<br />

10. ↑ http://www.raspberrypi.<strong>org</strong>/forum/features-and-requests/easy-gpio-hardwaresoftware/page-6/#p56480<br />

11. ↑ http://www.raspberrypi.<strong>org</strong>/forum?mingleforumaction=viewtopic&t=1288.1<br />

12. ↑ Forum:Sad about removal of I2S. Why was this change made?<br />

(http://www.raspberrypi.<strong>org</strong>/forum/features-and-requests/sad-about-removal-ofi2s-why-was-this-change-made)<br />

13. ↑ http://www.raspberrypi.<strong>org</strong>/forum?mingleforumaction=viewtopic&t=1288.2<br />

14. ↑ http://www.raspberrypi.<strong>org</strong>/<br />

forum?mingleforumaction=viewtopic&t=1536#postid-21841<br />

15. ↑ http://www.raspberrypi.<strong>org</strong>/phpBB3/viewtopic.php?f=24&t=5894<br />

16. ↑ http://www.raspberrypi.<strong>org</strong>/phpBB3/viewtopic.php?f=24&t=5894<br />

17. ↑ http://www.raspberrypi.<strong>org</strong>/forum?mingleforumaction=viewtopic&t=1278.0<br />

18. ↑ http://www.bootc.net/projects/raspberry-pi-kernel/<br />

19. ↑ http://www.raspberrypi.<strong>org</strong>/phpBB3/viewtopic.php?p=86172#p86172<br />

20. ↑ http://www.raspberrypi.<strong>org</strong>/forum/general-discussion/wiring-for-the-raspberrypis-gpio<br />

21. ↑ http://pi4j.com/usage.html#Pin_Numbering<br />

22. ↑ https://projects.drogon.net/raspberry-pi/wiringpi/pins/<br />

23. ↑ http://www.raspberrypi.<strong>org</strong>/wp-content/uploads/2012/04/Raspberry-Pi-<br />

Schematics-R1.0.pdf<br />

24. ↑ http://www.mipi.<strong>org</strong>/specifications/camera-interface<br />

25. ↑ http://www.raspberrypi.<strong>org</strong>/forum/projects-and-collaboration-general/complexcamera-peripherials#p72602<br />

26. ↑ http://www.mipi.<strong>org</strong>/specifications/display-interface<br />

27. ↑ http://en.wikipedia.<strong>org</strong>/wiki/Display_Serial_Interface<br />

28. ↑ http://blog.pulse-eight.com/2012/08/01/libcec-1-8-0-a-firmware-upgrade-andraspberry-pi-support/


Raspberry Pi<br />

Model Wizard - Buying Guide - <strong>SD</strong> <strong>Card</strong> <strong>Setup</strong><br />

Startup - Basic <strong>Setup</strong> - Advanced <strong>Setup</strong> - Beginners<br />

Guide - Troubleshooting<br />

Hardware - Hardware History - Low-level<br />

Hardware<br />

peripherals - Expansion Boards<br />

Peripherals Screens - Cases - Other Peripherals<br />

Software - Distributions - Kernel - Performance<br />

Software<br />

- Programming - VideoCore APIs<br />

Tutorials - Guides - Projects - Tasks -<br />

Projects<br />

DataSheets - Education - Communities<br />

Retrieved from "http://elinux.<strong>org</strong>/index.php?title=<strong>RPi</strong>_Lowlevel_peripherals&oldid=195584"<br />

Category: RaspberryPi<br />

▪ This page was last modified on 26 November 2012, at 21:53.<br />

▪ Content is available under a Creative Commons Attribution-ShareAlike 3.0<br />

Unported License.


RaspberryPi Boards<br />

From <strong>eLinux</strong>.<strong>org</strong><br />

Hardware versions/revisions<br />

Several different boards have been found probably from different assembly lines, and the<br />

following table tries to help you identify your board for better troubleshooting. These<br />

differences are being debated on raspberrypi.<strong>org</strong> on this thread [1]<br />

(http://www.raspberrypi.<strong>org</strong>/phpBB3/viewtopic.php?f=28&t=9524&start=25)<br />

For what we can see for model B boards there are mainly two versions that differ on the<br />

type RAM used, Samsung (S) and Hynix (H).<br />

Note: For Board ver. we used: (ex.: BS1218<br />

is "Model B, Samsung RAM, 18th week of 2012")<br />

Look for the date of manufacturing printed with the year and week (back side, board edge<br />

near LAN connector). In this example year (2012) and week (18th):


Model A:<br />

Board<br />

ver.<br />

Ayxxxx<br />

RAM<br />

Chip<br />

USB<br />

Chip C6<br />

F1 /<br />

F2<br />

Ref.<br />

&<br />

Ohm<br />

RG2<br />

Reported<br />

issues /<br />

Feedback<br />

Front Back Seen<br />

from Owner


Model B:


Board<br />

ver.<br />

RAM<br />

Chip<br />

BS1215 Samsung SMSC<br />

BS1215 Samsung SMSC<br />

BS1215<br />

BS1218<br />

BS1218<br />

Samsung<br />

216<br />

K4P2G324ED-AGC1<br />

GA30419V<br />

Samsung<br />

216<br />

K4P26324ED-AGC1<br />

GAL0839V<br />

Samsung<br />

216<br />

K4P26324ED-AGC1<br />

GAJ0419C<br />

SMSC<br />

USB<br />

Chip<br />

LAN9512-JZX<br />

B1211-A1B17<br />

BR149884A<br />

CTI-TW<br />

SMSC<br />

LAN9512-JZX<br />

B1212-A1B17<br />

BR149884S<br />

SMSC<br />

LAN9512-JZX<br />

B1212-A1B17<br />

BR149884S<br />

C6<br />

220<br />

16V<br />

EEZ<br />

n2<br />

220<br />

UD<br />

n2<br />

220C<br />

UD<br />

220<br />

16V<br />

EE5<br />

220<br />

16V<br />

EE5<br />

F1 / F2<br />

Ref. &<br />

Ohm<br />

?<br />

? / ?<br />

?<br />

? / ?<br />

14<br />

? / ?<br />

T014<br />

3.8 /<br />

4.4<br />

T014<br />

5.8 /<br />

3.9<br />

RG2<br />

SE8117733<br />

943-1F<br />

SE8117T33<br />

1213-LF<br />

SE8117T33<br />

1213-LF<br />

▪ None<br />

▪ None<br />

▪ None<br />

▪ None<br />

▪ None


BS1218 Samsung ?<br />

BH1208<br />

BH1219<br />

BH1218<br />

BH1218<br />

Hynix<br />

H9TKNNN2GDMP<br />

LANDM 149A<br />

Hynix<br />

H9TKNNN2GDMP<br />

LANDM 218A<br />

Hynix<br />

H9TKNNN2GDMP<br />

LRNOM 217A<br />

Hynix<br />

H9TKNNN2GDMP<br />

LRNDM 217A<br />

SMSC<br />

LAN9512-JZX<br />

B1134-A1B17<br />

8R147769B<br />

STA-SG<br />

SMSC<br />

LAN9512-JZX<br />

B1206-A1B17<br />

8R149471A<br />

CTI-TW<br />

SMSC<br />

LAN9512-JZX<br />

B1215-A1B17<br />

BR1501888<br />

SMSC<br />

LAN9512-JZX<br />

B1215-A1817<br />

BR1494828<br />

BS1219 Samsung SMSC<br />

?<br />

? / ?<br />

220<br />

16V<br />

EE2 14<br />

220<br />

16V<br />

2E2 T014<br />

2E<br />

220<br />

16H<br />

2E<br />

220<br />

16H<br />

2E<br />

220<br />

16H<br />

14<br />

6.4 /<br />

5.0<br />

14<br />

6.1 /<br />

5.6<br />

T014<br />

? / ?<br />

SE8117T33<br />

1001-LF<br />

SE8117T33<br />

1217-LF<br />

SE8117T33<br />

1213-LF<br />

SE8117T33<br />

1213-LF<br />

SE8117T33<br />

1213-LF<br />

▪ None<br />

▪ No issues after getting a good pow<br />

▪ Note the SMSC is 8R149482C wh<br />

▪ Ethernet: LU1S041ALF 1018M<br />

▪ No issues<br />

▪ Ethernet: HanRun HR901110A 12<br />

▪ USB/Keyboard/LAN issues<br />

▪ "I haven't had any issues"[2] (http<br />

▪ Ethernet HR901110A 1211<br />

▪ E2112RSV1.0B1.1<br />

▪ None


BH1208 Hynix SMSC<br />

BH1213 Hynix SMSC<br />

BH1213<br />

BS12xx<br />

BH1218<br />

Hynix<br />

h9tknnn2c0mp<br />

landm 1494<br />

Samsung<br />

216 k4p<br />

26324ED<br />

agc1<br />

Hynix<br />

h9trnnn2g0mp<br />

lrndm 217a<br />

BH1218 Hynix<br />

SMSC<br />

lan9512-jzx<br />

b1134 a1b17 8r14<br />

77698<br />

sta-sg<br />

SMSC<br />

lan9512-jzx<br />

b1212 a1b17<br />

br149884b<br />

cti-tw<br />

SMSC<br />

lan9512-jzy<br />

b1215-a1b17<br />

ase-tw<br />

SMSC<br />

LAN9512-JZX<br />

B1215-A1B17<br />

BR150188A<br />

ASE-TW (e3)<br />

BH1218 Hynix SMSC<br />

220<br />

16V<br />

EE2<br />

n2<br />

220c<br />

UD<br />

n2<br />

220c<br />

UD<br />

220<br />

16V<br />

EE5<br />

2e<br />

220<br />

16h<br />

2E<br />

220<br />

16H<br />

2B<br />

220<br />

16H<br />

14<br />

? / ?<br />

14<br />

? / ?<br />

14<br />

? / ?<br />

?<br />

? / ?<br />

14<br />

? / ?<br />

14<br />

8.2 /<br />

5.9<br />

?<br />

6-7 /<br />

6-7<br />

? ▪ None<br />

▪ None<br />

▪ "pretty stable"<br />

Se8117t33<br />

12-13 cf<br />

SE8117T33<br />

1213-LF<br />

▪ OK "has not been stress tested yet<br />

▪ "stable good runner overclocked t<br />

▪ USB/Keyboard/LAN power down<br />

▪<br />

▪ None


BH1218 Hynix SMSC<br />

BH1218 Hynix SMSC<br />

BH1218<br />

BH1218<br />

BH1218<br />

BH1208<br />

BH1213<br />

Hynix<br />

H9TKNNN2GDMP<br />

LANDM 217A<br />

Hynix<br />

H9TKNNN2GDMP<br />

LANDM 218A<br />

Hynix<br />

H9TKNNN2GDMP<br />

LRNOM 217A<br />

Hynix<br />

H9TKNNN2GDMP<br />

LANDM 149A<br />

Hynix<br />

H9TKNNN2GDMP<br />

LANDM 149A<br />

SMSC<br />

LAN9512-JZX<br />

B1215-A1B17<br />

BR150188B<br />

ASE-TW (e3)<br />

SMSC<br />

LAN9512-JZX<br />

B1215-A1B17<br />

BR150188A<br />

ASE-TW (e3)<br />

SMSC<br />

LAN9512-JZX<br />

B1215-A1B17<br />

8R150188B<br />

ASE-TW (e3)<br />

SMSC<br />

LAN9512-JZX<br />

B1134-A1B17<br />

BR147769B<br />

STA-SG<br />

SMSC<br />

LAN9512-JZX<br />

B1134-A1B17<br />

BR147769B<br />

STA-SG<br />

2B<br />

220<br />

16H<br />

2E<br />

220<br />

16H<br />

2E<br />

220<br />

16H<br />

2E<br />

220<br />

16H<br />

2E<br />

22-<br />

16H<br />

220<br />

16V<br />

EE2<br />

n2<br />

220C<br />

UD<br />

?<br />

? / ?<br />

F014<br />

? / ?<br />

14<br />

6.9 /<br />

5.9<br />

14<br />

? / ?<br />

14<br />

? / ?<br />

?<br />

? / ?<br />

?<br />

? / ?<br />

SE8117T33<br />

1213-LF<br />

SE8117T33<br />

1213-LF<br />

SE8117T33<br />

1213-LF<br />

SE8117T33<br />

1213-LF<br />

SE8117T33<br />

1001-LF<br />

SE8117T33<br />

943-LF<br />

▪ None<br />

▪ None<br />

▪ None<br />

▪ None<br />

▪ D1 shorted when attaching a Neew<br />

devices before or since.<br />

▪ Stable, powers up off any charger<br />

▪ Ethernet: LU1S041ALF 1018M<br />

▪ Stable, no power issues (not thour<br />

▪ Ethernet: HR901110A 1211|


BH1218<br />

BS1218<br />

BS1219<br />

BS1219<br />

BH1222<br />

Hynix<br />

H9TKNNN2GDMP<br />

LANDM 217A<br />

Samsung<br />

216<br />

K42P2G324ED-AGG1<br />

GAL0839T<br />

Samsung<br />

216<br />

K4P2G324ED-AGC1<br />

GAL0859V<br />

Samsung<br />

216<br />

K4P2G324ED-AGC1<br />

GAL0859D<br />

Hynix<br />

H9TKNNN2GDMP<br />

LANDM 214A<br />

BS1224 Samsung<br />

SMSC<br />

LAN9512-JZX<br />

B1216-A1B17<br />

8R149482C<br />

ASE-TW (e3)<br />

SMSC<br />

LAN9512-JZX<br />

B1212-A1B17<br />

8R149885A<br />

ASE-TW (e3)<br />

SMSC<br />

LAN9512-JZX<br />

B1216-A1B17<br />

8R149482C<br />

ASE-TW (e3)<br />

SMSC<br />

LAN9512-JZX<br />

B1216-A1B17<br />

8R149482C<br />

ASE-TW (e3)<br />

SMSC<br />

LAN9512-JZX<br />

B1215-A1B17<br />

8R148168E<br />

ASE-TW (e3)<br />

SMSC<br />

LAN9512-JZX<br />

B1222-A1B17<br />

2E<br />

220<br />

16H<br />

220<br />

16V<br />

EE5<br />

2E<br />

220<br />

16H<br />

2E<br />

220<br />

16H<br />

2E<br />

220<br />

16H<br />

2F<br />

220<br />

16H<br />

14<br />

14 / 5.1<br />

T014<br />

T014<br />

/ ?<br />

T014<br />

2.9ohm<br />

/<br />

3.0ohm<br />

T014 /<br />

T014<br />

? / ?<br />

T014 /<br />

T014<br />

? / ?<br />

T014 /<br />

T014<br />

? / ?<br />

SE8117T33<br />

1213-LF<br />

SE8117T33<br />

1213-LF<br />

SE8117T33<br />

0941-LF<br />

SE8117T33<br />

0941-LF<br />

SE8117T33<br />

1217-LF<br />

SE8117T33<br />

1217-LF<br />

▪ Up headless with Squeeze and Wh<br />

▪ Ethernet: HR901110A 1211<br />

▪ Comes upp headless with Wheezy<br />

▪ Ethernet: HR901110A 1218<br />

▪ First had problems (freezing, no L<br />

Now works OK with Raspbian “w<br />

▪ Ethernet: HR901110A 1220<br />

▪ F3 0.3ohm<br />

▪ No issues<br />

▪ Ethernet: HanRun HR901110A 12<br />

▪ FN120659744<br />

▪ No issues<br />

▪ Ethernet: HanRun HR901110A 12<br />

▪ E2712RSV1.0B1.1<br />

▪ Ethernet: HanRun HR901110A 12


BS1224<br />

BS1218<br />

BS1222<br />

BS1232<br />

BS1228<br />

BS1233<br />

222<br />

K4P2G324ED-AGC1<br />

GAA0419T<br />

Samsung<br />

222<br />

K4P2G324ED-AGC1<br />

GAA0519H<br />

Samsung<br />

216<br />

K4P26324ED-AGC1<br />

GAL0839R<br />

Samsung<br />

225<br />

K4P2G324ED-AGC1<br />

GAC0289E<br />

Samsung<br />

225<br />

K4P2G324ED-AGC1<br />

GAC0289H<br />

Samsung<br />

234<br />

K4P2G324ED-AGC1<br />

GAK1229X<br />

Samsung<br />

231<br />

K4P4G324EB-AGC1<br />

GKG0609V<br />

(512MB version)<br />

8R150543C<br />

CTI-TW (e3)<br />

SMSC<br />

LAN9512-JZX<br />

B1223-A1B17<br />

8R15D81DA<br />

CTI-TW (e3)<br />

SMSC<br />

LAN9512-JZX<br />

B1215-A1B17<br />

8R150188B<br />

ASE-TW<br />

(e3)<br />

SMSC<br />

LAN9512-JZX<br />

B1227-A1B17<br />

8R1511968<br />

CTI-TW (e3)<br />

SMSC<br />

LAN9512-JZX<br />

B1227-A1B17<br />

8R151261A<br />

CTI-TW (e3)<br />

SMSC<br />

LAN9512-JZX<br />

B1228-A1B17<br />

8R151303B<br />

CTI-TW (e3)<br />

SMSC<br />

LAN9512-JZX<br />

B1227-A1B17<br />

8R151261A<br />

CTI-TW (e3)<br />

2F<br />

220<br />

16H<br />

2E<br />

220<br />

16H<br />

2F<br />

220<br />

16H<br />

2F<br />

220<br />

16H<br />

2E<br />

220<br />

16H<br />

2E<br />

220<br />

CFP<br />

2G6<br />

0000 /<br />

0000<br />

0 / 0<br />

F014<br />

? / ?<br />

0000 /<br />

0000<br />

0 / 0<br />

0000 /<br />

0000<br />

0 / 0<br />

0000 /<br />

0000<br />

? / ?<br />

None /<br />

None<br />

? / ?<br />

SE8117T33<br />

1220-LF<br />

SE8117T33<br />

1213-LF<br />

SE8117T33<br />

1217-LF<br />

SE8117T33<br />

1225-LF<br />

SE8117T33<br />

1220-LF<br />

17-33G<br />

RRB32 (ON)<br />

▪ Ethernet: HanRun HR901110A 12<br />

▪ No Issues<br />

▪ Note: F1 and F2 are black 0 ohm<br />

▪ None<br />

▪ Ethernet: HanRun HR901110A 12<br />

▪ Both boards by wcfields ordered a<br />

▪ Note: F1 and F2 are black 0 ohm<br />

▪ Ethernet: HanRun HR901110A 12<br />

▪ Both boards by wcfields ordered a<br />

▪ Note: F1 and F2 are black 0 ohm<br />

* Serious problems with the 4GB <strong>SD</strong>HC-<br />

* Same issues using rasbian and two d<br />

* Using RS original power adapter<br />

-Ethernet Jack: No visible branding<br />

-PS: 500mA Mobile phone charger & USB<br />

-Fuse(s): ONLY seems to have green pol<br />

-In the position of the (other fuses)


BS1236<br />

}<br />

Samsung<br />

225<br />

K4P46324EB-AGC1<br />

GKEM509X<br />

(512MB version)<br />

SMSC<br />

LAN9512-JZX<br />

B1232-A1B17<br />

8R151680A<br />

CTI-TW (e3)<br />

2F<br />

220<br />

16H<br />

None /<br />

None<br />

? / ?<br />

SE8117T33<br />

1225-LF<br />

Retrieved from "http://elinux.<strong>org</strong>/index.php?title=RaspberryPi_Boards&oldid=195062"<br />

▪ This page was last modified on 22 November 2012, at 06:15.<br />

▪ Content is available under a Creative Commons Attribution-ShareAlike 3.0<br />

Unported License.<br />

-There is also an extra header (P5) de<br />

-Won't boot with a known working (This<br />

-When using raspbmc powered with 550ma<br />

-When using torrents and connected wit<br />

-The unit WILL boot from the <strong>SD</strong> card b<br />

-Will add more when I know more.<br />

▪ Ethernet Jack: HanRun HT901110<br />

▪ Seems to randomly power off on 3<br />

▪ Extra header, F1, F2 and F3 and m


<strong>RPi</strong> Hardware<br />

From <strong>eLinux</strong>.<strong>org</strong><br />

Back to the Hub.<br />

Hardware &<br />

Peripherals:<br />

Hardware and<br />

Hardware<br />

History.<br />

Low-level<br />

Peripherals and<br />

Expansion<br />

Boards.<br />

Screens, Cases<br />

and Other<br />

Peripherals.<br />

Introduction<br />

Contents<br />

▪ 1 Introduction<br />

▪ 2 Specifications<br />

▪ 3 Components<br />

▪ 4 Schematic / Layout<br />

▪ 5 Power<br />

▪ 5.1 Power Supply Problems<br />

▪ 5.1.1 How Can I tell if the power supply is inadequate?<br />

▪ 5.1.2 Things that can cause problems<br />

▪ 5.1.3 Summary<br />

▪ 5.2 Capacitor C6<br />

▪ 6 References<br />

The first product is the size of a credit card, and is<br />

designed to plug into a TV or HDMI monitor. It comes<br />

in two variants, model A and B, with B having more<br />

features. The expected price is $25 for model A and $35<br />

for model B. The GPIO pins on each board allow the<br />

use of optional expansion boards.<br />

Those who are looking to set up a Raspberry Pi for the<br />

first time, see <strong>RPi</strong> Hardware Basic <strong>Setup</strong>.<br />

The unpopulated Rpi bèta<br />

board<br />

Several different Hardware versions/revisions<br />

RaspberryPi Boards have been found probably from<br />

different assembly lines. Try to identify your board for better troubleshooting and update<br />

it if you have one which is not mentioned.


Specifications<br />

Target price: [1]<br />

System-on-a-chip<br />

(SoC): [1]<br />

Model A Model B<br />

US$25 Ext tax (GBP £16 Exc<br />

VAT)<br />

US$35 Ext tax (GBP £22<br />

Exc VAT)<br />

Broadcom BCM2835 (CPU + GPU. <strong>SD</strong>RAM is a separate chip<br />

stacked on top)<br />

CPU: 700 MHz ARM11 ARM1176JZF-S core<br />

GPU:<br />

Memory<br />

(<strong>SD</strong>RAM)iB<br />

Broadcom VideoCore IV,OpenGL ES 2.0,OpenVG 1080p30<br />

H.264 high-profile encode/decode<br />

256 MiB (planned with 128 MiB,<br />

upgraded to 256 MiB on 29 Feb<br />

2012)<br />

256 MiB (until 15 Oct<br />

2012); 512 MiB (since 15<br />

Oct 2012)<br />

USB 2.0 ports: 1 (provided by the BCM2835) 2 (via integrated USB hub)<br />

Video outputs: [1]<br />

Composite video | Composite RCA, HDMI (not at the same<br />

time)<br />

Audio outputs: [1] TRS connector | 3.5 mm jack, HDMI<br />

Audio inputs: none, but a USB mic or sound-card could be added<br />

Onboard Storage: Secure Digital|<strong>SD</strong> / MMC / <strong>SD</strong>IO card slot<br />

Onboard<br />

Network: [1] None 10/100 wired Ethernet RJ45<br />

Low-level<br />

peripherals:<br />

Real-time clock: [1] None<br />

Power ratings<br />

(provisional, from<br />

alpha board):<br />

General Purpose Input/Output (GPIO) pins, Serial Peripheral<br />

Interface Bus (SPI), I²C, I²S [2] , Universal asynchronous<br />

receiver/transmitter (UART)<br />

500 mA, (2.5 W) [1] 700 mA, (3.5 W)<br />

Power source: [1] 5 V (DC) via Micro USB type B or GPIO header<br />

Size: 85.0 x 56.0 mm (two different boards, measured with callipers)


Components<br />

(Provisional - some of<br />

the expansion<br />

interfaces won't be<br />

available on<br />

production boards)<br />

(PCB IDs are those of<br />

the Model B Beta<br />

board)<br />

▪ SoC: Broadcom<br />

BCM2835 media<br />

processor<br />

A diagram denoting the places of the different components on the<br />

Rpi, made by Paul Beech, edited to show 256MB ram for both boards<br />

(http://www.broadcom.com/products/BCM2835) (datasheet<br />

(http://www.raspberrypi.<strong>org</strong>/wp-content/uploads/2012/02/BCM2835-ARM-<br />

Peripherals.pdf) , BCM2835 datasheet errata, unofficial pinout) system-on-chip<br />

featuring:<br />

▪ CPU core: ARM1176JZF-S (http://infocenter.arm.com/help/topic/<br />

com.arm.doc.ddi0301h/DDI0301H_arm1176jzfs_r0p7_trm.pdf) ARM11 core<br />

clocked at 700MHz; ARM VFP. The ARM11 core implements the ARMv6


Architecture. For details on ARM instruction sets and naming conventions, see<br />

ARM architecture (http://en.wikipedia.<strong>org</strong>/wiki/ARM_architecture) and List of<br />

ARM microprocessor cores (http://en.wikipedia.<strong>org</strong>/wiki/<br />

List_of_ARM_microprocessor_cores) .<br />

▪ GPU core: a Broadcom VideoCore (http://en.wikipedia.<strong>org</strong>/wiki/Videocore) IV<br />

GPU providing OpenGL ES 1.1, OpenGL ES 2.0, hardware-accelerated OpenVG<br />

1.1, Open EGL, OpenMAX and 1080p30 H.264 high-profile decode. There are<br />

24 GFLOPS of general purpose compute and a bunch of texture filtering and<br />

DMA infrastructure. Eben worked on the architecture team for this and the<br />

Raspberry Pi team are looking at how they can make some of the proprietary<br />

features available to application programmers<br />

▪ DSP core: There is a DSP, but there isn't currently a public API (Liz thinks the<br />

BC team are keen to make one available at some point)<br />

▪ 256MiB of (Hynix MobileDDR2 (http://www.hynix.com/products/mobile/<br />

view.jsp?info.ramKind=28&info.serialNo=H9TKNNN2GDMPLR&posMap=MobileDDR2)<br />

or Samsung Mobile DRAM (http://www.samsung.com/global/business/<br />

semiconductor/product/mobile-dram/detail?productId=7611&iaId=747) )<br />

<strong>SD</strong>RAM (or 512MB Mobile DRAM (http://www.samsung.com/global/business/<br />

semiconductor/product/mobile-dram/detail?iaId=747&productId=7609) on later<br />

boards). The RAM is physically stacked on top of the Broadcom media processor<br />

(package-on-package technology (http://en.wikipedia.<strong>org</strong>/wiki/<br />

Package_on_package) ). Here is a photo of the <strong>SD</strong>RAM (left) and BCM2835<br />

(right) (http://www.raspberrypi.<strong>org</strong>/wp-content/uploads/2012/01/<br />

brcm2835plusmemory.jpg) ball grid arrays on JamesH's finger. You are looking<br />

at the bottom side. The BCM2835 top side has a land grid array which matches<br />

the <strong>SD</strong>RAM ball grid array. Here is a highly magnified side view of the <strong>SD</strong>RAM<br />

stacked on top of the BCM2835 stacked on top of the PCB PoP stack<br />

(http://www.raspberrypi.<strong>org</strong>/wp-content/uploads/2012/09/<br />

2012-09-21-10.58.22.jpg) (you can see why it's job that can only be done by<br />

robots!).<br />

▪ LAN9512 (Data Brief (http://www.smsc.com/media/Downloads_Public/Data_Briefs/<br />

9512db.pdf) | Data Sheet (http://www.smsc.com/media/Downloads_Public/<br />

Data_Sheets/9512.pdf) ) (Model B) providing:<br />

▪ 10/100Mb Ethernet (Auto-MDIX) [3]<br />

▪ 2x USB 2.0<br />

▪ S1: Micro USB power jack (5v - Power Only)<br />

▪ S2: DSI (http://www.mipi.<strong>org</strong>/specifications/display-interface) interface. 15-pin<br />

surface mounted flat flex connector, providing two data lanes, one clock lane, 3.3V<br />

and GND.<br />

▪ S3: HDMI connector providing type A HDMI 1.3a out<br />

▪ S4: Composite Video connector: RCA<br />

▪ S5: MIPI CSI-2 (http://www.mipi.<strong>org</strong>/specifications/camera-interface) interface.<br />

15-pin surface mounted flat flex connector.<br />

▪ S6: Audio connector: 3.5mm stereo jack (output only)


▪ S8: <strong>SD</strong>/MMC/<strong>SD</strong>IO memory card slot (underside)<br />

▪ S7: Either 1x USB 2.0 (Model A) 2x USB 2.0 (Model B)<br />

▪ P1: 26-pin 2.54 mm header expansion, providing: see Low-level peripherals<br />

▪ 8 GPIOs at 3v3<br />

▪ 2-pin UART serial console, 3v3 TTL (debug); or 2 GPIOs at 3v3<br />

▪ I²C interface (3v3); or 2 GPIOs at 3v3<br />

▪ SPI interface (3v3); or 5 GPIOs at 3v3<br />

▪ 3v3, 5v and GND supply pins<br />

▪ ARM JTAG (if pins are reconfigured in software and one signal is taken from S5)<br />

▪ Second I²C interface (3v3) (if pins are reconfigured in software)<br />

▪ I²S interface (if pins are reconfigured in software, hardware hack may be<br />

required [2] )<br />

▪ 6 pins reserved for future use<br />

▪ P2: 8-pin 2.54 mm header expansion providing GPU JTAG (ARM11 pinout, pin 7 is<br />

nofit for locating)<br />

▪ P3: 7-pin 2.54 mm header expansion (header not fitted), providing LAN9512 JTAG<br />

(pin 6 is nofit for locating)<br />

▪ P4: 10/100Mb RJ45 Ethernet jack (Model B)<br />

▪ TP1 and TP2: Test Points giving access to +5V and GND respectively<br />

▪ 5 Status LEDs [4][5][6][7][8] :<br />

▪ D5(Green) - <strong>SD</strong><strong>Card</strong> Access (via GPIO16) - labelled as "OK" on Rev1.0 boards<br />

and "ACT" on Rev2.0 boards<br />

▪ D6(Red) - 3.3 V Power - labelled as "PWR" on both Rev1.0 and Rev2.0 boards<br />

▪ D7(Green) - Full Duplex (LAN) (Model B) - labelled as "FDX" on both Rev1.0<br />

and Rev2.0 boards<br />

▪ D8(Green) - Link/Activity (LAN) (Model B) - labelled as "LNK" on both Rev1.0<br />

and Rev2.0 boards<br />

▪ D9(Yellow) - 10/100Mbit (LAN) (Model B) - labelled (incorrectly) as "10M" on<br />

Rev1.0 boards and "100" on Rev2.0 boards<br />

▪ Board size: 85.60 mm x 53.98 mm. Overall height expected to be less than 25 mm.<br />

[9]<br />

▪ A model B between highest points (USB connector to card slot) measured 21<br />

mm.<br />

▪ Weight: under 40 g?<br />

▪ Alpha board weighs approx. 55 g. [10]<br />

▪ A sample model B weighed 39.45 g.<br />

▪ 6 layer PCB [9]


Schematic / Layout<br />

▪ PCB screenshot (http://www.raspberrypi.<strong>org</strong>/wp-content/uploads/2011/11/<br />

gerbers2.png)<br />

▪ PCB screenshot, labelled version (http://lh3.googleusercontent.com/-uO4l8pwSLvU/<br />

TsQGbth6x6I/AAAAAAAAAkk/5zQMH3uKPiE/s829/Boardlayout.png)<br />

▪ PCB screenshot, Alpha board (http://www.raspberrypi.<strong>org</strong>/wp-content/uploads/2011/<br />

07/raspberry1.png)<br />

▪ Preliminary power supply schematic, Beta board (http://www.raspberrypi.<strong>org</strong>/wpcontent/uploads/2011/12/psu.png)<br />

▪ High-resolution PCB front photo, production board (http://elinux.<strong>org</strong>/File:<strong>RPi</strong>-Front-<br />

JPB.jpg)<br />

▪ High-resolution PCB back photo, production board (http://elinux.<strong>org</strong>/File:<strong>RPi</strong>-back-<br />

JPB.jpg)<br />

▪ GIMP project containing properly aligned versions of the high-res PCB photos and<br />

Gerbers on separate layers (117MB) (http://www.andrewscheller.co.uk/bare_pcb.xcf)<br />

▪ "Xray style" image of the beta board, created from the above GIMP project | desktop<br />

wallpapers<br />

▪ Official Rev1.0 schematics PDF (http://www.raspberrypi.<strong>org</strong>/wp-content/uploads/<br />

2012/04/Raspberry-Pi-Schematics-R1.0.pdf) | Official Rev2.0 schematics PDF<br />

(http://www.raspberrypi.<strong>org</strong>/wp-content/uploads/2012/10/Raspberry-Pi-<br />

R2.0-Schematics-Issue2.2_027.pdf) | differences | errata | breakdown | partial BOM<br />

▪ 'Module groups' of the PCB photos (http://www.andrewscheller.co.uk/<br />

rpi_pcb_modules.html)<br />

Power<br />

The board takes fixed 5V input, (with the 1V2 core voltage generated directly from the<br />

input using the internal switch-mode supply on the BCM2835 die). This permits adoption<br />

of the micro USB form factor, which, in turn, prevents the user from inadvertently<br />

plugging in out-of-range power inputs; that would be dangerous, since the 5V would go<br />

straight to HDMI and output USB ports, even though the problem should be mitigated by<br />

some protections applied to the input power: The board provides a polarity protection<br />

diode, a voltage clamp, and a self-resetting semiconductor fuse.<br />

Premier Farnell recommend the following power supplies:<br />

▪ Model A: 5V dc, 500-700mA<br />

▪ Model B: 5V dc, 700-1200mA<br />

Power consumption of the Raspberry Pi device is<br />

▪ Board A: 5V, 500 mA (2.5W) without any devices connected (e.g. USB, Ethernet,<br />

HDMI)


▪ Board B: 5V, 700 mA (3.5W) without any devices connected (e.g. USB, Ethernet,<br />

HDMI) (Is this correct? These [1] (http://www.raspberrypi.<strong>org</strong>/forum/<br />

troubleshooting/usb-hub-sending-power-to-raspberry-pi-through-usb-port/#p68382)<br />

links [2] (http://www.raspberrypi.<strong>org</strong>/forum/general-discussion/raspberry-pi-powerrequirements/page-2/#p68224)<br />

suggest that the 700mA is only required if "using<br />

networking and high-current USB peripherals" [3] (http://www.raspberrypi.<strong>org</strong>/<br />

archives/260) .)<br />

You will need to provide a power supply that can provide enough current to power the<br />

device plus any connected peripherals, and taking into account inefficiencies of the<br />

supply itself and the cable between the power supply and Raspberry Pi. The community<br />

advises opting for a power supply that can supply at least 1A if using USB peripherals or<br />

Pi plates that draw more than a few tens of milliamps of current.<br />

▪ As the 5V rail is brought out in the GPIO pins, you can power the Rpi from there too.<br />

You should mind however, that those are behind the power protection circuitry, so<br />

you should provide your own.<br />

▪ It is possible to power the Rpi from a powered USB hub the Rpi controls, but only on<br />

'dumb' devices, that allow the port to supply the full current without waiting for the<br />

usb device to ask for it[4] (http://www.raspberrypi.<strong>org</strong>/forum/general-discussion/<br />

power-pi-from-usb-hub-connected-to-pi) . As the power input of the Rpi doesn't have<br />

its data leads connected, there is no chance for a communication loop of some sorts.<br />

▪ POE (power over ethernet) is currently not available for the Rpi (but nobody stops<br />

you from taking your soldering iron and doing it yourself - mind though that the<br />

Ethernet jack on the board is a 'magjack' - http://www.sparkfun.com/datasheets/<br />

Prototyping/MagJack.pdf - which means that the usual 'dumb or passive PoE' power<br />

pins 47 and 78 are *not* wired through to the board. So this is not an entirely trivial<br />

exercise).<br />

▪ Back-Powering; (powering the Raspberry Pi from a USB hub through the uplink/data<br />

port, single cable) Back powering is possible on the Raspberry Pi. Revision 1.0<br />

boards have to be modified to back power, this is due to the 140ma "polyfuses" that<br />

are installed in the USB port circuit. Revision 1.1 boards do not need modifications to<br />

back-power, they have replaced the polyfuses with 0ohm resistors in their place.<br />

Revision 2.0 boards do not need modification, they have neither resistors nor<br />

polyfuses. It is advised that short (12" (.3 meter) or less) USB cables be used for<br />

back-powering a Raspberry Pi. Cable resistance plus connector resistance can quickly<br />

reduce operating voltages below the proper range(5.25V to 4.75V).<br />

Power Supply Problems<br />

There have been a number of problems reported that seem to be caused by inadequate<br />

power, this is an attempt to explain what is needed and the consequences of not having<br />

enough power.


The power required by the Pi will vary depending on how busy it is and what peripherals<br />

are connected.<br />

▪ Running a GUI will take more power.<br />

▪ The USB devices and Ethernet connection will take power.<br />

▪ Running the GPU will take extra power.<br />

This means that it's difficult to say exactly how much power is needed. People have<br />

reported current requirements of between 300mA and 550mA. But it could in reality take<br />

more, especially for short periods. A simple multimeter will not show short surges on the<br />

power requirement. A surge in the power requirement for a few milliseconds will not be<br />

detectable by a meter but will be enough to cause problems. If the board does not get<br />

enough power the voltage will drop. If it drops enough parts of the system will run<br />

unreliably because data can get corrupted. The USB IC runs on 5V and handles the USB<br />

and Ethernet ports so it's likely that this will be the first thing to fail. Problems seen are<br />

unreliable Ethernet connection and unreliable operation of the Keyboard and/or mouse.<br />

Each of the two USB ports on the Pi has a polyfuse rated at 140 mA, so any connected<br />

USB devices should draw less than this amount of current. In addition the polyfuse will<br />

cause a significant voltage drop, so that USB devices get less voltage than is available on<br />

the RPI itself, sometimes up to half a volt less (maybe more if the fuse has recently been<br />

hot). For regular "low power" USB devices this doesn't cause a problem as they are<br />

designed to work with voltages as low as 4.4 Volt. This isn't the case however with some<br />

USB devices such as WiFi dongles which may need 4.75 Volt, and are also known to<br />

draw more than 150 mA when configured and active. Because of the problems these<br />

polyfuses caused Raspberry PI's produced after August 25, 2012 have the USB polyfuses<br />

F1 & F2 removed (replaced with shorts).<br />

The microUSB input port also has a 1.1 A polyfuse (700mA "hold current") which may<br />

also have enough resistance (although much smaller than the 140mA fuses) to cause a<br />

significant voltage drop on the board, even below its 1.1 A total current.<br />

A extended explanation of the consequences of the use of these polyfuses can be found<br />

here Polyfuses explained<br />

There are several reasons why the power to the board may be inadequate:<br />

▪ The PSU may not deliver enough power. Although the maximum power requirement<br />

is said to be 700mA, that is with no peripherals connected (USB, Ethernet etc), so a<br />

1000mA PSU should be regarded as a minimum. This allows some leeway in case<br />

the power supply cannot deliver its full power without the voltage dropping.<br />

▪ The PSU is not regulated.<br />

▪ The cable connecting the PSU to the Pi may not be good. People have reported cables<br />

with 4 ohms resistance on the power connections. At 500mA drain this would reduce<br />

a 5V supply to 3V.


▪ If the PSU is unregulated it can also output too high a voltage, which may trigger the<br />

overvoltage device in the PI, which will temporarily short the 5V to ground, this will<br />

then "blow" polyfuse F3, which will take several days to recover from. Meanwhile<br />

(possibly with another PSU) the PI might not get enough power because the (partly)<br />

blown polyfuse is consuming some of the power. The solution is when this happens<br />

to ways a few days to give the polyfuse time to recover before attempting to use the<br />

better PSU. If you suspect a blow polyfuse, measure the voltage across F3, which<br />

should be less than 0.05 Volt.<br />

How Can I tell if the power supply is inadequate?<br />

Common symptoms of an inadequate power supply are<br />

▪ Unreliable Ethernet or keyboard operation, especially if it's OK at first but not when<br />

the GUI is started.<br />

▪ <strong>SD</strong> card errors at start up seems to be another symptom of poor power.<br />

If you think you have a problem with your power supply, it is a good idea to check the<br />

actual voltage on the Raspberry Pi circuit board. Two test points labelled TP1 and TP2<br />

are provided on the circuit board to facilitate voltage measurements.<br />

Use a multimeter which is set to the range 20 volts DC (or 20v =). You should see a<br />

voltage between 4.75 and 5.25 volts. Anything outside this range indicates that you have<br />

a problem with your power supply or your power cable, or the input polyfuse F3.<br />

Anything inside, but close to the limits, of this range may indicate a problem.


Things that can cause problems<br />

▪ A USB connection on a TV or PC. The USB power supply specification is for up to<br />

500mA and if the TV implements this then it can cause problems. The system may


work initially but be unreliable because as it becomes more active the power<br />

requirement increases.<br />

▪ A single supply from a powered hub. Most hubs seem to deliver more than the<br />

specified current but there's no guarantee. Check the power supply rating, it must be<br />

enough to supply everything that's connected to the hub.<br />

▪ A power supply that is rated for less than 700mA may work some of the time.<br />

▪ Adding a USB hard disk drive. A HDD will take quite a lot of power as it starts,<br />

maybe an amp or more. It the power supply for this also supplies the Pi then this<br />

could overload things and cause trouble.<br />

▪ Some complex keyboards have been reported to take a considerable amount of<br />

power, maybe up to 500mA. The Pi cannot deliver this amount of power. Simpler<br />

budget keyboards may be better. If the system works with no keyboard attached but<br />

not with a keyboard then it's worth trying a different, simpler, keyboard.<br />

Summary<br />

▪ If you are having unreliable operation the first thing to do is check your power<br />

supply.<br />

▪ Start with a good quality regulated power supply that is rated to provide 5V and at<br />

least 1A (1000mA).<br />

▪ Use a good quality micro USB cable. Cables are notorious for giving trouble so be<br />

prepared to swap for another one.<br />

▪ Not all power supplies will deliver what they claim.<br />

Capacitor C6<br />

Behind the microUSB power connector on the Model B is a metallic grey component<br />

called a capacitor, marked as C6. This capacitor helps stabilise the DC power on the<br />

board, but for some it has also become a place for their thumb when removing the RPI's<br />

power lead; unfortunately, this can result in the capacitor breaking off! It has been stated<br />

in the forums that the type of capacitor used for C6 will be changed on later <strong>RPi</strong> models<br />

for one with sturdier leads. If you do break off your C6 capacitor, it's highly likely that<br />

your <strong>RPi</strong> will still work properly, unless you have a particularly unstable power supply,<br />

but the general advice is to not use C6 as a leverage point when removing the power<br />

connector and also take care when storing or transporting your <strong>RPi</strong> if it's not fitted in a<br />

case - try not to stow the board where C6 could be knocked by other items - for example<br />

in a laptop carry case or in amongst some books.


Capacitor C6 (ringed)<br />

It's unlikely that replacing a broken off C6 capacitor will be covered under warranty, but<br />

fortunately they are easy to replace if you have average soldering skills<br />

(http://www.raspberrypi.<strong>org</strong>/archives/1494) , but remember that reworking your <strong>RPi</strong> will<br />

void its warranty too. C6 is a surface mount electrolytic capacitor with a capacitance of<br />

220 microfarad (μF) and a voltage rating of 16 volt (V). The capacitor is polarised and so<br />

must be fitted the right way round - notice the black marking on one side in the picture<br />

above. A replacement capacitor can be purchased from numerous sources - for example:<br />

Farnell (http://uk.farnell.com/jsp/search/<br />

browse.jsp?N=202457+110114112+110119850+110141127+110200576&No=0&getResults=true&appliedpa<br />

Rapid Electronics (http://www.rapidonline.com/Electronic-Components/<br />

220uf-16v-85deg-Smd-Electro-Capacitor-11-2264)<br />

RS Components (http://uk.rs-online.com/web/c/passives/capacitors/aluminium/?sortby=default&sort-order=default&applieddimensions=4294884868,%204294884170,%204294672278,4294885140&lastAttributeSelectedBlock=4294<br />

If you prefer to make your own PSU - see: Power Supply construction - HowTo<br />

References<br />

1. ↑ 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 http://www.raspberrypi.<strong>org</strong>/faqs<br />

2. ↑ 2.0 2.1 Forum:Sad about removal of I2S. Why was this change made?<br />

(http://www.raspberrypi.<strong>org</strong>/forum/features-and-requests/sad-about-removal-ofi2s-why-was-this-change-made)<br />

3. ↑ Wikipedia:Auto-MDIX (http://en.wikipedia.<strong>org</strong>/wiki/<br />

Medium_dependent_interface#Auto-MDIX)


4. ↑ <strong>RPi</strong>Blog Post: High-res pics of the PCBs (http://www.raspberrypi.<strong>org</strong>/archives/<br />

402)<br />

5. ↑ TwitPic:Photo of Board Powered (http://twitpic.com/8edlsf)<br />

6. ↑ Forum:What do the status indicator LEDs indicate the status of?<br />

(http://www.raspberrypi.<strong>org</strong>/forum/features-and-requests/what-do-the-statusindicator-leds-indicate-the-status-of)<br />

7. ↑ <strong>RPi</strong>_schematic_errata<br />

8. ↑ <strong>RPi</strong>Blog Post: A nice shiny photo of the rev2 board – and User Guide news<br />

(http://www.raspberrypi.<strong>org</strong>/archives/1959)<br />

9. ↑ 9.0 9.1 http://www.raspberrypi.<strong>org</strong>/archives/344<br />

10. ↑<br />

http://www.raspberrypi.<strong>org</strong>/?page_id=43&mingleforumaction=viewtopic&t=285.0<br />

Raspberry Pi<br />

Model Wizard - Buying Guide - <strong>SD</strong> <strong>Card</strong> <strong>Setup</strong><br />

Startup - Basic <strong>Setup</strong> - Advanced <strong>Setup</strong> - Beginners<br />

Guide - Troubleshooting<br />

Hardware - Hardware History - Low-level<br />

Hardware<br />

peripherals - Expansion Boards<br />

Peripherals Screens - Cases - Other Peripherals<br />

Software - Distributions - Kernel - Performance<br />

Software<br />

- Programming - VideoCore APIs<br />

Tutorials - Guides - Projects - Tasks -<br />

Projects<br />

DataSheets - Education - Communities<br />

Retrieved from "http://elinux.<strong>org</strong>/index.php?title=<strong>RPi</strong>_Hardware&oldid=185762"<br />

Category: RaspberryPi<br />

▪ This page was last modified on 30 October 2012, at 12:53.<br />

▪ Content is available under a Creative Commons Attribution-ShareAlike 3.0<br />

Unported License.


<strong>RPi</strong> 5V PSU construction<br />

From <strong>eLinux</strong>.<strong>org</strong><br />

Back to the Hub.<br />

Hardware &<br />

Peripherals:<br />

Hardware and<br />

Hardware<br />

History.<br />

Low-level<br />

Peripherals and<br />

Expansion<br />

Boards.<br />

Contents<br />

Screens, Cases and Other Peripherals.<br />

▪ 1 A 5V power supply for the Raspberry Pi - Construction How To<br />

▪ 1.1 Resources on 7805<br />

▪ 1.2 The testing prototype<br />

▪ 2 Other PSU options<br />

▪ 3 Mobile battery power supply options<br />

▪ 4 Over-voltage protection<br />

▪ 5 References<br />

A 5V power supply for the Raspberry Pi - Construction<br />

How To<br />

Due to various problems with the power supply for the RaspberryPi, a home made PSU<br />

might be a solution for some of you. You will need some experience with construction of<br />

electronic circuits, appropriate tools and a multimeter.<br />

I have had problems with a cheap 5V/1A adapter from Ebay too (freezing, no LAN, etc.)<br />

... The adapter could not provide enough power. It had 5.0xV unloaded, but with<br />

RaspberryPi connected I've measured 4.78V and less - dropping to 4.5V on TP1 and TP2<br />

[1] , and that's not good. The voltage drop might be partially caused by the cable, but I've<br />

used a branded Nokia cable that looks pretty solid. Anyway, we have to compensate for<br />

that too. Also there is some voltage drop on the polyfuse F3 (typically 0.1-0.2V, fuse<br />

should have about 0.2 Ohms [2] ), hence don't expect to get >=5.0V on TP1-TP2...


Cheap PSU Cheap PSU - inside<br />

So instead of looking for another PSU (or cell phone charger), I decided to make my own<br />

PSU with the popular 7805 - 5V/1A regulator [3] [4] . (There is also a 2A version available<br />

- 78S05)<br />

The basic idea is shown on this schematic:<br />

The resistors R1 and R2 serve as adjustment of the output voltage (~ 5.25V). The formula<br />

is: V out = V fixed + { R2 [ (V fixed/R1) + I standby] }, where V fixed=5V and I<br />

standby=2.5mA (for 7805). I calculated for resistors that I had at home, but for best<br />

results R1 should be about 470ohm to 1k. Remember that resistors have some tolerance,<br />

so results may vary slightly, always measure. Value of C3 is not critical, I recommend<br />

100-470uF. Same for C4, where for every 1A drawn, use 1000uF of capacity (and add<br />

some reserve). Don't f<strong>org</strong>et to put C1 and C2 as close as possible to the regulator. And a<br />

heatsink for the regulator is necessary too.<br />

I've used an old 9.5V/1500mA power supply from an printer as the source for this<br />

regulator, so no transformer and rectifier etc. was needed in my case. And it works just<br />

fine :)


Here is a schematic of a complete PSU including all components:<br />

(a suggestion, with better filtering and protection)<br />

Starting from left, we have a transformer (protected by a fuse - F1) supplying about<br />

7-12V AC at 2A (use what you have at home or what is cheaper to buy). Next is a<br />

rectifier (or 4 diodes / >1A) with caps (C7-C10, for filtering). Now we should have<br />

approx. x 1.41 - so if we have a 9V transformer, it will be about 12.69V.<br />

The 7805 needs at least 2V [5] (depending on type/manufacturer) more on the input than<br />

on the output (I prefer using a little more, >=3V to be sure) for stable regulation, and it<br />

can be up to 35V (but a big difference between input and output voltage means "a lot<br />

work" for the regulator and a lot heating). In this case, 8-9V DC measured after the<br />

rectifier would be optimal. Main filtering is ensured by C4 (use at least 1000uF for each<br />

1A drawn), another filtering after the regulator is C3 (100-470uF). C1-C6 serve the 7805<br />

for stable function and HF filtering. R1 and R2 adjust the voltage to 5.25V, as described<br />

before. D1 and D2 are for protection. A transil is used for over-voltage (peaks) protection<br />

on the output, a 5V8 type should be fine (5.8V reverse standoff voltage and approx. 6.2V<br />

breakdown voltage) - use P6KE6.8A or BZW06-5V8. For operation signaling (device on)<br />

a LED coupled with R3 is used. You may use another fuse on the output - F2.<br />

This is a rather fancy circuit, you may simplify it if you like - by leaving out C7-C10, C5,<br />

C6, D1, D2, LED and R3, F2 (and the transil, if you don't want any protection). Or leave<br />

just some of them. Your choice ;)<br />

Also if you prefer to fine-tune the output voltage, you may replace R2 with a small<br />

pot (trimmer) as shown here:


With this values (R1=1k, R2=100) adjustment from 5V to approx. 5.75V is possible.<br />

Resources on 7805<br />

For more info about the 7805 regulator, google the datasheet (http://www.google.com/<br />

search?q=7805+datasheet) and see the following resources.<br />

Resource links:<br />

The Adjustable Voltage Regulator (http://www.rason.<strong>org</strong>/Projects/regulator/<br />

regulator.htm) ,<br />

Variable power supply using 7805 (http://www.circuitstoday.com/variable-power-supplyusing-7805)<br />

,<br />

or google more (http://www.google.com/search?q=7805+regulator)<br />

The testing prototype<br />

This is my testing prototype of this PSU, based on the first schematic. It's made of "what<br />

was found in the drawer". I've used an old 7805 regulator in TO3 package [6] , C3 was<br />

taken from some broken mainboard, C4 is left out (it's not necessary, because the circuit<br />

is powered by a stable power supply from some old printer). The PSU provides stable<br />

5.25V and i have 4.82V on TP1-TP2. My RaspberryPi works OK now :)


5V PSU prototype 5V PSU prototype 5V PSU prototype<br />

5V PSU prototype<br />

I will make another PSU (for permanent operation) later - new 7805 in TO-220 package<br />

[7] , appropriate heatsink, 1k resistor for R1 and a small pot for R2, new "fresh" caps and a<br />

transil, usb connector on PCB ... and I'll put it in some case.<br />

~#Pinoccio<br />

Other PSU options<br />

Simple switched PSU (with LM2576): The MagPi - Issue 6 (http://www.themagpi.com) -<br />

page 8+9,<br />

And more info on LM2576 [8] : link (http://www.hobby-hour.com/electronics/<br />

lm2576-step-down-switching-regulator.php) , link (http://wiringschematic.net/<br />

lm2576-switching-regulator/) , link (http://www.siongboon.com/projects/<br />

2005-08-07_lm2576_dc-dc_converter/)


Mobile battery power supply options<br />

A Battery Elminator Circuit (BEC) should be able provide a solid 5V output at upto 3A<br />

which will be plenty to handle the load on a normal <strong>RPi</strong><br />

Something like http://www.hobbyking.com/hobbyking/<br />

store/__15212__HobbyKing_Micro_UBEC_3A_5v.html Connect this BEC to a 3S LiPo<br />

5000mAh batter and you should get 15 hours of run time off one full charge. You could<br />

also connect it directly to a 12v car battery for even longer run time.<br />

Over-voltage protection<br />

Here is a nice upgrade for your PSU - a over-voltage protection circuit (see original post<br />

(http://blog.3b2.sk/igi/post/Tipy-a-triky-011-Prepatova-ochrana-Voltage-protect-Tipstricks.aspx)<br />

in Slovak language). It can protect your device (<strong>RPi</strong>) from unwanted damage<br />

by high voltage from a faulty/malfunctioning PSU. In such case, it will short-circuit and<br />

burn its fuse immediately.<br />

Steps:<br />

▪ choose appropriate fuse (according to expected load): 1-1.5A (fast type)<br />

▪ first don't put the fuse in its holder - you have to initially adjust the circuit, so use a<br />

piece of wire (or you can use a lower-current fuse too if you don't mind spending/<br />

burning it during the adjustment process)<br />

▪ set the 2k2 pot (trimmer) to its max. value<br />

▪ connect protection circuit to a power supply (if available a stabilized lab-PSU is<br />

preferred), set to 5.25V output (max. for USB; or exact 5V if you want) and 1-1.5A<br />

current limit


▪ now slowly turn the 2k2 pot until the PSU's current-limiter goes on (or the fuse burns<br />

- if you chose that option)<br />

▪ well done, disconnect, now replace wire with your fuse and you're good to go<br />

References<br />

1. ↑ http://elinux.<strong>org</strong>/R-Pi_Troubleshooting#Troubleshooting_power_problems<br />

2. ↑ http://www.raspberrypi.<strong>org</strong>/phpBB3/viewtopic.php?f=29&t=19033<br />

3. ↑ http://www.learningaboutelectronics.com/Articles/What-is-a-LM7805-voltageregulator<br />

4. ↑ http://www.circuitstune.com/2012/09/7805-voltage-regulatorcircuit-7805-pinout.html<br />

5. ↑ http://en.wikipedia.<strong>org</strong>/wiki/78xx<br />

6. ↑ http://en.wikipedia.<strong>org</strong>/wiki/TO-3<br />

7. ↑ http://en.wikipedia.<strong>org</strong>/wiki/TO-220<br />

8. ↑ http://www.ti.com/product/lm2576<br />

Raspberry Pi<br />

Model Wizard - Buying Guide - <strong>SD</strong> <strong>Card</strong> <strong>Setup</strong><br />

Startup - Basic <strong>Setup</strong> - Advanced <strong>Setup</strong> - Beginners<br />

Guide - Troubleshooting<br />

Hardware - Hardware History - Low-level<br />

Hardware<br />

peripherals - Expansion Boards<br />

Peripherals Screens - Cases - Other Peripherals<br />

Software - Distributions - Kernel - Performance<br />

Software<br />

- Programming - VideoCore APIs<br />

Tutorials - Guides - Projects - Tasks -<br />

Projects<br />

DataSheets - Education - Communities<br />

Retrieved from "http://elinux.<strong>org</strong>/<br />

index.php?title=<strong>RPi</strong>_5V_PSU_construction&oldid=188960"<br />

Category: RaspberryPi<br />

▪ This page was last modified on 6 November 2012, at 12:41.<br />

▪ Content is available under a Creative Commons Attribution-ShareAlike 3.0<br />

Unported License.


<strong>RPi</strong> Documentation<br />

From <strong>eLinux</strong>.<strong>org</strong><br />

Back to the<br />

Hub.<br />

Resources:<br />

Hardware &<br />

Peripherals:<br />

Hardware and<br />

Hardware<br />

History.<br />

Low-level<br />

Peripherals<br />

and Expansion<br />

Boards.<br />

Screens, Cases<br />

and Other<br />

Peripherals.<br />

Contents<br />

Software & OS Distributions:<br />

Software and Distributions<br />

Documentation:<br />

Documentation Page<br />

▪ 1 Published Datasheets<br />

▪ 1.1 User Guides<br />

▪ 1.2 Hardware / Software Datasheets<br />

▪ 1.2.1 Raspberry Pi Processor Broadcom System-On-Chip:<br />

▪ 1.2.2 ARM 11 CPU Core:<br />

▪ 1.2.3 Model B LAN Chip:<br />

▪ 1.3 Mechanical Data<br />

▪ 1.3.1 Production Boards (2012 Q1):<br />

▪ 1.3.2 Beta Boards:<br />

▪ 1.4 Schematics<br />

▪ 1.4.1 Production Boards<br />

▪ 1.4.1.1 Rev 2.0 (2012 Q3):<br />

▪ 1.4.1.2 Rev 1.0 (2012 Q1):<br />

▪ 1.4.2 Beta Boards:<br />

▪ 2 Additional Published Information<br />

▪ 2.1 Gert Board:<br />

▪ 2.2 Power Supply Details:<br />

▪ 3 Documentation Projects<br />

▪ 3.1 Low Level Documentation<br />

▪ 3.2 Frambozenier.<strong>org</strong> Datasheets:<br />

Frambozenier.<strong>org</strong> Documentation Project Datasheets<br />

Note: All datasheets, documents and Trademarks remain the property of their respective owners.


Published Datasheets<br />

User Guides<br />

Raspberry Pi Users Guide eBook now available at Amazon (http://www.amazon.com/<br />

Raspberry-User-Guide-Gareth-Halfacree/dp/111846446X/<br />

ref=sr_1_2?ie=UTF8&qid=1347122064&sr=8-2&keywords=raspberry+pi)<br />

Raspberry Pi Model A/Model B Layout Diagram (http://elinux.<strong>org</strong>/File:Raspi-Model-<br />

AB-Mono-2-699x1024.png)<br />

Hardware / Software Datasheets<br />

Raspberry Pi Processor Broadcom System-On-Chip:<br />

BCM2835 ARM Peripherals (http://www.raspberrypi.<strong>org</strong>/wp-content/uploads/2012/02/<br />

BCM2835-ARM-Peripherals.pdf) - (BCM2835 datasheet errata)<br />

GPIO Datasheet Addendum - GPIO Pads Control (http://www.scribd.com/doc/<br />

101830961/GPIO-Pads-Control2)<br />

ARM 11 CPU Core:<br />

(ARM1176JZF-S) (http://infocenter.arm.com/help/topic/com.arm.doc.ddi0301h/<br />

DDI0301H_arm1176jzfs_r0p7_trm.pdf)<br />

Model B LAN Chip:<br />

(LAN9512) Data Brief (http://www.smsc.com/media/Downloads_Public/Data_Briefs/<br />

9512db.pdf) | (LAN9512) Datasheet (http://www.smsc.com/media/Downloads_Public/<br />

Data_Sheets/9512.pdf) )<br />

Mechanical Data<br />

Production Boards (2012 Q1):<br />

none available yet


Beta Boards:<br />

Gert's Beta Boards Mechanical Data (http://www.scribd.com/doc/77785093/Raspberry-<br />

Pi-initial-Beta-boards-Mechanical)<br />

Schematics<br />

Production Boards<br />

Rev 2.0 (2012 Q3):<br />

PCB includes mounting holes, and additional P5 GPIO Header (256Mb RAM briefly -<br />

512Mb typical)<br />

Raspberry Pi Rev 2.0 Electrical Schematics (http://www.raspberrypi.<strong>org</strong>/wp-content/<br />

uploads/2012/10/Raspberry-Pi-R2.0-Schematics-Issue2.2_027.pdf)<br />

Rev 1.0 (2012 Q1):<br />

Does not include mounting holes or P5 header (256Mb RAM Only).<br />

Raspberry Pi Rev 1.0 Electrical Schematics (http://www.raspberrypi.<strong>org</strong>/wp-content/<br />

uploads/2012/04/Raspberry-Pi-Schematics-R1.0.pdf)<br />

Beta Boards:<br />

Beta Board PCB Layers Screenshot (http://www.raspberrypi.<strong>org</strong>/wp-content/uploads/<br />

2011/11/gerbers2.png)<br />

Beta Board PCB Layers Screenshot, labelled version (http://lh3.googleusercontent.com/uO4l8pwSLvU/TsQGbth6x6I/AAAAAAAAAkk/5zQMH3uKPiE/s829/<br />

Boardlayout.png)<br />

Additional Published Information<br />

Gert Board:<br />

Gertboard-Overview (http://www.scribd.com/doc/88286916/Gertboard-Overview)<br />

Gertboard Users Manual (pdf) (http://www.element14.com/community/servlet/<br />

JiveServlet/downloadBody/48860-102-3-256002/<br />

Gertboard_User_Manual_Rev_1%200_F.pdf)


Gertboard Assembly Manual (pdf) (http://www.element14.com/community/servlet/<br />

JiveServlet/downloadBody/48916-102-1-256003/<br />

Gertboard_Assembly_Manual_Rev1.1_F.pdf)<br />

Power Supply Details:<br />

Detailed explanation of the Beta board power supply (http://www.scribd.com/doc/<br />

69700160/Rasp-Why-Does-It-Use-More-Power)<br />

Preliminary power supply schematic, Beta board (http://www.raspberrypi.<strong>org</strong>/wp-content/<br />

uploads/2011/12/psu.png)<br />

Documentation Projects<br />

Low Level Documentation<br />

This section lists community produced documentation of low level aspects of the<br />

Raspberry Pi that are not documented elsewhere.<br />

▪ <strong>RPi</strong> Framebuffer - Documentation on BCM2835's frame buffer and mailbox. Also<br />

documented in more detail here (https://github.com/raspberrypi/firmware/wiki)<br />

▪ RPI vcgencmd usage - Documentation for the vcgencmd command.<br />

Frambozenier.<strong>org</strong> Datasheets:<br />

Frambozenier.<strong>org</strong> Documentation Project Datasheets - Selection of detailed datasheets on<br />

the Raspberry Pi (developed on the wiki, reviewed then published).<br />

Raspberry Pi<br />

Model Wizard - Buying Guide - <strong>SD</strong> <strong>Card</strong> <strong>Setup</strong><br />

Startup - Basic <strong>Setup</strong> - Advanced <strong>Setup</strong> - Beginners<br />

Guide - Troubleshooting<br />

Hardware - Hardware History - Low-level<br />

Hardware<br />

peripherals - Expansion Boards<br />

Peripherals Screens - Cases - Other Peripherals<br />

Software - Distributions - Kernel - Performance<br />

Software<br />

- Programming - VideoCore APIs<br />

Tutorials - Guides - Projects - Tasks -<br />

Projects<br />

DataSheets - Education - Communities


Retrieved from "http://elinux.<strong>org</strong>/index.php?title=<strong>RPi</strong>_Documentation&oldid=194660"<br />

Category: RaspberryPi<br />

▪ This page was last modified on 19 November 2012, at 09:11.<br />

▪ Content is available under a Creative Commons Attribution-ShareAlike 3.0<br />

Unported License.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!