Как узнать код IMEI вашего смартфона Huawei (honor)? – Huawei Devices

IMEI min stretch Новости

Как восстановить, сменить imei на 3g usb модеме

Восстановлениесмена IMEI на примере модема HUAWEI

Для начала надо скачать QPST. Скачать:QPST 2.7 Build323

1. Установить QPST.

2. Запускаем QPST Configuration: ПускВсе программыQPSTQPST Configuration

3.Диспетчер устройств -> Порты (COM и LPT) Находим номер порта (для Huawei-3G Application Interface)

4. Если номера порта нету, нажмите кнопку “Добавить новый порт” (Add New Port)

5. Здесь выбираете COM порт который соответствует 3G Application Interface

6. Так ваш модем должен отображаться

7. Нажимаем “Start Clients” в верху

8. Выбиравем “RF NV Item Manager

9. Появиться такое окно

10. Нажимаем SettingComportВыбираем порт

11. Дальше нажимаем “FileRead From Phome

12. Запуститься процесс чтенияобработки NV item из модема
В отображаемом результате мы не увидим нужный нам пункт (NV_UE_IMEI_I)

13. Опять нажимаем “File” и выбираем “Read Supported RF NV Items

Теперь будут видны все NV пункты

14. Выбираем (NV_UE_IMEI_I) у меня он под номером 550

15. Здесь вы увидете в правой части 9 пустых полей (если у вас нету IMEI)

16. Ставим галочку в окошечке “Hex” и в пустых полях пишем новый IMEI. Но писать надо не в оригинальном формате (так нельзя 3 44 30 40 85 11 33 67), а в Hex формате (так надо 8 3A 44 03 4 58 11 33 76)

Важно: В первом поле обязательно ввести значение – 8
Во втором поле первая цифра вашего IMEI в таком виде – 3A
В пятом окне вводиться одна цифра значения (в оригинальном IMEI это 4ый набор знаков, как правило десятки (10,20…80,90)
В остальные окна цифры вводятся в зеркальном отображении.
Пример: настоящий IMEI – 3 23 54 30 15 61 53 37
Который надо ввести – 8 3A 32 45 3 51 16 35 73

17. IMEI ввели, опять нажимаем “File” и выбираем “Write Only Listed NV Item To Phone

Всё IMEI установлен.

Важно: пишите IMEI правильно и очень аккуратно с первого раза, попытка будет одна, второй раз IMEI будет защищён от записи.

Таким же способом можно попробовать это проделать с модемами ZTE MF.

И ещё совсем простой способ IMEI на модемах Huawei

IMEI можно поменять с помощью АТ команд и терминальных программ. Как это делается и команды.

1. Модем должен быть подклюён к компу и на него должны быть установлены все драйвера.

2. Сначала даём в модем такую команду at^datalock=”код” с кавычками и жмём кнопку “Enter” должен быть ответ ОК, где вместо слова код пишете код разблокировки Вашего модема по родному IMEI. Это команда снимает запрет на записи в память модема.

3. Затем не отключая модем даём команду на смену IMEI at^cimei=”новый imei” с кавычками и жмём кнопку “Enter” должен быть ответ ОК, где вместо новый IMEI пишите нужный Вам.

ВНИМАНИЕ!!! Все действия вы делаете на свой страх и риск. Администрация сайта не несет ни какой ответственности за ваши действия. Смена IMEI не совсем законна! (пруфов нет). Следуя рекомендациям из этого топика, вы берете на себя всю ответственность за последствия.

§

AT команда служит для управления некоторыми функциями модема. Команды можно вводить специальными программами, это намного проще чем встроенным в Windows XP hyperterminal. Для этого можно использовать программы: My Huawei Terminal или DC-Unlocker. Перед использованием данных программ нужно закрыть все другие программы которые могут использовать модем. Для модемов Huawei нужно подключаться на COM порт “3G PC UI Interface“, для модемов ZTE MF на COM портZTE Proprietary USB Modem“. Как пользоваться смотрим картинки, всё достаточно просто. Если команд несколько, сначала вводим одну – жмём Enter, потом следующую и опять жмём Enter.

DC-Unlocker

DC-Unlocker client первая в Мире программа которая начала специализироваться на разблокировке беспроводных 2G3G4G модемов форм-фактора USBPCMCIA. Со временем модельный ряд начал расширятся мобильными телефонами, смартфонами, WiFi роутерами .
AT^CARDLOCK=”NCK Code” – ввод кода снятия блокировки (8-значное число). NCK Code – это код разблокировки. Пример команды AT^CARDLOCK=”12345678″

СкачатьВерсия программы 1.00.1336
Новые версииздесь

Терминал

Терминал — программа терминала для прямой работы с беспроводными модемами Huawei, а также (ограниченно) с любыми другими модемами.

Скачать: Терминал

My Huawei Terminal (Хуавей модем терминал)

Huawei Terminal — программа терминала для прямой работы с беспроводными модемами Huawei, а также (ограниченно) с любыми другими модемами.

Скачать: My Huawei Terminal

PuTTY

Скачать: PuTTY

MMD X Mini Mobile Data

Так же в этой программе можно посмотреть другие параметры модема.

Скачать: MMD X Mini Mobile Data

Ввод NCK кода разблокировки если модем не запрашивает.

Скачиваем программу Huawei Modem Tool v3.3, вставляем модем БЕЗ СИМ карты – если запуститься программа модема то закрываем, запускаем huawei modem tool и ждём пока определиться модем, вводим код разблокировки и нажимаем Send Unlock code. После этого модем разблокируется.

Смотрим картинку там всё подробно нарисовано.

Скачать: Huawei Modem Tool v3.3

Внимание: После ввода команды, во всех трёх программах должен быть ответ ОК. Это значит что команда была принята.

Huawei data card unlocker v1.1

Программа предназначена для разблокировки модемов Huawei E220, E62X, E630, E870, E169G, E27X, E618, E630

Скачать: Huawei data card unlocker v1.1

Список доступных at команды модема Huawei и ZTE MF смотрим здесь: AT команды для модемов Huawei и для ZTE MF

§

at commands
AT команды (набор команд Hayes) — набор команд, разработанных в 1977 году компанией Hayes для собственной разработки, модема «Smartmodem 300 baud». Набор команд состоит из серий коротких текстовых строк, которые объединяют вместе, чтобы сформировать полные команды операций, таких как набор номера, начала соединения или изменения параметров подключения.
Для того, чтобы модем распознал at команды, они должны быть записаны в специфической форме. Каждая команда всегда начинается буквами AT или at (от англ. ATtention, за что и получили своё название), дополненных одной или больше командой и завершаемой в конце нажатием клавиши Enter . Команды воспринимаются модемом только тогда, когда он находится в “командном режиме” или offline.
At commands huawei обычно отправляются модему посредством коммуникационного программного обеспечения, но также могут быть введены пользователем вручную, с компьютерной клавиатуры. Смотрим как и чем вводить АТ команды в модем. At команды huawei представлены на нашем сайте ниже. Huawei at команды (huawei at commands) очень нужные и полезные вещи для расшаривания вашего устройства.

Рассмотрим наиболее часто используемые at команды при работе с модемом huawei
ATI – вывод информации о модеме
AT CFUN=1 – перезагрузка модема, очень полезная команда не требует “передергивать” модем. После перезагрузки модем перерегистрируется в сети оператора.
AT CGMI – информация о производителе модема (Recieve: huawei)
AT CGMR – информация о версии прошивки (Recieve: 11.608.12.04.21)
AT CIMI – информация об IMSI номер SIM карты (Recieve: 250015800471114)
AT CGSN – информация о IMEI модема (Recieve: 353142033840706)
AT^HWVER – информация о версии железа модема (Recieve: ^HWVER:”CD6ATCPU”)
AT CSQ – посмотреть уровень радиосигнала
AT^CMDL – получить список всех комманд
AT CGMM или AT GMM – запросить название модели
AT COPS – информация о текущем операторе (Recieve: COPS: (1,”MTS-RUS”,”MTS”,”25001″,0),(2,”MTS-RUS”,”MTS”,”25001″,2),,(0,1,2,3,4),(0,1,2))
AT^U2DIAG? – текущий режим.
AT^GETPORTMODE – список всех устройств в модеме
AT^VERSION? – информация о версии прошивки модема
AT CLAC в ответе будет список поддерживаемых команд

Включение голосовых функций модема:
AT^CVOICE=? – проверка состояния голосовых функций модема (0 – значит включено)
AT^CVOICE=0 – включение голосовых функций модема

Включение / отключение режимов 2G и 3G:
AT^SYSCFG=13,1,3fffffff,0,0 – режим только 2G
AT^SYSCFG=2,1,3fffffff,0,0 – режим предпочтительно 2G
AT^SYSCFG=14,2,3fffffff,0,1 – режим только 3G
AT^SYSCFG=2,2,3fffffff,0,1 – режим предпочтительно 3G
AT^SYSCFG=2,2,3fffff ff,0,2 – режим включение 2G и 3G

Включение / отключение режимов WCDMA, HSDPA, HSPA , HSPA:
AT^HSDPA=1 – режим HSDPA включен
AT^HSDPA=0 – режим HSDPA выключен
AT^HSUPA=1 – режим HSUPA включен
AT^HSUPA=0 – режим HSUPA выключен
AT^HSPA=0 – режим WCDMA
AT^HSPA=1 – режим HSDPA
AT^HSPA=2 – режим HSPA
AT^HSPA=3 – режим HSPA
AT^SYSCFG=13,1,3FFFFFFF,2,4 – режим только GPRS/EDGE
AT^SYSCFG=14,2,3FFFFFFF,2,4 – режим только 3G/WCDMA
AT^SYSCFG=2,1,3FFFFFFF,2,4 – режим предпочтительно GPRS/EDGE
AT^SYSCFG=2,2,3FFFFFFF,2,4 – режим предпочтительно 3G/WCDMA

Команды необходимые для разблокировки модема (разлочка модема)
AT^CARDLOCK=”NCK Code” – ввод кода снятия блокировки (8-значное число)
AT^CARDUNLOCK=”MD5 NCK Code” – сброс попыток ввода кода NCK кода разблокировки до 10 раз
AT^CARDLOCK? – проверка состояния блокировки модема и количества попыток ввода кода разблокировки:
(ответ модема: CARDLOCK: A,B,0 , если A=2 модем разблокирован, A=1 модем заблокирован – SimLock, если A=3 здесь два варианта либо вы израсходовали все 10 попыток ввести код, либо у вас в модеме кастомизированная прошивка, B – количество оставшихся попыток ввода кода разблокировки (по умолчанию 10 раз))

Изменение режима модема
AT^U2DIAG=Команда – для изменения режим модема (Модем,CD ROM, Флешка, PC UI, NDIS, Смарткарта).

AT команды для Huawei E171, E352, E353, E367, E398 и др.
AT^SETPORT=”A1,A2,1,2,3,7,A1,A2″ (Установить конфигурацию по умолчанию)
AT^SETPORT=”A1,A2;1,16,3,2,A1,A2″ – Установить конфигурацию по умолчанию для модема E171 (новая ревизия)
AT^SETPORT=”A1,A2,1,2,3,7″ (девайс в режиме “модем сетевая карта”)
AT^SETPORT=”A1,A2;1,2,3,A2″ (девайс в режиме “модем Card Reader”)
AT^SETPORT=”A1,A2;1,2,3″ (девайс в режиме “только модем”)
AT^SETPORT=”A1,2,7″ (девайс в режиме “сетевая карта CD-ROM”)
AT^SETPORT=”A1,A2,2,7″ (девайс в режиме “сетевая карта”) – для Windows 7
AT^SETPORT=”A1;1,2″ (девайс в режиме “модем пользовательский интерфейс”)
AT^SETPORT? (Текущая конфигурация модема)
AT^GETPORTMODE (Отображение текущего активного режима)
AT^SETPORT=”A1,A2,1,2,3,7,A1,A2,4,5,6,A,B,D,E” (Сброс настроек по умолчанию)

AT команды для Huawei E369
AT^SETPORT? – вывод на экран текущей конфигурации.
AT^GETPORTMODE – вывод на экран активного режима в настоящее время.
AT^SETPORT = “A1, A2, 1,2,3,7, A1, A2” – установка конфигурации по умолчанию.
AT^SETPORT = “A1, A2, 1,2,3,7” – устройство в режиме Modem Network Card.
AT^SETPORT=”A1,A2;1,2,3,A2″ – устройство в режиме Modem Card Reader.
AT^SETPORT = “A1, A2, 2,7” – устройство в режиме Network Card.
AT^SETPORT=”A1,A2;1,2,3″ – устройство в режиме Modem (работает быстрее и стабильнее).
AT^SETPORT = “A1, 2,7” – Network Card CD-ROM.
AT^SETPORT = “A1, A2, 1,2,3,7, A1, A2, 4,5,6, A, B, D, E” – сброс настроек по умолчанию.

Настройки режимов сети по умолчанию для Huawei E352
at^hspa?
^HSPA: 2
AT^SETPORT?
A1,A2;1,2,3,7,A1,A2
AT^SYSCFG?
^SYSCFG:2,2,3FFFFFFF,1,2

Настройки режимов сети по умолчанию для Huawei E352b (21.158.23.00.209)
AT^SETPORT?
A1,A2;1,16,3,2,A1,A2

AT команды для Huawei E1750, Huawei E1550
АТ команды переключения режимов huawei E1750
AT^U2DIAG=0 (девайс в режиме только модем)
AT^U2DIAG=1 (девайс в режиме модем CD-ROM)
AT^U2DIAG=6 (девайс в режиме только сетевая карта)
AT^U2DIAG=255 для E1550 (девайс в режиме модем CD-ROM Card Reader)
AT^U2DIAG=268 для E1750 (девайс в режиме модем CD-ROM Card Reader)
AT^U2DIAG=276 для E1750 (девайс в режиме сетевой карты CD-ROM Card Reader)
AT^U2DIAG=256 (девайс в режиме модем Card Reader, можно использовать как обычную флешку,
отказавшись от установки драйверов модема)
АТ команды переключения режимов сети huawei E1750
AT^SYSCFG=14,2,3fffffff,1,2 (Только 3G)
AT^SYSCFG=13,1,3fffffff,1,2 (Только GSM)
AT^SYSCFG=2,2,3fffffff,1,2 (Приоритет 3G)
AT^SYSCFG=2,2,3fffffff,0,2 (включение 2G,3G)

AT команды переключения режимов сети для модема Huawei E1820 (E182E)
AT^SYSCFG=13,2,3fffffff,1,2 – только GSM
AT^SYSCFG=2,1,3fffffff,1,2 – преимущественно GSM
AT^SYSCFG=14,2,3fffffff,1,2 – только WCDMA
AT^SYSCFG=2,2,3fffffff,1,2 – преимущественно WCDMA

AT команды для Huawei E3131
AT^SETPORT=”A1,A2;1,16,3,2,A1,A2″ – (Установить конфигурацию по умолчанию)
AT^SETPORT=”A1,A2;1,2,3,16,A1,A2″ – (режим для работы модема с Android 4.0 (иногда работает))
AT^SETPORT=”A1,A2;1,16,3,2″ – (девайс в режиме “модем сетевая карта”)
AT^SETPORT=”A1,A2;1,3,2,A2″ – (девайс в режиме “модем Card Reader”)
AT^SETPORT=”A1,A2;1,3,2″ – (девайс в режиме “только модем”)
AT^SETPORT=”FF;1,2″ (девайс в режиме “модем пользовательский интерфейс”)
AT^SETPORT=”A1,A2;2,16″ – (девайс в режиме “сетевая карта”)
AT^SETPORT=”A1,A2;2,16,A1″ – (девайс в режиме “сетевая карта CD-ROM”)

AT команды для Huawei E3131 Hilink
http://192.168.1.1/html/switchProjectMode.html
AT^U2DIAG=0 Перевод модема из режима Hilink в режим com портов
AT^U2DIAG=119 Возврат в исходный режим

AT команды для Huawei E303 HiLink
http://192.168.1.1/html/switchProjectMode.html
AT^U2DIAG=374 Перевод модема из режима Hilink в режим com портов
AT^U2DIAG=375 Возврат в исходный режим

AT команды для Huawei E3272
AT^SETPORT=”A1,A2;62,61,76,A1,A2″ – Установка по умолчанию для МТС 824F.
AT^SETPORT=”A1,A2;10,12,16,A1,A2″ – Установка по умолчанию для Мегафон М100-4.
AT^SETPORT=”A1,A2;10,12,16,A2″ – Конфигурация по умолчанию, отключить CD
AT^SETPORT=”A1,A2;10,12,16″ – Конфигурация по умолчанию, отключить CD SD
AT^SETPORT=”A1,A2;10,12″ – Конфигурация по умолчанию, отключить NDIS CD SD
AT^SETPORT=”A1;10,12,13,14,16,A1,A2″ – Включает: все COM порты NDIS CD SD
AT^SETPORT=”A1;10,12,13,14″ – Включает: все COM порты, отключает: NDIS CD SD
AT^SETPORT=”A1;10,12,13,14,16″ – Включает: все COM порты NDIS, отключает: CD SD
AT^SETPORT=”A1;10,12,13,14,A2″ – Включает: все COM порты SD, отключает: NDIS CD

AT команды для Huawei E3372
AT^SETPORT=”A1,A2;A1,A2″ – Установка по умолчанию для МТС 827F.
AT^SYSCFG=”2,2,3FFFFFFF,1,2″ – Установка по умолчанию для МТС 827F.

AT команды для Huawei E3276
AT^SETPORT=”A1;10,12,13,14,16,A1,A2″ – Включает все COM порты.
AT^SETPORT=”A1,A2;12,16,A1,A2″ – Установка по умолчанию.
AT^SETPORT=”A1;10,12” – режим только модем
AT^SYSCFGEX? – значение по умолчанию
^SYSCFGEX:”00″,3FFFFFFF,1,2,800C5
AT^SYSCFGEX=?
^SYSCFGEX: (“00″,”01″,”02″,”03″),((2000000400380,”GSM900/GSM1800/WCDMA900/WCDMA2100″),(2a80000,”GSM850/GSM1900/AWS/WCDMA1900″),(3fffffff,”All bands”)),(0-2),(0-4),((800c5,”LTE_B1/LTE_B3/LTE_B7/LTE_B8/LTE_B20″),(7fffffffffffffff,”All bands”))
AT^FHVER – показывает информацию о версии прошивки и версии железа (^FHVER:”E3276s-210 21.260.05.00.143,CH2E3276SM Ver.B”)

AT команды для Huawei E3531
AT^SETPORT=”A1,A2;1,16,3,2,A1,A2″ – Установка по умолчанию для МТС 423S.
AT^FHVER – – показывает информацию о версии прошивки и версии железа (^FHVER:”E3531s-1EA 21.318.15.00.143,CH1E3531SM Ver.A”)

AT команды для преключения режимов в модемах huawei с LTE (E392, E398)
Если для USB-модема вы хотите включить режим только LTE, отключив все остальные, необходимо воспользоваться AT командой:
AT^SYSCFGEX=”03″,3fffffff,2,4,7fffffffffffffff,,
В указанной команде первое значение расшифровывается так:
00 – Автоматический режим, установлен по умолчанию (приоритеты в порядке очереди: 4G > 3G > 2G)
01 – GSM GPRS(2G)
02 – WCDMA(3G)
03[/b] – LTE(4G)
[b]99
– Оставить текущие настройки без изменений.

Вы можете также выбрать порядок их приоритета, в порядке убывания, например:
AT^SYSCFGEX=”0302″,3fffffff,2,4,7fffffffffffffff,,
В этом случае модем будет пытаться подключиться сначала к сети LTE и потом к сети 3G, кроме работы в сетях 2G.
или такой вариант:
AT^SYSCFGEX=”030201″,3fffffff,2,4,7fffffffffffffff,,
это равносильно
AT^SYSCFGEX=”00″,3fffffff,2,4,7fffffffffffffff,,
Соответственно автоматический режим, установлен по умолчанию (приоритеты в порядке очереди: 4G > 3G > 2G)

Как прописать имеи на lenovo a850 (mt6582).

Как прописать ИМЕИ на Lenovo A850 (mt6582).

Видеоинструкция: https://www.huaweidevices.ru/watch?v=jP23NbMcw0U

На новый год прилетел мой долгожданный Lenovo A850, который несколько месяцев колесил по миру. Радости моей не было предела, когда в первые дни после Нового Года я его забрал с почты. Но мою радость притушило отсутствие сети связанное с отсутствием ИМЕЕВ в телефоне… Всеми стандартными способами, с помощью MTK65xx. Программа для смены IMEI на Android.  , Установка драйверов для Android и восстановление IMEI.  , востановить ИМЕИ не получилось, пришлось искать больше информации, так как процессор MT6582 ещё не особо распространен. Инструкции, которые были найдены, не очень четко описывают процедуру, по этому, я и решил более подробно расписать каждый шаг.

Начнем с установки драйверов.

Для начала в Win7 нам нужно отключить проверку подлинности. Пуск – выполнить – gpedit.msc

 Конфигурация пользователя – административные шаблоны – система – установка драйвера – цифровая подпись драйверов устройств – отключить.

Далее нам нужно прикрепить драйвера в ручном режиме. Для этого выключаем телефон, и включить его в режиме “Have been in meta mode, long press the power button and the normal boot”, для этого нужно зажать кнопку « громкость- » и нажимаем кнопку включения. Подсоединяем телефон в этом режиме к компьютеру, и у нас в диспетчере задач, появится новое устройство.

Прикрепленное изображение: 01.jpg

Далее выполняйте все процедуры согласно картинкам

Прикрепленное изображение: 02.jpg

Прикрепленное изображение: 03.jpg

Прикрепленное изображение: 04.jpg

Прикрепленное изображение: 05.jpg

Прикрепленное изображение: 06.jpg

Прикрепленное изображение: 07.jpg

Прикрепленное изображение: 08.jpg

Прикрепленное изображение: 09.jpg

Прикрепленное изображение: 10.jpg

Прикрепленное изображение: 11.jpg

Прикрепленное изображение: 12.jpg

Прикрепленное изображение: 13.jpg

Теперь, когда у нас в диспетчере задач всё в порядке, будем приступать к подготовке программы для прошивки ИМЕЕВ. Чтоб не было ошибки nvram warning err = 0x10 во вкладке WiFi. Прописываем не только IMEI но и адреса WiFi и BT. Информацию которую вписывать в программу нужно взять в телефоне, а именно – заходим в настройки и включаем Wi-Fi и BT,

Прикрепленное изображение: 20.jpg

теперь переходим  в пункт «О телефоне» и выбираем «Общая информация», тут и будут видны нужные нам данные,

Прикрепленное изображение: 21.jpg

Прикрепленное изображение: 22.jpg

записываем их в блокнот, чтоб потом быстро их занести в нашу программу.

Прикрепленное изображение: 23.jpg

Открываем IMEI&SN Writer и выбираем соответствующие пункты как на картинке, вносим наши ИМЕИ и адреса WiFi и BT, поставив напротив всех этих данных галочки. Далее цепляем к программе файлы DB согласно картинок .

Прикрепленное изображение: 24.jpg

Прикрепленное изображение: 25.jpg

Прикрепленное изображение: 26.jpg

Прикрепленное изображение: 27.jpg

После выполнения всех выше описанных процедур, нажимаем «старт» и переведя телефон в режим «meta mode» , подключаем его к компьютеру.

Прикрепленное изображение: 28.jpg

Прикрепленное изображение: 29.jpg

Прикрепленное изображение: 30.jpg

У меня телефон прошился не с 1 раза, пришлось несколько раз передёргивать аккумулятор и входить в режим  «meta mode» и подключаться к компьютеру, но всё же процесс пошел и ИМЕИ прошились!

db файлы которые я использовал: http://turbobit.net/ak1cqu95lzik.html

Общий архив драйверов, не только на A850: http://turbobit.net/bnqbt86nprb1.html

Программа я IMEI&SN Writer V1.5.3: http://turbobit.net/wi3yh03v0aiv.html

Драйвера A850_cdc_drv: http://turbobit.net/8npx5apxyd1x.html

Модем huawei e3372h-320m (лого huawei) поддержка всех операторов связи и тарифов. — купить в интернет-магазине ozon с быстрой доставкой – huawei devices

Пара вступительных слов

Приветствую! Электронщики 80lvl вряд ли найдут здесь нечто новое, но надеюсь сподвигну средне продвинутого пользователя на устранение серьезной дыры в безопасности. Скромно замечу, что на русском языке не нашел ничего подобного и настолько подробного.

Речь
пойдет про устранение закладок которые таит в себе современное железо,
которые нельзя обойти просто используя открытую операционную систему.
Обсуждение было в отдельной теме на форуме, вот еще неполный список возможных угроз. Конечно можно купить ноутбук без Intel ME,
но помимо него в заводском BIOS остается иной закрытый код вида
«незнамочо». Много лет назад до этого додумались хорошие люди и
разработали свободные альтернативы BIOS: Coreboot и Libreboot.

«Рыночек порешал», в продаже есть проошитые ноутбуки.
Однако, по множеству причин это лучше делать самому. От «зачем кормить
барыг» и все равно когда выйдет обновление придется изучать процесс
чтобы перешивать самостоятельно. До например, вы не можете идти на почту
и банковской карты у вас тоже нет. Также, если в вас дух исследоваталя и
экспериментатора сильнее сиюминутной потребительской страсти, предлагаю
к ознакомлению и повторению эту статью.

Подбор компонентов

Все необходимое у вас либо уже есть, либо свободно продается в местных магазинах крупных городов. Нам понадобятся:

1. Ваш нынешний ноутбук или ПК

2. Программатор CH341A с проводом-прищепкой-SOIC8
Во
многих мануалах используются Raspberry, но с программатором процесс на
мой взгляд обстоит намного проще. Провод с прищепкой может быть дешевый
китайский (как на фото ниже) или модные Pomona, разницы при редком
использовании нет, берите какой найдете.

3. Малая крестовая отвертка и пластиковая карточка (например любая скидочная) для разборки ноутбука.
(опционально:
тюбик термопасты, кисточка смахнуть пыль внутри, еще пригодится лупа
если зрение не очень. Также если вы привыкли к такому подходу или если
делаете устройство для кого-то, то пара нитриловых перчаток)

4. Прямые руки, внимательность, запас терпения и времени

5. Устройство, которое мы будем прошивать — я выбрал ноутбук. Для удобства далее он иногда будет именоваться «ноутбук-пациент»
Большой
Брат позаботился о нас настолько, что заменить проприетарный BIOS и
заодно отключить Intel ME можно на очень небольшом списке устройств.

Примерный список подходящих ноутбуков выглядит так:
Coreboot: Lenovo ThinkPad X201, X220, X230, T420, T430 (полный список устройств здесь)
Libreboot:
Lenovo ThinkPad X60, X60s, X60 Tablet, X200, X200 Tablet, R400, T400,
T500, Apple MacBook 1.1 и 2.1, Asus Chromebook C201 (полный список
устройств здесь)
(не все устройства из списков и железо в них поддерживаются полностью, подробнее узнаете там же по ссылкам)

Разница между ними следующая:
Coreboot
— свободная альтернатива BIOS с открытым исходным кодом, лишь некоторые
небольшие участки кода берутся из заводского BIOS («блобы», степень их
опасности и подробности здесь).
Libreboot
— тоже самое, но без этих блобов, т. е. только полностью открытый код и
чуть более простой процесс прошивки. Минус в том, что железо которое он
поддерживает менее производительное и его сложнее найти в приемлимом
состоянии. Еще он не поддерживает Windows, если вам вдруг это важно.

По итогу полученные профиты от перепрошивки:

Изначально я хотел
именно Libreboot, но не нашел подходящей для него модели в приличном
состоянии. Я искал с живучей батареей и, на всякий случай, с процессором
который не поддерживает Intel vPro (проверить — вбить модель в этот поиск), попался под руку Lenovo ThinkPad X230. Для него подойдет Coreboot и после прошивания останутся несколько блобов
и будет возможность запуска Windows (с внешнего диска, например) если
выбрать SeaBIOS. Именно на примере X230 Coreboot будет описано данное
руководство. Когда-нибудь и этот ноутбук придется менять и я дополню
статью таким же опытом уже с Libreboot, будем надеяться у меня будет
такая возможность.

Подготовка компонентов

1. Ваш нынешний ноутбук или ПК
Я использовал live образ Debian 9, возможно подойдут и другие дистрибутивы, проверяйте сами. Открываем терминал.
(Напоминаю для новичков, что команду нужно копировать после значка «$» и затем вставлять в терминал).

1) Устанавливаем необходимые пакеты:

<code>user@debian:~$ sudo apt update && sudo apt upgrade
user@debian:~$ sudo apt install -y bison build-essential curl flashrom flex git gnat libncurses5-dev m4 zlib1g-dev</code>

2) Создаем 2 папки:

<code>user@debian:~$ mkdir -p ~/X230/bios-backup</code>

3) Готовим Coreboot:

<code>user@debian:~$ cd ~/X230/
user@debian:~/X230$ git clone https://review.coreboot.org/coreboot
user@debian:~/X230$ cd coreboot
user@debian:~/X230/coreboot$ git submodule update --init --checkout
user@debian:~/X230/coreboot$ make crossgcc-i386 CPUS=$(nproc)</code>

2. Программатор CH341A с проводом-прищепкой-SOIC8

Модем Huawei E3372H-320M (лого Huawei) Поддержка всех операторов связи и тарифов. — купить в интернет-магазине OZON с быстрой доставкой
Модем Huawei E3372H-320M (лого Huawei) Поддержка всех операторов связи и тарифов. — купить в интернет-магазине OZON с быстрой доставкой
bios

Смотрим Видео по работе с программатором (тысячи их там же), самое важное соблюдать нумерацию, все 1 (они же — единицы, они же — ключи) подключать между собой. То есть:

Красный провод идущий к прищепке это 1.
Площадка к которой крепится провод также содержит нумерацию и красный провод должен быть соединен к 1 на площадке.
Затем,
смотрим на программатор (USB разъем смотрит влево): на программаторе
снизу справа есть выбор 25XX или 24XX, справа вверху — будет 1, как
указано в подсказке там же), поднимаем лапку вверх и площадку
устанавливаем в левую часть, надежно вставили и опустили лапку вниз.
Смотрите видео если вдруг непонятно.
Также 1 это ключ (выемка или
углубление) чипа на материнской плате ноутбука (в который зашит BIOS),
соответственно 1 к 1 т. е. красный провод прищепки должен соединяться к
ножке рядом с этой выемкой.

И последнее что важнопомнить,
сначала убеждаемся, что на устройстве которое мы собрались прошить нет
питания (отсоединена внешняя батарея, зарядка, внутренняя батарейка),
потом подключаем прищепку к чипу, только после этого вставляем
программатор в USB-разъем текущего ноутбука или ПК. Отключение в
обратном порядке — вытаскиваем программатор, затем снимаем прищепку.

3. Ноутбук-пациент для прошивки
1) Первым делом обновляем заводской BIOS до последней официальной версии.
(необязательно, но на всякий случай я это сделал: настройки BIOS сбросил на заводские и разрешил прошивку)

2)(опционально)
Если хотите сделать апгрейд железа лучше всего для начала
протестировать работу новых компонентов на заводском BIOS. И только
после этого приступать к прошивке Coreboot.

3) Отсоединяем зарядку и батарею, после этого (опционально: одеваем перчатки) приступаем к разборке ноутбука:
Видео по разборке (тысячи их)
Официальные мануалы:
User Guide
Hardware Maintenance Manual (ниже указаны страницы по оглавлению)

4) Разобрав ноутбук-пациент выкидываем из него лишние детали (не во всех исполнениях все это есть):
WLAN
— с. 68 — все встроенные варианты Wi-Fi адаптеров этого ноутбука
требуют проприетарные драйвера, они будут работать на том же Tails
(привет «параноикам») так как там полно блобов для поддержки различного
оборудования, но не заработают на чистом Debian. Заменить их на адаптеры использующие свободные драйвера
и поддерживающие смену MAC адреса, это или адаптеры фирмы Atheros
(AR9285, AR9382 и т. п.), или USB-адаптеры (различных размеров и
функционала на любой вкус).
WWAN — с. 70
Bluetooth — с. 74
Сканер отпечатков пальца — расположен рядом с тачпадом, откручивается элементарно или просто отсоединяется шлейф.
Микрофоны — с. 88 — их два, находятся на планке вместе со светодиодами. Удаляются вместе с планкой.
Камера — с. 86
(опционально: удаляем кисточкой пыль, меняем термопасту)

5) Отсоединяем внутреннюю батарейку (с. 65).

Модем Huawei E3372H-320M (лого Huawei) Поддержка всех операторов связи и тарифов. — купить в интернет-магазине OZON с быстрой доставкой
mni chip

6) Находим чипы в которых записан текущий BIOS. Их два, находятся примерно под тачпадом. Выглядят вот так:

Верхний на 4 МБ, нижний на 8 МБ. Считывать и прошивать будем оба.

7) Считайте своими глазами (опционально: с помощью лупы, а если чипы заляпаны аккуратно протрите их тканью)
и запишите где-нибудь буквы и цифры которые указаны на этих чипах,
например «MX25L3206E» и «MX25L6406E», они нам понадобятся на следующем
этапе.

Процесс прошивки

Многие команды терминала взяты отсюда. Видеопроцесс прошивки через Raspberry.

Модем Huawei E3372H-320M (лого Huawei) Поддержка всех операторов связи и тарифов. — купить в интернет-магазине OZON с быстрой доставкой

1. Делаем backup ВЕРХНЕГО чипа заводской прошивки
Присоединяем
прищепку к верхнему чипу. Помним, что красным проводом к выемке на чипе
и все остальное о чем сказано выше. Как только соединение выглядит
надежно вставляем программатор в порт нынешнего ноутбука или ПК.
Выглядеть это будет примерно так:

(отличие будет только в способе крепления прищепки к программатору)

1) Идем в папку:

<code>user@debian:~$ cd ~/X230/bios-backup</code>

2) Читаем (пока только читаем) ВЕРХНИЙ чип:

<code>user@debian:~/X230/bios-backup$ sudo flashrom -p ch341a_spi</code>

3) Вывод должен быть таким:

<code>Calibrating delay loop... OK.
Found Macronix flash chip "MX25L3205(A)" (4096 kB, SPI) on ch341a_spi.
Found Macronix flash chip "MX25L3205D/MX25L3208D" (4096 kB, SPI) on ch341a_spi.
Found Macronix flash chip "MX25L3206E/MX25L3208E" (4096 kB, SPI) on ch341a_spi.
Found Macronix flash chip "MX25L3273E" (4096 kB, SPI) on ch341a_spi.
Multiple flash chip definitions match the detected chip(s): "MX25L3205(A)", "MX25L3205D/MX25L3208D", "MX25L3206E/MX25L3208E", "MX25L3273E"
Please specify which chip definition to use with the -c <chipname> option.</code>

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

Смотрим какое обозначение мы считали
своими глазами с чипа, выбираем его группу из этого списка
(«MX25L3205(A)», «MX25L3205D/MX25L3208D», «MX25L3206E/MX25L3208E»,
«MX25L3273E») и эту группу дальше вставляем вместо моей.

4) Делаем ПЕРВЫЙ дамп ВЕРХНЕГО чипа:

<code>user@debian:~/X230/bios-backup$ sudo flashrom -p ch341a_spi -r factory_top-1.bin -c "MX25L3206E/MX25L3208E"</code>

5) Делаем ВТОРОЙ дамп ВЕРХНЕГО чипа:

<code>user@debian:~/X230/bios-backup$ sudo flashrom -p ch341a_spi -r factory_top-2.bin -c "MX25L3206E/MX25L3208E"</code>

6) Сверяем контрольные суммы дампов:

<code>user@debian:~/X230/bios-backup$ sha512sum factory_top-*</code>

Если суммы совпадают значит считали верно и идем к следующему шагу, если нет — начинаем все заново.

7) Вытаскиваем программатор, снимаем прищепку и переходим к следующему шагу
2. Делаем backup НИЖНЕГО чипа заводской прошивки
1) Читаем (пока только читаем) НИЖНИЙ чип:

<code>user@debian:~/X230/bios-backup$ sudo flashrom -p ch341a_spi</code>

2) Вывод должен быть таким:

<code>Calibrating delay loop... OK.
Found Macronix flash chip "MX25L6405" (8192 kB, SPI) on ch341a_spi.
Found Macronix flash chip "MX25L6405D" (8192 kB, SPI) on ch341a_spi.
Found Macronix flash chip "MX25L6406E/MX25L6408E" (8192 kB, SPI) on ch341a_spi.
Found Macronix flash chip "MX25L6436E/MX25L6445E/MX25L6465E/MX25L6473E" (8192 kB, SPI) on ch341a_spi.
Multiple flash chip definitions match the detected chip(s): "MX25L6405", "MX25L6405D", "MX25L6406E/MX25L6408E", "MX25L6436E/MX25L6445E/MX25L6465E/MX25L6473E"
Please specify which chip definition to use with the -c <chipname> option.</code>

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

Смотрим какое обозначение мы считали
своими глазами с чипа, выбираем его группу из этого списка («MX25L6405»,
«MX25L6405D», «MX25L6406E/MX25L6408E»,
«MX25L6436E/MX25L6445E/MX25L6465E/MX25L6473E») и эту группу дальше
вставляем вместо моей.

3) Делаем ПЕРВЫЙ дамп НИЖНЕГО чипа:

<code>user@debian:~/X230/bios-backup$ sudo flashrom -p ch341a_spi -r factory_bottom-1.bin -c "MX25L6406E/MX25L6408E"</code>

4) Делаем ВТОРОЙ дамп НИЖНЕГО чипа:

<code>user@debian:~/X230/bios-backup$ sudo flashrom -p ch341a_spi -r factory_bottom-2.bin -c "MX25L6406E/MX25L6408E"</code>

5) Сверяем контрольные суммы дампов:

<code>user@debian:~/X230/bios-backup$ sha512sum factory_bottom-*</code>

Если суммы совпадают значит считали верно.

6) Вытаскиваем программатор, снимаем прищепку и переходим к следующему шагу

3. Сохраняем всю папку /bios-backup в надежное место, на случай если дальше что-то пойдет не так

4. Готовим прошивку Coreboot
1) Соединяем 2 дампа в один файл:

<code>user@debian:~/X230/bios-backup$ cat factory_bottom-1.bin factory_top-1.bin > X230-bios.rom</code>

2) Берем блобы из заводского BIOS для дальнейшего использования:

<code>user@debian:~/X230/bios-backup$ cd ~
user@debian:~$ cp ~/X230/bios-backup/X230-bios.rom ~/X230/coreboot/util/ifdtool/
user@debian:~$ cd ~/X230/coreboot/util/ifdtool/
user@debian:~/X230/coreboot/util/ifdtool$ make
user@debian:~/X230/coreboot/util/ifdtool$ ./ifdtool -x X230-bios.rom
user@debian:~/X230/coreboot/util/ifdtool$ mkdir -p ~/X230/coreboot/3rdparty/blobs/mainboard/lenovo/x230
user@debian:~/X230/coreboot/util/ifdtool$ mv ~/X230/coreboot/util/ifdtool/*.bin ~/X230/coreboot/3rdparty/blobs/mainboard/lenovo/x230
user@debian:~/X230/coreboot/util/ifdtool$ cd ~/X230/coreboot/3rdparty/blobs/mainboard/lenovo/x230
user@debian:~/X230/coreboot/3rdparty/blobs/mainboard/lenovo/x230$ rename 's/.{14}//' *.bin
user@debian:~/X230/coreboot/3rdparty/blobs/mainboard/lenovo/x230$ mv flashdescriptor.bin descriptor.bin
user@debian:~/X230/coreboot/3rdparty/blobs/mainboard/lenovo/x230$ mv intel_me.bin me.bin
user@debian:~/X230/coreboot/3rdparty/blobs/mainboard/lenovo/x230$ cd ~/X230/coreboot/</code>

3) Компилируем нашу новую прошивку:
3.1) Выполняем команду:

<code>user@debian:~/X230/coreboot$ make nconfig</code>
Модем Huawei E3372H-320M (лого Huawei) Поддержка всех операторов связи и тарифов. — купить в интернет-магазине OZON с быстрой доставкой

3.2) Устанавливаем следующие настройки, сохраняем и выходим:

3.3) Выполняем команду:

<code>user@debian:~/X230/coreboot$ make</code>

(опционально)4) Добавляем приоритет загрузки
После
прошивки у нас не будет привычных настроек BIOS (все будет выглядеть
совершенно иначе) например, необходимый мне приоритет загрузки нужно
сформировать заранее и добавить в .rom до прошивки. Итак, в моем случае,
приоритет по порядку: порты USB3.0, порт USB2.0, SATAIII, SATAII (слот
WWAN в него можно установить SSD диск). Для этого:
4.1) Создаем файл:

<code>user@debian:~$ nano ~/X230/coreboot/mybootlist.txt</code>

4.2) Записываем в него и сохраняем:

<code>/pci@i0cf8/usb@1d/hub@1/storage@1/*@0/*@0,0
/pci@i0cf8/usb@1d/hub@1/usb-*@1
/pci@i0cf8/usb@1d/hub@1/storage@2/*@0/*@0,0
/pci@i0cf8/usb@1d/hub@1/usb-*@2
/pci@i0cf8/usb@1a/hub@1/storage@2/*@0/*@0,0
/pci@i0cf8/usb@1a/hub@1/usb-*@2
/pci@i0cf8/*@1f,2/drive@0/disk@0
/pci@i0cf8/*@1f,2/drive@2/disk@0</code>

4.3) Выполняем команды:

<code>user@debian:~$ cd ~/X230/coreboot/util/cbfstool/
user@debian:~/X230/coreboot/util/cbfstool$ make
user@debian:~/X230/coreboot/util/cbfstool$ cd ~/X230/coreboot/
user@debian:~/X230/coreboot$ ./build/cbfstool build/coreboot.rom add -f mybootlist.txt -n bootorder -t raw</code>

4.4) Проверим добавление:

<code>user@debian:~/X230/coreboot$ ./build/cbfstool build/coreboot.rom print</code>

Должна появиться строка «bootorder» ближе к концу списка.

5) Делим созданный .rom на две части (для каждого чипа свой .rom):

<code>user@debian:~$ cd ~/X230/coreboot/build
user@debian:~/X230/coreboot/build$ dd if=coreboot.rom of=coreboot-bottom.rom bs=1M count=8
user@debian:~/X230/coreboot/build$ dd if=coreboot.rom of=coreboot-top.rom bs=1M skip=8</code>

5. Прошиваем Coreboot

ВЕРХНИЙ ЧИП:
1) Читаем (пока только читаем) ВЕРХНИЙ чип:

<code>user@debian:~/X230/coreboot/build$ sudo flashrom -p ch341a_spi</code>

2) Если он не считался — проверяем соединение и т. д., если считался — прошиваем:

<code>user@debian:~/X230/coreboot/build$ sudo flashrom --chip "MX25L3206E/MX25L3208E" --programmer ch341a_spi --write coreboot-top.rom</code>

3) Вывод должен быть таким:

<code>Calibrating delay loop... OK.
Found Macronix flash chip "MX25L3206E/MX25L3208E" (4096 kB, SPI) on ch341a_spi.
Reading old flash chip contents... done.
Erasing and writing flash chip... Erase/write done.
Verifying flash... VERIFIED.</code>

4) Вытаскиваем программатор, снимаем прищепку и переходим к следующему шагу

НИЖНИЙ ЧИП:
1) Читаем (пока только читаем) НИЖНИЙ чип:

<code>user@debian:~/X230/coreboot/build$ sudo flashrom -p ch341a_spi</code>

2) Если он не считался — проверяем соединение и т. д., если считался — прошиваем:

<code>user@debian:~/X230/coreboot/build$ sudo flashrom --chip "MX25L6406E/MX25L6408E" --programmer ch341a_spi --write coreboot-bottom.rom</code>

3) Вывод должен быть таким:

<code>Calibrating delay loop... OK.
Found Macronix flash chip "MX25L6406E/MX25L6408E" (8192 kB, SPI) on ch341a_spi.
Reading old flash chip contents... done.
Erasing and writing flash chip... Erase/write done.
Verifying flash... VERIFIED.</code>

4) Вытаскиваем программатор, снимаем прищепку и переходим к следующему шагу
При
последующих перепрошивках (в рамках Coreboot) нижний чип повторно
прошивать не нужно, он остается без изменений. Также после первой
прошивки чипы можно будет прошить без программатора, напрямую из системы, как в точности это делать пока не разбирался.

Проверка и дополнительные настройки

1) Соединяем клавиатуру, ОЗУ, батарею и проверяем включение ноутбука.

2) Теперь, дабы узнать це зрада чи перемога?» статус Intel ME, на прошитом ноутбуке-пациенте загружаемся в Debian (так как в моем примере live образ, то нужно снова установить необходимые пакеты и скачать код).

Выполняем следующие команды:

<code>user@debian:~$ sudo apt update && sudo apt upgrade
user@debian:~$ sudo apt install -y git libpci-dev zlib1g-dev
user@debian:~$ git clone --depth=1 https://review.coreboot.org/coreboot
user@debian:~$ cd ~/coreboot/util/intelmetool
user@debian:~/coreboot/util/intelmetool$ make
user@debian:~/coreboot/util/intelmetool$ sudo ./intelmetool -m</code>

И сверяем вывод с этой таблицей:

Если
результат такой же как в первой колонке («Stock firmware») — ровняйте
руки и начинайте процесс прошивки заново. Значения как в 3 и 4 колонках —
Intel ME отключен.

3) Можно заодно проверить наличие и работу Intel AMT:

<code>user@debian:~$ git clone https://github.com/mjg59/mei-amt-check
user@debian:~$ cd ~/mei-amt-check/
user@debian:~/mei-amt-check$ make
user@debian:~/mei-amt-check$ sudo modprobe mei_me
user@debian:~/mei-amt-check$ sudo ./mei-amt-check</code>

В случае успеха должно выдать:

<code>Unable to find a Management Engine interface - run sudo modprobe mei_me and retry.
If you receive the same error, this system does not have AMT</code>

4) Если проверки пройдены успешно — отключаем ноутбук и полностью его собираем.

5)(опционально)
Если часто работаете от сети и хотите как можно дольше сохранять ресурс
батареи установите пороги зарядки батареи: зарядка начнется ниже 40% и
продлится до 70%:

<code>user@debian:~$ cd ~/coreboot/util/ectool
user@debian:~/coreboot/util/ectool$ make
user@debian:~/coreboot/util/ectool$ sudo ./ectool -w 0xb0 -z 0x28
user@debian:~/coreboot/util/ectool$ sudo ./ectool -w 0xb1 -z 0x46</code>

Как задать иные пороги смотрим здесь. При отсоединении батареи эти настройки перестанут работать и нужно выполнять их заново или писать скрипт на автовыполнение.

6)(опционально)
При включении ноутбука можно нажать клавишу Esc и выбрать цифрой
«Payload [nvramcui]», в нем есть немного настроек, я применил такие:

<code>gfx_uma_size=224M
wwan=Disable
bluetooth=Disable
fn_ctrl_swap=Enable</code>

Для сохранения и выхода нажать F1.

7)
Прежний Debian установленный на другом ноутбуке или свежеустановленный
на этом ноутбуке (проверял дважды) — отказывается запускаться, нужно
загрузить его с другого ноутбука и выполнить в терминале:

<code>user@debian:~$ echo "i915" | sudo tee -a /etc/initramfs-tools/modules
user@debian:~$ sudo update-initramfs -u</code>

Если у вас есть более элегантное решение без использования другого ноутбука, пожалуйста, поделитесь им.

8)(опционально) Если вместо SeaBIOS выбрали GRUB, можно установить дистрибутив с полнодисковым шифрованием включая раздел /boot.

Послесловие

Дописав
я прошил снова заводской BIOS из снятых дампов и повторил снова уже по
этой статье чтобы убедиться в ее работоспособности. Прошивка и проверка
прошли успешно.

Критика и поправки строго приветствуются,
наверняка можно сделать команды изящнее или я где-то ошибся в
определениях, я только учусь.

Готов к тапкам в мой огород и к вашим вопросам.

Оцените статью
Huawei Devices
Добавить комментарий