Вы не должны использовать команду эха:
$> dbnya="echo $(date +%Y%m%d%H%M%S)"
$> echo $dbnya
echo 20120423170042
Просто удалите, это от команды, dbnya получит результат оценки даты:
$> dbnya="$(date +%Y%m%d%H%M%S)"
$> echo $dbnya
20120423170114
Вы могли попытаться сбросить устройство SATA с помощью следующих шагов:
Принятие устройства называют: /dev/mmcblk0p1
.
Узнайте, к какому контроллеру устройство присоединено (нам будет нужно это позже):
$ readlink /sys/block/mmcblk0p1
../devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/mmcblk0p1
Примечание: Интересная часть, если ответ является host1, который определяет контроллер.
Отключите устройство
$ echo 1 > /sys/block/mmcblk0p1/device/delete
Примечание: Это удалит устройство из шины (логически). Заглянуть dmesg
для подтверждения.
Повторно просканируйте контроллер
$ echo "- - -" > /sys/class/scsi_host/host1/scan
Примечание: host1 является идентификатором от шага один. Снова, dmesg
должен показать открываемое вновь устройство.
У меня была такая же проблема (ошибки ввода / вывода, как показано выше) после изменения SD-карт на лету в встроенном устройстве (читатель Ebook Cobo). Это не обнаружило бы новую карту, ее емкости и так далее и вместо этого ожидают, что старая карта еще присутствует.
Перезагрузка модуля было невозможно, так как водитель был встроен. Устройство / Удалить
или Хост / сканирование
не было доступно. Установка параметра «Съемный» модуль не сделал его работы.
Решение в моем случае состоит в UNBIND
, и впоследствии связываться
, драйвер для блочного устройства MMC.
# blockdev --getsize64 /dev/mmcblk0
3965190144
# readlink /sys/block/mmcblk0
../devices/platform/mxsdhci.2/mmc_host/mmc0/mmc0:af9e/block/mmcblk0
# echo mxsdhci.2 > /sys/bus/platform/drivers/mxsdhci/unbind
~~~ change card ~~~
# echo mxsdhci.2 > /sys/bus/platform/drivers/mxsdhci/bind
# blockdev --getsize64 /dev/mmcblk0
8168931328
Приятно, что это только влияет на интересующее вас устройство. Если есть другая карта во внешнем слоте (тот же драйвер, / dev / mmcblk1
).