Как правильно отключить флешку?

SLAX, Deep Style, ZenWalk

Модератор: Модераторы разделов

Аватара пользователя
fast_deer
Сообщения: 57

Как правильно отключить флешку?

Сообщение fast_deer »

Здравствуйте!
Давно вертиться вопрос (читать до конца):
Как _правильно_ отключить (или как настроить) флешку?
Поясню суть: имеется флешка (даже несколько) а также имеется USB- разъем выделенный под нее (удлинитель). Флешка нормально монтируется, по команде mount, с ней можно работать. Она нормально размонтируется командой umount (т.е. содержимое ее в каталоге /mnt/usb не отображается), НО при этом она продолжает мигать(!!). Если ее выдернуть после размонтирования и вставить другую, то появляется ошибка:

dmesg
sdd: Unit Not Ready, sense:
Info fld=0xa00 (nonstd), Current 00:00: sns = 70 2
Raw sense data:0x70 0x00 0x02 0x00 0x00 0x0a 0x00 0x00
sdd : READ CAPACITY failed.
sdd : status = 1, message = 00, host = 0, driver = 08
Info fld=0xa00 (nonstd), Current sd00:00: sns = 70 2
Raw sense data:0x70 0x00 0x02 0x00 0x00 0x0a 0x00 0x00
sdd : block size assumed to be 512 bytes, disk size 1GB.
sdd: test WP failed, assume Write Enabled
sdd: I/O error: dev 08:30, sector 0
I/O error: dev 08:30, sector 0
unable to read partition table

И последующее монтирование ругается:
mount: /dev/sdd1 is not a valid block device

Дальнейшая работа с флешками возможна только после перезапуска rc.hotplug, причем не через restart, а через stop и start из под root-а
Может кто подскажет КАК правильно поменять флешку или что надо настроить, чтоб это нормально работало? Команда eject тоже не помогает
С уважением,
Алексей
--------------------------------
"Я не волшебник - я только учусь" (С) к/ф "Золушка"
Спасибо сказали:
Аватара пользователя
alastor
Сообщения: 844
Статус: ARCH'еноид
ОС: Arch Linux current

Re: Как правильно отключить флешку?

Сообщение alastor »

Флешку сразу ненужно выдирать. Дело в том, что при записи на нее используется кэширование, то есть реально данные скидываются в кэш, и только потом физически переносятся на флэшку (после запуска команды umount). У меня в таком случае до конца физической записи на флешку консоль занята командой umount - я жду окончания ее выполнения. Можно в файле /etc/fstab в строке, где описывается монтируемая флешка вставить флаг sync - тогда запись будет вестись минуя кэш.
Спасибо сказали:
Аватара пользователя
flook
Сообщения: 585
Статус: Просто flook

Re: Как правильно отключить флешку?

Сообщение flook »

Так на все блочные устройства пишут. И маленькое замечание - незнаю, как сейчас, он еще в 2.6.8.1 ядре sync был немного сломан, так, что даже команда sync помогала (гарантировала запись) только со второй попытки.
В каждом из нас спит гений... и с каждым днем все крепче...
Спасибо сказали:
Аватара пользователя
Bolverk
Бывший модератор
Сообщения: 1571
ОС: Cygwin

Re: Как правильно отключить флешку?

Сообщение Bolverk »

а то, что отмонтированная флешка мигает - это нормально.
Спасибо сказали:
Аватара пользователя
fast_deer
Сообщения: 57

Re: Как правильно отключить флешку?

Сообщение fast_deer »

А я и не говорил что я СРАЗУ выдираю флешку. Я сначала отмонтирую ее а потом мне надо вставить другую (скажем, жене погуду с интернета записать). Проблема в том что я не могу подключить ее (другую флешку), даже дождавшись окончания записи (после команды umount система сразу начинает копировать на диск). Вотт вопрос и возникает: как подключить вторую флешку? Через остановку hotplug? это все таки немного криво
Может кто знает более правильный способ?
Кстати, ядро 2.4.29
С уважением,
Алексей
--------------------------------
"Я не волшебник - я только учусь" (С) к/ф "Золушка"
Спасибо сказали:
Аватара пользователя
zenwolf
Бывший модератор
Сообщения: 3139
Статус: Страшный и злой
ОС: Slackware..Salix..x86_64

Re: Как правильно отключить флешку?

Сообщение zenwolf »

отключить hotpug ,он не нужен пока нет новых устройств,а вот с флэшками он дурно влияет ,а потом просто путём mount/umount
выполнять операции
Quae videmus quo dependet vultus. (лат) - То, что мы видим, зависит от того, куда мы смотрим.
Спасибо сказали:
Аватара пользователя
mark
Бывший модератор
Сообщения: 2055
Статус: ...
ОС: Windows 7

Re: Как правильно отключить флешку?

Сообщение mark »

У меня аналогичная проблема решилась несколько кардинальным способом - переходом на 2.6.13 ;)
Спасибо сказали:
Аватара пользователя
zenwolf
Бывший модератор
Сообщения: 3139
Статус: Страшный и злой
ОС: Slackware..Salix..x86_64

Re: Как правильно отключить флешку?

Сообщение zenwolf »

mark писал(а):
11.11.2005 00:49
У меня аналогичная проблема решилась несколько кардинальным способом - переходом на 2.6.13 ;)

зачем ? Патрик пока называет testing ,работу нормально с этим ядром он не гарантирует ,я вот 4
раза пересобирирывал пока всё нормально заработало ,а по умолчательному у меня - не видны
не одно usb,не определяется dvd, да и размер вместе с модулями получается в 2 раза больше
чем 2.4.31 , 2.4.x понадёжней будет , к тому же не гарантированно что после установки у него
вобше работать будет без пересборок
Quae videmus quo dependet vultus. (лат) - То, что мы видим, зависит от того, куда мы смотрим.
Спасибо сказали:
Аватара пользователя
alastor
Сообщения: 844
Статус: ARCH'еноид
ОС: Arch Linux current

Re: Как правильно отключить флешку?

Сообщение alastor »

Вот не знаю.... как перешел на Слаку, сразу сел на ветку 2.6.х - и ничего, работает... Щас ядро стоит 2.6.14-archck4 - и ни с чем проблем (в том числе и с флешкой) не возникает. И на hotplug пожаловаться не могу...
Спасибо сказали:
Аватара пользователя
zenwolf
Бывший модератор
Сообщения: 3139
Статус: Страшный и злой
ОС: Slackware..Salix..x86_64

Re: Как правильно отключить флешку?

Сообщение zenwolf »

alastor писал(а):
11.11.2005 19:22
Вот не знаю.... как перешел на Слаку, сразу сел на ветку 2.6.х - и ничего, работает... Щас ядро стоит 2.6.14-archck4 - и ни с чем проблем (в том числе и с флешкой) не возникает. И на hotplug пожаловаться не могу...

кому как повезёт <_<
Quae videmus quo dependet vultus. (лат) - То, что мы видим, зависит от того, куда мы смотрим.
Спасибо сказали:
Аватара пользователя
mark
Бывший модератор
Сообщения: 2055
Статус: ...
ОС: Windows 7

Re: Как правильно отключить флешку?

Сообщение mark »

Мне, наверно, тоже повезло, тк проблем с ядром нет...
Спасибо сказали:
Аватара пользователя
fast_deer
Сообщения: 57

Re: Как правильно отключить флешку?

Сообщение fast_deer »

По совету некоторых "гуру" отключил hotplug и в итоге на команду dmesg получил следующее сообщение:
usb.c: USB bus 3 deregistered
usb.c: USB disconnect on device 00:1d.2-0 address 1
usb.c: USB bus 4 deregistered
usb.c: USB disconnect on device 00:1d.3-0 address 1
usb.c: USB bus 5 deregistered
usb.c: deregistering driver hid
usb.c: deregistering driver hiddev
usbserial.c: USB Serial deregistering driver PL-2303
usbserial.c: USB Serial deregistering driver Generic
usb.c: deregistering driver serial
usb.c: deregistering driver usbdevfs
usb.c: deregistering driver hub

Соответственно, флешку никак не могу подмонтироваь, так как она никак не определяется.
Пришлось вернуть все назад.
Есть еще идеи?
ЗЫ: Переход на новую ветку ядра пока невозможен.
С уважением,
Алексей
--------------------------------
"Я не волшебник - я только учусь" (С) к/ф "Золушка"
Спасибо сказали:
Аватара пользователя
zenwolf
Бывший модератор
Сообщения: 3139
Статус: Страшный и злой
ОС: Slackware..Salix..x86_64

Re: Как правильно отключить флешку?

Сообщение zenwolf »

что значит не определилась ?
просто mount -t vfat /dev/sda0 /mnt/flash или mount -t vfat /dev/sda1 /mnt/flash чего даёт ?
Quae videmus quo dependet vultus. (лат) - То, что мы видим, зависит от того, куда мы смотрим.
Спасибо сказали:
Аватара пользователя
fast_deer
Сообщения: 57

Re: Как правильно отключить флешку?

Сообщение fast_deer »

Пожалуйста, вот что выдало:

root@darkstar:/etc# mount -t vfat /dev/sdd1 /mnt/usb/
mount: /dev/sdd1 is not a valid block device

Причем устройство /dev/sdd1 - правильное (для тех кто хочет тыкнуть меня в это), так как перед этим висят еще 3 "винта" на встроенном в мать Promise IDE-контроллере. Если запустить /etc/rc.d/rc.hotplug то все нормально монтируется.
Для тех кто не знает (я не знаю как там в 2.6 ветке ядра, а в 2.4 только так): rc.hotplug заниматся регистрацией/разрегистрацией устройств в системе, подключеных/отключеных на "горячую", будь то флещка (или другой USB девайс), PCI hotplug device или PCI-E. (этакий automоunt устройств).
Вот только это не решает мою проблему с подключением другой флешки - приходиться перезапускать rc.hotplug.
Может кто-нибудь подскажет (если знает) команду регистарации/разрегистарации конкретного устройства?
Это тогда хоть както бы решило проблему
С уважением,
Алексей
--------------------------------
"Я не волшебник - я только учусь" (С) к/ф "Золушка"
Спасибо сказали:
дазар
Сообщения: 1

Re: Как правильно отключить флешку?

Сообщение дазар »

fast_deer писал(а):
16.11.2005 03:24
root@darkstar:/etc# mount -t vfat /dev/sdd1 /mnt/usb/
mount: /dev/sdd1 is not a valid block device

Вчера попробовал следующее:
1. подключил Flash
2. смонтировал командой
# mount -t vfat /dev/sdb1 /mnt/flash
3. произвел запись
4. отмонтировал
# umount /mnt/flash
5. отключил Flash (вынул из usb)
6. повторил п.1 и п.2, получил ответ
mount: /dev/sdb1 is not a valid block device
7. выполнил
# fdisk -l /dev/sdb, на что получил стандартный вывод fdisk о геометрии диска
8. после чего п.2 выполнился без ошибок, и я спокойно дописал оставшиеся файлы

PS: метод кривой, но зато рабочий на 100%.

OS: Slackware 10.2, kernel: 2.6.13, dropline GNOME 2.12.2
AMD-2.6/ASUS KT600/1GB/SATA 120G + 80G/ATI-Radeon 9200/SAA7134/DVD RW
Спасибо сказали:
Savage
Сообщения: 136
ОС: Linux/BSD

Re: Как правильно отключить флешку?

Сообщение Savage »

После некоторых мучений в данном вопросе взял себе в привычку после каждого подключения флешки в линуксе смотреть, чего мне <dmesg | tail> пишет. Сразу куча вопросов по монтированию отпадает, когда видишь что-то подобное:

Код: Выделить всё

sdb: Write Protect is off
sdb: Mode Sense: 03 00 00 00
sdb: assuming drive cache: write through
SCSI device sdb: 999424 512-byte hdwr sectors (512 MB)
sdb: Write Protect is off
sdb: Mode Sense: 03 00 00 00
sdb: assuming drive cache: write through
 sdb: sdb1
Attached scsi removable disk sdb at scsi5, channel 0, id 0, lun 0
usb-storage: device scan complete
Все познается в сравнении...
Спасибо сказали: