Hardware Reference
In-Depth Information
“Hang on, in Chapter 1, you said the Ethernet was on the USB bus, didn't you?” I did and I was right, but it's not
visible via
lsusb
. That's because it's not on the downstream USB bus. It presents itself directly to the internal upstream
port. When you think about USB ports you normally think about the port on the back of your PC where you plug
something in. This type of connection is known as a downstream USB port because it is connected internally to the
USB host controller. On the USB host controller itself, there is an internal connection port called the upstream port.
This is how USB devices are interconnected; as an end user you would not plug anything into an upstream USB port.
To see the Ethernet devices, use the
grep
command to see the kernel's
dmesg
output:
# dmesg | grep usb-bcm2708_usb-1.1
Looking at the output of this command in Figure
2-8
you can see that
eth0
has registered itself to the
smsc95xx
device; this provides the physical layer interface. Then you can see that
smsc95xx
has registered on the upstream USB
bus on
usb-bcm2708_usb-1.1
.
Figure 2-8.
The USB Ethernet interface
Lastly, you may want to have sound on your Raspberry Pi. Sound is provided from the Broadcom SoC as well.
Fortunately this module is provided as part of the ALSA kernel modules. You can enable the sound devices by probing
the
snd_bcm2835
module. In Fedora, if you want this to be loaded on each boot you're going to need to create a file called
bcm-snd.modules
in the directory
/etc/sysconfig/modules/
. The contents of that file should be what is listed below:
-#!/bin/bash
lsmod | grep -q snd_bcm2835 || /sbin/modprobe snd_bcm2835 >/dev/null 2>&1
Now every time your Raspberry Pi boots, it will load the
snd_bcm2835
module. You can check that it's working
correctly with this command:
# aplay -l
The output should look similar to Figure
2-9
.
Figure 2-9.
aplay -l listing for the Raspberry Pi
You can see from the above examples that the Raspberry Pi is a highly integrated unit and you need to make the
most of the resources you have on hand.