Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

На главную -> MyLDP -> Электронные книги по ОС Linux
Цилюрик О.И. Модули ядра Linux
Назад Обслуживание периферийных устройств Вперед

Обслуживание периферийных устройств

Обслуживание проприетарных (которые вы создаёте под свои цели) аппаратных расширений (для самых разнообразных целей) невозможно описать в общем виде: здесь вам предстоит работать в непосредственном контакте с разработчиком «железа», в постоянных консультациях по каким портам ввода-вывода выполнять операции и с какой целью. Поэтому задачи непосредственно организации обмена данными не затрагиваются в последующем тексте (да их и невозможно рассмотреть в описании обозримого объёма). Мы рассмотрим только основные принципы учёта и связывания периферийных устройств в системе, те вопросы, которые позволяют непосредственно выйти на порты и адреса, по которым уже далее нужно читать-писать для обеспечения функционирования устройства.

В отношении анализа всего установленного в системе оборудования, начиная с анализа изготовителя и BIOS — существует достаточно много команд «редкого применения», которые часто помнят только заматерелые системные администраторы, и которые не попадают в справочные руководства. Все такие команды, в большинстве, требует прав root, кроме того, некоторые из них могут присутствовать в некоторых дистрибутивах Linux, но отсутствовать в других. Информация от этих команд в какой-то мере дублирует друг друга. Но сбор такой информации об оборудовании может стать ключевой позицией при работе над драйверами периферийных устройств. Ниже приводится только краткое перечисление (в порядке справки-напоминания) некоторых подобных команд (и несколько начальных строк вывода, для идентификации того, что это именно та команда) — более детальное обсуждение увело бы нас слишком далеко от наших целей. Вот некоторые такие команды:

# sudo lshw

	notebook.localdomain 
	    description: Notebook 
	    product: HP Compaq nc6320 (ES527EA#ACB) 
	    vendor: Hewlett-Packard 
	    version: F.0E 
	    serial: CNU6250CFF 
	    width: 32 bits 
	    capabilities: smbios-2.4 dmi-2.4 
	...

$ lshal

	Dumping 162 device(s) from the Global Device List: 
	------------------------------------------------- 
	udi = '/org/freedesktop/Hal/devices/computer' 
	  info.addons = {'hald-addon-acpi'} (string list) 
	...

$ sudo dmidecode

	# dmidecode 2.10 
	SMBIOS 2.4 present. 
	23 structures occupying 1029 bytes. 
	Table at 0x000F38EB. 
	...

Последняя команда, как пример, в том числе, даёт и детальную информацию о банках памяти, и какие модули памяти куда установлены.


Предыдущий раздел: Оглавление Следующий раздел:
Обсуждение и вопросы по разделу 6   Устройства на шине PCI