[Comm] USB Flash Travelling Disk
Sergey Vlasov
=?iso-8859-1?q?vsu_=CE=C1_altlinux=2Eru?=
Чт Янв 8 19:57:17 MSK 2004
On Thu, Jan 08, 2004 at 06:32:49PM +0200, X-Stranger wrote:
> После долгого сбора инфы о том, как же это все работает, выяснилось, в чем дело.
> Это баг некоторых версий БИОСа, как например на моем Acer TravelMate: USB-controller
> поддерживает только 9-е прерывание (mask==0x200 -->bit 9), правильно будет запускать
> его на irq 9, следуя данным БИОСа. Но, как сказал один из разработчиков: "But according
> to the piix irq router, it's connected to irq 10."
Так 10 или 11? В dmesg было написано 11.
> Нужно было выяснить, где БИОС врет. Выяснили. Проблему решает следующий патч (ядро версий 2.4):
>
> --- 2.4/arch/i386/kernel/pci-irq.c
> +++ build-2.4/arch/i386/kernel/pci-irq.c
> @@ -629,6 +629,18 @@
> if (dev2->irq && dev2->irq != irq) {
> printk(KERN_INFO "IRQ routing conflict for %s, have irq %d, want irq %d\n",
> dev2->slot_name, dev2->irq, irq);
> + if (!strcmp(msg, "Found")) {
> + /* ok, the bios lied. Try to recover */
> + if (r->set && (dev->class >> 8) != PCI_CLASS_DISPLAY_VGA) {
> + printk(KERN_ERR "trying set.\n");
> + if (r->set(pirq_router_dev, dev2, pirq, dev2->irq)) {
> + printk(KERN_ERR "set succedded.\n");
> + eisa_set_level_irq(dev2->irq);
> + } else {
> + printk(KERN_ERR "set failed.\n");
> + }
> + }
> + }
> continue;
> }
> dev2->irq = irq;
>
> Компилим ядро, ставим, перезагружаемся - вуаля! Никаких кофликтов в dmesg даже и не наблюдалось!
> Как и с PCMCIA. Протестено было на 2.4.21 (за неимением под рукой других версий). Инфа, помогающая
> обнаружить трабл датирована 2001 годом, почему же в ядре до сих пор не сделано такой поправки? Кто
> знает, кому из ALT Linux Team надо писать, чтобы такую поправку хотя бы в Альтовское ядро включили?
Очевидно, эта ошибка встречается достаточно редко, и это изменение
просто не пропихнули в ядро...
Хотя подобные правки чреваты неожиданными последствиями. Видимо,
придётся добавить флаг pirq_router_override и ставить его только для
известных машин по информации DMI.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/community/attachments/20040108/f4cd3bea/attachment-0002.bin>
Подробная информация о списке рассылки community