1
00:00:00,420 --> 00:00:02,009
In this lesson, we're going to talk

2
00:00:02,009 --> 00:00:03,780
about Linux devices.

3
00:00:03,780 --> 00:00:05,010
Now, at some point,

4
00:00:05,010 --> 00:00:07,530
you're going to need physical hardware to interface

5
00:00:07,530 --> 00:00:09,390
with the Linux operating system,

6
00:00:09,390 --> 00:00:12,600
even if you're not co-located with the system itself.

7
00:00:12,600 --> 00:00:15,600
Therefore, you need to ensure that any hardware devices

8
00:00:15,600 --> 00:00:17,040
that are connected to the system

9
00:00:17,040 --> 00:00:19,590
are going to be recognizable to that system,

10
00:00:19,590 --> 00:00:21,600
and they're properly configured.

11
00:00:21,600 --> 00:00:24,150
So, in this lesson, you're going to learn how

12
00:00:24,150 --> 00:00:26,790
to manage several different kinds of devices.

13
00:00:26,790 --> 00:00:28,770
Now, before you begin using Linux commands

14
00:00:28,770 --> 00:00:31,650
to manage these devices or apply your skills and knowledge

15
00:00:31,650 --> 00:00:34,170
in a Linux environment, though, you need to become familiar

16
00:00:34,170 --> 00:00:37,470
with the different types of devices that Linux supports.

17
00:00:37,470 --> 00:00:39,480
I'm going to help you build a solid understanding

18
00:00:39,480 --> 00:00:41,250
of what common devices are,

19
00:00:41,250 --> 00:00:43,710
and how they connect to your different computers.

20
00:00:43,710 --> 00:00:46,740
As you know, device drivers act as an interface

21
00:00:46,740 --> 00:00:49,830
between the operating system and the hardware devices.

22
00:00:49,830 --> 00:00:53,070
Drivers are crucial for devices to function properly,

23
00:00:53,070 --> 00:00:56,460
or even to function at all within your Linux environment.

24
00:00:56,460 --> 00:00:59,070
Now, there are different types of client devices.

25
00:00:59,070 --> 00:01:00,990
If you have a thin client, for instance,

26
00:01:00,990 --> 00:01:03,120
this is any lightweight computing device

27
00:01:03,120 --> 00:01:04,980
that connects to a more powerful server

28
00:01:04,980 --> 00:01:06,870
for doing all of the heavy work.

29
00:01:06,870 --> 00:01:09,570
That server is going to do all the heavy lifting for you,

30
00:01:09,570 --> 00:01:11,850
including processing and storing the data,

31
00:01:11,850 --> 00:01:14,160
while the thin client acts as little more

32
00:01:14,160 --> 00:01:16,110
than a user interface for you.

33
00:01:16,110 --> 00:01:17,880
This type of computing architecture

34
00:01:17,880 --> 00:01:19,890
is going to centralize your operations,

35
00:01:19,890 --> 00:01:22,320
making it easier for administrators to manage groups

36
00:01:22,320 --> 00:01:24,300
of backend servers, instead of all

37
00:01:24,300 --> 00:01:25,770
the individual workstations

38
00:01:25,770 --> 00:01:28,050
that are dispersed throughout the organization.

39
00:01:28,050 --> 00:01:29,100
Now, as you've seen,

40
00:01:29,100 --> 00:01:32,280
Linux has a robust remote connection support capability.

41
00:01:32,280 --> 00:01:34,980
Whether that's through a GUI with remote desktop apps,

42
00:01:34,980 --> 00:01:37,950
or through a terminal using Secure Shell.

43
00:01:37,950 --> 00:01:40,860
Now, a thin client will typically have basic devices

44
00:01:40,860 --> 00:01:44,130
like a keyboard, a mouse, and a monitor connected to it,

45
00:01:44,130 --> 00:01:45,450
and it could be running Linux

46
00:01:45,450 --> 00:01:48,180
or it could be running something else like Windows.

47
00:01:48,180 --> 00:01:50,070
If it is running Linux, it's typically

48
00:01:50,070 --> 00:01:52,140
going to be a lightweight distribution

49
00:01:52,140 --> 00:01:54,030
with very few features available,

50
00:01:54,030 --> 00:01:56,520
or anything really permissible to the user.

51
00:01:56,520 --> 00:01:59,550
Instead, that thin client is just used to connect

52
00:01:59,550 --> 00:02:01,110
to the remote Linux server,

53
00:02:01,110 --> 00:02:03,060
where you're going to do all your work.

54
00:02:03,060 --> 00:02:05,730
Now, universal serial bus, or USB,

55
00:02:05,730 --> 00:02:07,830
is a peripheral interface technology

56
00:02:07,830 --> 00:02:09,870
that has become the defacto standard

57
00:02:09,870 --> 00:02:12,270
for connecting all your different input devices,

58
00:02:12,270 --> 00:02:14,850
your external storage devices, your mobile devices,

59
00:02:14,850 --> 00:02:18,390
and many other things to your computers and thin clients.

60
00:02:18,390 --> 00:02:20,820
Now, USB also incorporates something known

61
00:02:20,820 --> 00:02:22,890
as plug and play technologies.

62
00:02:22,890 --> 00:02:25,800
This enables devices to self-configure themself

63
00:02:25,800 --> 00:02:28,080
as soon as you plug them into the system.

64
00:02:28,080 --> 00:02:31,020
Now, there are a wide range of USB device types out there,

65
00:02:31,020 --> 00:02:33,390
and a lot of these are supported in Linux.

66
00:02:33,390 --> 00:02:36,660
This includes things like thumb drives, external hard drives

67
00:02:36,660 --> 00:02:40,590
and solid state devices, digital cameras, webcams,

68
00:02:40,590 --> 00:02:45,590
smartphones, tablets, printers, scanners, keyboards, mice,

69
00:02:46,230 --> 00:02:49,590
microphones, game controllers, and many others.

70
00:02:49,590 --> 00:02:53,160
When you plug in that USB device, Linux is going to register

71
00:02:53,160 --> 00:02:55,560
these USB storage devices that are attached

72
00:02:55,560 --> 00:03:00,560
to the system in the same format as /dev/sd with a number,

73
00:03:00,840 --> 00:03:02,430
just like as if you were connecting it

74
00:03:02,430 --> 00:03:05,970
through an ATA interface or a SCSI interface.

75
00:03:05,970 --> 00:03:09,180
The next thing we want to talk about is wireless devices.

76
00:03:09,180 --> 00:03:11,400
Now, wireless devices are used to transmit

77
00:03:11,400 --> 00:03:13,500
and receive signals over the air,

78
00:03:13,500 --> 00:03:14,820
instead of sending those signals

79
00:03:14,820 --> 00:03:18,360
over physical cables that are connected directly to a port.

80
00:03:18,360 --> 00:03:20,040
There are many different wireless networking

81
00:03:20,040 --> 00:03:22,500
protocols out there, and each of these are used

82
00:03:22,500 --> 00:03:25,410
for specific things or specific applications.

83
00:03:25,410 --> 00:03:27,300
For example, there are lots of different

84
00:03:27,300 --> 00:03:29,100
common wireless networking protocols

85
00:03:29,100 --> 00:03:32,700
that are supported by Linux, including wifi, Bluetooth,

86
00:03:32,700 --> 00:03:35,580
and NFC or near field communication.

87
00:03:35,580 --> 00:03:38,370
Now, wifi is a technology used primarily

88
00:03:38,370 --> 00:03:41,340
for establishing a wireless local area network connection,

89
00:03:41,340 --> 00:03:43,590
or a WLAN connection, inside your home

90
00:03:43,590 --> 00:03:45,390
or office environments.

91
00:03:45,390 --> 00:03:47,910
Common devices that you're going to use with wifi

92
00:03:47,910 --> 00:03:50,490
are things like wireless routers and access points

93
00:03:50,490 --> 00:03:52,170
for the networking infrastructure.

94
00:03:52,170 --> 00:03:54,900
You also have mobile devices, desktop computers,

95
00:03:54,900 --> 00:03:56,520
and "internet of things" devices

96
00:03:56,520 --> 00:03:58,980
that are going to act as wifi clients.

97
00:03:58,980 --> 00:04:00,480
If you're using Bluetooth,

98
00:04:00,480 --> 00:04:02,520
this is a technology that's primarily used

99
00:04:02,520 --> 00:04:05,730
for establishing a personal area network, or PAN,

100
00:04:05,730 --> 00:04:08,160
in which your devices can communicate wirelessly

101
00:04:08,160 --> 00:04:09,930
within a few feet of each other.

102
00:04:09,930 --> 00:04:11,820
The most common application for this

103
00:04:11,820 --> 00:04:13,890
is to be able to connect wireless headphones

104
00:04:13,890 --> 00:04:16,500
or headsets, or a keyboard or mouse

105
00:04:16,500 --> 00:04:19,200
to a smartphone or other computing device.

106
00:04:19,200 --> 00:04:20,459
This will allow you to do this

107
00:04:20,459 --> 00:04:23,220
without having any kind of cabling attached.

108
00:04:23,220 --> 00:04:26,490
On the other hand, we might also use things like NFC,

109
00:04:26,490 --> 00:04:28,470
which is near field communication.

110
00:04:28,470 --> 00:04:29,970
Now, near field communication

111
00:04:29,970 --> 00:04:32,190
is a specialized communications protocol

112
00:04:32,190 --> 00:04:35,580
that's really used mostly by mobile devices and peripherals.

113
00:04:35,580 --> 00:04:37,920
And these are going to be things that are going to send data

114
00:04:37,920 --> 00:04:41,070
when they're only within a couple of inches of each other.

115
00:04:41,070 --> 00:04:43,320
NFC, for example, is used heavily

116
00:04:43,320 --> 00:04:46,410
inside the payment industry, where you can tap a credit card

117
00:04:46,410 --> 00:04:49,890
on top of a reader, or tap a smartphone on top of a reader

118
00:04:49,890 --> 00:04:52,410
to collect payment from an individual.

119
00:04:52,410 --> 00:04:53,820
Now, another thing we want to talk about

120
00:04:53,820 --> 00:04:55,740
is video and audio devices.

121
00:04:55,740 --> 00:04:59,250
Now, video and audio devices are input or output peripherals

122
00:04:59,250 --> 00:05:00,450
that are usually going to be attached

123
00:05:00,450 --> 00:05:02,400
to a client system like a desktop

124
00:05:02,400 --> 00:05:05,130
or a laptop, or even a thin client.

125
00:05:05,130 --> 00:05:06,630
Now, there are a lot of different audio

126
00:05:06,630 --> 00:05:08,370
and video peripherals out there.

127
00:05:08,370 --> 00:05:10,470
When we think about video input peripherals,

128
00:05:10,470 --> 00:05:12,330
this can include things like a webcam,

129
00:05:12,330 --> 00:05:15,060
a surveillance camera, or a digital camera.

130
00:05:15,060 --> 00:05:17,040
When you're thinking about an output peripheral,

131
00:05:17,040 --> 00:05:18,630
this would be something like a monitor,

132
00:05:18,630 --> 00:05:20,760
a television, or a projector.

133
00:05:20,760 --> 00:05:22,020
When we talk about audio,

134
00:05:22,020 --> 00:05:24,510
the most common input is going to be a microphone,

135
00:05:24,510 --> 00:05:25,710
and the most common output

136
00:05:25,710 --> 00:05:28,230
is going to be a speaker or headphones.

137
00:05:28,230 --> 00:05:30,270
When you connect a video or audio peripheral

138
00:05:30,270 --> 00:05:33,540
to a system running Linux or any other OS, for that matter,

139
00:05:33,540 --> 00:05:35,400
you need to make sure you understand the different types

140
00:05:35,400 --> 00:05:36,990
of connections that it uses,

141
00:05:36,990 --> 00:05:39,660
and what types are available on that system.

142
00:05:39,660 --> 00:05:42,210
For example, if you go and buy a microphone,

143
00:05:42,210 --> 00:05:43,950
its input into your system

144
00:05:43,950 --> 00:05:48,420
could either be over a USB or a 1/8 inch input jack

145
00:05:48,420 --> 00:05:50,520
that's going to be used only for audio.

146
00:05:50,520 --> 00:05:52,320
Depending on which one your system has,

147
00:05:52,320 --> 00:05:53,520
it's going to make a difference

148
00:05:53,520 --> 00:05:56,190
on which type of microphone you actually buy.

149
00:05:56,190 --> 00:05:58,380
Now, monitors, for example, are going to be used

150
00:05:58,380 --> 00:06:01,369
as an output device, and you can use things like HDMI,

151
00:06:01,369 --> 00:06:05,250
display port, DVI, or VGA.

152
00:06:05,250 --> 00:06:06,450
All of these are different types

153
00:06:06,450 --> 00:06:08,310
that can be used for video output.

154
00:06:08,310 --> 00:06:10,950
So, it's important to know which one is on your computer

155
00:06:10,950 --> 00:06:12,180
when you're buying a monitor,

156
00:06:12,180 --> 00:06:14,550
so you have one that will work for you.

157
00:06:14,550 --> 00:06:16,830
Now, like most other operating systems,

158
00:06:16,830 --> 00:06:19,560
Linux will also provide you with support for printers.

159
00:06:19,560 --> 00:06:21,870
Now, support for a specific type of printer

160
00:06:21,870 --> 00:06:23,520
is going to be dependent on whether or not

161
00:06:23,520 --> 00:06:26,280
there's an available driver for Linux to be able to use

162
00:06:26,280 --> 00:06:30,120
for that printer, and how robust those drivers are.

163
00:06:30,120 --> 00:06:31,620
So, before you buy a printer,

164
00:06:31,620 --> 00:06:34,440
you need to make sure it's going to be supported by Linux.

165
00:06:34,440 --> 00:06:36,270
Now, most modern printers will offer

166
00:06:36,270 --> 00:06:39,180
local connection support through a USB interface,

167
00:06:39,180 --> 00:06:41,250
or if you're in an office environment,

168
00:06:41,250 --> 00:06:43,860
you may be able to connect to it over the network.

169
00:06:43,860 --> 00:06:46,650
In that case, the printer may include a wifi adapter

170
00:06:46,650 --> 00:06:49,050
built in, or an ethernet adapter,

171
00:06:49,050 --> 00:06:51,750
so it can be connected to the local area network.

172
00:06:51,750 --> 00:06:53,130
Now, another thing we need to talk about

173
00:06:53,130 --> 00:06:54,750
is network adapters.

174
00:06:54,750 --> 00:06:56,550
Network adapters are going to be mandatory

175
00:06:56,550 --> 00:06:58,770
for any computing device that wants to be able

176
00:06:58,770 --> 00:07:01,560
to access a network, whether that's your local office

177
00:07:01,560 --> 00:07:04,950
network, or a wider network, like the internet.

178
00:07:04,950 --> 00:07:06,510
Now, a network interface card

179
00:07:06,510 --> 00:07:09,210
is a specialized peripheral device that can provide you

180
00:07:09,210 --> 00:07:10,950
with an interface with a host

181
00:07:10,950 --> 00:07:14,160
where that computer can exchange data over the network.

182
00:07:14,160 --> 00:07:16,080
In most cases, network adapters

183
00:07:16,080 --> 00:07:18,570
are already built into your computer's motherboard.

184
00:07:18,570 --> 00:07:21,180
However, some adapters can be added to the system

185
00:07:21,180 --> 00:07:23,790
on an expansion bus, or by using something

186
00:07:23,790 --> 00:07:25,920
like a USB device.

187
00:07:25,920 --> 00:07:28,950
Another thing we want to talk about is GPIO,

188
00:07:28,950 --> 00:07:31,890
which refers to the general purpose input output.

189
00:07:31,890 --> 00:07:34,290
And this refers to the pins on a circuit board

190
00:07:34,290 --> 00:07:35,940
that have no designated purpose,

191
00:07:35,940 --> 00:07:39,450
but they're controllable by the user at runtime.

192
00:07:39,450 --> 00:07:42,120
These pins can send and receive digital signals,

193
00:07:42,120 --> 00:07:45,240
and they can be either in on-state or in off-state.

194
00:07:45,240 --> 00:07:47,640
For example, you might have one of these pins

195
00:07:47,640 --> 00:07:49,290
that's designated as an output,

196
00:07:49,290 --> 00:07:51,330
and therefore, it can turn an LED light

197
00:07:51,330 --> 00:07:54,150
on or off, based on the signal received.

198
00:07:54,150 --> 00:07:56,790
Or you can have a pin designated as input,

199
00:07:56,790 --> 00:07:59,250
and it can be used to turn on or off a device,

200
00:07:59,250 --> 00:08:00,540
something like a light switch

201
00:08:00,540 --> 00:08:03,030
or a reset button on the computer.

202
00:08:03,030 --> 00:08:06,510
In most cases, GPIO functionality is going to be controlled

203
00:08:06,510 --> 00:08:08,490
programmatically through software.

204
00:08:08,490 --> 00:08:11,340
On your motherboard, for instance, any GPIO ports

205
00:08:11,340 --> 00:08:14,100
you have will usually be indicated and controlled

206
00:08:14,100 --> 00:08:16,560
by your BIOS or your UFI.

207
00:08:16,560 --> 00:08:19,710
Another thing we want to talk about is serial AT attachment,

208
00:08:19,710 --> 00:08:21,630
or serial ATA.

209
00:08:21,630 --> 00:08:24,450
Now, ATA is a computer bus interface

210
00:08:24,450 --> 00:08:26,730
that's a standard for attaching storage devices

211
00:08:26,730 --> 00:08:28,500
to traditional computers.

212
00:08:28,500 --> 00:08:31,410
In modern computers, SATA has largely replaced

213
00:08:31,410 --> 00:08:33,900
the earlier standard known as parallel ATA,

214
00:08:33,900 --> 00:08:38,250
or PATA, and integrated drive electronics or IDE.

215
00:08:38,250 --> 00:08:40,770
For this reason, most people are going to use SATA

216
00:08:40,770 --> 00:08:42,929
for your internal hard drives.

217
00:08:42,929 --> 00:08:45,540
Now, the most current revision at the time of this recording

218
00:08:45,540 --> 00:08:49,200
is SATA revision 3.2, and this combines SATA

219
00:08:49,200 --> 00:08:53,010
with another bus technology known as PCI Express.

220
00:08:53,010 --> 00:08:56,610
This allows us to support really fast data transfer rates;

221
00:08:56,610 --> 00:08:59,010
up to 16 gigabits per second.

222
00:08:59,010 --> 00:09:01,560
And this means it is a very fast way to send data

223
00:09:01,560 --> 00:09:05,520
to and from a hard drive, and to or from your CPU.

224
00:09:05,520 --> 00:09:08,970
Now, SATA is primarily used for attaching storage devices,

225
00:09:08,970 --> 00:09:10,620
like internal hard drives.

226
00:09:10,620 --> 00:09:12,747
But we have another thing out there known as SCSI,

227
00:09:12,747 --> 00:09:16,200
and SCSI is the small computer system interface.

228
00:09:16,200 --> 00:09:18,030
It's a computer bus interface

229
00:09:18,030 --> 00:09:21,420
for connecting peripheral devices to traditional computers.

230
00:09:21,420 --> 00:09:24,750
Now, SCSI can be used to attach other types of devices too,

231
00:09:24,750 --> 00:09:26,400
in addition to hard drives.

232
00:09:26,400 --> 00:09:29,700
It can be used for DVD ROMs, printers, scanners,

233
00:09:29,700 --> 00:09:31,170
and other things like that.

234
00:09:31,170 --> 00:09:34,020
But most commonly, we use it for storage.

235
00:09:34,020 --> 00:09:36,240
Now, SCSI is an older technology,

236
00:09:36,240 --> 00:09:39,810
but if you're using Linux servers, you may come across it.

237
00:09:39,810 --> 00:09:41,370
Another thing we want to talk about

238
00:09:41,370 --> 00:09:44,760
is serial attached SCSI, which is SAS.

239
00:09:44,760 --> 00:09:46,380
And this is a standard that was developed

240
00:09:46,380 --> 00:09:49,620
to apply a serial interface to SCSI technology.

241
00:09:49,620 --> 00:09:51,840
This allows us to have faster speeds

242
00:09:51,840 --> 00:09:53,880
and a more modern version of SCSI.

243
00:09:53,880 --> 00:09:57,810
In fact, when you're using SAS, or Serial Attached SCSI,

244
00:09:57,810 --> 00:10:01,080
you can reach speeds of up to 24 gigabits per second

245
00:10:01,080 --> 00:10:03,933
in your most modern versions, which is SAS4.

246
00:10:04,770 --> 00:10:08,130
This also supports higher capacity drives.

247
00:10:08,130 --> 00:10:10,800
Another thing we want to talk about is HBA,

248
00:10:10,800 --> 00:10:12,870
or the host bus adapter.

249
00:10:12,870 --> 00:10:15,480
The host bus adapter is a hardware component

250
00:10:15,480 --> 00:10:18,180
that connects a host system to a storage device,

251
00:10:18,180 --> 00:10:20,910
like a storage area network or SAN.

252
00:10:20,910 --> 00:10:23,970
This allows us to facilitate the input and outputted data

253
00:10:23,970 --> 00:10:25,890
to the storage area network.

254
00:10:25,890 --> 00:10:28,470
Now, host bus adapters are commonly used

255
00:10:28,470 --> 00:10:31,770
with the interface technologies like SATA and SCSI,

256
00:10:31,770 --> 00:10:33,360
and the host bus adapter

257
00:10:33,360 --> 00:10:35,640
might be built into your motherboard directly,

258
00:10:35,640 --> 00:10:38,070
or it could be a separate expansion card

259
00:10:38,070 --> 00:10:39,570
that's going to attach to the motherboard

260
00:10:39,570 --> 00:10:41,520
using an expansion slot.

261
00:10:41,520 --> 00:10:44,310
Either way though, you can connect a storage device

262
00:10:44,310 --> 00:10:46,830
to an HBA with the requisite interface

263
00:10:46,830 --> 00:10:49,650
in order for the system to work with that storage device,

264
00:10:49,650 --> 00:10:50,483
and that's going to allow you

265
00:10:50,483 --> 00:10:53,250
to start transferring data the way you want to.

266
00:10:53,250 --> 00:10:54,810
Another type of bus we have

267
00:10:54,810 --> 00:10:59,160
is known as PCI or peripheral component interconnect.

268
00:10:59,160 --> 00:11:01,500
PCI is a connection interface standard

269
00:11:01,500 --> 00:11:03,870
that's primarily used for expansion buses

270
00:11:03,870 --> 00:11:05,220
inside of your motherboard,

271
00:11:05,220 --> 00:11:08,010
like you learned about back in your A+ studies.

272
00:11:08,010 --> 00:11:11,670
Now, the initial PCI specification has largely been replaced

273
00:11:11,670 --> 00:11:16,230
by the more recent PCI express, or PCIe as it's written.

274
00:11:16,230 --> 00:11:19,110
PCIe supports greater transfer speeds,

275
00:11:19,110 --> 00:11:22,320
more reliable error detection, and it's physically smaller

276
00:11:22,320 --> 00:11:24,420
than a traditional PCI slot.

277
00:11:24,420 --> 00:11:27,990
In modern computers, PCIe is going to be the dominant

278
00:11:27,990 --> 00:11:30,840
expansion bus technology that you're going to come across.

279
00:11:30,840 --> 00:11:33,000
When it comes to non-storage devices,

280
00:11:33,000 --> 00:11:36,390
many of these things are going to be using PCIe.

281
00:11:36,390 --> 00:11:39,000
For example, if you want to put an extra modem in,

282
00:11:39,000 --> 00:11:41,820
or a serial card, or a network adapter,

283
00:11:41,820 --> 00:11:45,330
those will all go in through a PCIe expansion bus.

284
00:11:45,330 --> 00:11:47,100
It's also common for video cards

285
00:11:47,100 --> 00:11:50,550
to connect using PCIE x16 interfaces,

286
00:11:50,550 --> 00:11:52,770
to be able to give you a very robust graphics

287
00:11:52,770 --> 00:11:54,693
card that's dedicated to that system.

