LINUX.ORG.RU

Кардридер без флешки - sdb. С флешкой - sdb + sdb1. Но надо втыкать с флешкой.


0

1

Есть кардридер на ExpressCard для SDHC карт. Специально не шаманил, заработал в ядре, которое было.

scsi 6:0:0:0: Direct-Access     Generic  STORAGE DEVICE   9412 PQ: 0 ANSI: 0
sd 6:0:0:0: Attached scsi generic sg2 type 0
sd 6:0:0:0: [sdb] Attached SCSI removable disk

Но если перезагрузить комп (ноут), когда в кардридере нет флешки, то есть лишь /dev/sdb, тогда как флешка становится видна на /dev/sdb1, но только если она в кардридере на момент старта линукс. Если флешку воткнуть уже после старта, /dev/sdb1 само собой не появится.

Кардридер представляет собой тонкую штуку, втыкаемую в ноут на ExpressCard и виден по-моему как USB-девайс и поддерживает горячее подключение. Если этой возможностью воспользоваться - достать кардридер, воткнуть флешку и засунуть обратно - появляются /dev/sdb + /dev/sdb1 и я могу монтировать /dev/sdb1. Если просто воткнуть флешку, не доставая кардридера - ничего не происходит. Как бы сделать так, чтобы происходило и появлялось /dev/sdb1?

Спасибо.

★☆

Последнее исправление: kiverattes (всего исправлений: 1)

>Если флешку воткнуть уже после старта, /dev/sdb1 само собой не появится.

Попробуй прогнать udevadm trigger (для своего кардридера находил тред в багзилле ядра, хз чем кончилось).

uzbl
()

А если подключить кардридер, после этого воткнуть флеш-карту и ввести sudo file -s /dev/sdb, что получится?

AITap ★★★★★
()

>/dev/sdb1 само собой не появится.

У меня появляется само, но картридер у меня не вынимается, но его можно извлечь из гнома или eject'ом + echo куда-то в /sys/bus/usb/devices/$DEVICE/remove. После этого пропадает /dev/sdb, но если перейти в ждущий режим и обратно, то он снова появляется. Проверьте, может и у вас /dev/sdb1 появится после ждущего режима.

gentoo_root ★★★★★
()

blockdev --rereadpt /dev/sdb

а в окружениях рабочего стола это за тебя сделает udisks

AEP ★★★★★
()
Ответ на: комментарий от AEP

Ух ты, blockdev --rereadpt /dev/sdb работает. А как оно внутри устроено, извините за пытливость? Как это там всё шевелится? Кто кому какого пинка даёт, кто кого опрашивает, какие команды куда ходят?

kiverattes ★☆
() автор топика
Ответ на: комментарий от kiverattes

Выдержка из man blockdev:

call block device ioctls from the command line

Судя по всему blockdev тычет в udev, который собственно и создает необходимый файл-устройство

Pinkbyte ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.