faqs.org.ru

 Главная > Операционные системы > Семейство UNIX >

FAQ по FreeBSD 2.X и 3.X

Секция 3 из 10 - Предыдущая - Следующая
Все секции - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10

нижеприводимым указаниям.

 1. Используйте FreeBSD 3.2 и выше.

 2. В конфигурационный файл ядра добавьте следующие строки и перестройте ядро.

        device  uhci
        device  ohci
        device  usb
        device  ukbd
        options KBD_INSTALL_CDEV


    При использовании FreeBSD версий, предшествующих 4.0, добавьте вместо этого
    такие строки:

                  controller      uhci0
                  controller      ohci0
                  controller      usb0
                  controller      ukbd0
                  options         KBD_INSTALL_CDEV

 3. Перейдите в каталог /dev и создайте специальные файлы устройств следующим
    образом:

                  # cd /dev
                  # ./MAKEDEV kbd0 kbd1

 4. Отредактируйте файл /etc/rc.conf, добавив следующие строки:

                  usbd_enable="YES"
                  usbd_flags=""


После перезагрузки системы AT-клавиатуре будет соответствовать /dev/kbd0, а кла
виатуре USB - /dev/kbd1, если они обе подключены к системе. Если присутствует
только клавиатура USB, ей будет соответствовать /dev/ukbd0.

Если вы хотите использовать клавиатуру USB на консоли, вы должны явно указать
драйверу консоли на использование имеющейся клавиатуры USB. Это может быть
сделано в процессе инициализации системы следующей командой.

          # kbdcontrol -k /dev/kbd1 < /dev/ttyv0 > /dev/null


Заметьте, что, если клавиатура USB является единственной присутствующей, она
доступна как /dev/kbd0, и поэтому команда должна выглядеть примерно так:

    # kbdcontrol -k /dev/kbd0 < /dev/ttyv0 > /dev/null


Вышеуказанную команду хорошо бы добавить в /etc/rc.i386.

Как только вы всё это сделаете, клавиатура USB будет работать и в X-окружении
без каких-либо особых настроек.

Выключение и включение USB-клавиатуры на ходу может ещё не работать совершенно
корректно. Во избежание неприятностей было бы правильно подключить клавиатуру
перед запуском системы и не отключать её до закрытия системы.

За дополнительной информацией обратитесь к странице Справочника ukbd(4).

2.8. У меня необычная мышь типа bus mouse. Как её настроить?

FreeBSD поддерживает мыши типов bus mouse и InPort bus mouse от таких произв
одителей, как Microsoft, Logitech и ATI. Драйвер устройства bus mouse включен
по умолчанию в ядро GENERIC во FreeBSD версий 2.X, но не включён в версию 3.0 и
выше. Если вы строите собственное ядро с этим драйвером, добавьте следующую
строку в конфигурационный файл ядра

Во FreeBSD 3.0 и ранее, добавьте:

    device mse0 at isa? port 0x23c tty irq5 vector mseintr


Во FreeBSD 3.X строчка должна иметь вид:

    device mse0 at isa? port 0x23c tty irq5


А во FreeBSD 4.X и выше строчка должна быть такой:

    device mse0 at isa? port 0x23c irq5


Мышь типа bus mouse обычно поставляется с отдельными интерфейсными адаптерами.
Они позволяют установить адрес порта ввода/вывода и номер IRQ, отличающиеся от
приведённых выше. Для получения дополнительной информации обратитесь к
документации по вашей мыши и странице Справочника mse(4).

2.9. Как использовать мышь PS/2 (типа "mouse port" или "keyboard")?

Если вы используете FreeBSD версии выше, чем 2.2.5, то необходимый драйвер,
psm, включён в ядро и активизирован. Ядро должно обнаружить мышь PS/2 во время
загрузки.

Если вы работаете с предыдущей, но сравнительно свежей версией FreeBSD (2.1.x и
выше), то вы можете просто включить её поддержку в меню конфигурации ядра во в
ремя инсталляции, либо позже, указав -c в приглашении boot:. По умолчанию она
отключена, так что вы должны включить её явно.

Если вы используете более старую версию FreeBSD, то вам нужно добавить
следующие строки в файл конфигурации ядра и построить новое ядро.

Во FreeBSD 3.0 и ранее, строчка должна иметь вид:

    device psm0 at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr


Во FreeBSD 3.1 и выше, строчка должна быть такой:

    device psm0 at isa? tty irq 12


Во FreeBSD 4.0 и выше строчка должна иметь вид:

    device psm0 at atkbdc? irq 12


Обратитесь к главе Руководства о конфигурировании ядра, если вы не имели опыта
такой работы.

После того, как ядро правильно обнаружило psm0 во время загрузки, проверьте
существование файла устройства для psm0 в каталоге /dev. Это можно сделать,
набрав:

    # cd /dev; sh MAKEDEV psm0


войдя в систему администратором.

2.10. Можно ли каким-либо образом использовать мышь, кроме X Window?

Если вы используете стандартный драйвер консоли, syscons, то можете использов
ать указатель мыши в текстовых консолях для выделения и переноса текста.
Запустите демон мыши, moused, и включите отображение указателя мыши на консоли:

    # moused -p /dev/xxxx -t yyyy
    # vidcontrol -m on


Здесь xxxx - это имя устройства мыши, а yyyy - тип протокола, используемого
мышью. Страница Справочника по moused(8) содержит информацию о поддерживаемых
типах протоколов.

Вы можете запускать демон мыши автоматически во время старта системы. В версии
2.2.1, установите значение следующей переменной в /etc/sysconfig.

    mousedtype="yyyy"
    mousedport="xxxx"
    mousedflags=""


В версиях от 2.2.2 и до 3.0, установите значения следующих переменных в файле /
etc/rc.conf.

    moused_type="yyyy"
    moused_port="xxxx"
    moused_flags=""


В версиях 3.1 и выше, если предположить, что у вас мышь типа PS/2, то
достаточно добавить строчку moused_enable="YES" в файл /etc/rc.conf.

Кроме того, если вы хотите использовать даемон мыши на всех виртуальных
терминалах, а не только на консоли во время загрузки, добавьте следующую строку
в файл /etc/rc.conf.

    allscreens_flags="-m on"


Начиная с FreeBSD 2.2.6, даемон мыши в состоянии определять тип протокола ав
томатически, если, конечно, мышь не достаточно древней модели. Укажите auto для
автоматического определения типа протокола.

После запуска даемона мыши, доступ к мыши должен согласовываться между даемоном
мыши и другими программами типа X Window. Этот вопрос рассмотрен в другом
разделе.

2.11. Как можно вырезать и копировать текст с помощью мыши в текстовой консоли?

После того, как вы запустили даемон мыши (посмотрите предыдущий раздел),
нажмите кнопку 1 (левую) и двигайте мышь для выбора области выделения. Затем
нажмите кнопку 2 (среднюю) или кнопку 3 (правую) для вставки текста из буфера,
начиная с текущей позиции курсора.

В версиях 2.2.6 и выше, нажатие на кнопку 2 вызовет вставку текста. Нажатие на
кнопку 3 "расширит" выбранный область текста. Если у вашей мыши отсутствует
средняя кнопка, вы можете её сэмулировать или переназначить кнопки опциями
программы moused. Обратитесь к странице Справочника по moused(8).

2.12. У меня мышь USB. Поддерживает ли FreeBSD мышь USB?

Поддержка устройств USB была добавлена во FreeBSD 3.1. Однако там она ещё
находилась в стадии разработки и не всегда работает так, как в версии 3.2. Если
вы хотите поэкспериментировать с поддержкой мыши USB, следуйте нижеприводимым
указаниям.

 1. Используйте FreeBSD 3.2 и выше.

 2. В конфигурационный файл ядра добавьте следующие строки и перестройте ядро.

        device  uhci
        device  ohci
        device  usb
        device  ums


    Во FreeBSD версий, предшествующих 4.0, вместо этого добавьте такие строчки:

                  controller     uhci0
                  controller     ohci0
                  controller     usb0
                  device         ums0

 3. Перейдите в каталог /dev и создайте специальный файл устройства такой
    командой:

                  # cd /dev
                  # ./MAKEDEV ums0

 4. Отредактируйте файл /etc/rc.conf, добавив такие строчки:

                  moused_enable="YES"
                  moused_type="auto"
                  moused_port="/dev/ums0"
                  moused_flags=""
                  usbd_enable="YES"
                  usbd_flags=""


    Подробное обсуждение moused может быть найдено в предыдущем разделе.

 5. Чтобы использовать мышь USB при работе в X, отредактируйте файл XF86Config.
    Если вы используете XFree86 3.3.2 и выше, то в разделе Pointer должны
    присутствовать такие строки:

                  Device         "/dev/sysmouse"
                  Protocol       "Auto"


    Если у вас более старая версия XFree86, то в разделе Pointer должны
    присутствовать строки:

                  Device         "/dev/sysmouse"
                  Protocol       "SysMouse"


Поддержке мыши при работе в X посвящен другой раздел.

Выключение и включение мыши USB на ходу может ещё не работать совершенно
корректно. Во избежание неприятностей было бы правильно подключить мышь перед
запуском системы и не отключать её до закрытия системы.

2.13. У моей мыши есть дополнительные колёсико и кнопочки. Можно ли их использо
вать во FreeBSD?

Ответ, к сожалению, "в зависимости от обстоятельств". Эти мышки с
дополнительными возможностями, как правило, требуют наличия специальных драйв
еров. До тех пор, пока драйвер мыши или прикладная программа не будут иметь
отдельную поддержку такой мыши, она будет работать как стандартная двух- или тр
ёхкнопочная мышь.

Возможные способы использования колёсиков мыши при работе в X Window описаны в
другом разделе.

2.14. Похоже, что моя мышь не работает. Её курсор прыгает по экрану. Мышь имеет
колёсико и подключено к порту мыши PS/2.

В драйвере psm для мыши PS/2 во FreeBSD версий 3.2 и ранее имеются проблемы при
работе с некоторыми мышками, у которых есть колёсико, в том числе с мышками
Logitech модель M-S48 и их OEM-разновидностями. Исправьте файл /sys/i386/isa/
psm.c с помощью следующего патча и перестройте ядро.

    Index: psm.c
    ===================================================================
    RCS file: /src/CVS/src/sys/i386/isa/Attic/psm.c,v
    retrieving revision 1.60.2.1
    retrieving revision 1.60.2.2
    diff -u -r1.60.2.1 -r1.60.2.2
    --- psm.c      1999/06/03 12:41:13     1.60.2.1
    +++ psm.c      1999/07/12 13:40:52     1.60.2.2
    @@ -959,14 +959,28 @@
         sc->mode.packetsize = vendortype[i].packetsize;

         /* set mouse parameters */
    +#if 0
    +    /*
    +     * A version of Logitech FirstMouse+ won't report wheel movement,
    +     * if SET_DEFAULTS is sent...  Don't use this command.
    +     * This fix was found by Takashi Nishida.
    +     */
         i = send_aux_command(sc->kbdc, PSMC_SET_DEFAULTS);
         if (verbose >= 2)
           printf("psm%d: SET_DEFAULTS return code:%04x\n", unit, i);
    +#endif
         if (sc->config & PSM_CONFIG_RESOLUTION) {
             sc->mode.resolution
               = set_mouse_resolution(sc->kbdc,
    -              (sc->config & PSM_CONFIG_RESOLUTION) - 1);
    +                                 (sc->config & PSM_CONFIG_RESOLUTION) - 1);
    +    } else if (sc->mode.resolution >= 0) {
    +      sc->mode.resolution
    +          = set_mouse_resolution(sc->kbdc, sc->dflt_mode.resolution);
    +    }
    +    if (sc->mode.rate > 0) {
    +      sc->mode.rate = set_mouse_sampling_rate(sc->kbdc, sc->dflt_mode.rate);
         }
    +    set_mouse_scaling(sc->kbdc, 1);

         /* request a data packet and extract sync. bits */
         if (get_mouse_status(sc->kbdc, stat, 1, 3) < 3) {

Версии FreeBSD выше чем 3.2 должны работать нормально.

2.15. Как использовать мышь/трэкболл/сенсорную панель на лэптопе?

Посмотрите один из предыдущих разделов. И посмотрите это замечание на странице
о мобильных вычислениях.

2.16. Какие типы стримеров поддерживаются?

FreeBSD поддерживает стримеры с интерфейсами SCSI, QIC-36 (с интерфейсом
QIC-02) и QIC-40/80 (на основе НГМД), включая 8-мм (Exabyte) и DAT. Стримеры
QIC-40/80 сравнительно медленны.

Некоторые ранние модели 8-мм стримеров не совсем соответствуют стандарту SCSI-2
и могут работать не совсем хорошо.

2.17. Поддерживает ли FreeBSD роботов для смены лент?

FreeBSD 2.2 поддерживает SCSI-чейнджеры через устройство ch(4) и команду chio
(1). Подробная информация об управлении чейнджерами может быть найдена на
странице Справочника по команде chio(1).

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

2.18. Какие звуковые адаптеры поддерживаются во FreeBSD?

FreeBSD поддерживает звуковые адаптеры SoundBlaster, SoundBlaster Pro,
SoundBlaster 16, Pro Audio Spectrum 16, AdLib и Gravis UltraSound. Имеется
ограниченная поддержка MPU-401 и совместимых с ним адаптеров. Адаптеры, удовлет
воряющие спецификации Microsoft Sound System, также поддерживаются драйвером
pcm.

    Note: Это касается только звука! Этот драйвер не поддерживает CDROM, SCSI
    или джойстики ни на каких подобных адаптерах, кроме SoundBlaster. Поддержив
    аются устройства на SCSI-интерфейсе SoundBlaster и не-SCSI CDROM, но
    загрузиться с них невозможно.

2.19. Есть ли решение проблемы отсутствия звука при использовании драйвера pcm
с адаптером es1370?

При каждой перезагрузке вам нужно запускать следующую команду:

    # mixer pcm 100 vol 100 cd 100


2.20. Какие сетевые адаптеры поддерживает FreeBSD?

Более полный список содержится в разделе Руководства об адаптерах Ethernet.

2.21. На моей машине отсутствует математический сопроцессор - это плохо?

    Note: Это касается только владельцев компьютеров 386/486SX/486SLC - во всех
    остальных машинах модуль вычислений с плавающей точкой объединён с
    центральным процессором.

В общем случае это не проблема, но в отсутствии сопроцессора вы можете
столкнуться со снижением производительность и точности при использовании
программной эмуляции сопроцессора (обратитесь к разделу об эмуляции вычислений
с плавающей точкой). В частности, прорисовка дуг в X будет ОЧЕНЬ медленной.
Приобретение математического сопроцессора настоятельно рекомендуется, он того
стоит.

    Note: Некоторые математические сопроцессоры работают лучше, чем другие. Нам
    неприятно это признавать, но Intel пока никого не подводил. Если вы не ув
    ерены, что сопроцессор будет работать с FreeBSD, избегайте клонов.

2.22. Какие ещё устройства поддерживаются во FreeBSD?

В Руководстве приведён список остальных устройств, которые поддерживаются во
FreeBSD.

2.23. Поддерживает ли FreeBSD управление энергосбережением на лаптопах?

FreeBSD поддерживает APM на некоторых машинах. Поищите в файле конфигурации
ядра LINT слово APM.

2.24. Решение специфичных проблем с аппаратным обеспечением

Этот раздел содержит решения специфичных проблем с аппаратным обеспечением, с
которыми сталкиваются наши пользователи.

2.25. Компьютеры Micron зависают при загрузке

Некоторые материнские платы Micron имеют BIOS, не удовлетворяющую стандарту PCI
BIOS, что приводит к печальным последствиям при загрузке FreeBSD, потому что
имеет место несоответствие устройств PCI занимаемым ими адресам.

Для решения этой проблемы отключите в BIOS опцию "Plug and Play Operating
System".

Более подробная информация об этой проблеме находится по следующему адресу:
http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron

2.26. FreeBSD не распознаёт мой новейший контроллер от Adaptec.

Новый набор микросхем AIC789x от Adaptec поддерживается подсистемой CAM SCSI, в
первые появившейся в 3.0. Патчи для 2.2-STABLE находятся по адресу ftp://
ftp.FreeBSD.org/pub/FreeBSD/development/cam/. Загрузочный диск с поддержкой CAM
доступен по адресу http://people.FreeBSD.org/~abial/cam-boot/. В обоих случаях
прежде чем начать, прочтите файл README.

2.27. FreeBSD не находит внутренний модем Plug & Play.

Вам нужно добавить PnP ID вашего модема в список PnP ID драйвера последов
ательного порта. Для включения поддержки Plug & Play, откомпилируйте новое ядро
с опцией controller pnp0 в конфигурационном файле, и перезагрузите машину. Ядро
выведет список ID всех найденных PnP-устройств. Добавьте PnP ID модема в
таблицу в файле /sys/i386/isa/sio.c, где-то в районе 2777 строки. Чтобы найти
таблицу, поищите слово SUP1310 в структуре siopnp_ids[]. Снова постройте ядро,
проинсталлируйте его и перезагрузитесь. Теперь ваш модем должен быть опознан.

Вам может понадобиться отконфигурировать PnP-устройства командой pnp в
конфигураторе во время загрузки следующим образом:

    pnp 1 0 enable os irq0 3 drq0 0 port0 0x2f8

чтобы модем был распознан.

2.28. Как сделать, чтобы приглашение boot: выводилось на консоль на последов
ательном порту?

 1. Постройте ядро с параметром options COMCONSOLE.

 2. Создайте файл /boot.config, поместив туда только текст -P.

 3. Отключите клавиатуру.

Подробная информация находится в файле /usr/src/sys/i386/boot/biosboot/
README.serial.

2.29. Почему сетевой адаптер 3Com PCI не работает с компьютерами Micron?

Некоторые материнские платы Micron имеют BIOS, не удовлетворяющую стандарту PCI
BIOS, что приводит к несоответствию устройств PCI занимаемым ими адресам. Это
приводит к печальным последствиям при загрузке FreeBSD.

Для решения этой проблемы отключите в BIOS опцию "Plug and Play Operating
System".

Более подробная информация об этой проблеме находится по следующему адресу:
http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron

2.30. Поддерживает ли FreeBSD многопроцессорные системы (SMP)?

Поддержка SMP (Symmetric Multiprocessing) имеется только в 3.0-STABLE и
последующих релизах. По умолчанию поддержка SMP в ядре GENERIC не включена, так
что для её включения вам нужно будет перекомпилировать ядро. Посмотрите в файл
/sys/i386/conf/LINT, чтобы определить, какие параметры нужно поместить в
конфигурационный файл вашего ядра.

2.31. При загрузке с установочной дискеты машины с материнской платой ASUS K7V
зависают. Как это исправить?

Войдите в настройку BIOS и выключите защиту от загрузочных вирусов.

-------------------------------------------------------------------------------

Chapter 3. Устранение некоторых проблем

3.1. На моём винчестеры есть запорченные блоки!
3.2. FreeBSD не распознаёт мой EISA SCSI контроллер Bustek 742a!
3.3. Не распознаётся SCSI-контроллер на HP Netserver!
3.4. Что не так с IDE-контроллером CMD640?
3.5. Выдаются сообщения типа ed1: timeout.
3.6. При монтировании компакт-диска, выдаётся сообщение Incorrect super block.
3.7. При монтировании компакт-диска выдаётся сообщение Device not configured.
3.8. Мой принтер печатает невероятно медленно. Что тут можно сделать?
3.9. Программы аварийно завершают работу с ошибкой Signal 11.
3.10. При загрузке монитор темнеет и теряет синхронизацию!
3.11. У меня 128 МБ ОЗУ, но система используется только 64.
3.12. FreeBSD 2.0 аварийно завершает работу с сообщением kmem_map too small!
3.13. При перезагрузке с новым ядром выдаётся сообщение CMAP busy panic.
3.14. ahc0: brkadrint, Illegal Host Access at seqaddr 0x0
3.15. Sendmail говорит, что mail loops back to myself
3.16. Полноэкранные приложения на удалённой машине ведут себя неправильно!
3.17. Выводятся сообщения calcru: negative time...
3.18. Выдаётся сообщение pcm0 not found или мой звуковой адаптер определяется
    как pcm1, хотя в конфигурационном файле ядра указана строчка device pcm0
3.19. После обновления FreeBSD до версии 4.x мой PnP-адаптер больше не обнаружи
    вается (или определяется как unknown)

3.1. На моём винчестеры есть запорченные блоки!

Если это SCSI-устройство, то винчестер должен иметь возможность автоматической
переадресации таких блоков. Однако по непонятным причинам во многих постав
ляемых дисках эта возможность отключена...

Чтобы её включить, вам нужно изменить режим работы устройства, что во FreeBSD
может быть выполнено администратором посредством команды

    # scsi -f /dev/rsd0c -m 1 -e -P 3


и изменить значения параметров AWRE и ARRE с 0 на 1:-

    AWRE (Auto Write Reallocation Enbld):  1
    ARRE (Auto Read Reallocation Enbld):  1


Последующие параграфы были предоставлены Тэдом Миттельштадтом (Ted
Mittelstaedt):

Для дисков IDE появление запорченных блоков является признаком возможных
неприятностей. Все современные IDE-диски поставляются с включенной возможностью
переадресации испорченных блоков. Все производители винчестеров в настоящее в
ремя предоставляют расширенные гарантии и заменяют диски с запорченными
блоками.

Если вы всё же хотите спасти ваш диск IDE с запорченными блоками, вы можете
попытаться найти программу диагностики винчестеров от производителя и
протестировать ею диск. Иногда эти программы могут заставить электронику в
инчестера пересканировать диск в поисках испорченных блоков и заблокировать их.

В случае дисков стандартов ESDI, RLL и MFM, наличие испорченных блоков является
обычным явлением и не является большой проблемой. В ПК контроллер винчестера и
BIOS берут на себя работу по блокировке испорченных блоков. Это прекрасно
работает в случае операционных систем типа DOS, которые используют вызовы BIOS
для доступа к диску. Однако драйвер диска во FreeBSD не обращается к BIOS,
поэтому для обеспечения подобной функциональности существует bad144. bad144
работает только с драйвером wd (что означает, что эта утилита не поддерживается
во FreeBSD 4.0), её НЕВОЗМОЖНО использовать со SCSI. bad144 помещает все
найденные испорченные сектора в специальный файл.

У bad144 имеется особенность - специальный файл с испорченными блоками
помещается на последнюю дорожку диска. Так как этот файл может содержать список
испорченных секторов, находящихся в начале диска, где может располагаться файл
ядра /kernel, он должен быть доступен загрузчику, использующему вызовы BIOS для
чтения файла ядра. Это значит, что диск, который использует bad144, не должен
иметь размеры, превышающие 1024 дорожки, 16 головок и 63 сектора. Это ограничив
ает размер диска, обрабатываемого bad144, 500 мегабайтами.

Для использования bad144, просто установите "Bad Block" в положение ON на
экране программы fdisk во время начальной установки. Это работает начиная с
FreeBSD 2.2.7. Диск должен иметь размер, не превышающий 1024 дорожки.
Рекомендуется, чтобы до этого диск проработал не менее 4 часов для перехода в
рабочий тепловой режим и стабильный режим работы головок.

Если диск имеет размер, превышающий 1024 головки (как, например, большой диск
ESDI), контроллер ESDI использует особый режим трансляции, чтобы это работало в
DOS. Драйвер wd будет знать об этих режимах трансляции, ЕСЛИ вы укажете на
использование "преобразованных" параметров в команде "set geometry" программы
fdisk. Вы также НЕ должны использовать режим "dangerously dedicated" при в
ыделении раздела для FreeBSD, так как при этом параметры диска не принимаются в
о внимание. Также, хотя fdisk будет использовать изменённые параметры, он всё
же помнит настоящий размер диска, и попытается создать слишком большой раздел
FreeBSD. Если параметры диска изменились на транслированные, раздел ДОЛЖЕН быть
создан вручную с указанием количества блоков.

Самым быстрым способом является установка большого диска ESDI с контроллером
ESDI, загрузка DOS и выделение на нём раздела DOS. Затем запустите
инсталляционную программу FreeBSD и в экране программы fdisk найдите и запишите
размер блока и их количество раздела DOS. Затем установите параметры в те же
значения, которые использует DOS, удалите раздел DOS и создайте "совмещённый"
раздел FreeBSD с ранее записанным размером блока. Затем установите загрузку с
этого раздела и включите сканирование испорченных блоков. Во время установки
сначала, ещё до создания файловых систем, запустится bad144 (вы можете это ув
идеть по Alt-F2). Если возникнут проблемы при создании файла с запорченными
секторами, вы установили слишком большие параметры диска - перезагрузитесь и
начните всё сначала (включая повторные разбиение на разделы и форматирование в
инчестера в DOS).

Если переадресация включена и всё равно на диске присутствуют запорченные
блоки, то, по-видимому, остаётся только заменить винчестер. Количество
испорченных блоков с течением времени имеет тенденцию только увеличиваться.

3.2. FreeBSD не распознаёт мой EISA SCSI контроллер Bustek 742a!

Нижеследующая информация специфична для 742a, но может касаться и других
адаптеров от Buslogic (Bustek = Buslogic).

Существуют две основных "версии" адаптеров 742a. Это аппаратные модификации A-G
и модификации H и выше. Буква, обозначающая модификацию, расположена после
номера сборки на кромке адаптера. На адаптере 742a установлены две микросхемы
ПЗУ, одна содержит BIOS, а другая - микрокод (так называемое firmware). Для
FreeBSD не имеет значения используемая версия BIOS, но имеет значение версия
микрокода. Buslogic высылает обновления для ПЗУ, если вы позвоните в их отдел
технической поддержки. Микросхемы с BIOS и микрокодом поставляются соответств
ующими парами. В ПЗУ адаптера вы должны иметь самую последнюю версии микрокода
для вашей аппаратной модификации.

Адаптерам модификаций A-G может только подойти BIOS/Firmware версий вплоть до
2.41/2.21. Адаптерам модификаций H и старше подходят самые последние версии
BIOS/Firmware 4.70/3.37. Отличие между версиями микрокода заключается в том,
что версия микрокода 3.37 поддерживает механизм "round robin".

На адаптерах Buslogic проставлен серийный номер. Если у вас адаптер старой
модификации, вы можете позвонить в подразделение RMA фирмы Buslogic, сказать им
серийный номер адаптера и попытаться обменять его на более новую модификацию.
Если адаптер достаточно нов, то они его поменяют.

FreeBSD 2.1 поддерживает микрокод модификаций только 2.21 и выше. Если у вас в
ерсия микрокода старее, чем эта, то адаптер не будет распознаваться как адаптер
Buslogic. Однако он может быть опознан как Adaptec 1540. Ранние версии
микрокода от Buslogic содержат режим "эмуляции" AHA1540. Однако для
EISA-адаптера всё это выглядит как-то неприлично.

Если у вас адаптер старой модификации и вы получили микрокод 2.21 для него,
установите перемычку W1 в положение B-C, по умолчанию она находится в положении
A-B.

3.3. Не распознаётся SCSI-контроллер на HP Netserver!

В общем-то это известная проблема. EISA-контроллеры SCSI, расположенные на
материнской плате машин HP Netserver, занимают EISA-слот номер 11, так что все
"настоящие" слоты EISA будут ему предшествовать. Так как адресное пространство
для слотов EISA выше 10 пересекается с адресным пространством, предназначенным
для PCI, то автоконфигуратор FreeBSD в настоящее время не может эту проблему
нормально обойти.

Так что пока лучшее, что вы можете предпринять, это попытаться указать, что
пересечения диапазонов адресов нет :), установив опцию ядра EISA_SLOTS в
значение 12. Отконфигурируйте и откомпилируйте ядро так, как это описано в
разделе Руководства о конфигурировании ядра.

Конечно, это даст вам типичную ситуации "курица или яйцо" при установке системы
на такой машине. Для обхода этой проблемы внутри UserConfig есть специальный
хак. Не используя "визуального" интерфейса, а только интерфейс командной
строки, просто наберите

    eisa 12
    quit


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

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

    Note: Вы не сможете использовать режим dangerously dedicated на машинах HP
    Netserver. Полное описание причин содержится в этом замечании.

3.4. Что не так с IDE-контроллером CMD640?

Этот контроллер не рабочий. Он не может отрабатывать команды на обоих каналах
одновременно.

Решение этой проблемы существует и включается автоматически, если в вашей
системе используется этот контроллер. Подробная информация находится на
страницах Справочника по дисковому драйверу (man 4 wd).

Если вы уже работаете с FreeBSD 2.2.1 или 2.2.2 с IDE-контроллером CMD640 и
хотите использовать второй канал, постройте новое ядро с включенной опцией
options "CMD640". В версии 2.2.6 и выше это включено по умолчанию.

3.5. Выдаются сообщения типа ed1: timeout.

Обычно это вызвано конфликтом прерываний (например, двух адаптеров,
использующих один и тот же IRQ). FreeBSD до версии 2.0.5R была нечувствительна
к таким конфликтам, и драйвер сетевого адаптера оставался работоспособен даже
при конфликтах IRQ. Однако с версии 2.0.5R и выше, конфликты IRQ больше не
считаются безобидными. Загрузитесь с опцией -c и смените строку, описывающую
ed0/de0/... на соответствующую вашей системе..

Если вы используете разъём BNC сетевого адаптера, таймауты устройства могут
быть вызваны плохим терминированием. Чтобы это проверить, подключите терминатор
к адаптеру (без кабеля) и посмотрите, не исчезли ли сообщения об ошибках.

Некоторые NE2000-совместимые адаптеры выдают такую ошибку, если нет связи по
UTP-порту или отключен кабель.

3.6. При монтировании компакт-диска, выдаётся сообщение Incorrect super block.

В параметрах команды mount вам нужно указать тип устройства, который вы
собираетесь смонтировать. По умолчанию mount(8) полагает, что монтируемая файло
вая система имеет тип ufs. При монтировании файловой системы CDROM нужно
указать опцию -t cd9660 в команде mount(8). При этом, конечно же,
предполагается, что CDROM содержит файловую систему стандарта ISO 9660, как на
большинстве CDROM. С версии 1.1R FreeBSD автоматически распознаёт также
расширение Rock Ridge (для длинных имён файлов).

Например, если вы хотите смонтировать устройство CDROM /dev/cd0c в каталог /
mnt, вы должны выполнить следующую команду:

    # mount -t cd9660 /dev/cd0c /mnt


Заметьте, что имя устройства (/dev/cd0c в этом примере) может быть другим, в за
висимости от интерфейса вашего CDROM. Отметьте, что опция -t cd9660 всего лишь
приводит к вызову команды mount_cd9660, так что пример выше может быть укорочен
до такой команды:

    # mount_cd9660 /dev/cd0c /mnt


3.7. При монтировании компакт-диска выдаётся сообщение Device not configured.

Обычно это означает, что в приводе CDROM нет компакт-диска либо устройство не
было обнаружено на этапе загрузки. Вставьте в привод какой-нибудь диск, и/или
проверьте его настройку как ведущего/ведомого устройства, если оно типа IDE
(ATAPI). Для привода CDROM может потребоваться несколько секунд для
обнаружения, что был вставлен диск, так что будьте терпеливыми.

Иногда SCSI CDROM может отсутствовать в системе из-за недостатка времени на отв
ет при сбросе шины. Если ваш привод CD-ROM является SCSI-устройством,
пожалуйста, попробуйте добавить такой символ в ваш файл конфигурации ядра и
перекомпилируйте его.

    options "SCSI_DELAY=15"


3.8. Мой принтер печатает невероятно медленно. Что тут можно сделать?

Если принтер подключен к параллельному порту, и единственной проблемой является
его медлительность, попробуйте установить порт в режим "polled":

    # lptcontrol -p


Утверждается, что некоторые новейшие принтеры от HP не работают корректно в
режиме прерываний, скорее всего из-за (это ещё не совсем точно выяснено)
проблем с временными задержками.

3.9. Программы аварийно завершают работу с ошибкой Signal 11.

Ошибки выполнения, связанные с 11 сигналом, происходят, когда ваш процесс
пытается обратиться к области памяти, доступ к которой ему не был дан
операционной системой. Если что-то подобное происходит в случайные на первый в
згляд промежутки времени, то вам нужно попытаться выяснить подробности
происходящих событий более детально.

Эти проблемы могут быть классифицированы следующим образом:

 1. Если проблема возникает только в определенном приложении, которое было
    самостоятельно вами разработано, то, скорее всего, это ошибка в вашем коде.

 2. Если это проблема в части базового комплекта системы FreeBSD, то это тоже
    может быть ошибка в программном коде, хотя в большинстве случаев такие
    проблемы обнаруживаются и ошибки исправляются задолго до того, как обычным
    читателям FAQ доводится использовать этот код (именно для этого

Секция 3 из 10 - Предыдущая - Следующая

Вернуться в раздел "Семейство UNIX" - Обсудить эту статью на Форуме
Главная - Поиск по сайту - О проекте - Форум - Обратная связь

© faqs.org.ru