Для начала предыстория:

Некоторое время назад я приобрёл на Ebay б/у ноутбук Lenovo Thinkpad W520. Как известно, W-серия — это очень мощные ноутбуки, железки в которых дадут фору многим более современным машинам. Конечно же, я начал его обустраивать под себя, и, в частности, решил проапгрейдить имеющуюся память всем, что было в наличии, а в наличии было немало: 2 свободные планки DDR3-1600 из старого ноута — 4 и 8 гигабайт. Посмотрев на то, что было установлено продавцом, я обнаружил, что из 3 установленных планок 2 — DDR3-1600, а одна — 1333. Учитывая, что первые две были по 8 гигабайт, а последняя — 2 гигабайта, от неё я и решил избавиться. Рассчитывая получить после апгрейда 8+8+8+4=28 гигабайт DDR3-1600 в рабочем ноуте, я залил всё слюной и всё это быстренько подключил. И получил 28 гигабайт… DDR3-1333. «Что за...», подумал я и полез в гугл.

После непродолжительных поисков я обнаружил, что как официально, так и неофициально W520 поддерживает только DDR3-1333, а владельцы более быстрой памяти зря тратили на неё деньги. Мне стало немного обидно за всех таких владельцев, и я решил попробовать избавиться от этой несправедливости, тем более, что контроллер памяти, нынче, как известно, в процессоре, и установленный в моей модели Intel Core i7 2720QM официально поддерживает DDR3-1600.

А теперь немного интересных подробностей.

Решение любой сложной задачи стоит начинать со сбора имеющейся информации. Тут мне довольно быстро повезло, нашлась интересная страничка на Thinkwiki, утверждавшая, что нужный мне модифицированный BIOS очень даже существует, но его делает какой-то ушлый мой соотечественник по имени Oleh, и просит за это 1500 рублей. Я не против, есть спрос — есть и предложение, но мы вроде сами с усами, и прошить и припаять, и в коде разобраться умеем, попробуем сэкономить полтора килорубля на мороженное.

Собственно, задачу за меня почти решили, страничка на Thinkwiki содержит ссылку на довольно известный ресурс BIOS-Mods, где патч фактически подан на блюдечке, надо сделать так:

По смещению 0x1810 заменить последовательность байт
8B 85 C8 FC FF FF 8B 48 09 66 C7 41 01 35 05 C6 85 C2 FC FF FF 0C
на
66 0F 1F 44 00 00 0F 1F 00 66 0F 1F 44 00 00 0F 1F 80 00 00 00 00

Но при попытке этим решением воспользоваться «в лоб» меня ждал облом — такой последовательности байт в прошивке не оказалось совсем, ни по этому смещению, ни по какому-то другому. Пришлось засучить рукава и копать глубже, то есть всё-таки разобраться, что же этот код делает и на что его надо исправить.

Прежде всего скажу, что последовательность 66 0F 1F 44 00 00 0F 1F 00 66 0F 1F 44 00 00 0F 1F 80 00 00 00 00 не делает ничего. То есть её с тем же успехом можно заменить на последовательность nop(0x90), как мне позже указал CodeRush, но это я забегаю вперёд. Пока примем к сведению, что эта последовательность именно отключает искомый код, а не меняет его.

Я исходил из того, что патч, который описан на BIOS-Mods — правильный, просто от другой модели ноутбука, и в моей что-то будет немного не так.

Исходный код для исправления в файле SandyBridgePhx.efi выглядит так:

hex asm
8B 95 C8 FC FF FF mov edx, [ebp+var_338]
8B 42 09 mov eax, [edx+9]
66 C7 41 01 35 05 mov word ptr [eax+1], 535h
C6 85 C2 FC FF FF 0C mov [ebp+var_33E], 0Ch

535h здесь — не что иное, как тактовая частота в мегагерцах, 1333 в десятичной системе счисления. Поскольку это характерное значение, я выковырял SandyBridgePhx.efi из прошивки UEFI Tool-ом, взял radare2 и поискал 535h в этом файле (не забываем про little endian):

Листинг radare2
[0x00000000]> /x 3505
Searching 2 bytes in [0x0-0x2406]
hits: 2
0x000017d6 hit0_0 3505
0x00001839 hit0_1 3505


Почему-то наши 1333 мегагерца встречаются 2 раза совсем рядом. Смотрим, что же там такое:
Смещение hex asm
0x000017c9 8B 85 C8 FC FF FF mov eax, dword [ebp — 0x338]
0x000017cf 8B 48 09 mov ecx, dword [eax + 9]
0x000017d2 ~ 66 C7 41 01 35 05 mov word [ecx + 1], 0x535
0x000017d8 C6 85 C2 FC FF FF mov byte [ebp — 0x33e], 0xc

Тильдой помечена строчка с искомым значением. Видно, что код в целом соответствует искомому, единственное что отличается — это регистры. В общем, вроде бы всё просто, но есть же второе значение… Идем по смещению 0x00001839 и видим там точно такую же последовательность команд, 1 в 1. WTF? Что патчить-то? Да и самое главное, почему мне надо именно отключить этот код, а не поменять 1333 на 1600, скажем? Для объяснения этого моих рудиментарных знаний x86 ассемблера не хватало. Я обратился за помощью к приятелю-реверсеру Rumata888. Он, в силу профессии, имеет доступ к нормальной лицензионной версии IDA Pro, чем не преминул воспользоваться.

Буквально один скриншот из IDA, который объяснил мне всё:



42Bh, 535h, 640h и 74Bh это, как вы уже наверное догадались, частоты памяти: 1067, 1333, 1600 и 1867 МГц соответственно. То есть это, понятное дело, блоки, которые выставляют нужную частоту памяти (скорее всего, читая её из SPD и сохранённых настроек). А вот дальше происходит самое интересное: вне зависимости от того, что мы там навыставляли, происходит переход по смещению 182Сh. И выполняется та самая вторая последовательность команд, которая сбила меня с толку. Дамы и господа, перед нами самый обыкновенный костыль: сначала добросовестно анализируем, что же за частоту надо выставить, а затем берём кувалду и намертво прибиваем 1333 МГц. Естественно, от костыля надо избавиться (что и сделали на BIOS-Mods), и после этого всё заработает.

После того, как ясность наступила, я, дабы подкрепить уверенность, попросил CodeRush, как главного публичного специалиста по UEFI, проверить, всё ли я сделал как надо, на что получил уже упомянутый совет, что всё выглядит нормально, но лучше выкинуть хитромудрый участок (66 0F 1F 44 00 00 0F 1F 00 66 0F 1F 44 00 00 0F 1F 80 00 00 00 00) и просто забить ненужный костыль nop-ами. Ну и рекомендацию предохраняться сделать бэкап, лучше программатором.

Дальше были затруднения, из-за которых патч пришлось отложить почти на месяц. Сначала я ждал посылку с программатором и прищепку для прошивки SPI-Flash без выпаивания, потом пытался после бэкапа программатором прошить модифицированный файл прошивки при помощи виндового софта. Сразу сообщаю: ни фига не вышло. По-видимому, шить можно только в случае разницы версий, а 1.42 поверх 1.42 фирменный софт шить не будет. Пришлось сделать всё самым дубовым способом: поправить слитый из флэшки бэкап и залить его обратно программатором.

Краткая инструкция по самостоятельному исправлению фатального недостатка.

Теперь резюме, для тех, кому не хочется читать мою писанину выше, рабочий способ разблокировки памяти на Thinkpad W520(и других схожих моделях, в частности T520 и, вероятно, X220 и ещё какие-то модели на Sandy Bridge):
  1. Покупаем/ищем вышеупомянутые прищепку и программатор. Естественно, программатор можно использовать и другой, в частности очень популярные Raspberry Pi, а прищепку заменить выпаиванием-впаиванием микросхемы SPI Flash. Но это уж на ваше усмотрение — вдруг у вас навык пайки Grandmaster и паяльная станция всегда под рукой. Тем, кто с пайкой не дружит, прищепки очень рекомендую.
  2. Подключаем(или выпаиваем и подключаем) флэшку, не перепутайте подключение, 1-й провод на прищепке выделен, на микросхеме 1-й контакт отмечен точкой. Сама флэшка находится тут(отмечено стрелкой):



    Инструкция, как туда добраться, с картинками
  3. Сливаем бэкап флэшки, на всякий случай проверяем, что он не пустой и размер правильный, флэшка у W520 размером 64Мбита, т.е. 8 мебибайт или мегабайт, если вы ретроград. Ещё лучше использовать функцию проверки у прошивальщика, если она есть. Если нет — может взять другой софт?
  4. Открываем Hex-редактором бэкап, ищем Hex-последовательность байт
    Вот такую
    8B 85 C8 FC FF FF 8B 48 09 66 C7 41 01 35 05 C6 85 C2 FC FF FF

    Находим её в бэкапе 4 раза. Последние два, что ближе к концу, трогать не стоит — они для инициализации памяти в аварийном режиме(файл SandyBridgePhxCrisis.efi, если вдруг кому интересно). Из первых двух, как следует из текста выше, нас интересует второе вхождение этой последовательности. У меня на W520 искомое место начинается со смещения 53A834h.
  5. Заменяем все указанные байты на nop(90h).
  6. Прошиваем свой бэкап обратно в флэшку, проверяем, что всё прошилось правильно(вот тут уж функция проверки абсолютно незаменима).
  7. Запаиваем флэшку обратно (или просто снимаем прищепку), собираем ноутбук, загружаемся, запускаем CPU-Z и делаем вот такой скриншот:
  8. PROFIT!


Выражаю благодарность CodeRush и Rumata888, без них бы этой заметки никогда бы не было, а я так и остался бы неучем.

Если кто-то возьмётся последовать моему примеру, готов опубликовать готовые рецепты (что менять, по какому смещению) для других моделей ноутбуков.
Поделиться с друзьями
-->

Комментарии (52)


  1. semmaxim
    19.06.2016 14:45
    +3

    Мне очень интересно, чем руководствовались разработчики такой прошивки.


    1. POS_troi
      19.06.2016 14:51

      Разработчики ничем не руководствуются, чего маркетологи придумали того и реализовывают.
      Иногда бывает что занижение параметров происходит при выходе новой прошивки БИОС, как правило такое бывает редко и в тех случаях когда выясняется что железо на предыдущих параметрах сбоит — поэтому подкручивают и рекомендуют обновиться.


      1. shogunkub
        19.06.2016 14:53

        железо на предыдущих параметрах сбоит

        Явно не тот случай, на более ранних версиях многие говорили, что у них работала DDR3-1600 без проблем, а потом зачем-то неофициальные характеристики привели к официальным.


        1. ValdikSS
          19.06.2016 15:00
          +2

          Нагрев сильнее. Использую на X220 1600-память на частоте 1333 МГц, т.к. при 1600 общая температура градусов на 5-7 выше, а у меня и так частый перегрев и троттлинг. Но производительность видеоподсистемы, конечно, выше при 1600 МГц.


          1. shogunkub
            19.06.2016 15:04

            Вот это может быть, хотя уже второй день гоняю, и пока перегрева не увидел…


            1. POS_troi
              19.06.2016 15:54

              Я просто к тому что урезание это не всегда следствие желания обдурить или заставить купить более дорогую модель.
              Комп а в особенности ноуты это доволи сложные системы и не всегда есть возможность заставить работать все её компоненты на пределе.
              Вот к примеру ValdikSS упомянул о перегреве, а для нынешних ноутов это критическая проблема — гонка за тонкостью пагубно влияет на возможности системы охлаждения. (хотя если ноут перегревается это выгодно производителю, но ноут года при постоянном перегреве не переживёт а это гарантия :) )


              1. shogunkub
                19.06.2016 16:08

                У W520 есть много комплектаций, и допускаю, что в связке Core i7 2920XM + Quadro 2000M + DDR3-1600 там действительно может быть печально с тепловыделением, но у меня пока проблем не отмечено. А у ValdikSS всё-таки X220, он меньше и там с теплоотводом проблем малость побольше.


                1. knutov
                  20.06.2016 02:02

                  У меня X220 и до какого-то одного из последних обновлений биоса он вполне так регулярно падал в синий экран после длительной нагрузки (две планки по 8 памяти, сотни открытых табов в браузере + танчики)


    1. shogunkub
      19.06.2016 14:51

      Мне тоже, если честно. Вообще, на забугорных форумах где-то читал, что в более ранних версиях этого костыля не было(но были некоторые другие проблемы), а в последних его добавили.


    1. fidewu
      19.06.2016 15:58
      +1

      Гарантией работоспособности.


      1. shogunkub
        19.06.2016 16:04

        Гарантирует в данном случае Intel, об этом в статье написано. Единственное, что может быть не так — недостаточное охлаждение, но судя по опыту эксплуатации, у W520, даже четырёхядерных, c этим всё в порядке. Возможно, есть исключение, имя которому Core i7 2920XM, но это не мой случай.


        1. fidewu
          19.06.2016 16:11

          Это ж ТинкПад. Там не простые требования к стабильности работы. Хочется надеяться. Ну не хочет Леново рисковать перегревами.


          1. shogunkub
            19.06.2016 16:36

            Если не заметно — костыль не совсем корректный, и при использовании DDR3-1066 будет пытаться запустить её на 1333 МГц. Правда, такую память ещё надо поискать, но если что — будет облом.


            1. JerleShannara
              20.06.2016 16:24

              А тут надо посмотреть на все возможные комплектации этих ноутбуков, которые оффициально продавали ленововцы. Скорее всего там DDR3-1066 просто не ставили (включая всякие xxxx-CTO). Отсюда и формат костыля «1066 мы не ставим, 1600 нестабильно, закостылим 1333, а если ушлый юзер поставит 1066 — сам олень», благо раньше у них было требование: если у вас что-то не работает и вы сдаёте ноут в гарантийный ремонт — извольте привести его к заводской конфигурации и поставить то железо, которое там стояло.


              1. shogunkub
                20.06.2016 16:33

                Скорей всего так и было, но про «не простые требования к стабильности работы» после этого язык не поворачивается говорить.


                1. JerleShannara
                  20.06.2016 16:38

                  Ну разработка платформы началась небось когда 1333 поддерживалось, под неё всё вылизали и получили чугунную стабильность. Далее вышел камень умеющий 1600, вроде заработал, прошел все тесты. Потом этот камень засунули в топовую конфигурацию и выяснили например, что система охлаждения на таких частотах через 4 часа под полной загрузкой всех вёдер, включая дискретную видеокарту начинает допускать нагрев камня например выше 95*С — шо есь не очень стабильно и не очень хорошо. «Айайай фсё прапало шеф», быстрый костыль " memclk = 1333;" и всё опять стабильно и греется только до 93*С.


        1. Foolleren
          19.06.2016 18:15

          Интел гарантирует одно, а на пути к ОЗУ есть ещё матплата, наводки и ёмкость дорожек могут вызывать ошибки.


          1. shogunkub
            19.06.2016 18:16

            А может и не вызывать. Прочитайте комментарий ниже.


            1. Fandir
              21.06.2016 22:44

              Мне тоже кажется, что производитель не стал заморачиваться с трассировкой на частоту 200МГц… Там разница в цикле 6 или 5 НС, возможно они просто не смогли гарантированно растрассировать для 200 МГц… Так что от плате к плате могут быть нюансы


    1. CodeRush
      19.06.2016 18:08
      +6

      Подозреваю, что на 1600 не проходит какой-то из тестов, которые в обычной жизни либо не встречаются совсем, либо встречаются крайне редко. Пример из моей практики прямо сейчас: на моей плате на AMD Merlin Falcon некоторые типы памяти SODIMM DDR4 (зависит от чипов, максимальной частоты и SPD, конкретнее я пока не знаю) откзываются определяться (и машина зависает с пост-кодом 0x5D, последним до начала тренировки памяти) во время теста «10000 инициированных ОС софт-ресетов с включенной сетевой картой и сохранением логов на сервере». Максимальная частота памяти на этой платформе — 2133 Мгц, если ограничить ее на 1866 Мгц — все хорошо, и почти любая память (за исключением прототипов с проблемами в SPD) проходит любые тесты. Т.к. сам тест длится кучу времени, а тренирувку памяти на этой платформе выполняет закрытый код PMU, на который может влиять только AMD, то мне, как автору прошивки, в миллион раз проще ограничить частоту сверху (еще и при ambient +80*C легче будет обеспечить работоспособность), чем отлаживать это поведение в обнимку с аппаратным отладчиком AMD Wombat в течение пары месяцев. Вот примерно из таких соображений и лимитируют, та же история с белыми списками совместимого оборудования, которые всех бесят, примерно та же — с QVL на модули памяти и остальным. А маркетологи были бы очень рады рекламировать совместимость с более быстрой памятью, но тут им слова не дали.


      1. JerleShannara
        20.06.2016 16:26

        Кстати вопрос — а что сейчас творится с SAGE-евскими отладчиками(а точнее с поддержкой их на текущем железе), а то два года назад хотелось оный заказать, а нынче контора алес капут и поехали.


        1. CodeRush
          20.06.2016 17:08

          Пока еще поддерживаются, но в будущем поддержка останется только у Wombat, скорее всего.
          SAGE очень жаль, реально, прекрасная Gizmo2 осталась без прошивки, куча хороших людей потеряли работу, что будет с coreboot — совсем не ясно теперь, даже с учетом гугла…


          1. JerleShannara
            20.06.2016 17:47

            Похоже, что coreboot уйдет в arm. Ибо всё x86 в нём новое теперь в виде бинарных библиотек в лучшем случае стало. И интел с амд чесаться прекратили вообще.


            1. CodeRush
              20.06.2016 18:29

              У ARM'ов там с одной стороны U-boot, который развивается семимильными шагами, а с другой стороны — UEFI, который тоже уже практически готов и наберет свою долю так или иначе, просто потому, что UEFI Forum — не самая слабая организация. Что же до coreboot, то там из применений для «массового зрителя» одни хромобуки и остаются, пожалуй, на ARM или нет.


  1. molnij
    19.06.2016 16:44
    +2

    Если не секрет, что вы делаете на ноутбуке, и действительно ли повысилась производительность после этого хака? Просто, на мой взгляд, частоты памяти — едва ли не последнее, что стоит тюнить в погоне за производительностью, вот и интересно, в какой области это актуально?


    1. shogunkub
      19.06.2016 16:46
      +4

      Вопрос не в том, полезно это или бесполезно. Производительность немного повысилась, в первую очередь, у встроенного видеоядра. Но вообще, я руководствовался не тем, какой это даст прирост, а просто «Почему нет, если это возможно?».


    1. fidewu
      19.06.2016 16:46

      Для ноутбука — тем более.
      Там и перегрев и расход аккумулятора…


      1. shogunkub
        19.06.2016 16:47
        +1

        Это мобильная рабочая станция. Батарея там — пока бежишь от одной розетки до другой.


        1. Borz
          19.06.2016 17:28

          хочется не бегать, а спокойно передвигаться между розетками, а иной раз и притормозить где-нибудь по дороге


          1. shogunkub
            19.06.2016 17:29
            +2

            Поэтому я купил расширенную батарею.


  1. Evengard
    19.06.2016 16:54

    может быть конечно у меня программатор гов о, но у меня прищепка не пашет. впрочем у меня и ноут другой… :(


    1. shogunkub
      19.06.2016 17:03

      Первое что надо проверить — правильность и надёжность(!) подключения. А то у меня в какой-то момент флэшка детектилась через раз. Можно мультиметром прозвонить, если есть возможность. Насчёт правильности — убедиться что на все ноги, на которые должно подаваться напряжение, оно подаётся. Это ноги 3,7,8. Ну и землю тоже стоит проверить.
      Насчёт «ноут другой» — флэшки, по большому счёту, одинаковые. Говорят, бывают флэшки, в которых распиновка отличается от стандартной, но пока не встречал.


      1. Evengard
        20.06.2016 13:25

        я честно говоря немного нуб. как её «прозвонить» и «проверить»?


        1. shogunkub
          20.06.2016 13:50

          Ну мультиметр-то у вас есть? Ставите его на «звонилку»-пробник, или, если такого положения нет, то на измерение сопротивления, с любым пределом шкалы, скажем 2 килоома. А дальше одним щупом касаетесь контакта на программаторе, а другим — соответствующей ему ноги микрухи(до ног обычно можно добраться с прицепленной прищепкой). Звенит или показывает 0 — хорошо, нет — значит нет контакта, пошевелите/поправьте прищепку и проверьте ещё раз. Земля, помимо этого, звонится вообще с любой землёй, в т.ч. обычно с рамой корпуса.
          Можно ещё до подключения прозвонить аналогично саму прищепку, вдруг в ней проблема…


          1. Evengard
            20.06.2016 14:05

            Спасибо!


          1. Evengard
            21.06.2016 04:36

            Всё равно что-то не помогает. Прищепка вроде в норме, прозвон во всяком случае успешен, цепляю вроде как всё надо, но программатор не распознаёт плату. Может всё же программатор не очень? Юзаю RT809F, плата W25Q64FVSSIG


            1. shogunkub
              21.06.2016 07:35

              Программатор шикарный! :) Там ZIF-сокет на программаторе 16-контактный, точно туда подключаете на ZIF-сокете?

              25 серия подключается на дальние от рычага контакты, как на картинке показано. 1-й контакт — ближайший к рычагу. С 80-процентной вероятностью вы что-то не так подключаете, ещё 19% — плохой контакт где-то, или в сокете(попробуйте вставлять в него контакты не совсем до конца), или прищепка. И только в 1% случаев что-то не так с самим программатором.


              1. Evengard
                21.06.2016 13:02

                да, я три часа вчера по разному пробовал именно так как описали… Он вроде даже тестировании пинов проходит, но при чтении выдаёт что ид оборудования 0х0, при чтении одни нули и ошибка чексуммы, ну а с записью я не рисковал.


    1. JerleShannara
      20.06.2016 16:27

      С прищепками дикая лотерея. Иногда надо укоротить длину кабеля от прищепки до программатора (порой приходится аж до 5 сантиметров и менее делать), иногда надо вообще заменить прищепку/программатор.


  1. dartraiden
    19.06.2016 17:05
    +1

    По-видимому, шить можно только в случае разницы версий, а 1.42 поверх 1.42 фирменный софт шить не будет :(

    Ждём следующую статью, в которой будет описано отучение софта от такого поведения ;)


    1. shogunkub
      19.06.2016 17:10

      Смысла особого нет, это ж одноразовая утилитка, которая подходит только в конкретном случае. Программатор на порядок универсальнее. Единственное, о чём жалею — что не могу сделать универсальную прошивку, но это задачка посложней, думается мне.


      1. Chupaka
        20.06.2016 06:51

        Если той же версией шить не получается — почему бы не попробовать у заливаемой прошивки номер версии слегка увеличить?


        1. shogunkub
          20.06.2016 06:55

          Там надо в тогда разбираться в двух вещах — в алгоритме присвоения версий прошивок(Там не просто 1.42, а 8BET62WW) и в алгоритме работы одноразовой утилитки. А самое главное, непонятно, чего ради.


    1. oldcastor
      20.06.2016 11:49

      На практике частенько не стоит изобретать костыли — они уже и так придуманы. Например, у AMI BIOS есть утилиты, которые позволяют проигнорировать сравнение версий при перепрошивке.
      Я так разблокированный BIOS (взятый из интернетов) под ноутбук ASUS заливал, и родная утилита от ASUS меня, конечно же, посылала в ближний, но обидный путь. А вот с оф сайта AMI была скачана их универсальная утилита, которая обладает большим диапазоном настроек, что мне и пригодилось.


      1. dartraiden
        20.06.2016 20:39

        Можно, конечно, и поискать утилиту, не спорю.
        Впрочем, «защита» от даунгрейда прошивки, скорее всего, реализована одним-единственным условным переходом в программе. В своё время асусовскую AFUDOS именно так и «лечили» изменением всего лишь одного байта, после чего она уже прошивала прошивки любых версий.


  1. beeruser
    19.06.2016 18:08

    >> хитромудрый участок (66 0F 1F 44 00 00 0F 1F 00 66 0F 1F 44 00 00 0F 1F 80 00 00 00 00) и просто забить ненужный костыль nop-ами

    Это и есть нопы. В х86 кроме однобайтных нопов с кодом 0x90 имеются коды для длин 2-15

    66 0F 1F 44 00 00
    0F 1F 00
    66 0F 1F 44 00 00
    0F 1F 80 00 00 00 00
    6/3/6/7 байт соответственно


    1. shogunkub
      19.06.2016 18:14

      Я в курсе, просто не стал вдаваться в подробности :)


  1. myxo
    19.06.2016 22:06
    +1

    Ого какая цензура. Японское гик-порно? =)


    1. shogunkub
      19.06.2016 22:20

      Ага. Замазал, чтоб не отвлекало, там другие пометки(инструкция изначально — по замене динамиков).


  1. klirichek
    20.06.2016 05:59

    Интересно…
    А я взял с рук T420s. Комплектация без bluetooth.
    Потом нашёл и купил соответствующую карту, разобрал, с удивлением обнаружил, что карта УЖЕ стояла в ноуте…
    Вот теперь и гадаю: то ли комплектация «без bluetooth» была выставлена как-то софтом (и намертво прошита в BIOS — но тогда вопрос поставщику — нафига? Ведь железо уже установлено, стал быть издержки на это всё равно сделаны...), либо ещё что-то там повреждено, из-за чего тот порт физически не работает.


    1. shogunkub
      20.06.2016 10:46

      У меня сейчас похожая проблема с 3G/4G-модемом от Dell — 5804, он определяется, драйвер я выдрал из родного инсталлятора и смог установить, даже SIM-карта видится, а подключаться ни в какую не хочет.


    1. JerleShannara
      20.06.2016 16:29

      Скорее всего в PM(power manager) ваш ноут распознается как безблютузный и оный PM (ну или EC) тупо не включает эту карту (а точнее питание на неё)