Можно ли запрограммировать флешку
Какие условия должны выполняться
Условия, при которых можно восстановить флешку – она должна подавать хоть какие-то признаки жизни. Например:
- Windows издавала сопутствующий звук при подключении устройства к USB.
- Девайс отражался в «Проводнике», вместе с остальными носителями информации.
- При сопряжении с ПК, тот может сообщить, что USB-флеш не отформатирован, и у него стоит система RAW.
- На корпусе носителя мигал светодиод.
Когда компьютер вовсе не реагирует на флешку:
- Проверьте ее отображение в «Управление дисками» и наличия драйвера к ней «Диспетчере устройств».
- Убедитесь, что USB-порты рабочие, и девайс подключается напрямую, а не через удлинители, передние порты ПК или USB-хабы.
- Убедитесь, что механических повреждений на ней нет.
- Попробуйте подключиться к задним портами системного блоку, а не к передним.
Если с носителем информации можно «поработать», следует понимать, что программ для прошивки много, и для каждой писать инструкцию просто не имеет смысла. Но, можно использовать алгоритм, с помощью которого любой пользователь сможет восстановить девайс самостоятельно.
Восстановление
Как прошить USB-флешку, когда операционная система напрочь отказывается ее форматировать и выдает ошибку: «Windows не удается завершить форматирование»? Необходимо определить модель контроллера USB Flash, а затем найти подходящую под эту модель утилиту, в которой и сделается прошивка флешки.
При ошибках файловой системы есть довольно хороший шанс вернуть USB-носитель к жизни, не прибегая к перепрошивке. Можно попробовать утилиту «HDD LLF Low Level Format Tool», и провести низкоуровневое форматирование накопителя данных. Взаимодействовать с ней просто. Запустили, выбрали носитель, нажали «Продолжить».
Как определить модель контроллера устройства
Есть несколько способов узнать данные о контроллере USB device. Увы, но бывает, что и двух флешек одинаковых моделей могут быть разные контроллеры. Всегда есть риск запороть флеш-накопитель, так и не реанимировав его.
Способ 1: специальная утилита
Вернуть к жизни flash disk поможет только перепрошивка микросхемы контроллера. Для каждого микроконтроллера используется своя утилита. При неправильном выборе программного обеспечения есть шанс испортить носитель данных.
Чтобы определить верную модель контроллера, нужно узнать VID и PID флешки. Это уникальные идентификационные номера, которые есть у каждого устройства. Флешка, естественно, не исключение.
Правильный выбор утилиты для прошивки контроллера зависит от верного вычисления:
- VID – идентификатор производителя контроллера;
- PID – идентификатор устройства.
Самым простым способом определить VID, PID и модель контроллера фшеш-накопителя – использование лучшей программы «Flash Drive Information Extractor». Программа бесплатная, может вычислить необходимые данные даже в случае, если файловая система носителя информации не определяется ОС Windows.
Благодаря программе можно определить:
- Модель используемого контроллера;
- Варианты «Chip memory», что находятся в памяти;
- Тип memory;
- Максимальный потребляемый ток, о котором заявил производитель;
- Объем данных, выделенный диску изначально;
- Тот объем, который выдается для ОС;
- VID / PID;
- Query Vendor ID / Product ID / Product Revision;
- Controller Revision;
- Flash ID
- Chip F/W (не для всех контроллеров) и прочее.
Работать с утилитой просто:
- Отключите от USB-портов все сопряженные девайсы-накопители. Мышку, клавиатуру оставьте.
- Подключите флешку Kingston, Transcend или любой другой модели, что нуждается в ремонте.
- Запустите исполняемый файл программы.
- Кликните «Получить данные о флешке».
- Спустя несколько секунд на экране выведется вся нужная информация о девайсе.
Если программа зависла, не закрывайте ее. Вытяните флешку из USB-порта и дождитесь, пока утилита выйдет из зависшего состояния. Как только это случилось, она сумеет выдать необходимые данные о поврежденном носителе.
Способ 2: осмотреть контроллер визуально
Разбор корпуса флешки поможет добраться до «внутренностей». Обычно, на плате можно практически невооруженным глазом увидеть микроконтроллер с нанесенными на него надписями.
Вскрыть флешку может быть не просто, поскольку есть риск деформации корпуса. Будьте аккуратны и пользуйтесь инструментами, если решились на этот способ.
Способ 3: диспетчер устройств
Узнать идентификационные номера, а по ним выявить модель контроллера поможет диспетчер устройств Виндовс. Это целесообразно в случае, если флешку считывает ПК и она подтягивается в диспетчере.
Но, ручное определение модели контроллера через поиск в интернете по VID и PID не всегда выдают точный результат. Есть риск ошибиться и запороть флешку. Но если два предыдущих способа не помогли, то:
- Подключите накопитель в порт USB.
- Кликните сочетание клавиш Win+R и выполните команду: devmgmt.msc.
- Разверните раздел «Контроллеры USB» и кликните ПКМ по «Запоминающее устройство USB», выбрав «Свойства».
- Откройте «Сведения» и выставите «ИД оборудования». Вы увидите VID и PIDнужного девайса.
- Готово. Идентификатор обнаружен. Теперь рекомендуется искать модель через специальную базу идентификаторов, а не просто в поисковых строках Яндекса или Гугла.
Поиск утилиты для прошивки
Как прошить USB флешку? Специализированная база по идентификатору подтянет всевозможные данные по устройствам. Сопоставьте несколько компонентов и в последнем столбце узнайте утилиту, которой можно перепрошить девайс.
- Последняя колонка порекомендует утилиту, с помощью которой можно восстановить прошивку.
- Скачайте ее и жмите «Restore».
Спустя пару минут флешка полностью перепишет свою оболочку. После этого, ее нужно будет форматировать и выставить файловую систему. При последующем подсоединении к компьютеру, Windows опознает устройство, скачает для него драйвера и присвоит букву. Если этого не произошло, можно выставить ее вручную, через меню «Управление дисками».
Профилактика
Чтобы минимизировать проблемы, что в будущем могут выявиться на девайсе с флеш-памятью, следует придерживаться простых правил:
- Не использовать устройство в агрессивной среде, не оказывать на него критические физические воздействия. Не ронять в воду. Не «купать» под дождем.
- Не оставлять на морозе или в печи, оберегать от электромагнитных наводок.
- Правильно вставлять в порт и извлекать из ПК.
- Не загружать флешку, наполнив до последнего мегабайта информацией, это приведет к медленной записи, чтению и зависанию девайса.
- Делать дефрагментацию и проверку девайса утилитами Виндовс.
- Не храните на одной флешке все важные данные. Здесь действует правило: «не держи все яйца в одной корзине».
- Не касайтесь пальцами контактов флешки, чтобы избежать статического заряда. Этого не нужно делать и предметами из металлов. Переносить флешку с синтетикой тоже не следует.
- Если флешка ведет себя странно, но дает скопировать информацию – копируйте ее сразу на другой носитель. После этого только можно начать ремонт.
В своём блоге я обещал рассказать, как определиться с флешкой, служащей ключом защиты приложения. Вначале флешку-ключ надо поименовать, как "HARD_KEY". Или присвоить другое имя, которое придумаете. Делается это с помощью проводника. Вставьте флешку, найдите её проводником, нажмите "Переименовать". Переименуйте и нажмите клавишу Enter. Удивительно, но мало кто знает, как переименовать флешку.
Фишка в том, что Windows от XP до «десятки» прописывает буквы примонтированных накопителей в системном реестре, чем и воспользуемся. Для начала приведу пару вспомогательных функций. Здесь и далее я использовал коды C++ системы разработки Embarcadero, но не беспокойтесь – ничего визуального, лишь пару классов – строки и списки строк. Можно было бы обойтись и без них, но, знаете ли, привычка.
Вспомогательная функция. Она определяет, есть ли признак флешки в байтовом буфере:
Ещё одна вспомогательная функция. Она читает из системного реестра смонтированные флешки (именно флешки, а не все накопители) в глобальный строковый список letters_sl букв. Если возвращает true, то информация из реестра прочитана правильно.
Ваша защищаемая софтина при запуске должна вызвать функцию SelectKeyLetterOnName() и запомнить в char KeyLetter[2], где находится флешка-ключ:
Но, чтобы убедиться, что это ключ не фейк, по мере выполнения программы, читая стэмп, следует проверять его серийный номер. Это выполняет вот такая функция:
В данном случае для иллюстрации "серийник" флешки-ключа тупо читается из ини-файла приложения. Так вообще-то не следует делать. Лучше "серийник" держать в реестре и держать не сам "серийник", а его хэш-код. Откуда он там возьмётся? При активации приложения.
Чтобы пользователь ничего не мог записать в флешку-ключ, забейте её случайными числами под завязку. А при активации запишите байты стэмпа железа, например, 1-ый байт – в 10-ый байт случайного содержимого, 2-ой – в 20-ый или в 21-ый, вообщем, проявите фантазию.
Копирование флешки-ключа ничего не даст: флешка содержит стэмп железа, на котором установлена ваша софтина. Скопировать-то можно, а толку? Ключ-копия сможет работать только на той машине, из которой был извлечён ключ-оригинал. В дальнейшем я расскажу, как сделать флешку-ключ нечитаемой. Ну не вообще, а всякими проводниками, коммандерами, приложениями и проч. Нечитаемой ничем, кроме вашего приложения. Подсказка: на флешке будет чужая для Windows файловая система.
В продолжение темы о создании собственного USB-гаджета.
Создание простого устройства.
Раз устройство планируется подключать к ПК, значит вероятнее всего потребуется передача данных между устройством и ПК.
Начнем писать прошивку и софт, наладив связь между ними.
Самым простым вариантом передачи данных является использование класса коммуникационных устройств USB (CDC).
При таком подключении устройство будет видно в системе как обычный виртуальный COM-порт.
Плюсом такого подключения является отсутствие необходимости писать собственные драйвера.
Так же радует простота приема и передачи данных: для работы с портом в Windows достаточно открыть его как текстовый файл и производить обычные операции чтения\записи.
Железо.
Возьмем схему с минимальной обвязкой МК.
На этот раз нам нужно добавить только 4 контакта к USB и одну кнопку (кнопка нужна только для бутлоадера: куда проще нажать ее и заменить прошивку в устройстве по USB, нежели переставлять чип в программатор).
Не сильно стараясь сделать красиво, разводка может выглядеть так:
Но при желании часто экспериментировать с подключаемыми компонентами лучше сразу развести каждую ногу МК сделав аналог ардуино — Jaluino.
Прошивка
include 18f2455 -- библиотека для используемого МК
--
enable_digital_io () -- переключение всех входов на цифровой режим
--
alias Button is pin_B7 -- раз уж у нас подключена кнопка, объявим ее
pin_B7_direction = input -- кнопка у нас работает на вход
--
-- одна строчка - и у нас есть все необходимое для работы с USB CDC
include usb_serial -- бибилотека для работы с usb
--
usb_serial_init () -- --инициализируем USB CDC
forever loop -- основной цикл, выполняется постоянно
usb_serial_flush () -- обновление usb. Данная процедура выполняет все необходимые
-- действия для поддержания соединения с ПК
end loop
Скомпилировав данный код, записав полученный HEX файл в МК при помощи бутлоадера и запустив устройство можно будет наблюдать как в системе опрделится новое устройство: Виртуальный сom-порт.
Теперь, когда устройство уже работает, научим его общаться.
Для чтения принятого байта существует функция usb_serial_read(byte):boolean. При наличии полученного байта она заносит его в указанную переменную и возвращает true, иначе возвращает false.
Для отправки байта существует процедура usb_serial_data. Она замаскирована под переменную, потому для отправки байта достаточно присвоить ей значение отправляемого байта.
Объявим переменную размером в байт до основного цикла, в основном цикле будем проверять наличие полученных байт, и при их наличии отправлять их обратно.
include 18f2455
--
enable_digital_io ()
--
alias Button is pin_B7
pin_B7_direction = input
--
--
include usb_serial
--
usb_serial_init ()
var byte ch -- объявляем переменную
forever loop -- основной цикл
usb_serial_flush ()
if ( usb_serial_read ( ch ) ) then -- если байт получен, он будет записан в ch
usb_serial_data = ch -- отправляем полученный байт обратно
end if
end loop
Компилируем, зажимаем кнопку, передергиваем питание, запуская бутлоадер, меняем прошивку, запускаем.
Устройство снова определилось в системе, теперь нам нужен софт, дабы протестировать работу устройства.
Пока у нас нет своего, используем готовый терминал: я использовал программу RealTerm.
Открываем порт с нужным номером и отправляем данные.
И нам в ответ приходит то, что мы отправили. Значит, все работает как надо.
Итак, наш микроконтроллер умеет принимать байты и тут же отправлять их обратно. Теперь напишем свой софт для общения с ним (я буду использовать Delphi).
Создаем новый проект, раскидываем по форме необходимые компоненты:
SpinEdit1 — для указания номера порта
Button1 — для установки соединения
Button2 — для разрыва соединения
SpinEdit2 — для ввода байта в десятичном виде
Button3 — для отправки байта
Memo1 — для вывода принятой информации.
Как уже было сказано выше, с com-портом нужно работать так же, как и с обычным текстовым файлом: используя функции CreateFile, WriteFile и ReadFile.
Дабы не вдаваться в подробности, возьмем готовую библиотеку для работы с com-портом: ComPort.
Вешаем на каждую кнопку необходимую задачу и получаем конечный код:
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics , Controls, Forms,
Dialogs, StdCtrls, Spin,ComPort;
type
TForm1 = class (TForm)
SpinEdit1: TSpinEdit;
Button1: TButton;
Button2: TButton;
SpinEdit2: TSpinEdit;
Button3: TButton;
Memo1: TMemo;
procedure OnRead(Sender: TObject; ReadBytes: array of Byte );
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
< Private declarations >
Port: TComPort;
public
< Public declarations >
end;
var
Form1: TForm1;
num: integer;
implementation
procedure TForm1.Button1Click(Sender: TObject);
begin
Port := TComPort.Create(SpinEdit1.Value, br115200); //создаем соединение
Port.OnRead := OnRead; //создаем поток чтения принятых данных
Button2.Enabled := true ; //активируем кнопку закрытия соединения
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Port.Free; //закрываем соединение
Button2.Enabled := false ; //отключаем кнопку
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
if Button2.Enabled then Port.Write([SpinEdit2.Value]);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
if Button2.Enabled then
Port.Free;
end;
procedure TForm1.OnRead(Sender: TObject; ReadBytes: array of Byte );
var
i:integer;
begin
for i := Low(ReadBytes) to High(ReadBytes) do //проходим по массиву принятых байт
begin
Memo1.Text := Memo1.Text + '.' +InttoHex(ReadBytes[i],2); //добавляем его HEX значение в окно
inc(num); //считаем колв-о принятых байт
end;
if num > 10 then begin
Memo1.Lines.Add( '' ); //переносим строку
num := 0;
end;
end;
Запускаем, устанавливаем соединение, отправляем байты:
Вот и готов наш самый простой терминал для работы с самым простым usb-устройством.
Как видно, чтение и запись происходит динамическими массивами байт.
Обрабатывая получаемую информацию можно составить необходимый протокол обмена, подходящий для текущей задачи.
include 18f2455
--
enable_digital_io ()
--
alias Button is pin_B7
pin_B7_direction = input
--
--
include usb_serial
--
usb_serial_init ()
var byte ch
var byte i -- объявляем вторую переменную
forever loop -- основной цикл
usb_serial_flush ()
if ( usb_serial_read ( ch ) ) then -- если байт получен выполняем необходимые действия
case ch of -- перебираем номер байта
0 : usb_serial_data = 0xff
1 : usb_serial_data = Button -- отправка состояния кнопки
OTHERWISE block -- если получено что-то иное
for 16 using i loop -- отправляем 10 байт с данными
usb_serial_data = ch + i -- от ch до ch+15
end loop
end block
end case
end if
end loop
Дополнительные возможности
Если на этом остановиться, получится обычная статья с подробным описанием примера использования библиотеки, коих на просторах сети достаточно. Потому добавлю немного более углубленной информации.
Упрощение отправки данных
Отправлять информацию по одному байту — не всегда удобно. Очень часто может пригодиться библиотека print. Она содержит процедуры по отправке данных всевозможной длины всевозможными форматами: byte,hex,dec,bin,boolean что может упростить вывод данных в программе.
> include print
.
var dword data
print_dword_hex ( usb_serial_data , data )
Название всех команд можно посмотреть в файле библиотеки.
Ожидание подключения к ПК
Если перед стартом основного цикла микроконтроллера необходимо предварительно установить соединение с ПК, то можно дописать перед ним строчки
while ( usb_cdc_line_status () == 0x00 ) loop
end loop
Привязываем к устройству номер порта
Если оставить все как есть, система при каждом новом подключении будет выделять первый свободный номер порта. А это значит что за ним придется всегда следить.
Для того, что бы этого не происходило, необходимо устройству присвоить уникальное значение серийного номера до подключения библиотеки usb:
Номер может быть любой длины и содержать различные символы.
const byte USB_STRING3 [ 24 ] =
24 , -- длина массива
0x03 , -- bDescriptorType
"0" , 0x00 ,
"1" , 0x00 ,
"2" , 0x00 ,
"3" , 0x00 ,
"4" , 0x00 ,
"5" , 0x00 ,
"6" , 0x00 ,
"7" , 0x00 ,
"8" , 0x00 ,
"9" , 0x00 ,
"X" , 0x00
>
Меняем имя устройства на свое
Поменять имя устройства, видимое в системе до установки драйверов можно объявив массив с именем, как и серийный номер, это необходимо сделать до подключения библиотеки USB.
Но увы, после установки драйверов устройство поменяет имя на указанное в .inf файле, потому поменяем имя и там
Организуем автоподключение устройства
Увы, никаких прямых путей выполнить данную задачу нет, потому придется исхитриться.
Прежде всего необходимо присвоить своему устройству уникальное значение производителя и продукта, дабы легко определять его среди сотен других стандартных CDC-прошивок.
VID и PID выдаются за денюжку, потому пойдем по пуути китайцев: втихую возьмем себе заведомо свободные значения.
Прошивка:
В прошивке необходимо объявить две переменные до подключения библиотеки USB
const word USB_SERIAL_PRODUCT_ID = 0xFF10
const word USB_SERIAL_VENDOR_ID = 0xFF10
Вместо FF10 можно вставить любые два слова (2 байта). Конечный результат содержится в прилагаемом архиве.
Драйвера:
Так как драйвера не предназначены для нашей комбинации VID и PID, допишем наши значения в .inf файл вручную:
[DeviceList]
%DESCRIPTION%=DriverInstall, USB\VID_FF10&PID_FF10
[DeviceList.NTamd64]
%DESCRIPTION%=DriverInstall, USB\VID_FF10&PID_FF10
Софт:
Для отлова событий подключения\отключения устройства подключим библиотеку ComponentUSB. Не считаю нужным пояснять каждую строчку: все изменения можно увидеть в прилагаемом проекте.
Результат
На скриншоте сложно разглядеть, но кнопка отправки активна только в момент наличия подключенного устройства, при этом каждые 50мс программа подает запрос на получение состояния кнопки (что, впрочем, неправильно, потому как нажатие кнопки должно обрабатываться на МК).
И напоследок: советую заглянуть в исходный код лампы настроения. Там можно найти довольно-таки хороший вариант обработки принимаемых данных для организации удобного протокола обмена.
Любой программист, который хочет копнуть чуть глубже и разобраться с программированием “железа”, рано или поздно сталкивается с задачей программирования USB. Этот интерфейс сегодня пользуется заслуженной популярностью.
Через USB давно уже подключают клавиатуры, мыши, принтеры, сканеры и другие устройства.
Однако это не все возможности USB. Например, многие разработчики защищают свои программы с помощью аппаратных ключей USB. Аппаратный ключ - это некое устройство, которое внешне похоже на флэшку. Этот ключ подключается к USB-порту. Программа может работать только в том случае, если она обнаружила “свой” USB-ключ. Таким образом выполняется защита от пиратского копирования.
Кроме того, через USB подключаются многие нестандартные устройства. Например, для программирования (это могут быть программаторы микроконтроллеров, ПЛК, различные приборы автоматизации и т.п.).
В общем, использование USB-устройств ограничено только вашей фантазией.
Впрочем, не только этим. Есть ещё одно ограничение - это практически полное отсутствие информации о программировании USB. В Интернете можно найти, пожалуй, только назначение выводов разъёма USB и самые общие описания.
А вот как устроен сам интерфейс, чем он отличается от других интерфейсов, как его программировать и т.п. - об этом информации практически нет.
Однако не всё так плохо, потому что есть замечательная книга, которая расскажет вам не только о том, как программировать USB, но и на конкретном примере опишет процесс создания реального USB-устройства. Вот лишь некоторые темы, которые описаны в книге:
- Что такое USB
- Принципы передачи данных
- Аппаратное обеспечение USB
- Внутренняя организация USB
- Форматы пакетов данных
- Интерфейс USB вне компьютера
- Как программировать USB
- Поддержка USB в Windows
- Что такое HID-устройства
- Что такое WDM и как создавать USB-драйверы
- Спецификация PnP для USB
- Как получить список USB-устройств
- Функции BIOS для работы с USB
- Как создать USB-устройство на основе микроконтроллера
- Какие микросхемы используются для работы с USB
- Какие функции Windows используются для программирования USB
- Средства разработки для программирования USB
- И многое другое…
В общем, если вы мечтаете разобраться со всем компьютерным “железом” и выйти на такой профессиональный уровень, на котором для вас не будет нерешаемых задач, то эта книга обязательно должна быть в вашей библиотеке!
Всем привет! Неспроста я взялся писать статью о том, как прошить флешку – есть опыт. Вчера восстанавливал свою флешку Kingston DT Elite 3.0 16GB. Все получилось, и я подумал, а почему бы не написать подобную инструкцию, и рассказать что и как делать, что бы подарить флешке новую жизнь :).
Какие могут быть признаки жизни USB накопителя?
Это интересно: Для чего нужно безопасное извлечение устройства?Если информация очень ценная, то лучше самостоятельно ничего не делать да бы не сделать хуже. Обратитесь в специальные сервисные центры, которые занимаются восстановлением информации.
Так как на флешке не было Важных файлов, я не раздумывая запустил форматирование.
Но все же отформатировал я ее, раза так с десятого и только в FAT 32. После чего USB накопитель нормально определился и я уже даже обрадовался. Но не тут то было. Начал копировать на нее файлы, а скорость записи была примерно 100 кб/с. Решил прошить ее, что и сделал.
Определяем VID и PID USB контроллера
Для начала нам нужно определить VID и PID. Это данные о модели и производителе контроллера, который находится в нашем накопителе. По этим данным мы будем искать утилиту для прошивки. Есть много разных программ, с помощью которых можно определить VID и PID. Я советую утилиту Flash Drive Information Extractor скачать можно по этой ссылке.
Подключите флешку к компьютеру и запустите программу Flash Drive Information Extractor (извлеките папку с программой с архива и запустите файл GetFlashInfo.exe) .
Это интересно: В тишине и прохладе: чем смазать кулер компьютера, чтобы он хорошо охлаждал и не шумелПрограмма выдаст нам результат. Смотрим информацию которая находится напротив VID и PID.
Вы можете скопировать эти цифры, или оставите окно утилиты открытой, нам сейчас пригодятся полученные данные.
Ищем утилиту для прошивки флешки
Нажимаем кнопку Search и смотрим результат.
В результатах поиска ищем флешку похожую на нашу. В списке могут быть устройства и других производителей. Просто у них такой же контроллер, он определился по VID и PID. Возможно Вы заметили, что у меня флешка на 16 Гб, а в списке я выделил на 32 Гб. Думаю, что в этом нет ничего страшного (просто там где на 16 Гб не указано название утилиты) . Вы же старайтесь выбрать более похожее устройство из списка.
Нас интересует поле UTILS (утилита) , копируем ее название, полностью.
К сожалению, утилита, которая необходимая мне, не найдена на этом сайте. Возможно Вам повезет больше и в результатах поиска Вы что-то увидите. Скачайте утилиту на компьютер.
Это интересно: Как в БИОС настроить загрузку с флешки?Процесс восстановления USB накопителя
Расскажу как делал я (просто у Вас может быть другая утилита и там все может быть по-другому, но не должно очень сильно отличатся) .
Утилита запущена. Подключаем флешку. У меня в двух строчках в программе появилась информация о флешке. Нажимаем кнопку Start. В моем случае желтая полоска сигнализировала о процессе прошивки. Ждем.
Когда процесс закончился, я увидел зеленый цвет, походу все хорошо.
Проверил скорость записи, все как положено для USB 3.0, все отлично!
Необходимо быть готовым к тому, что действия могут отличаться от тех, что описал я. И не все может получиться с первого раза. Главное не сдайтесь и все получиться!
Читайте также: