[ Content | View menu ]

Thinkpad X61s и альтернативные Mini PCI Express-адаптеры

Опубликовано 23.12.2008

Клиенты прислали свой ноутбук Lenovo Thinkpad X61s для специфической настройки. Перед отправкой они воткнули туда свежеприобретённый Mini PCIe-адаптер Intel PRO Wireless 3945ABG, но проверить его толком не успели за недостатком времени. Когда я включил этот ноутбук, он вообще отказался загружаться с хамской формулировкой:

1802: Unauthorized network card is plugged in - Power off and remove the miniPCI network card.

Расследование этого факта привело на страницу Problem with unauthorized MiniPCI network card, откуда я узнал, что в биосе ноутбуков Thinkpad “зашит” белый список PCI-ID’ов Mini PCIe-устройств, явно разрешённых к использованию, все остальные устройства запрещены. Все разрешённые устройства выпущены под маркой Lenovo и стоят в полтора-два раза дороже, чем их немаркированные аналоги. Как разъясняет справочный центр Lenovo, это вызвано тем, что во избежание порчи эфира сочетание карты и антенны должно быть сертифицировано FCC (североамериканская федеральная комиссия по связи) или аналогичной организацией в других странах, и Lenovo не может гарантировать, что какой попало адаптер будет соответствовать этим требованиям. Поэтому официальный совет по избавлению от этой ошибки: выкиньте свой адаптер и купите правильный втридорога.

Неофициальные способы обойти хитрых IBM-овцев перечислены на вышеупомянутой странице. Вариантов несколько: добавить PCI ID устройства в bios, модифицировать PCI ID на самом устройстве (речь идёт о subvendor id), использовать несколько вариантов программ для изменения пары байтов в биосе, отключающих проверку по белому списку… В итоге сработало простое перетыкание адптера в соседний слот: видимо, проверка PCI ID работает только для одного слота.

После перетыкания ноутбук включился, но на этом приключения не кончились :) Выяснилось, что при любом состоянии переключателя wifi в логи выводится сообщение, подобное следующему:

Dec 20 20:20:56 hostname kernel: ipw3945: Radio Frequency Kill Switch is On:
Dec 20 20:20:56 hostname kernel: Kill switch must be turned off for wireless networking to work.

При этом в файле /sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/rf_kill содержится число 2, что означает “залочено железом”. Т.е. карточка считает, что wifi выключен и отказывается работать, и никакие хоткеи, включающие wifi, тут не помогут.

Решение в виде грязного хака нашлось на той же странице: необходимо чем-нибудь заклеить 20 контакт карточки бумажкой, чтобы она не получала сигналов о состоянии переключателя wifi, которые, видимо, не доставляются во второй слот. Действительно, судя по распиновке Mini PCI express, 20 пин зарезервирован и вполне может использоваться для сигнализации о включении/выключении функциональности wifi.

Мы заклеили этот 20 контакт кусочком первой попавшейся липкой бумажки, и всё прекрасно работает. Надолго ли?..

Upd. Пока писал, забыл, чего сказать-то хотел :) Мораль сей басни такова: подумайте дважды, прежде чем Thinkpad брать — готовы ли вы модные рюшечки поменять на понятные, но нервирующие заносы производителя и потенциально обрести проблемы на пустом месте?

«
»

4 комментария

Write a comment - TrackBack - RSS Comments

  1. Comment by фыва йцук:

    вероятно вся эта лабуда началась после того, как IBMовцы продали отдел ноутбуков китайцам.

    24.12.2008 @ 13:33
  2. Comment by proof:

    Ibm всегда славились своим белым списком :)
    привода, модули вай-фай…

    10.02.2009 @ 18:54
  3. Comment by lex:

    А сработает ли метод на HP?
    И кстати, заклеив 20-й пин, не потеряется ли возможность включать/выключать вайфай кнопкой на ноутбуке?
    (Я уже устал от этого поганого broadcom, торчащего в моем нетбуке)

    07.06.2010 @ 15:20
  4. Comment by bappoy:

    давно это было, но вроде побочных эффектов не было :) в любом случае надо либо самому пробовать, либо зарываться в спеки и доки

    07.06.2010 @ 15:22
Write comment

Я не робот.