[РЕШЕНО] Помогите починить флешку.

azaqthoth, я бы продолжил дальнейший анализ флэшки.
Для начала, как писал выше:
неплохо бы посмотреть выводы (из вывода lsblk узнаем, что USB есть /dev/sdN - замени N на свое)
sudo fdisk -l /dev/sdN
sudo hexdump -C -s 446 -n 66 /dev/sdN
sudo hdparm -I /dev/sdN
sudo hdparm /dev/sdN
sudo hdparm -Tt /dev/sdN (скорость чтения ... скорость записи через dd, но можно пока не тестировать)
Если hdparm не установлен, то рекомендую установить
Дополнительно посмотреть lsusb - запустить 2 раза: без флэшки и с флэшкой ... и найти появившеюся строчку - и вывод только этой строчки

EDIT 1 - команды рекомендую выполнить дважды - в разных портах и лучше расположенных в разныч хабах - чтобы убедится в их идентичности
EDIT 2 - добавил/дописал короткий вывод - sudo hdparm /dev/sdN
Ошибки не исчезают с опытом - они просто умнеют
vasek
что под этим подразумевается?
Сдох чип ОЗУ на флешке.
Это болезнь дешевых флешек.
RusWolf, ОЗУ - имеется ввиду флэш-память (микросхема памяти)?
Ошибки не исчезают с опытом - они просто умнеют
vasek
ОЗУ - имеется ввиду флэш-память (микросхема памяти)?
Да, сдохла флеш - память.
Я просто и сам не замечал, что везде писал ОЗУ :)
sdc      8:16   0 931.5G  0 disk
└─sdc1   8:17   0 931.5G  0 part /
Это из вывода lsbkl. Хочу заметить, что lsblk не всегда показывает эту флэшку. Иногда стоит обновить вывод команды, чтобы увидеть её, иногда и это бесполезно.
sudo fdisk -l /dev/sdc
занимает слишком-слишком много времени, я убиваю эту команду.
sudo hexdump  -C -s 446 -n 66 /dev/sdc
тоже слишком заставляет ждать.
sudo hdparm -I /dev/sdс
/dev/sdс: No such file or directory
хотя, тут же lsblk:
sdc 8:32 1 57.8G 0 disk └─sdc1 8:33 1 57.8G 0 part
Вообще, последние два примера hdparm. Невозможно дождаться от них что-либо, кроме пустой строки.

флэшка постоянно мигает, с того момента, как суешь её в разъем, до того момента, пока не вынимаешь.
немного денег и не попадать за решётку вот и всё, что требуется для жизни
azaqthoth, usb v3 ?

очень похоже на нехватку питания, хотя флешка не должна потреблять много
но при проблемах с южным мостом вполне возможно
в идеале попробовать на другом компе с usb 3
grayich
в идеале попробовать на другом компе с usb 3
Если будет такая возможность, то попробую. Ещё можно приобрести адапртер. Да вообще много игрушек продаётся.
немного денег и не попадать за решётку вот и всё, что требуется для жизни
azaqthoth
Это из вывода lsbkl
просил еще вывод lsusb - флэшка в нем присутствует? - скорее всего должна .... но все же проверь ... и плюс lsusb -t
Ошибки не исчезают с опытом - они просто умнеют
https://dpaste.com/EHCCST8SC
немного денег и не попадать за решётку вот и всё, что требуется для жизни
azaqthoth, вообщем из представленной информации можно сделать следующий предварительный вывод
1. На начальном этапе, при общении хоста с флэшкой (запрос-ответ) проблем нет - хост получает всю нужную информацию от контроллера флэшки (название, номер, PD:VID и др. параметры, необходимые для определения и регистрации флэшки хостом.
2. Но так как контроллер ничего не знает о файловой системе, разделах, количестве блоков, размере блока, то для получения данной информации вступает в работу система и используя scsi-команды получает эту информацию из флэш-памяти.
А вот здесь и начинаются непонятки
- lsblk работает, но выдает разноречивую информацию:
azaqthoth
sdc 8:16 0 931.5G 0 disk
└─sdc1 8:17 0 931.5G 0 part /
в другой раз
azaqthoth
sdc 8:32 1 57.8G 0 disk
└─sdc1 8:33 1 57.8G 0 part
Не зависает скорее всего потому, что считывает только объем флэшки - почему значения разные? - скорее всего или блоки не читаются или долгий доступ к блокам и считывается мусор - но это все предположения.
- утилиты типа fdisk, hdparm и др., которым требуется извечь больше информации уже виснут ... хотя по идее не должны - не получается считать инфу, заверши работу по тайм-ауту.
Это же показывает и вывод dmesg - ядро все определило, но затык на команде Read(10) - команда используется для определения объема памяти устройства - в ответ должен вернуться логический адрес последнего блока на носителе и размер блока в байтах. Обычно, если все нормально, то dmesg не показывает последнее состояние ответа Read(10), а в даном случае показал
Read(10) 28 00 07 38 87 c0 00 00 08 00
то есть проблемы при определении параметров имеются ... хотя объем флэшки показан правильно - адрес LBA последнего блока=121145280, что составлет 57,8G ... что показал и lsblk.

Со всем этим по идее нужно разбираться дальше, пообщаться с флэшкой с помощью scsi-команд и посмотреть на ее ответы, но вряд ли ты будешь этим заниматься (хотя если есть желание, описано в этом блоге).
Но вот что можно выполнить, так это посмотреть вывод whdd, которая покажет состояние блоков (время доступа к блокам, испорченные блоки) - как то обсуждали в этом топике - если состояние покажет хреновое, то можно смело выкидывать.

PS - если надумаешь выкидывать, то просьба - перед этим выполнить две команды и отписаться, что вышло .... вместо /dev/sdN пропиши свое
1. sudo dd if=/dev/zero of=/dev/sdN bs=512 count=10
2. echo -e 'o\nn\n\n\n\n\nw' | sudo fdisk /dev/sdN
Если 1-ая команда вдуг опять будет идти долго, заверши через Ctrl+C ... в принципе можно и без этой команды - это просто перестраховка.
После завершения второй команд, переткни флэшку и посмотри вывод - sudo fdisk -l /dev/sdN
Ошибки не исчезают с опытом - они просто умнеют
 
Зарегистрироваться или войдите чтобы оставить сообщение.