diff --git a/FAQ/hardware.sgml b/FAQ/hardware.sgml index 4949d3299a..467dd2a9ef 100644 --- a/FAQ/hardware.sgml +++ b/FAQ/hardware.sgml @@ -1,419 +1,495 @@ - + Hardware compatibility What kind of hard drives does FreeBSD support?

FreeBSD supports EIDE and SCSI drives (with a compatible controller; see the next section), and all drives using the original "Western Digital" interface (MFM, RLL, ESDI, and of course IDE). A few ESDI controllers that use proprietary interfaces may not work: stick to WD1002/3/6/7 interfaces and clones. Which SCSI controllers are supported?

FreeBSD supports the following SCSI controllers: AH-152x Series <ISA> AH-154x Series <ISA> AH-174x Series <EISA> Sound Blaster SCSI (AH-152x compat) <ISA> AH-2742/2842 Series <ISA/EISA> AH-2820/2822/2825 Series (Narrow/Twin/Wide) <VLB> AH-294x and aic7870 MB controllers (Narrow/Twin/Wide) <PCI> AH-394x (Narrow/Twin/Wide) ) BT-545 Series <ISA> BT-742 Series <EISA> BT-747 Series <EISA> BT-946 Series <PCI> BT-956 Series <PCI> NCR 53C82x based controllers <PCI> NCR 53C860/75 based controllers <PCI> Trantor 130 based controllers <ISA> UH-24f Series <EISA> UH-34f Series <VLB> Which CD-ROM drives are supported by FreeBSD?

Any SCSI drive connected to a supported controller is supported.

The following proprietry CD-ROM interfaces are also supported: Mitsumi LU002 (8bit), LU005 (16bit) and FX001D (16bit 2x Speed). Sony CDU 31/33A Sound Blaster Non-SCSI CD-ROM Matsushita/Panasonic CD-ROM ATAPI compatible IDE CD-ROMs

All non-SCSI cards are known to be extremely slow compared to SCSI drives, and some ATAPI CDROMs may not work.

As of 2.2 the FreeBSD CDROM from Walnut Creek supports booting directly from the CD. Does FreeBSD support ZIP drives?

FreeBSD supports the SCSI ZIP drive out of the box, of course. The ZIP drive can only be set to run at SCSI target IDs 5 or 6, but if your SCSI host adapter's BIOS supports it you can even boot from it. I don't know which host adapters let you boot from targets other than 0 or 1... look at your docs (and let me know if it works out for you).

There is no built in support for the parallel ZIP drive, and if you haven't bought your ZIP drive already I recommend you get the SCSI one... the price is the same, and the performance is much better, and you're unlikely to ever be able to boot from the parallel port.

If you already have a parallel ZIP, there is a port of the Linux driver available at in France.

Also check out , and . Does FreeBSD support JAZ, EZ and other removable drives?

Apart from the IDE version of the EZ drive, these are all SCSI devices, so the should all look like SCSI disks to FreeBSD, and the IDE EZ should look like an IDE drive.

See . Which multi-port serial cards are supported by FreeBSD?

There is a list of these in the section of the handbook.

Some unnamed clone cards have also been known to work, especially those that claim to be AST compatible.

Check the man page to get more information on configuring such cards. - I have an unusual bus mouse. How do I set it up? + I have an unusual bus mouse. How do I set it up? -

FreeBSD supports the Logitech and ATI Inport bus mice. You need - to add the following line to the kernel config file and recompile - for the Logitech and ATI mice: +

FreeBSD supports the bus mouse and the InPort bus mouse from such + manufactures as Microsoft, Logitech and ATI. The bus device driver + is compiled in the GENERIC kernel by default. If you are building + a custom kernel with the bus mouse driver, make sure to add the + following line to the kernel config file: device mse0 at isa? port 0x23c tty irq5 vector mseintr +

The bus mouse usually comes with an dedicatd interface card. + It may allow you to set the port address and the IRQ number other + than shown above. Refer to the manual of your mouse and the + + man page for more information. + - How do I use my PS/2 (``keyboard'') mouse? - + How do I use my PS/2 (``mouse port'' or ``keyboard'') mouse?

If you're running a relatively recent version of FreeBSD then you can simply enable it in the kernel configuration menu at installation time, otherwise later with -c at the boot: prompt. It is disabled by default, so you will need to enable it explicitly.

If you're running an older version of FreeBSD then you'll have to add the following lines to your kernel configuration file and compile a new kernel: device psm0 at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr - # Options for psm: - options PSM_CHECKSYNC #checks the header byte for sync.

See the if you've no experience with building kernels.

Once you have a kernel detecting psm0 correctly at boot time, make sure that an entry for psm0 exists in /dev. You can do this by typing: cd /dev; sh MAKEDEV psm0

when logged in as root. + + Is it possible to make use of a mouse in any way outside the X Window? + +

If you are using the default console driver, syscons, you can + use a mouse pointer in text consoles to cut & paste text. + Run the mouse daemon, moused, and turn on the mouse pointer + in the virtual console: + + + moused -p /dev/xxxx -t yyyy + vidcontrol -m on + + +

Where xxxx is the mouse device name and yyyy + is a protocol type for the mouse. See the + + man page for supported protocol types. + +

You may wish to run the mouse daemon automatically when the + system starts. In version 2.2.1, set the following variables in + /etc/sysconfig. + + + mousedtype="yyyy" + mousedport="xxxx" + mousedflags="" + + + In versions 2.2.2 or later, set the following variables in + /etc/rc.conf. + + + moused_type="yyyy" + moused_port="xxxx" + moused_flags="" + + +

Staring from FreeBSD 2.2.6, the mouse daemon is capable of + determining the correct protocol type automatically unless the mouse + is a relatively old serial mouse model. Specify ``auto'' as + the protocol to invoke automatic detection. + +

When the mouse daemon is running, access to the mouse needs to be + coordinated between the mouse daemon and other programs such as the + X Window. Refer to + on this issue". + + + How do I cut and paste text with mouse in the text console? + +

Once you get the mouse deamon running (see ), hold down the button 1 (left button) + and move the mouse to select a region of + text. Then, press the button 2 (middle button) or the button 3 (right + button) to paste it at the text cursor. + +

In versions 2.2.6 and later, pressing the button 2 will paste + the text. Pressing the button 3 will ``extend'' the selected region + of text. If your mouse does not have the middle button, you may wish + to emulate it or remap buttons using moused options. See the + + man page for details. + + + My mouse has a fancy wheel and buttons. Can I use them in FreeBSD? + +

The answer is, unfortunately, ``It depends.'' These mice with + additional features require specialized driver in most cases. + Unless the mouse device driver or the user program has specific + support for the mouse, it will act just like a standard two, or + three button mouse. + How do I use the mouse/trackball/touchpad on my laptop?

Please refer to . And check out on the Mobile Computing page. What types of tape drives are supported?

FreeBSD supports SCSI, QIC-36 (with a QIC-02 interface) and QIC-40/80 (Floppy based) tape drives. This includes 8-mm (aka Exabyte) and DAT drives. The QIC-40/80 drives are known to be slow.

Some of the early 8-mm drives are not quite compatible with SCSI-2, and may not work well with FreeBSD. Does FreeBSD support tape changers?

FreeBSD 2.2 supports SCSI changers using the device and the command. The details of how you actually control the changer can be found in the man page.

If you're not using or some other product that already understands changers, remember that they're only know how to move a tape from one point to another, so you need to keep track of which slot a tape is in, and which slot the tape currently in the drive needs to go back to. Which sound cards are supported by FreeBSD?

FreeBSD supports the SoundBlaster, SoundBlaster Pro, SoundBlaster 16, Pro Audio Spectrum 16, AdLib and Gravis UltraSound sound cards. There is also limited support for MPU-401 and compatible MIDI cards. The SoundBlaster 16 ASP cards are not yet supported. The Microsoft Sound System is also supported.

Which network cards does FreeBSD support?

See the section of the handbook for a more complete list. Since it doesn't list the drivers you need to use for each of the cards, this incomplete list will have to do. driver/ DEC DC21x40 and compatible PCI controllers (including 21140 100bT cards) driver/ NE2000 and 1000 WD/SMC 8003, 8013 and Elite Ultra (8216) 3Com 3c503 HP 27247B and 27252A And clones of the above driver/ DEC EtherWORKS II and EtherWORKS III controllers. driver/ AT&T EN100/StarLAN 10 3COM 3c507 Etherlink 16/TP NI5210 Intel EtherExpress driver/ Isolan AT 4141-0 Isolink 4110 driver/ 3com 3c501 (does not support Multicast or DMA) driver/ 3com 3c505 Etherlink/+ driver/ IBM PCMCIA credit card adapter drive/ Lance/PCnet cards (Isolan, Novell NE2100, NE32-VL)(*) driver/ 3com 3c509 (Must disable PNP support on card) driver/ Cronyx/Sigma multiport Sync/Async (Cisco and PPP framing) driver/ 3Com PCMCIA Etherlink III (aka 3c589)(A-C only) driver/ DEC DEFEA EISA FDDI controller driver/ DEC DEFPA PCI FDDI controller driver/ Fujitsu MB86960A/MB86965A Ethernet cards

I don't have a math co-processor - is that bad?

In general this will not cause any problems, but there are circumstances where you will take a hit, either in performance or accuracy of the math emulation code (see the section ). In particular, drawing arcs in X will be VERY slow. It is highly recommended that you buy a math co-processor; it's well worth it.

What other devices does 2.X support?

Here is a listing of drivers which do not fit into any of the earlier categories. Driver for B004 compatible Transputer boards ``ctx'' driver Driver for CORTEX-I Frame grabber ``gp'' driver Driver for National Instruments AT-GPIB and AT-GPIB/TNT boards ``pca'' driver Driver for PC speakers to allow the playing of audio files ``spigot'' driver Driver for the Creative Labs Video Spigot driver Driver for the Genuis GS-4500 Hand scanner driver Driver for a joystick driver/ Driver for National Instrument's Lab-PC and Lab-PC+ driver/ PS/2 mouse port Driver for the X-10 POWERHOUSE Does FreeBSD support power management on my laptop?

FreeBSD supports APM on certain machines. Please look in the keyword. diff --git a/FAQ/x.sgml b/FAQ/x.sgml index 553622944b..4a380f50c7 100644 --- a/FAQ/x.sgml +++ b/FAQ/x.sgml @@ -1,270 +1,347 @@ - + The X Window System and Virtual Consoles I want to run X, how do I go about it?

The easiest way is to simply specify that you want to run X during the installation process.

Then read and follow the documentation on the tool, which assists you in configuring XFree86(tm) for your particular graphics card/mouse/etc.

You may also wish to investigate the Xaccel server, which is available at a very reasonable price. See the section on for more details. - Why doesn't my mouse work with X + Why doesn't my mouse work with X

If you are using syscons (the default console driver), you can configure FreeBSD to support a mouse pointer on each virtual screen. In order to avoid conflicting with X, syscons supports a virtual device called ``/dev/sysmouse''. All mouse events received from the real mouse device are written to the sysmouse device, using the MouseSystems protocol. If you wish to use your mouse on one or more virtual consoles, /etc/rc.conf: moused_type=ps/2 # or whatever your actual type is moused_port=/dev/psm0 # or whatever your real port is moused_flags= /etc/XF86Config Section Pointer Protocol "MouseSystems" Device "/dev/sysmouse" .....

Some people prefer to use ``/dev/mouse'' under X. To make this work, ``/dev/mouse'' should be linked to : # cd /dev # rm -f mouse # ln -s sysmouse mouse X Window menus and dialog boxes don't work right!

Try turning off the Num Lock key.

If your Num Lock key is on by default at boot-time, you may add the following line in the `` # Let the server do the NumLock processing. This should only be # required when using pre-R6 clients ServerNumLock What is a virtual console and how do I make more?

Virtual consoles, put simply, enable you to have several simultaneous sessions on the same machine without doing anything complicated like setting up a network or running X.

When the system starts, it will display a login prompt on the monitor after displaying all the boot messages. You can then type in your login name and password and start working (or playing!) on the first virtual console.

At some point, you will probably wish to start another session, perhaps to look at documentation for a program you are running or to read your mail while waiting for an FTP transfer to finish. Just do Alt-F2 (hold down the Alt key and press the F2 key), and you will find a login prompt waiting for you on the second ``virtual console''! When you want to go back to the original session, do Alt-F1.

The default FreeBSD installation has three virtual consoles enabled, and Alt-F1, Alt-F2, and Alt-F3 will switch between these virtual consoles. To enable more of them, edit and add entries for `` # Edit the existing entry for ttyv3 in /etc/ttys and change # "off" to "on". ttyv3 "/usr/libexec/getty Pc" cons25 on secure ttyv4 "/usr/libexec/getty Pc" cons25 on secure ttyv5 "/usr/libexec/getty Pc" cons25 on secure ttyv6 "/usr/libexec/getty Pc" cons25 on secure ttyv7 "/usr/libexec/getty Pc" cons25 on secure ttyv8 "/usr/libexec/getty Pc" cons25 on secure ttyv9 "/usr/libexec/getty Pc" cons25 on secure ttyva "/usr/libexec/getty Pc" cons25 on secure ttyvb "/usr/libexec/getty Pc" cons25 on secure

Use as many or as few as you want. The more virtual terminals you have, the more resources that are used; this can be important if you have 8MB RAM or less. You may also want to change the ``The easiest way to disable a console is by turning it off. For example, if you had the full 12 terminal allocation mentioned above and you wanted to run X, you would change settings for virtual terminal 12 from: ttyvb "/usr/libexec/getty Pc" cons25 on secure

to: ttyvb "/usr/libexec/getty Pc" cons25 off secure

If your keyboard has only ten function keys, you would end up with: ttyv9 "/usr/libexec/getty Pc" cons25 off secure ttyva "/usr/libexec/getty Pc" cons25 off secure ttyvb "/usr/libexec/getty Pc" cons25 off secure

(You could also just delete these lines.)

Once you have edited , the next step is to make sure that you have enough virtual terminal devices. The easiest way to do this is: # cd /dev # ./MAKEDEV vty12 # For 12 devices

Next, the easiest (and cleanest) way to activate the virtual consoles is to reboot. However, if you really don't want to reboot, you can just shut down the X Window system and execute (as kill -HUP 1

It's imperative that you completely shut down X Window if it is running, before running this command. If you don't, your system will probably appear to hang/lock up after executing the kill command. How do I access the virtual consoles from X?

If the console is currently displaying X Window, you can use Ctrl-Alt-F1, etc. to switch to a virtual console. Note, however, that once you've switched away from X Window to a virtual terminal, you may use only the Alt- function key to switch to another virtual terminal or back to X Window. You do not need to also press the Ctrl key. If you use the control key to switch back to X on some older releases, you can find your text console stuck in ``control-lock'' mode. Tap the control key to wake it up again. How do I start XDM from the /etc/ttys file ?

Starting via is a Start it from your (or even from a /usr/local/etc/rc.d), and be explicit about how it has to start. If this is your last action in /usr/X11R6/lib/X11/xdm/Xservers file. This is not necessary: X will use the first free When I run xconsole, I get ``Couldn't open console''.

If you start with , the permissions on /dev/console will and not working.

This is because of the way console permissions are set by default. On a multi-user system, one doesn't necessarily want just any user to be able to write on the system console. For users who are logging directly onto a machine with a VTY, the file exists to solve such problems.

In a nutshell, make sure an uncommented line of the form /dev/ttyv0 0600 /dev/console

is in and it will ensure that whomever logs in on /dev/ttyv0 will own the console. My PS/2 mouse doesn't behave properly under X. -

Your mouse and the mouse driver have somewhat become out of - synchronization. Switching away from X to a virtual terminal - and getting back to X again may make them re-synchronized. - If the problem occurs often, you may add the following option - in your kernel configuration file and recompile it. +

Your mouse and the mouse driver may have somewhat become out of + synchronization. + +

In versions 2.2.5 and earlier, switching away from X to a + virtual terminal and getting back to X again may make them + re-synchronized. If the problem occurs often, you may add the + following option in your kernel configuration file and recompile it. options PSM_CHECKSYNC

See the section on if you've no experience with building kernels.

With this option, there should be less chance of synchronization problem between the mouse and the driver. If, however, you still see the problem, click any mouse button while holding the mouse still to re-synchronize the mouse and the driver.

Note that unfortunately this option may not work with all the systems and voids the ``tap'' feature of the ALPS GlidePoint device attached to the PS/2 mouse port. +

In versions 2.2.6 and later, synchronization check is done + in a slightly better way and is standard in the PS/2 mouse driver. + It should even work with GlidePoint. (As the check code has become + a standard feature, PSM_CHECKSYNC option is not available in these + versions.) However, in rare case the driver may erroneously report + synchronization problem and you may see the kernel message: + + + psmintr: out of sync (xxxx != yyyy) + + + and find your mouse doesn't seem to work properly. + +

If this happens, disable the synchronization check code by + setting the driver flags for the PS/2 mouse driver to 0x100. + Enter UserConfig by giving the ``-c'' option + at the boot prompt: + + + boot: -c + + + Then, in the UserConfig command line, type: + + + UserConfig> flags psm0 0x100 + UserConfig> quit + + + + My PS/2 mouse from MouseSystems doesn't seem to work. + +

There have been some reports that certain model of PS/2 mouse + from MouseSystems works only if it is put into the ``high resolution'' + mode. Otherwise, the mouse cursor may jump to the upper-left + corner of the screen every so often. + +

Unfortunately there is no workaround for versions 2.0.X and + 2.1.X. In versions 2.2 through 2.2.5, apply the following patch + to /sys/i386/isa/psm.c and rebuild the kernel. See the + section on + if you've no experience with building kernels. + + +diff -u psm.c.orig psm.c +@@ -766,6 +766,8 @@ + if (verbose >= 2) + log(LOG_DEBUG, "psm%d: SET_DEFAULTS return code:%04x\n", + unit, i); ++ set_mouse_resolution(sc->kbdc, PSMD_RES_HIGH); ++ + #if 0 + set_mouse_scaling(sc->kbdc); /* 1:1 scaling */ + set_mouse_mode(sc->kbdc); /* stream mode */ + + +

In versions 2.2.6 or later, specify the flags 0x04 to the PS/2 + mouse driver to put the mouse into the high resolution mode. + Enter UserConfig by giving the ``-c'' option + at the boot prompt: + + + boot: -c + + + Then, in the UserConfig command line, type: + + + UserConfig> flags psm0 0x04 + UserConfig> quit + + +

See the previous section for another possible cause of mouse + problems. +