nixp.ru v3.0

22 октября 2017,
воскресенье,
22:02:52 MSK

DevOps с компанией «Флант»
Genie написал 8 декабря 2003 года в 06:01 (520 просмотров) Ведет себя как мужчина; открыл 40 тем в форуме, оставил 4758 комментариев на сайте.

Значит что.

Имеется система ALT Linux Master 2.2

Ядрышко сменил на 2.4.22. Долго вылизывал конфиг, чтобы более-менее соответствовал стандартному 2.4.20.

Ну ладно, в какой-то момент стало почти все как надо.

Остановился на этом.

Но вот, появилось время и дальше стал экспериментировать. То, сё, пятое, десятое… :)

И вот, как оказалось, RW-шка видится как scsi, читает превосходно,… Однако, при записи cdrecord выдает ошибку 255 :( Подозреваю, что после модификации конфига. А вот где именно — понять не могу.

В общем, какие кусочку конфигов тут привести, чтобы потом можно было ткнуть пальцем в неправильно сконфигурированные параметры? (большие они конфиги, так бы тут их целиком привел..)

Anarchist
Genie
Значит что.

Имеется система ALT Linux Master 2.2

Ядрышко сменил на 2.4.22. Долго вылизывал конфиг, чтобы более-менее соответствовал стандартному 2.4.20.

Ну ладно, в какой-то момент стало почти все как надо.

1. А со старым ядром нормально работает?

2. Собрать со старым конфигом заломало?

Genie

Да есть и старое. и 2.4.20-alt… и 2.4.22, в котором пишет. все они есть, перегрузился,.. ээ.. скомпилял заново прослойку nVidia-вовских дровишек, и все нормально. Но.

Меня как раз последнее ядро больше устраивает. И разница между ними (текущим и в том, где RW-шка работает) — очень большая. Вот и не хочется мне заново все параметры перетрясать. А хочется разобраться, что не так и где не так.

fly4life

«SCSI CD-ROM» и «SCSI GENERIC» включены?

blacklion

накопать гуглем cdrecord howto и смотреть какие опции требуюся в ядре

Genie

Не нашел именно такие переменные в .config, но вот что в новом и в старом о SCSI вообще слышно..:

CONFIG_BLK_DEV_IDESCSI=m
#
# SCSI support
#
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=m
CONFIG_SD_EXTRA_DEVS=40
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
CONFIG_BLK_DEV_SR=m
# CONFIG_BLK_DEV_SR_VENDOR is not set
CONFIG_SR_EXTRA_DEVS=2
CONFIG_CHR_DEV_SG=y
CONFIG_SCSI_DEBUG_QUEUES=y
CONFIG_SCSI_MULTI_LUN=y
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set
#
# SCSI low-level drivers
#
# все прибито..
# а разница только вот в этом. там, где пишет стоит тут везде "y", а в том, что не пишет "m"
#
# I2O device support
#
CONFIG_I2O=y
CONFIG_I2O_PCI=y
CONFIG_I2O_BLOCK=y
CONFIG_I2O_LAN=y
CONFIG_I2O_SCSI=y
CONFIG_I2O_PROC=y
fly4life

> CONFIG_BLK_DEV_IDESCSI=m

> CONFIG_BLK_DEV_SR=m

Эти модули загружены?

Genie

ide-scsi загружен 100% да.

а вот второй — не уверен. Посмотреть смогу только вечером, а сообщить сюда — утром.. :) комп-то дома..

fly4life

Тогда глянь ещё вот что.

В опции загрузчика должно быть указано, что твой сидюк — сказёвый. Пример:

Если у тебя lilo, то в lilo.conf:

# linux-2.4.22

image=/boot/vmlinuz-2.4.22

label=linux-2.4.22

root=/dev/hda6

read-only

append=«hdc=ide-scsi»

Если grub, то в его конфиге:

title linux-2.4.22

kernel /boot/vmlinuz-2.4.22 root=/dev/hda6 hdc=ide-scsi

boot

Где hdc — сидюк, как ты уже догадался =)

Genie

Не, ну уж совсем-то не стоит прописные истины расписывать :)

Да, привод hdc, да, опция hdc=ide-scsi присутствует в строке append, с другим ядром-то работает..

Разница — конфиг при компиляции.

Пока определилась поддержка i2o. В «пишущум» ядре оно вкомпилировано, а в текущем, которое не пишет, включено модулем.

fly4life
Genie
Не, ну уж совсем-то не стоит прописные истины расписывать :)

Да, привод hdc, да, опция hdc=ide-scsi присутствует в строке append, с другим ядром-то работает..

Ну мало ли… =)

Genie
Пока определилась поддержка i2o. В «пишущум» ядре оно вкомпилировано, а в текущем, которое не пишет, включено модулем.

А i2o ни причём. У меня оно вообще выключено и всё пишет =)

Genie

Ну может этими двумя конфигами в мыло кинуть? :)

fly4life

Да без базара =) Кидай.

Anarchist
Genie
Да есть и старое. и 2.4.20-alt… и 2.4.22, в котором пишет. все они есть, перегрузился,.. ээ.. скомпилял заново прослойку nVidia-вовских дровишек, и все нормально. Но.

Меня как раз последнее ядро больше устраивает. И разница между ними (текущим и в том, где RW-шка работает) — очень большая. Вот и не хочется мне заново все параметры перетрясать. А хочется разобраться, что не так и где не так.

Почему не последнее?

С kernel.org?

Бери, последнее, накладывай патчи и собирай с имеющимся конфигом.

Если хочешь, чтобы все работало; собирай с имеющимся конфигом. Изменяя его только в том, что тебе необходимо и что ты изучил.

ЗЫ: Что там cdrecord -scanbus говорит?

Genie
Anarchist
Почему не последнее?

С kernel.org?

На тот момент, когда я последний раз туда заглядывал, это и было последнее. Ну нет у меня зуда пользовать самое-самое. :)

Anarchist
Бери, последнее, накладывай патчи и собирай с имеющимся конфигом.

Если хочешь, чтобы все работало; собирай с имеющимся конфигом. Изменяя его только в том, что тебе необходимо и что ты изучил.

ЗЫ: Что там cdrecord -scanbus говорит?

Все мы вумные, пока сами не стукнемся головой во что-нить.

Я не расписал симптомы. Потому что сам хочу разобраться и понять, что и где.

Итак. Система видит ide-RW привод. Как scsi устройство. cdrecord и пр. (т.е. графические писалки) определяют его как SCSI generic mmc CD-RW (Teac CDW540E).

При попытке записи идет отсчет времени на отмену записи, потом немного (1-2 секунды) диск в приводе покрутится и cdrecord выдает ошибку 255, выбрасывая при этом диск (т.е. трей открывается).

Конфиги на предмет scsi, ide практически идентичны (разница только в i2o, ну мож еще где сныкалось чего).

Вот и спросил. общно. что может быть не так. какую секцию конфига смотреть вперед, какую — после.

Я вполне допускаю, что может быть из-за включения/выключения ACPI. мало ли..

В ощем, буду читать cdwriting howto, diff-ить конфиги, править их, компилять ядро и перегружаться, перегружаться, перегружаться….

Anarchist
Genie
Вот и спросил. общно. что может быть не так. какую секцию конфига смотреть вперед, какую — после.

Мой тебе совет:

1. Бэкап текущего конфига.

2. Пересборка ядра с старым конфигом.

3. Проверка на дискете (RW-болванка).

Если работает — проблема в конфиге.

Если не работает — в совместимости версии ядра с конкретным железом (что ИМХО маловероятно).

Genie

Гхм. :) Может я где невнятно (или вообще не-) написал, что есть ядро (2.4.22) в котором пишет, и есть — в котором не пишет (2.4.22-my).

Чтобы использовать их, перекомпилировать нужно только прослойку nVidia-драйверов…

Ладно, как я уже написал, буду разбираться построчно с конфигами..

blacklion

все же я бы рекомендовал взять 2.4.23. там пофиксен серьезная дыра и куча багов. плюс криптование добавили

Longobard
Если работает — проблема в конфиге.

Если не работает — в совместимости версии ядра с конкретным железом (что ИМХО маловероятно).

Проблема точно не в дровах / оборудовании. Я счас как раз пишу прогу под SCSI generic драйвером, и с этим драйвером проблем быть не может. Если в чем и могут быть траблы, так это в ядре/конфиге. Скачай пакет sg3_utils, там есть маленький сишник, который реализует команду TEST UNIT READY. Дело в том, что у тебя судя по всему происходит так: при записи диска cdrecord устанавливает скорости чтения/записи и начинает посылать комнду TEST UNIT READY. Пока болванка еще не разогналась, приходит отрицательный ответ от привода. Когда болвань готова — ответ положительный. cdrecord посылает эту команду в течении n секунд, количество этих секунд прописано где-то в его настройках. Хотя как могли поменятся настройки cdrecord при смене ядра я понятия не имею. Но в твоем случае это число n слишком мало, cdrecord не дожидается готовности болвани и выплевывает ее. Короче качай sg3_utils ( могу на мыло выслать если надо), компиль сишник и пробуй запустить его. Если получится — то проблема не в дровах/оборудовании.

Genie

Проблема именно что в конфиге на моем железе.

Ворачиваю работающий конфиг, компиляю ядро, перегружаюсь — и работает.

Если кому интересно, могу прислать оба конфига, инфу по железу (кстати, какими командами чего снимать, чтобы более-менее полную ифу получить?)

fly4life
Genie
Если кому интересно, могу прислать оба конфига, инфу по железу (кстати, какими командами чего снимать, чтобы более-менее полную ифу получить?)

Для начала сравни в рабочем и нерабочем конфигах выводы команд:

cat /proc/scsi/scsi

cat /proc/scsi/sg/device_strs