The Raspberry is a nice cheap platform that can be used for many different purposes. However, the fact that it is a cheap platform means that all kinds of hardware-related problems can occur. One common problem is related to USB devices.

If you connect to many devices via hubs, or devices that have high power requirements, then these devices might not work properly. As always, there is good documentation, which can help you to determine the problem.

One thing that is not included, is a tip on what to do if you have a problem. In my case, I attached a USB 3.0 disk to the Raspberry. The disk was detected and the kernel produced the following output:

[ 3.838192] usb 1-1.4: new high-speed USB device number 4 using dwc_otg [ 3.949172] usb 1-1.4: New USB device found, idVendor=04c5, idProduct=2028 [ 3.958122] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 3.958133] usb 1-1.4: Product: MB86C311 [ 3.958143] usb 1-1.4: Manufacturer: FUJITSU [ 3.958151] usb 1-1.4: SerialNumber: 201105303687 [ 3.959256] usb-storage 1-1.4:1.0: USB Mass Storage device detected

The command lsusb showed that the device was properly detected:

/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc_otg/1p, 480M |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/5p, 480M |__ Port 1: Dev 3, If 0, Class=vend., Driver=smsc95xx, 480M |__ Port 4: Dev 4, If 0, Class=stor., Driver=usb-storage, 480M

However, the kernel did not create a proper device node in /dev/ that could be used to access the filesystem on the device. It turned out that this is one of the power issues.

According to the Internet the USB ports are powered with 600mA with the default settings. Certain USB devices, such as my disk, require more power to work properly. It is possible to increase the current on the USB ports to 1200mA by adding

max_usb_current=1

to /boot/config.txt and rebooting the device. This requires that your power supply supports this increase, which my power supply does.

The device will then be properly detected after a reboot, and device nodes will be created.