OpenBSD/MACHINE OSREV runs on ISA (AT-Bus), EISA, PCI, and VL-bus systems with 386-family processors, with or without math coprocessors. It does NOT support MCA systems, such as some IBM PS/2 systems. The minimal configuration to install the system is 6M or 8M of RAM and perhaps 50M of disk space. A custom kernel might be able to run with only 4MB, though we do not know of anyone running with a system quite this minimal today. To install the entire system requires much more disk space, and to run X or compile the system, more RAM is recommended. (8M of RAM will actually allow you to run X and/or compile but it won't be speedy. Note that until you have around 16M of RAM, getting more RAM is more important than getting a faster CPU.) Supported devices {:-include-:}: Floppy controllers. MFM, ESDI, IDE, and RLL hard disk controllers. SCSI host adapters: Adaptec AHA-154xA, -B, -C, and -CF Adaptec AHA-174x Adaptec AIC-6260 and AIC-6360 based boards, including the Adaptec AHA-152x and the SoundBlaster SCSI host adapter. (Note that you cannot boot from these boards if they do not have a boot ROM; only the AHA-152x and motherboards using this chip are likely to be bootable, consequently.) Adaptec AHA-294x[W] cards and some onboard PCI designs using the AIC7870 chip. The 2940AU is known not to perform very well with this driver. Adaptec AHA-394x[W] cards; two AIC7870 chips with an on-board PCI to PCI bridge. Adaptec AIC-7770-based SCSI host adapters (including the Adaptec AHA-274x, AHA-284x families). WD-7000 SCSI host adapters. Buslogic 54x (Adaptec AHA-154x clones; driver on kcadp floppy) BusLogic 445, 74x, 9xx (But not the new "FlashPoint" series of BusLogic SCSI adapters) Symbios Logic (NCR) 53C8xx-based PCI SCSI host adapters Ultrastor 14f, 34f, and (possibly) 24f Seagate/Future Domain ISA SCSI adapter cards, including ST01/02 Future Domain TMC-885 Future Domain TMC-950 MDA, CGA, VGA, SVGA, and HGC Display Adapters. (Note that not all of the display adapters OpenBSD/i386 can work with are supported by X. See the XFree86 FAQ for more information.) Serial ports: 8250/16450-based ports 16550-based ports ST16660-base ports XR16850-based ports (only in the pccom driver) AST-style 4-port serial boards [*] BOCA 8-port serial cards [*] Cyclades Cyclom-{4, 8, 16}Y serial boards [*] IBM PC-RT 4-port serial boards [*] Parallel ports. Ethernet adapters: Alteon Tigon I/II PCI Gigabit Ethernet boards [*] [+]: 3Com 3c985 Alteon ACEnic Netgear GA620 SGI Tigon AMD LANCE and PCnet-based ISA Ethernet adapters [*], including: Novell NE1500T Novell NE2100 Kingston 21xx AMD PCnet-based PCI Ethernet adapters, including: BOCALANcard/PCI AT&T StarLAN 10, EN100, and StarLAN Fiber ASIX 88140A/88141 PCI Ethernet adapters, including: CNet Pro110 Alfa Inc. GFC2204 3COM 3c501 3COM 3c503 3COM 3c505 [*] 3COM 3c507 3COM 3c509, 3c579, 3c589, 3c59x 3COM 3c515 [*] [+] 3COM 3c900, 3c900b, 3c905, and 3c905b, 3c905c Digital DC21x4x-based PCI Ethernet adapters, including: SMC EtherPower 10, 10/100 (PCI only!) Znyx ZX34X Cogent EM100 Digital DE450 Digital DE500 BICC Isolan [* and not recently tested] Intel EtherExpress 16 SMC/WD 8003, 8013, and the SMC "Elite16" ISA boards SMC/WD 8216 (the SMC "Elite16 Ultra" ISA boards) [X SEE BELOW] SMC EtherPower II (EPIC 10/100) Novell NE1000, NE2000 Digital DEFPA PCI FDDI adapters Intel EtherExpress 100 Fast Ethernet adapters Intel Pro/1000 Gigabit Ethernet adapters Texas Instruments ThunderLAN PCI Ethernet adapters, including: Compaq Netelligent PCI Adapters Compaq NetFlex 3/P Compaq Deskpro integrated adapter Compaq Prosignia integrated adapter Olicom OC2135, OC2183, OC2325, OC2326 Racore 8165 and 8148 TI ThunderLAN adapters RealTek 8129, RealTek 8139 Ethernet adapters, including: Accton MPX 5030/5038 Allied Telesyn AT2550 Encore ENL832-TX 10/100 M PCI Genius GF100TXR KTX-9130TX 10/100 Fast Ethernet Longshine LCS-8038TX-R NDC NE100TX-E Netronix EA-1210 Net Ether 10/100 OvisLink LEF-8129TX, LEF-8139TX SMC EZ Card 10/100 PCI 1211-TX Macronix 98713/98715/98725 Ethernet adapters, including: NDC Communications SOHOware SFA110 SVEC PN102-TX fast ethernet card Lite-On PNIC/PNIC-II Ethernet adapters, including: Bay Networks Netgear FA310TX rev D1 LinkSys LNE100TX Matrox Networks FastNIC 10/100 Winbond W89C840F Ethernet adapters, including: Trendware TE100-PCIE Compex RL100-ATX 10/100baseTX Xircom 16-bit PCMCIA adapters, including: Xircom CE3 Xircom Realport Lucent technologies WaveLAN IEEE 802.11 [*] [+] SysKonnect SK-9841/9842/9843/9844 Gigabit Ethernet adapters [*] [+] Tape drives: Most SCSI tape drives QIC-02 and QIC-36 format (Archive- and Wangtek- compatible) tape drives [*] [+] CD-ROM drives: Mitsumi CD-ROM drives [*] [+] [Note: The Mitsumi driver device probe is known to cause trouble with several devices!] Most SCSI CD-ROM drives Most ATAPI CD-ROM drives [Note: With single ATAPI device IDE busses, the ATAPI device should be set to SLAVE.] Mice: "Logitech"-style bus mice [*] [+] "Microsoft"-style bus mice [*] [+] "PS/2"-style mice [*] [+] Serial mice (uses serial port driver) Sound Cards: SoundBlaster [*] [+] Gravis Ulrasound and Ultrasound Max [*] [+] [The following drivers are not extensively tested] Personal Sound System [*] [+] Windows Sound System [*] [+] ProAudio Spectrum [*] [+] ESS PnP audio cards [*] [+] ESS Solo-1 PCI-based audio cards [*] [+] Cryptography Accelerators Hi/Fn 7751 based boards, including: GTGI PowerCrypt Encryption Accelerator Miscellaneous: OPTi(82C929) chipset for multi-interface CD-ROM, and sound ISA cards. PCI-PCI bridges and cards which {:-include-:} them, such as the AHA-394x SCSI host adapter and some DC21x4x-based multi-Ethernet cards. Brooktree 8[47][89] based frame grabber and TV tuner cards, such as: [*] [+] Hauppage Wincast TV STB TV PCI Television Tuner Miro PC TV Intel Smart Video Recorder III APM v1.1 power management. Drivers for hardware marked with "[*]" are NOT included on the distribution floppies. Except as noted above, all other drivers are present on install floppy. Also, at the present time, the distributed kernels support only one SCSI host adapter per machine. OpenBSD normally allows more, though, so if you have more than one, you can use all of them by compiling a custom kernel once OpenBSD is installed. Support for devices marked with "[+]" IS included in the "generic" kernels, although it is not in the kernel on the installation floppy. Hardware the we do NOT currently support, but get many questions about: NCR 5380-based SCSI host adapters. QIC-40 and QIC-80 tape drives. (Those are the tape drives that connect to the floppy disk controller.) Multiprocessor Pentium and Pentium Pro systems. (Though they should run fine using one processor only.) We are planning future support for many of these devices. To be detected by the distributed kernels, the devices must be configured as follows: Device Name Port IRQ DRQ Misc ------ ---- ---- --- --- ---- Serial ports pccom0 0x3f8 4 [8250/16450/16550/clones] pccom1 0x2f8 3 [8250/16450/16550/clones] pccom2 0x3e8 5 [8250/16450/16550/clones] pccom3 0x2e8 3 [PCMCIA modem cards] ast0 0x1a0 5 [AST 4-port serial card] Parallel ports lpt0 0x378 7 [interrupt-driven or polling] lpt1 0x278 [polling only] lpt2 0x3bc [polling only] MFM/ESDI/IDE/RLL hard disk controllers wdc0 0x1f0 14 [supports two disks or atapi] wdc1 0x170 15 [supports two disks or atapi] Floppy controller fdc0 0x3f0 6 2 [supports two disks] AHA-154x, AHA-174x (in compatibility mode), or BT-54x SCSI host adapters aha0 0x330 any any aha1 0x334 any any AHA-174x SCSI host adapters (in enhanced mode) ahb0 any any any AHA-284x,274x,2940, aic7770 SCSI host adapters ahc0 any any BT445, BT74x, or BT9xx SCSI host adapters bt0 0x330 any any bt1 0x334 any any Ultrastor 14f, 24f (if it works), or 34f SCSI host adapters uha0 0x330 any any uha1 0x334 any any AHA-152x, AIC-6260- or AIC-6360-based SCSI host adapters aic0 0x340 11 6 Seagate ST0[12], Future Domain TMC-8xx based SCSI controllers sea0 5 iomem 0xc8000 Symbios Logic/NCR 53C8xx based PCI SCSI host adapters ncr0 any any any WD7000 and TMC-7000 SCSI host adapters wds0 0x350 15 6 wds1 0x358 11 5 SCSI disks sd0 first SCSI disk (by SCSI id) sd1 second SCSI disk (by SCSI id) sd2 third SCSI disk (by SCSI id) sd3 fourth SCSI disk (by SCSI id) SCSI tapes st0 first SCSI tape (by SCSI id) st1 second SCSI tape (by SCSI id) SCSI CD-ROMs cd0 first SCSI CD-ROM (by SCSI id) cd1 second SCSI CD-ROM (by SCSI id) SMC/WD 8003, 8013, Elite16, and Elite16 Ultra Ethernet boards we0 0x280 9 we1 0x300 10 Novell NE1000, or NE2000 Ethernet boards ne0 0x240 9 iomem 0xd8000 ne1 0x300 10 3COM 3c501 Ethernet boards el0 0x300 9 3COM 3c503 Ethernet boards ec0 0x250 9 iomem 0xd8000 3COM 3c505/Etherlink+ Ethernet boards eg0 0x310 5 3COM 3c509, 3c579, 3c595 Ethernet boards ep0 any any 3COM 3c515 ef0 any any 3COM 3c900, 3c900b, 3c905, 3c905b Ethernet boards xl0 any any [you must assign an interrupt in your PCI BIOS, or let it do so for you] AT&T StarLAN 10, EN100, or StarLAN Fiber, or 3COM 3c507 Ethernet boards ie0 0x360 7 iomem 0xd0000 EtherExpress boards ie1 0x300 10 PCNet-PCI based Ethernet boards; see above for partial list le0 any any [you must assign an interrupt in your PCI BIOS, or let it do so for you] DC21x4x based Ethernet boards; see above for partial list de0 any any [you must assign an interrupt in your PCI BIOS, or let it do so for you] Intel EtherExpress 100 Ethernet boards fxp0 any any [you must assign an interrupt in your PCI BIOS, or let it do so for you] SMC EtherPower II (EPIC) 10/100 Ethernet boards tx0 any any [you must assign an interrupt in your PCI BIOS, or let it do so for you] DEC Tulip clones (Macronix, Lite-On, Davicom) dc0 any any [you must assign an interrupt in your PCI BIOS, or let it do so for you] Alteon Tigon I/II PCI Gigabit Ethernet boards ti0 any any [you must assign an interrupt in your PCI BIOS, or let it do so for you] SysKonnect 984x Gigabit Ethernet boards sk0 any any [you must assign an interrupt in your PCI BIOS, or let it do so for you] SPECIAL CARE FOR SMC ULTRA ELITE -------------------------------- Note for SMC Elite Ultra ethernet card users: The Elite Ultra is very sensitive to how its I/O port is treated. Mistreating it can cause a number of effects -- everything from the card not responding when the kernel probes, or the soft configuration being corrupted or wiped completely. By default, the kernel ships with device we1 configured for the 'default' Elite Ultra locations, comprising of port 0x300, irq 10, and memory location 0xcc000. This matches a hard coded jumper on the board as well a common soft config setting. Unfortunately, the kernel's autconfiguration process (specifically, some of the devices it probes for) cause conflicts with the SMC Elite Ultra, and very often cause it to lose its configuration and fail its own probe. If this happens, you must boot the computer into DOS, and run the EzSetup program from SMC (if you do not have a copy on the floppy accompanying your board, the complete URL to download the program is ftp://ftp.smc.com/pub/nics/ethernet/elite_ultra/gez122.exe). This program will allow you to reconfigure and recover a card that has lost its configuration with a minimum of hassle. In order to avoid blowing away the card, one *must* use the run-time kernel configuration system when booting the Install kernel. This is done by giving the -c flag to the initial boot request. Following the loading of the kernel, the user is presented with a UKC> prompt. At this prompt, as variety of commands may be issued, but the relevant one to getting the SMC Elite Ultra running is 'disable'. The wt0, el0, and ie1 devices all need to be disabled. This is done by typing 'disable' followed by the name of the device, i.e., 'disable wt0', and pressing return. If, for some reason, your Elite Ultra is not configured at the 'default' location the kernel is expecting it, you may also use the 'change' command in the UKC system to modify where the kernel will look for it. Typing 'change we1' will allow you to modify those settings. Note that running the card at an i/o port of anything other then 0x300 at this point is not recommended, and is beyond the scope of this document-- by doing so you risk other device probes wreaking the havoc we are trying to avoid. When all three extra devices are disabled and any changes made, the 'quit' command will exit the UKC. The kernel should then boot, and find your Elite Ultra on device we1. SPECIAL CARE FOR NEWER NOTEBOOK COMPUTERS AND PCMCIA There is a problem on some newer notebooks with OpenBSD's autoconfiguration not YET finding the PCI<-->PCMCIA bridge, and therefore not finding any of the PCMCIA cards, which can be a nuisance if you're trying to install over an Ethernet LAN. The symptoms: 1) No probe messages indicating any PCMCIA response or any probe response for any PCMCIA cards, and 2) A probe message like this: Cirrus Logic CL-GD6729 (class bridge, subclass PCMCIA, revision 0xfe) at pci0 dev 4 function 0 not configured The details will vary; the important parts are class bridge, subclass PCMCIA, ... at pci* ... not configured Finding the Bridge Address Bear in mind that both ISA and PCI are just different ways of electrically connecting an adaptor into the PC's memory space. PCI merely provides convenient iterators for finding everything on it, which is easier than it is on ISA. This is why you get the "not configured" message above. But once a device is connected in there, the driver only needs to know its memory mapped address. Now we don't know its address on YOUR brand of PC, but we can help you find it out. Someday our software will do this for you, of course, but it doesn't as of today. Your first try should be 0x3000, which seems to be used on several notebooks. If this fails, you need to do some nosing around. The easiest way is to boot up Windows '95, if you have it on a hard disk. Right-click on the "My Computer" Icon, select Properties, select the Device Manager tab, and double click on PCMCIA Socket, then on the Bridge that is listed under this heading. Select Properties at the bottom of the window, and click on Resources. Finally you will see an address range, in Hex. On my Dell Latitude LM, for example, the range was FCFC-FCFF. If you don't have Windows '95 on a hard disk, there are several possibilities: 1) But you do have Windows'95 setup floppies? Then look through them for the ".INF" files, and rummage around in them until you find it. 2) You have a friend, or the dealer, who has a similar Notebook PC with Windows '95 installed? Proceed as above. 3) Call Customer Support at the manufacturer, tell them you're having a setup problem, and need to know the memory address to set for the PCI to PCMCIA bridge. Oh, take a few cans of Jolt and a good book to read while waiting on the line. Fixing it - temporarily OK, now you have the address and size of the memory window for the PCMCIA bridge. Or so you think. To try it out, use the UKC, as described earlier (under SMC Elite, above). Basically you use "boot -c" to get into UKC. Give the command "change pcicmaster0", and to set the address and iosize to the values you found above. Then type "quit", and the boot should continue, and you should find your PCMCIA cards. Note that if the card is an "ep0" (3c589 on PCMCIA) AND you are using UTP, you must give the arguments "link0 link1" on the ifconfig command. The autoconfig message ep0 at pcmcia0 port 0x300-0x30f irq 10: ep0: address nn:nn:nn:nn:nn:nn, utp/aui/bnc (default utp) implies that the default is UTP and you can omit the link* arguments, but in fact you cannot! Fixing it - configuring a new kernel Follow the normal steps for building a new kernel documented elsewhere. For my system I changed the original pcicmaster0 line as follows: #pcicmaster0 at isa? port 0x3E0 size 2 #hack for CL PCIC on Dell Lattitude LM; really on PCI, but... pcicmaster0 at isa? port 0xFCFC size 4 IRQ's: You probably do NOT have to worry about the IRQ's appearing different than what Windows'95 claims. Trust me, and try it. Fixing it for good OK, this is the tough part. Somebody has to wade in and rewrite the OpenBSD PCMCIA subsystem to support multiple adapters on multiple busses. Nobody's done this yet. You have the source, so you truly can "Use The Source, Luke."