|
Chapter 3. Аппаратная совместимость
Да. FreeBSD поддерживает архитектуры Intel x86 и DEC (сейчас Compaq) Alpha. Также был проявлен интерес к переносу FreeBSD на платформу SPARC. Если вы хотите подключиться к этому проекту, подпишитесь на соответствующий <freebsd-sparc@FreeBSD.org> список рассылки. В список планируемых к поддержке платформ совсем недавно добавились архитектуры IA-64 и PowerPC, дополнительную информацию можно получить, подключившись к соответствующим спискам рассылки <freebsd-ia64@FreeBSD.org> и/или <freebsd-ppc@FreeBSD.org>. Для обсуждение общих вопросов, касающихся новых аппаратных платформ, предназначен список рассылки <freebsd-platforms@FreeBSD.org>. Если апаратная платформа Вашего компьютера не поддерживается FreeBSD и Вам нужно его запустить прямо сейчас, мы советуем обратить Ваш взгляд также на NetBSD и OpenBSD. 3.2. Я хочу приобрести аппаратуру для моей системы FreeBSD. Какая модель/производитель/тип лучше всего? Это постоянно обсуждается в списках рассылки FreeBSD. Так как аппаратура меняется так быстро, мы это ожидаем. Мы все же сильно рекомендуем, чтобы вы прочитали Hardware Notes и выполнили поиск по архивам списков рассылки перед тем, как задавать вопросы о самом последнем и лучшем оборудовании. Весьма вероятно, что обсуждение требуемого вам оборудование как раз было на прошлой неделе. Если вы подбираете лаптоп, посмотрите архивы списка рассылки FreeBSD-mobile. В противном случае вам нужны архивы FreeBSD-questions или, возможно, специфичные списки рассылки по конкретному типу оборудования. FreeBSD работает с дисками стандартов EIDE и SCSI (с соответствующими контроллерами; обратитесь к следующему разделу), и всеми дисками, использующими оригинальный интерфейс "Western Digital" (MFM, RLL, ESDI и, конечно же, IDE). Некоторые контроллеры ESDI, использующие собственные интерфейсы, могут и не работать: к таким относятся WD1002/3/6/7 и их клоны. Полный список приведён в текущих Замечаниях по оборудованию. Поддерживаются любые SCSI-устройства чтения компакт дисков, подключенные к поддерживаемому контроллеру. Кроме того, поддерживаются следующие оригинальные интерфейсы CDROM:
Все не-SCSI адаптеры ставятся своей медлительностью по сравнению со SCSI, а некоторые CDROM стандарта ATAPI могут и не работать. С версии 2.2 компакт-диск с FreeBSD от FreeBSD Mall является загрузочным. FreeBSD поддерживает все ATAPI-совместимые IDE-приводы CD-R или CD-RW. Для FreeBSD версии 4.0 и выше обратитесь к справочной странице по команде burncd(8). Для более ранних версий FreeBSD посмотрите примеры в /usr/share/examples/atapi. FreeBSD поддерживает также все SCSI-приводы CD-R или CD-RW. Установите и используйте программу cdrecord из системы портов или пакаджей, но проверьте, что в вашем ядре присутствует устройство pass. Конечно же, FreeBSD поддерживает ZIP-устройства SCSI. Устройству ZIP могут быть назначены SCSI ID только 5 или 6, и если BIOS вашего SCSI-адаптера поддерживает такую возможность, вы можете с него даже загрузиться. Неизвестно, какие адаптеры позволяют загрузиться с устройств, номера которых отличны от 0 или 1, так что вам придётся обратиться к документации, если вам это нужно. Устройства ZIP стандарта ATAPI (IDE) поддерживаются FreeBSD начиная с версии 2.2.6. FreeBSD поддерживает устройства Zip, работающие через параллельный порт, начиная с версии 3.0. Если вы используете более новую версию, проверьте, содержит ли ваше ядро драйверы для scbus0, da0, ppbus0 и vp0 (ядро GENERIC содержит всё это, кроме vp0). Если эти драйверы имеются, то устройство должно быть доступно как /dev/da0s4. Диски могут быть смонтированы командами mount /dev/da0s4 /mnt или (для дисков dos) mount_msdos /dev/da0s4 /mnt соответственно. Также посмотрите FAQ по съёмным носителям далее в этой главе, а также замечание о "форматировании" в главе об администрировании. Кроме IDE-варианта устройства EZ, это всё устройства SCSI, так что для FreeBSD все они должны выглядеть как диски SCSI, а IDE EZ должен выглядеть как диск IDE. Я не знаю, насколько хорошо FreeBSD поддерживает смену носителя во время работы. Конечно, чтобы сменить диск, вам сначала нужно его размонтировать, и обратите внимание на то, что при загрузке все внешние устройства должны быть включены, чтобы FreeBSD могла их распознать. Посмотрите это замечание о "форматировании". Список таких устройств находится в разделе о различных устройствах Руководства. Некоторые безымянные клоны таких адаптеров тоже работают нормально, особенно те, которые заявляют о своей совместимости с AST. Прочтите страницы Справочника о sio(4) для получения подробной информации о конфигурировании таких адаптеров. Поддержка устройств USB была добавлена во FreeBSD 3.1. Однако там она ещё находилась в стадии разработки и не всегда работает так же, как в версии 3.2. Если вы хотите поэкспериментировать с поддержкой клавиатуры USB, следуйте нижеприводимым указаниям.
После перезагрузки системы 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). 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). Если вы используете 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 войдя в систему администратором. Если вы используете стандартный драйвер консоли, 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. Этот вопрос рассмотрен в другом разделе. После того, как вы запустили даемон мыши (посмотрите предыдущий раздел), нажмите кнопку 1 (левую) и двигайте мышь для выбора области выделения. Затем нажмите кнопку 2 (среднюю) или кнопку 3 (правую) для вставки текста из буфера, начиная с текущей позиции курсора. В версиях 2.2.6 и выше, нажатие на кнопку 2 вызовет вставку текста. Нажатие на кнопку 3 "расширит" выбранный область текста. Если у вашей мыши отсутствует средняя кнопка, вы можете её сэмулировать или переназначить кнопки опциями программы moused. Обратитесь к странице Справочника по moused(8). Рудиментарная поддержка устройств USB была добавлена во FreeBSD 3.1. В ранних версиях 3.X она не всегда работала. Начиная с FreeBSD 4.0, устройства USB должны работать без дополнительных ухищрений. Если вы хотите поэкспериментировать с поддержкой мыши USB во FreeBSD 3.X, следуйте нижеприводимым указаниям.
Поддержке мыши при работе в X посвящен другой раздел. Выключение и включение мыши USB на ходу может ещё не работать совершенно корректно. Во избежание неприятностей было бы правильно подключить мышь перед запуском системы и не отключать её до закрытия системы. Ответ, к сожалению, "в зависимости от обстоятельств". Эти мышки с дополнительными возможностями, как правило, требуют наличия специальных драйверов. До тех пор, пока драйвер мыши или прикладная программа не будут иметь отдельную поддержку такой мыши, она будет работать как стандартная двух- или трёхкнопочная мышь. Возможные способы использования колёсиков мыши при работе в X Window описаны в другом разделе. 3.17. Похоже, что моя мышь не работает. Её курсор прыгает по экрану. Мышь имеет колёсико и подключено к порту мыши 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 должны работать нормально. Посмотрите ответ на предыдущий вопрос. Также посмотрите страницу о мобильных вычислениях. FreeBSD поддерживает устройства SCSI и QIC-36 (с интерфейсом QIC-02), включая 8-мм (Exabyte) и DAT. Некоторые ранние модели 8-мм стримеров не совсем соответствуют стандарту SCSI-2 и могут работать не совсем хорошо. FreeBSD 2.2 поддерживает SCSI-чейнджеры через устройство ch(4) и команду chio(1). Подробная информация об управлении чейнджерами может быть найдена на странице Справочника по команде chio(1). Если вы не используете AMANDA или другое программное обеспечение, умеющее работать с роботами, имейте в виду, что они могут только переносить ленты с одного места на другое, так что вам нужно самим отслеживать, в каком слоте находится нужная лента, и в какой слот нужно вернуть ленту, находящуюся в стримере. FreeBSD поддерживает звуковые адаптеры SoundBlaster, SoundBlaster Pro, SoundBlaster 16, Pro Audio Spectrum 16, AdLib и Gravis UltraSound. Имеется ограниченная поддержка MPU-401 и совместимых с ним адаптеров. Адаптеры, удовлетворяющие спецификации Microsoft Sound System, также поддерживаются драйвером pcm.
При каждой перезагрузке вам нужно запускать следующую команду: # mixer pcm 100 vol 100 cd 100 Более полный список содержится в разделе Руководства об адаптерах Ethernet.
Note: Это касается только владельцев компьютеров 386/486SX/486SLC - во всех остальных машинах модуль вычислений с плавающей точкой объединён с центральным процессором. В общем случае это не проблема, но в отсутствии сопроцессора вы можете столкнуться со снижением производительность и точности при использовании программной эмуляции сопроцессора (обратитесь к разделу об эмуляции вычислений с плавающей точкой). В частности, прорисовка дуг в X будет ОЧЕНЬ медленной. Приобретение математического сопроцессора настоятельно рекомендуется, он того стоит.
В Руководстве приведён список остальных устройств, которые поддерживаются во FreeBSD. FreeBSD поддерживает APM на некоторых машинах. Поищите в файле конфигурации ядра LINT слово APM. Более полная информация может быть найдена в справочной странице по apm(4). Этот раздел содержит решения специфичных проблем с аппаратным обеспечением, с которыми сталкиваются наши пользователи. Некоторые материнские платы Micron имеют BIOS, не удовлетворяющую стандарту PCI BIOS, что приводит к печальным последствиям при загрузке FreeBSD, потому что имеет место несоответствие устройств PCI занимаемым ими адресам. Для решения этой проблемы отключите в BIOS опцию "Plug and Play Operating System". Более подробная информация об этой проблеме находится по следующему адресу: http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron Новый набор микросхем 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. Вам нужно добавить 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 чтобы модем был распознан. FreeBSD поддерживает работу со многими программными модемами посредством специального дополнительного программного обеспечения. Установка порта comms/ltmdm добавит поддержку для можемов на основе очень популярного набора микросхем Lucent LT. Порт comms/mwavem поддерживает модемы, установленные в лаптопах IBM Thinkpad 600 и 700. Вы не сможете установить FreeBSD, работая через программный модем; это программное обеспечение должно быть установлено после установки ОС.
Некоторые материнские платы Micron имеют BIOS, не удовлетворяющую стандарту PCI BIOS, что приводит к несоответствию устройств PCI занимаемым ими адресам. Это приводит к печальным последствиям при загрузке FreeBSD. Для решения этой проблемы отключите в BIOS опцию "Plug and Play Operating System". Более подробная информация об этой проблеме находится по следующему адресу: http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron Поддержка SMP (Symmetric Multiprocessing) имеется только в 3.0-STABLE и последующих релизах. По умолчанию поддержка SMP в ядре GENERIC не включена, так что для её включения вам нужно будет перекомпилировать ядро. Посмотрите в файл /sys/i386/conf/LINT, чтобы определить, какие параметры нужно поместить в конфигурационный файл вашего ядра. |
Украинская Баннерная Сеть
|