Главная > Administration, MCP, Microsoft > Случай из практики -2

Случай из практики -2


Дело №3

Клиент приобрел новый принтер- мыльницу для печати малого количества документов. Имя сему творению HP LaserJet Pro P1102. После установки данного устройства как сетевого принтера оказалось, что через службы удаленного рабочего стола (RDS на базе Win2008R2) невозможна печать. Принтер корректно пробрасывался в удаленную сессию, на него можно было отправлять задания, но он ничего не печатал.  Как с компьютера, куда подключено напрямую, так и с других. На другие принтеры организации печать была возможна. Диагностика проблемы осложнялась тем, что компьютер, выступавший в роли «сервера печати» имел Windows XP на борту. Несмотря на то, что там был установлен пакет .NET Framework 3.5, я решил переустановить принтер на компьютер с Windows 7.

Однако, проблему это не решило. Долгие поиски в google привели к интересному решению- как оказалось для данной серии принтеров на сайте есть отдельные драйверы для XPS формата. Именно с ними счастливым обладателям данных принтеров удастся воспользоваться технологией Easy Print. Люди, пользующиеся PCL версией драйвера, стройными рядами идут еще куда- то.

Дело №4

Задумав протестировать на домашнем компьютере работу Windows Server 2008R2 с последующей установкой роли Hyper-V, я столкнулся с неожиданным препятствием: операционная система не желала видеть сетевую карту моего компьютера. Причем,  Windows 7 (да и Windows 8) работали с моей сетевой картой замечательно.

Первое подозрение пало на то, что материнская плата на моем компьютере — обычная домашняя платформа от Intel — DZ68DB и корпорация Intel довольно строго относится к сегментации продуктов.

Например, один из компьютеров в офисе был взят для тестирования Windows Server 2008.Он был собран на базе «домашней» материнской платы и при поиске драйверов оказалось,  что Intel официально отказывается предоставлять драйверы для серверной ОС.

Отличие данной ситуации было  во- первых, в том, что драйверы под Vista\Sever 2008\Win7 были на официальном сайте, во- вторых, родная программа установки драйверов не отказывалась их устанавливать, а отказывалась обнаруживать сетевую карту.

Я сразу хочу уточнить, что цель моей заметки не призыв использовать «домашние» материнские платы как серверное решение, а лишь описание попытки решить возникшую проблему. Учитывая повсеместно существующую экономию и «стандартизацию» вполне возможно, что вы можете столкнуться с такой же проблемой в сегменте серверов «super low end».

Итак, имеется встроенная сетевая карта Intel(R) 82579V Gigabit Network Connection. После установки Windows Server 2008R2 она осталась единственным устройством, которое не захотело работать с оригинальными драйверами с диска. Попытки установить драйвер прямой установкой INF-файла, распаковкой и попыткой предложить системе распакованный драйвер, скачать и установить различные  версии этого драйвера окончились неудачей. Самым непонятным, в данной ситуации, было то, что драйверы вроде как устанавливались, но устройство оставалось неопознанным. Оригинальная программа установки завершалась с ошибкой: «Сannot install driver: no Intel adapters are present «. То есть программа не видела самого устройства.

Пришлось искать решение проблемы в Интернет. Как ни странно похожие проблемы испытывали и другие обладатели продукции Intel(не только конкретно взятой сетевой карты). В одном из форумов я нашел вариант решения проблемы с модификацией драйверов. Так как компания Microsoft все еще использует INF-файлы для установки драйверов (для истории предлагаю Вам разобрать дистрибутив Windows 98- вот где было засилье INF-файлов!)  и так как мне пришлось с ними работать, я не нашел сложным этот способ.

Возмем оригинальную часть файла драйвера e1c62x64.INF:

[Manufacturer]
%Intel%     = Intel, NTamd64.6.1, NTamd64.6.1.1
[Intel]
[Intel.NTamd64.6.1.1]
; DisplayName                   Section              DeviceID
; -----------                   -------              --------
%E1502NC.DeviceDesc%            = E1502.6.1.1,       PCI\VEN_8086&DEV_1502
%E1502NC.DeviceDesc%            = E1502.6.1.1,       PCI\VEN_8086&DEV_1502&SUBSYS_00011179
%E1502NC.DeviceDesc%            = E1502.6.1.1,       PCI\VEN_8086&DEV_1502&SUBSYS_00021179
%E1502NC.DeviceDesc%            = E1502.6.1.1,       PCI\VEN_8086&DEV_1502&SUBSYS_80001025
%E1503NC.DeviceDesc%            = E1503.6.1.1,       PCI\VEN_8086&DEV_1503
%E1503NC.DeviceDesc%            = E1503.6.1.1,       PCI\VEN_8086&DEV_1503&SUBSYS_00011179
%E1503NC.DeviceDesc%            = E1503.6.1.1,       PCI\VEN_8086&DEV_1503&SUBSYS_00021179
%E1503NC.DeviceDesc%            = E1503.6.1.1,       PCI\VEN_8086&DEV_1503&SUBSYS_04911025

[Intel.NTamd64.6.1]
; DisplayName                   Section        DeviceID
; -----------                   -------        --------
%E1502NC.DeviceDesc%            = E1502,       PCI\VEN_8086&DEV_1502
%E1502NC.DeviceDesc%            = E1502,       PCI\VEN_8086&DEV_1502&SUBSYS_00011179
%E1502NC.DeviceDesc%            = E1502,       PCI\VEN_8086&DEV_1502&SUBSYS_00021179
%E1502NC.DeviceDesc%            = E1502,       PCI\VEN_8086&DEV_1502&SUBSYS_80001025

Для начала надо знать, что нужная нам сетевая карта имеет код устройства 1503. Изучив приведенные секции, мы видим, что почему- то разработчики обделили ее вниманием для версии операционной системы 6.1, но не пожалели чернил для версии 6.1.1. Я могу только предположить, что 6.1.1 означает Win7\2008R2 с SP1. Но, по всей видимости, установщик драйверов Windows Server 2008R2 SP1 RTM еще «не был в курсе» такой нумерации и пробовал искать драйверы только для версии 6.1.

Кстати довольно интересно наблюдать названия секций INF-скрипта вроде Intel.NTamd64 — представляете как скрипят зубами маркетологи Intel ? Хотя, это всего лишь дань тому времени когда AMD первой представила широко доступные 64 битные процессоры.

Дальнейшие действия выглядят очевидными- есть два варианта- либо добавить в секцию [Intel.NTamd64.6.1] все записи %E1503NC.DeviceDesc%, либо отредактировав строку из секции [Manufacturer] до вида

%Intel%     = Intel, NTamd64.6.1.1.

Второй вариант я не проверял, а вот первый сработал на ура- исправленный драйвер установился и сетевая карта заработала. Однако во вкладке свойств сетевой карты я не увидел всех «вкусностей» которые предоставляли оригинальные драйверы, в том числе свойств VLAN.

Недолго думая я запустил оригинальную программу установки драйвера, и о чудо ! — уж теперь то она увидела, что есть такая сетевая карта и соизволила установить «правильные» драйверы. Результат виден на картинке:

Добавлю, что позже я увидел  возможную причину того, что драйвера пришлось устанавливать 2 раза – при копировании записей вида

%E1503NC.DeviceDesc%            = E1503.6.1.1,       PCI\VEN_8086&DEV_1503

возможно надо было удалять цифры .6.1.1 из = E1503.6.1.1, поскольку это значение обозначает секцию установки, и существует такая секция E1503 в которой производиться довольно много действий.

В заключение я хотел бы сказать, что общая ситуация с драйверами устанавливаемыми через INF-файлы достаточно небезопасная. Да, эти драйверы распространяются вместе с CAT- файлами, которые защищают от несанкционированных изменений. Но INF-файл по-прежнему можно выполнить, если проигнорировать предупреждение системы безопасности о том, что файл не подписан. А кого это когда останавливало? Через INF- файл можно установить драйвер в систему, добавить записи в реестр и скопировать файлы в системные папки. Т.е. сделать все что угодно. Причем, все вредные действия можно спрятать в «полезном» файле драйвера.  Не далее, как пару месяцев назад, я искал драйвер для беспроводной карты своего ноутбука и прочел следующее: из-за отсутствия сертификации на стандарт wifi- 802.1N для России некоторое время поставлялись решения wifi с драйвером урезанным до категории G. Правда это или нет, я не знаю, но там же предлагалось скачать «разблокированный» драйвер. Как вы думаете, какой драйвер скачал я?
PS. Справедливости ради надо отметить, что установить драйвер без цифровой подписи в Windows 7\2008R2 задача нетривиальная, и просто так этого сделать не получиться…

  1. Kuks
  2. Alex
    25 января 2013 в 19:14

    Огромное спасибо за статью, ВЫРУЧИЛИ!!!!!

  3. 26 марта 2013 в 13:22

    Спасибо за статью! Не догадался установить потом родные интеловские драйвера. Сетевуха была обнаружена, но вот к сети коннектиться просто не хотела)

  4. 6 апреля 2013 в 16:10

    второй способ не сработал, а вот первый на ура!

  5. Nikolay
    21 мая 2013 в 09:48

    У меня в одной конторе был HP P1102w. Там была аналогичная проблема с EasyPrint на терминал-сервере 2008 R2. Клиентская ОС — Windows 7. Решил так.

    1. Добавляем на терминал-сервер оснастку “Управление печатью” (по умолчанию отключена), используем в диспетчере сервера раздел “Компоненты”. Добавляем Средства удаленного администрирования сервера — Средства администрирования ролей — Средства служб печати и документов
    Запускаем эту оснастку и добавляем драйвер, аналогичный драйверу на клиенте.
    2. Настраиваем терминал-сервер помощью политики таким образом, чтобы сначала использовался классический способ (драйверы принтера на сервере терминалов), а только потом EasyPrint: Конфигурация компьютера — Административные шаблоны — Компоненты Windows — Службы удаленных рабочих столов — Узел сеансов удаленных рабочих столов — Перенаправление принтеров — “Использовать в первую очередь драйвер принтера EasyPrint…” — Отключить
    Потом в командной строке на терминал-сервере: gpupdate /force

    По поводу сетевой карты — очень помогла информация. Спасибо. Скачивал драйвера сетевой карты разных версий и с сайта асуса (мамка P8Z77-V), и с сайта интела (причем у интела явно была указана ОС Win2008R2) — бесполезно. Причем интересный момент: до этого ставили на точно такую же материнку тот же драйвер — и всё нормально встало. А во втором случае пришлось «допиливать» inf-файл по этой статье. Кстати, 6.1.1 — это не Win2008R2 SP1 (у меня как раз она стояла), у нее тоже версия 6.1, а вот билд 7601 (winver.exe в помощь)

    • 8 июня 2013 в 23:56

      Во первых спасибо за комментарий, все бы так .
      Во вторых по №1 вот следующее дело которое я решил как вы

      Случай из практики — 4


      во вторых именно этот принтер имеет драйвера которые решают проблему- это уже неплохо

  6. Сергей ItTrade.Dnepr
    5 июля 2019 в 13:26

    Способ про сетевуху до сих пор актуален. спасибо.

  1. No trackbacks yet.

Оставьте комментарий