В номере 518 был глас вопиющего про драйверы.
Рассмотрим ситуацию на рынке PCI устройств. Все устройства определяются
их ID. Первая часть этого ID - это идентификатор вендора прозводителя
данного железа. Вторая часть идентифицирует конкретную модель. Т.е.
чтобы производить PCI устройства тебе надо зарегистрироваться и
получить ID. Причем есть вендоры, которые пропали, были перекуплены
или купили кого-то еще.
Т.е. таблица всего этого оборудования довольно большая и запутанная.
Увидить ее можно в исходниках Линукс кернелa (drivers/pci/pci.ids).
Весит 280к несжатого текста. При этом Линукс позволяет вставить
всю эту таблицу в ядро во время компиляции. Поэтому на Линуксе я
всегда вижу PCI железо, какое оно и от какого производителя, даже
если драйвера для этого железа у меня нет.
Под виндовозом же, приходится открывать корпус, выдирать карту
(если можно) и долго искать опознавательные знаки. Причем китайские
производители не очень любят себя опознавать (наверное с лицензиями
не все чисто), либо совершенно левые производители. Помогает считывание
производителя и модели чипов. Если один из них - известный контроллер,
может не все потеряно.
Уставши от этих заморочек, я уже давно сперва поднимаю какой-нибудь
"живой" Линукс с сидюка, например knoppix. По полученным
от него данным я иду на driversguide и скачиваю несколько разных
драйверов. Почему несколько?
Виндовозские драйвера - это просто сказка. Этот самый китайский
вендор продавший вам карточку, может дать к ней и драйвер. А может
и не дать - вы же карточку купили, может вы ее в BSD втыкаете. Микрософт
вам точно ничего не обязан. Причем эта карточка может быть собрана
на известных чипах, только ее ID другой.
Проблема драйверов - это проблема открытой hardware платформы (например,
никогда не видел чтобы кто-то искал драйвер для Мака). Но решать
ее можно по разному.
В мире Линукса устали от произвола вендоров, и ведут свою централизованную/децентрализованную
базу данных по драйверам. Если есть подтвержденные данные, что такой-то
драйвер легко поддерживает и ету странную карту, то ее ID добавляется
в драйвер как распознаваемый.
Под виндовозом же, как правило, один ID - один драйвер. Однажды
мне удалось обмануть драйвер починкой PCI ID в его *.inf файле.
Правда потом мне этот подвиг повторить не удалось, поэтому не могу
говорить с уверенностью про этот "хак". Т.е. обычно правило
одного ID соблюдается. При этом драйвер на чужой ID садится не будет,
поэтому виндовоз ничего толкового не скажет, кроме того, что драйвер
не подойдет. Так карта и останется "unknown PCI device".
Впрочем, неизвестный виндовозу (т.е. вместе с виндовозом нет драйвера)
PCI ID тоже ничего ему не говорит.
Вот, пожалуй, и все. Правда, выбирая Линукс, поддержки самого нового
железа вы тоже лишаетесь, но это временно. Все больше вендоров уделяет
внимание этому. Некоторые (очень специфичные) карты идут только
с Линукс драйверами, ориентируясь на клиентуру.
|