[Comm] прерывания и его назначения устройствам (ACPI .... Couldn't register serial port ...)

Sergey Vlasov =?iso-8859-1?q?vsu_=CE=C1_altlinux=2Eru?=
Сб Янв 19 16:06:29 MSK 2008


On Sat, Jan 19, 2008 at 01:01:10AM +0300, AdMaks wrote:
> есть ПК, установлен ALS4,
> 
> мать... какой-то двух-ядреный слотовый АСУС. кажется p2b
> установлено два камня, слотовые так сказать...
> ну и потребовалось поставить 4 момеда, на pci
> 
> смотрю, глюки... нет двух момедов...
> 
> осмотр dmesg показал, что два устройства не смогли быть
> зарегистрированы
> 
> 
> Вапрос -
> 1) как поймать два потеряных устройства

Добавьте в параметры ядра 8250.nr_uarts=8 (максимум - 192, по
умолчанию используется 4).

Драйвер 8250 немного странный из-за того, что механизм настройки
нестандартных портов с помощью setserial требует, чтобы устройства
регистрировались сразу при загрузке драйвера, что при использовании
udev может приводить к созданию большого количества бесполезных
устройств в /dev - поэтому количество устройств по умолчанию
ограничено, но может быть увеличено параметром модуля nr_uarts.

> 2) как разлулить именования устройств?
> сейчас имена ttyS0&ttyS3 принадлежат pci-модемам, а ttyS1&ttyS2 -
> com1&com2.

После увеличения 8250.nr_uarts имена устройств для PCI-карт будут
назначаться, начиная с /dev/ttyS4 (обычно драйвер сначала пытается
использовать полностью незадействованные устройства, и только при
отсутствии таковых пытается занять неиспользованные ttyS0..3).

> насколько я понимаю -
> ttyS0 - com1
> ttyS1 - com2
> а у меня как-то не так...

Для 4 портов ttyS0..3 по умолчанию используются стандартные для PC
настройки:

  ttyS0 - port 0x3F8 irq 4
  ttyS1 - port 0x2F8 irq 3
  ttyS2 - port 0x3E8 irq 4
  ttyS3 - port 0x2E8 irq 3

Видимо, сейчас в настройках BIOS заданы не совсем стандартные адреса
для портов COM1 и COM2 на плате, поэтому и имена устройств выбираются
в соответствии с выбранными адресами.

> я хочу еше 2 внешних модема поставить... на эти ком-порты...
> 3) в dmesg -ругань на "irqpool"...
> параметр к ядру в lilo.conf:
>  append="irqpool"
> был ли я прав указав такое? что должно быть?

Во-первых, в параметрах опечатка - должно быть irqpoll; сейчас этот
параметр просто игнорируется.

Во-вторых, в данном случае проблема возникает с прерыванием ACPI;
обычно причина подобных проблем - ошибки в BIOS.  Можно попробовать
обойти эту проблему, добавив одну из следующих опций (при этом irqpoll
добавлять не надо):

  acpi_sci=low
  acpi_sci=edge

(возможно, даже одновременно acpi_sci=low acpi_sci=edge).  После
загрузки надо проверять отсутствие ошибок "nobody cared" в dmesg и
работоспособность кнопки Power (при загруженном модуле button и
запущенном acpid по умолчанию должен вызываться poweroff; можно также,
не запуская acpid, запустить cat /proc/acpi/event и проверить, что при
нажатии кнопки Power появляются сообщения об этом).
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: Digital signature
Url     : <http://lists.altlinux.org/pipermail/community/attachments/20080119/0d30c1f5/attachment-0002.bin>


Подробная информация о списке рассылки community