LINUX.ORG.RU

Проблема с AHCI.

 ,


0

1

Добрый день, в разных дистрибутивах встречаю проблему ahci failed stop FIS RX (-16) при запуске и выключении. Поиск в интернете ничем не помог, возможно у вас есть идеи в чём проблема?

Ответ на: комментарий от ololoid

На работу никак не влияет, но эмоциональный осадок остается. Возможно это можно решить, поэтому я задал вопрос.

cimidellate
() автор топика
Ответ на: комментарий от Minona

Забить, конечно, можно. Но мучать будет вопрос «откуда?», ведь раньше такого не было. Я лазил по сурцам, видел код, отвечающий за вывод этой ошибки, но значения я так и не понял.

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

видел код,

Тоже полез посмотреть ) Вот это, видимо:

	/* disable FIS reception */
	rc = ahci_stop_fis_rx(ap);
	if (rc) {
		*emsg = "failed stop FIS RX";
		return rc;
	}
там внутри:
	if (tmp & PORT_CMD_FIS_ON)
		return -EBUSY;
других вариантов вернуться не нулем просто нет.

А PORT_CMD_FIS_ON это /* FIS DMA engine running */

А DMA engine running это... Надо просить помощи клуба ) Сижу, гуглю, пока ничего не понятно )

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

Вы, однако, нарыли больше, чем это сделал я :). Но как такое могло попасть в ядро, если никогда нулем не возвращается?

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

Наоборот. Всегда нулём.

Только если выпал флаг «DMA engine running» - будет не ноль.

Осталось понять, что это за зверь.

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

В смысле - понятно, что оно ждёт сброса каких-то регистров. Но почему-то не дожидается у вас. Секунду ждёт. Потом вываливается с сообщением «не дождался».

/* wait for completion, spec says 500ms, give it 1000 */

Как-то так.

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

Не знаю. Надо позвать сюда кого-нибудь понимающего, как работает на уровне железа это DMA.

Судя по гуглу - это что-то чрезвычайно низкоуровневое/аппаратное.

Попробуйте поискать в BIOS какие-то настройки тайм-аутов.

----------

А. Ну, тоже понятно - закомментировать к псам это сообщение в исходниках, пересобрать ядро и вся недолга тоже вариант )

Toxo2 ★★★★
()
Последнее исправление: Toxo2 (всего исправлений: 1)
Ответ на: комментарий от Toxo2

Я неоднократно залазил в уефи-биос, но так ничего и не нарыл. Я на минуту подумал про пересборку ядра, но вспомнил про генту и испугался… В любом случае, спасибо за помощь!

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

Ах, тогда бы я не парился. Вендор матплаты или самого винта могли где-то подзабить на стандарты, такое бывает :)

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

Насколько я понял - само сообщение на экран вам пишет функция dev_warn.

Если вопрос только в подавлении сообщения - наверное можно попробовать добавить параметр ядра loglevel=3, чтобы Warning conditions не падали.

Toxo2 ★★★★
()
Последнее исправление: Toxo2 (всего исправлений: 1)
Ответ на: комментарий от cimidellate

Тебе с этим ничего и не надо делать, у тебя железо кривое и не сбрасывает DMA когда надо.

Потому что ты явно не полезешь копаться в детали того почему твой sata controller не останавливает свой DMA engine.

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

а блин, это ноут.
отбой, там нет кабеля.☺

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